Add IconLabel component and integrate it into forms for improved accessibility and UI consistency

This commit is contained in:
2026-01-26 17:11:03 +08:00
parent 23e72f80e5
commit 8f7b6ec773
6 changed files with 506 additions and 178 deletions

View File

@@ -2,6 +2,7 @@ import { useState, useRef, lazy, Suspense } from 'react'
import { Navbar } from '@/components/Navbar'
import { Card, CardContent, CardHeader } from '@/components/ui/card'
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
import { User, Palette, Copy } from 'lucide-react'
import type { CustomVoiceFormHandle } from '@/components/tts/CustomVoiceForm'
import type { VoiceDesignFormHandle } from '@/components/tts/VoiceDesignForm'
import { HistorySidebar } from '@/components/HistorySidebar'
@@ -63,10 +64,19 @@ function Home() {
<Card>
<CardHeader>
<Tabs value={currentTab} onValueChange={setCurrentTab}>
<TabsList className="grid w-full grid-cols-3">
<TabsTrigger value="custom-voice"></TabsTrigger>
<TabsTrigger value="voice-design"></TabsTrigger>
<TabsTrigger value="voice-clone"></TabsTrigger>
<TabsList className="grid w-full grid-cols-3 h-9">
<TabsTrigger value="custom-voice">
<User className="h-4 w-4 md:mr-2" />
<span className="hidden md:inline"></span>
</TabsTrigger>
<TabsTrigger value="voice-design">
<Palette className="h-4 w-4 md:mr-2" />
<span className="hidden md:inline"></span>
</TabsTrigger>
<TabsTrigger value="voice-clone">
<Copy className="h-4 w-4 md:mr-2" />
<span className="hidden md:inline"></span>
</TabsTrigger>
</TabsList>
</Tabs>
</CardHeader>