mirror of
https://github.com/ZHANGTIANYAO1/teamspeak-music-bot.git
synced 2026-10-02 04:52:50 +08:00
fix(scope): await router.isReady before mount so refreshed ?bot locks the right bot
This commit is contained in:
1 parent
463a8e2f8a
commit
593b42830c
2 files changed
+8
-2
No files matched your search
+4
-1
@@ -149,7 +149,10 @@ onMounted(async () => {
|
|||||||
// router guard sets scopedBotId tentatively from ?bot, but applyScopeFromQuery
|
// router guard sets scopedBotId tentatively from ?bot, but applyScopeFromQuery
|
||||||
// validates it against the loaded bots (locks if it exists, clears if stale).
|
// validates it against the loaded bots (locks if it exists, clears if stale).
|
||||||
await playerStore.fetchBots();
|
await playerStore.fetchBots();
|
||||||
const qBot = typeof route.query.bot === 'string' ? route.query.bot : null;
|
// Read from the authoritative current route (not a possibly-stale reactive
|
||||||
|
// snapshot) so the scope reconciles against the ?bot present at refresh time.
|
||||||
|
const routeBot = router.currentRoute.value.query.bot;
|
||||||
|
const qBot = typeof routeBot === 'string' ? routeBot : null;
|
||||||
playerStore.applyScopeFromQuery(qBot);
|
playerStore.applyScopeFromQuery(qBot);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -11,4 +11,7 @@ installApiClient();
|
|||||||
const app = createApp(App);
|
const app = createApp(App);
|
||||||
app.use(createPinia());
|
app.use(createPinia());
|
||||||
app.use(router);
|
app.use(router);
|
||||||
app.mount('#app');
|
// Wait for the initial navigation (and the beforeEach guard that reads ?bot)
|
||||||
|
// to fully resolve before mounting, so the reactive route query is populated
|
||||||
|
// when App.onMounted runs and the dedicated-bot scope locks the right bot.
|
||||||
|
router.isReady().then(() => app.mount('#app'));
|
||||||
Reference in new issue
Block a user