mirror of
https://github.com/ZHANGTIANYAO1/teamspeak-music-bot.git
synced 2026-10-02 21:12:49 +08:00
- **TS server password** (#7/#9): add serverPassword field across database, manager, bot API, and Settings UI — allows joining password-protected servers - **YouTube audio source** (#1/#10): new YouTubeProvider using yt-dlp binary; adds -y flag in chat commands, /api/music supports platform=youtube, YouTube badge in SongCard, yt-dlp-wrap npm dependency - **Bot selector UI** (#14): selector always visible (not just when >1 bot), bigger button with border and play-state indicator; per-bot URL routing at /bot/:id with BotRedirect view; copy-link button in dropdown Closes #1, #7, #9, #10, #14 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
import { createRouter, createWebHistory } from 'vue-router';
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(),
|
|
routes: [
|
|
{
|
|
path: '/',
|
|
name: 'home',
|
|
component: () => import('../views/Home.vue'),
|
|
},
|
|
{
|
|
path: '/search',
|
|
name: 'search',
|
|
component: () => import('../views/Search.vue'),
|
|
},
|
|
{
|
|
path: '/playlist/:id',
|
|
name: 'playlist',
|
|
component: () => import('../views/Playlist.vue'),
|
|
},
|
|
{
|
|
path: '/lyrics',
|
|
name: 'lyrics',
|
|
component: () => import('../views/Lyrics.vue'),
|
|
},
|
|
{
|
|
path: '/history',
|
|
name: 'history',
|
|
component: () => import('../views/History.vue'),
|
|
},
|
|
{
|
|
path: '/settings',
|
|
name: 'settings',
|
|
component: () => import('../views/Settings.vue'),
|
|
},
|
|
{
|
|
path: '/setup',
|
|
name: 'setup',
|
|
component: () => import('../views/Setup.vue'),
|
|
},
|
|
{
|
|
// Per-bot URL: /bot/:id — sets active bot then redirects to home
|
|
path: '/bot/:id',
|
|
name: 'bot',
|
|
component: () => import('../views/BotRedirect.vue'),
|
|
},
|
|
],
|
|
});
|
|
|
|
export default router;
|