refactor: remove unused UI components and replace GlassCard with Card in voice components

- Deleted Item, Kbd, Marker, Message, NativeSelect, Questionnaire, Spinner components.
- Replaced GlassCard with Card in VoiceActivityTimeline, VoiceConnectionCard, ListenControl, MicControl, and SpeakerWaveform components.
- Introduced AppSidebar and ThemeToggle components for improved navigation and theme management.
This commit is contained in:
asepharyana
2026-08-07 17:33:12 +07:00
parent 2c995b41d7
commit 4f9d4a5c7d
50 changed files with 382 additions and 2710 deletions
@@ -1,7 +1,7 @@
"use client";
import { useState } from "react";
import { GlassPanel } from "@/components/glass/panel";
import { Card } from "@/components/ui/card";
import { cn } from "@/lib/utils";
interface AiAnalysisPanelProps {
@@ -37,11 +37,11 @@ export function AiAnalysisPanel({
if (!status || status === "pending") {
return (
<GlassPanel dense>
<Card className={cn("[--card-spacing:0px]", "p-3")}>
<span className="text-xs text-text-secondary/50">
AI analysis pending
</span>
</GlassPanel>
</Card>
);
}
@@ -55,7 +55,7 @@ export function AiAnalysisPanel({
: categories || [];
return (
<GlassPanel dense className="space-y-2">
<Card className={cn("space-y-2", "[--card-spacing:0px]", "p-3")}>
<div className="flex items-center gap-2">
<span className="text-xs font-semibold tracking-wide uppercase text-text-secondary">
AI Analysis
@@ -155,6 +155,6 @@ export function AiAnalysisPanel({
<span className="font-mono text-accent-amber">{action}</span>
</div>
)}
</GlassPanel>
</Card>
);
}
@@ -1,9 +1,10 @@
"use client";
import { ArrowLeft, MessageSquare, MessagesSquare, Pencil } from "lucide-react";
import { GlassCard } from "@/components/glass/card";
import { Card } from "@/components/ui/card";
import { getMessageChannelLabel, renderMessageContent } from "@/lib/format";
import type { AttachmentRecord, MessageRecord } from "@/lib/types";
import { cn } from "@/lib/utils";
import { AiAnalysisPanel } from "./ai-analysis-panel";
import { AttachmentsGrid } from "./attachments-grid";
@@ -21,7 +22,9 @@ export function MessageDetailView({
onImageClick,
}: MessageDetailViewProps) {
return (
<GlassCard variant="base" className="h-full">
<Card
className={cn("h-full", "[--card-spacing:0px]", "rounded-2xl", "p-5")}
>
{onBack && (
<button
type="button"
@@ -94,6 +97,6 @@ export function MessageDetailView({
score={message.ai_moderation_score}
analysis={message.ai_analysis}
/>
</GlassCard>
</Card>
);
}
@@ -1,9 +1,10 @@
"use client";
import { ArrowLeft, MessageSquare, MessagesSquare } from "lucide-react";
import { GlassCard } from "@/components/glass/card";
import { Card } from "@/components/ui/card";
import { getMessageChannelLabel, renderMessageContent } from "@/lib/format";
import type { AttachmentRecord, MessageRecord } from "@/lib/types";
import { cn } from "@/lib/utils";
import { AiAnalysisPanel } from "./ai-analysis-panel";
import { AttachmentsGrid } from "./attachments-grid";
@@ -19,7 +20,9 @@ export function MessageDetail({
onBack,
}: MessageDetailProps) {
return (
<GlassCard variant="base" className="h-full">
<Card
className={cn("h-full", "[--card-spacing:0px]", "rounded-2xl", "p-5")}
>
{onBack && (
<button
type="button"
@@ -68,6 +71,6 @@ export function MessageDetail({
score={message.ai_moderation_score}
analysis={message.ai_analysis}
/>
</GlassCard>
</Card>
);
}