continue scaffolding and refine the basic foundation
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* Plugin to sync appState with route changes
|
||||
* Ensures that activeAgentId and activeTopicId stay in sync with the URL
|
||||
*/
|
||||
export default defineNuxtPlugin(() => {
|
||||
const route = useRoute();
|
||||
const appState = useAppState();
|
||||
|
||||
// Sync agent ID from route params
|
||||
watch(
|
||||
() => route.params.id,
|
||||
(newId) => {
|
||||
if (newId) {
|
||||
const agentId = Array.isArray(newId) ? newId[0] : newId;
|
||||
appState.setActiveAgent(agentId);
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
|
||||
// Sync topic ID from route params
|
||||
watch(
|
||||
() => route.params.topicId,
|
||||
(newId) => {
|
||||
if (newId) {
|
||||
const topicId = Array.isArray(newId) ? newId[0] : newId;
|
||||
appState.setActiveTopic(topicId);
|
||||
} else {
|
||||
appState.setActiveTopic(null);
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user