design: cyan -> rgb(12,96,96) in light theme, #00F0FF stays in dark theme
- globals.css: add --cyan-ai CSS variable (rgb(12,96,96) light / #00F0FF dark) + opacity variants --cyan-ai-10/20/30/40/50/80 - Bulk replace all #00F0FF hardcoded Tailwind arbitrary values with var(--cyan-ai) / var(--cyan-ai-10) / etc across 55+ TSX/TS files - Shadow glow colours also updated (suppressed by box-shadow:none in light mode) - TypeScript: 0 errors
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Activity, BrainCircuit, Zap, Server, ShieldCheck } from "lucide-react"
|
||||
|
||||
export default function AgentsPage() {
|
||||
@@ -23,7 +23,7 @@ export default function AgentsPage() {
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="text-3xl font-bold flex items-center gap-3">
|
||||
<div className="size-3 rounded-full bg-[#00F0FF] animate-pulse"></div> Operational
|
||||
<div className="size-3 rounded-full bg-[var(--cyan-ai)] animate-pulse"></div> Operational
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
@@ -51,9 +51,9 @@ export default function AgentsPage() {
|
||||
<Card key={i} className={`border ${agent.status === 'Healthy' ? 'border-border' : 'border-yellow-500/50 shadow-[0_0_15px_-5px_rgba(234,179,8,0.3)]'} bg-background`}>
|
||||
<CardHeader className="flex flex-row items-center justify-between pb-2">
|
||||
<CardTitle className="text-lg font-bold flex items-center gap-2">
|
||||
<BrainCircuit className="text-[#00F0FF]" size={20} /> {agent.name}
|
||||
<BrainCircuit className="text-[var(--cyan-ai)]" size={20} /> {agent.name}
|
||||
</CardTitle>
|
||||
<div className={`px-2.5 py-0.5 rounded-full text-xs font-bold ${agent.status === 'Healthy' ? 'bg-[#00F0FF]/10 text-[#00F0FF]' : 'bg-yellow-500/10 text-yellow-500 animate-pulse'}`}>
|
||||
<div className={`px-2.5 py-0.5 rounded-full text-xs font-bold ${agent.status === 'Healthy' ? 'bg-[var(--cyan-ai-10)] text-[var(--cyan-ai)]' : 'bg-yellow-500/10 text-yellow-500 animate-pulse'}`}>
|
||||
{agent.status}
|
||||
</div>
|
||||
</CardHeader>
|
||||
@@ -74,7 +74,7 @@ export default function AgentsPage() {
|
||||
</div>
|
||||
<div className="w-full bg-secondary h-1.5 rounded-full mt-6 overflow-hidden">
|
||||
<div
|
||||
className={`h-full ${agent.status === 'Healthy' ? 'bg-[#00F0FF]' : 'bg-yellow-500'}`}
|
||||
className={`h-full ${agent.status === 'Healthy' ? 'bg-[var(--cyan-ai)]' : 'bg-yellow-500'}`}
|
||||
style={{ width: agent.successRate }}
|
||||
></div>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
"use client"
|
||||
"use client"
|
||||
|
||||
import { ReactNode } from "react"
|
||||
import { LayoutDashboard, Users, Database, Terminal, Settings, FileText, Tag } from "lucide-react"
|
||||
@@ -11,12 +11,12 @@ export default function AdminLayout({ children }: { children: ReactNode }) {
|
||||
const pathname = usePathname()
|
||||
|
||||
return (
|
||||
<div className="flex h-screen bg-background overflow-hidden text-foreground selection:bg-[#00F0FF]/20">
|
||||
<div className="flex h-screen bg-background overflow-hidden text-foreground selection:bg-[var(--cyan-ai-20)]">
|
||||
{/* Sidebar */}
|
||||
<aside className="w-64 border-r border-border bg-secondary/10 flex flex-col hidden md:flex">
|
||||
<div className="p-6 border-b border-border">
|
||||
<Logo href="/admin" className="w-full" imageClassName="object-contain object-left" height={56} />
|
||||
<div className="mt-3 text-xs font-bold uppercase tracking-widest text-[#00F0FF]">Admin Panel</div>
|
||||
<div className="mt-3 text-xs font-bold uppercase tracking-widest text-[var(--cyan-ai)]">Admin Panel</div>
|
||||
</div>
|
||||
<nav className="flex-1 px-4 space-y-1.5 mt-6">
|
||||
<NavItem href="/admin" icon={<LayoutDashboard size={18} />} label="Command Center" active={pathname === "/admin"} />
|
||||
@@ -52,7 +52,7 @@ function NavItem({ href, icon, label, active }: { href: string, icon: React.Reac
|
||||
href={href}
|
||||
className={`flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all duration-300 ${
|
||||
active
|
||||
? "bg-[#00F0FF]/10 text-[#00F0FF] font-medium border border-[#00F0FF]/20"
|
||||
? "bg-[var(--cyan-ai-10)] text-[var(--cyan-ai)] font-medium border border-[var(--cyan-ai-20)]"
|
||||
: "text-muted-foreground hover:bg-secondary hover:text-foreground font-medium"
|
||||
}`}
|
||||
>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
"use client"
|
||||
"use client"
|
||||
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Badge } from "@/components/ui/badge"
|
||||
@@ -24,7 +24,7 @@ export default function AdminDashboard() {
|
||||
<h1 className="text-3xl font-bold tracking-tighter text-foreground">Command Center</h1>
|
||||
<p className="text-muted-foreground mt-1 font-medium">Real-time system monitoring and agent status.</p>
|
||||
</div>
|
||||
<Button variant="outline" className="gap-2 border-[#00F0FF]/50 text-[#00F0FF] bg-[#00F0FF]/5 hover:bg-[#00F0FF]/10 hover:text-[#00F0FF] rounded-xl font-medium shadow-[0_0_15px_-5px_#00F0FF]">
|
||||
<Button variant="outline" className="gap-2 border-[var(--cyan-ai-10)] text-[var(--cyan-ai)] bg-[var(--cyan-ai-10)] hover:bg-[var(--cyan-ai-10)] hover:text-[var(--cyan-ai)] rounded-xl font-medium shadow-[0_0_15px_-5px_var(--cyan-ai)]">
|
||||
<RefreshCw size={16} /> Refresh Data
|
||||
</Button>
|
||||
</header>
|
||||
@@ -51,14 +51,14 @@ export default function AdminDashboard() {
|
||||
<p className="text-xs text-muted-foreground mt-1 font-medium">+2,401 this week</p>
|
||||
</CardContent>
|
||||
</Card>
|
||||
<Card className="bg-[#00F0FF]/5 border-[#00F0FF]/30 shadow-[0_0_20px_-10px_#00F0FF] rounded-2xl">
|
||||
<Card className="bg-[var(--cyan-ai-10)] border-[var(--cyan-ai-30)] shadow-[0_0_20px_-10px_var(--cyan-ai)] rounded-2xl">
|
||||
<CardHeader className="pb-2 flex flex-row items-center justify-between">
|
||||
<CardTitle className="text-sm font-medium text-muted-foreground">AI Agent Accuracy</CardTitle>
|
||||
<div className="p-2 bg-[#00F0FF]/20 text-[#00F0FF] rounded-lg"><Terminal size={16}/></div>
|
||||
<div className="p-2 bg-[var(--cyan-ai-20)] text-[var(--cyan-ai)] rounded-lg"><Terminal size={16}/></div>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="text-2xl font-bold text-[#00F0FF]">96.4%</div>
|
||||
<p className="text-xs text-[#00F0FF]/70 mt-1 font-medium">Based on 1.2M interactions</p>
|
||||
<div className="text-2xl font-bold text-[var(--cyan-ai)]">96.4%</div>
|
||||
<p className="text-xs text-[var(--cyan-ai-80)] mt-1 font-medium">Based on 1.2M interactions</p>
|
||||
</CardContent>
|
||||
</Card>
|
||||
<Card className="bg-secondary/10 border-border/50 rounded-2xl">
|
||||
@@ -84,8 +84,8 @@ export default function AdminDashboard() {
|
||||
<AreaChart data={data} margin={{ top: 10, right: 30, left: 0, bottom: 0 }}>
|
||||
<defs>
|
||||
<linearGradient id="colorTokens" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="5%" stopColor="#00F0FF" stopOpacity={0.3}/>
|
||||
<stop offset="95%" stopColor="#00F0FF" stopOpacity={0}/>
|
||||
<stop offset="5%" stopColor="var(--cyan-ai)" stopOpacity={0.3}/>
|
||||
<stop offset="95%" stopColor="var(--cyan-ai)" stopOpacity={0}/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<CartesianGrid strokeDasharray="3 3" stroke="#262626" vertical={false} />
|
||||
@@ -93,9 +93,9 @@ export default function AdminDashboard() {
|
||||
<YAxis stroke="#737373" fontSize={12} tickLine={false} axisLine={false} tickFormatter={(value) => `${value}M`} />
|
||||
<Tooltip
|
||||
contentStyle={{ backgroundColor: '#0a0a0a', borderColor: '#262626', borderRadius: '12px' }}
|
||||
itemStyle={{ color: '#00F0FF', fontWeight: 'bold' }}
|
||||
itemStyle={{ color: 'var(--cyan-ai)', fontWeight: 'bold' }}
|
||||
/>
|
||||
<Area type="monotone" dataKey="tokens" stroke="#00F0FF" strokeWidth={3} fillOpacity={1} fill="url(#colorTokens)" />
|
||||
<Area type="monotone" dataKey="tokens" stroke="var(--cyan-ai)" strokeWidth={3} fillOpacity={1} fill="url(#colorTokens)" />
|
||||
</AreaChart>
|
||||
</ResponsiveContainer>
|
||||
</CardContent>
|
||||
@@ -157,7 +157,7 @@ export default function AdminDashboard() {
|
||||
<div>
|
||||
<CardTitle>Recent Question Uploads</CardTitle>
|
||||
</div>
|
||||
<Button size="sm" className="bg-[#00F0FF] text-black hover:bg-[#00F0FF]/90 font-bold rounded-xl h-10 px-4">Add Question</Button>
|
||||
<Button size="sm" className="bg-[var(--cyan-ai)] text-black hover:bg-[var(--cyan-ai-80)] font-bold rounded-xl h-10 px-4">Add Question</Button>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="rounded-2xl border border-border overflow-hidden">
|
||||
@@ -178,7 +178,7 @@ export default function AdminDashboard() {
|
||||
<td className="px-5 py-4 font-medium">Thermodynamics</td>
|
||||
<td className="px-5 py-4 text-muted-foreground truncate max-w-[300px]">An ideal gas undergoes an isothermal expansion...</td>
|
||||
<td className="px-5 py-4 text-right">
|
||||
<Button variant="ghost" size="sm" className="text-[#00F0FF] hover:text-[#00F0FF] hover:bg-[#00F0FF]/10 font-bold rounded-lg">Edit</Button>
|
||||
<Button variant="ghost" size="sm" className="text-[var(--cyan-ai)] hover:text-[var(--cyan-ai)] hover:bg-[var(--cyan-ai-10)] font-bold rounded-lg">Edit</Button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr className="hover:bg-secondary/20 transition-colors">
|
||||
@@ -187,7 +187,7 @@ export default function AdminDashboard() {
|
||||
<td className="px-5 py-4 font-medium">Calculus</td>
|
||||
<td className="px-5 py-4 text-muted-foreground truncate max-w-[300px]">Evaluate the integral of e^x sin(x) dx...</td>
|
||||
<td className="px-5 py-4 text-right">
|
||||
<Button variant="ghost" size="sm" className="text-[#00F0FF] hover:text-[#00F0FF] hover:bg-[#00F0FF]/10 font-bold rounded-lg">Edit</Button>
|
||||
<Button variant="ghost" size="sm" className="text-[var(--cyan-ai)] hover:text-[var(--cyan-ai)] hover:bg-[var(--cyan-ai-10)] font-bold rounded-lg">Edit</Button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Badge } from "@/components/ui/badge"
|
||||
import { Search, Plus, Filter, MoreHorizontal, Edit, Trash } from "lucide-react"
|
||||
|
||||
@@ -20,7 +20,7 @@ export default function QuestionsPage() {
|
||||
</div>
|
||||
<div className="flex gap-4">
|
||||
<Button variant="outline" className="border-border hover:bg-secondary"><Filter size={16} className="mr-2"/> Filter</Button>
|
||||
<Button className="bg-[#00F0FF] text-background hover:bg-[#00F0FF]/90 font-bold"><Plus size={16} className="mr-2"/> Add Question</Button>
|
||||
<Button className="bg-[var(--cyan-ai)] text-background hover:bg-[var(--cyan-ai-80)] font-bold"><Plus size={16} className="mr-2"/> Add Question</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -31,7 +31,7 @@ export default function QuestionsPage() {
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Search by ID, concept, or chapter..."
|
||||
className="w-full bg-background border border-border rounded-lg pl-10 pr-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[#00F0FF]"
|
||||
className="w-full bg-background border border-border rounded-lg pl-10 pr-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[var(--cyan-ai)]"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -70,7 +70,7 @@ export default function QuestionsPage() {
|
||||
</td>
|
||||
<td className="px-6 py-4">
|
||||
<Badge className={
|
||||
q.status === "Active" ? "bg-[#00F0FF]/10 text-[#00F0FF] border-[#00F0FF]/20" :
|
||||
q.status === "Active" ? "bg-[var(--cyan-ai-10)] text-[var(--cyan-ai)] border-[var(--cyan-ai-20)]" :
|
||||
q.status === "Review" ? "bg-yellow-500/10 text-yellow-500 border-yellow-500/20" :
|
||||
"bg-muted/50 text-muted-foreground border-border"
|
||||
} variant="outline">
|
||||
@@ -79,7 +79,7 @@ export default function QuestionsPage() {
|
||||
</td>
|
||||
<td className="px-6 py-4 text-right">
|
||||
<div className="flex justify-end gap-2 text-muted-foreground">
|
||||
<button className="p-1.5 hover:text-[#00F0FF] hover:bg-secondary rounded"><Edit size={16} /></button>
|
||||
<button className="p-1.5 hover:text-[var(--cyan-ai)] hover:bg-secondary rounded"><Edit size={16} /></button>
|
||||
<button className="p-1.5 hover:text-red-500 hover:bg-secondary rounded"><Trash size={16} /></button>
|
||||
<button className="p-1.5 hover:text-foreground hover:bg-secondary rounded"><MoreHorizontal size={16} /></button>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
"use client";
|
||||
"use client";
|
||||
|
||||
import { useState, useEffect } from "react";
|
||||
import { Button } from "@/components/ui/button"
|
||||
@@ -72,13 +72,13 @@ export default function SettingsPage() {
|
||||
<CardContent className="space-y-4">
|
||||
<div className="space-y-2">
|
||||
<label className="text-sm font-bold">Primary Model Name</label>
|
||||
<input type="text" defaultValue="gemini-1.5-pro-experimental" className="w-full bg-background border border-border rounded-lg px-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[#00F0FF]" />
|
||||
<input type="text" defaultValue="gemini-1.5-pro-experimental" className="w-full bg-background border border-border rounded-lg px-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[var(--cyan-ai)]" />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<label className="text-sm font-bold">OpenAI API Key (Fallback)</label>
|
||||
<input type="password" defaultValue="sk-........................" className="w-full bg-background border border-border rounded-lg px-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[#00F0FF]" />
|
||||
<input type="password" defaultValue="sk-........................" className="w-full bg-background border border-border rounded-lg px-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[var(--cyan-ai)]" />
|
||||
</div>
|
||||
<Button onClick={() => alert("Configuration Saved via Admin Panel")} className="bg-[#00F0FF] text-background hover:bg-[#00F0FF]/90 font-bold">Save Configuration</Button>
|
||||
<Button onClick={() => alert("Configuration Saved via Admin Panel")} className="bg-[var(--cyan-ai)] text-background hover:bg-[var(--cyan-ai-80)] font-bold">Save Configuration</Button>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
@@ -106,7 +106,7 @@ export default function SettingsPage() {
|
||||
type="number"
|
||||
value={settings.trial_duration_days}
|
||||
onChange={(e) => setSettings(prev => ({ ...prev, trial_duration_days: parseInt(e.target.value) || 0 }))}
|
||||
className="w-full bg-background border border-border rounded-lg px-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[#00F0FF]"
|
||||
className="w-full bg-background border border-border rounded-lg px-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[var(--cyan-ai)]"
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
@@ -114,13 +114,13 @@ export default function SettingsPage() {
|
||||
<select
|
||||
value={settings.trial_tier}
|
||||
onChange={(e) => setSettings(prev => ({ ...prev, trial_tier: e.target.value }))}
|
||||
className="w-full bg-background border border-border rounded-lg px-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[#00F0FF]">
|
||||
className="w-full bg-background border border-border rounded-lg px-4 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-[var(--cyan-ai)]">
|
||||
<option value="Pro">Pro Tier</option>
|
||||
<option value="Al_Coach">AI Coach (All Features)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<Button onClick={() => saveSettings("Trial Settings")} className="bg-[#00F0FF] text-background hover:bg-[#00F0FF]/90 font-bold">Update Trial Settings</Button>
|
||||
<Button onClick={() => saveSettings("Trial Settings")} className="bg-[var(--cyan-ai)] text-background hover:bg-[var(--cyan-ai-80)] font-bold">Update Trial Settings</Button>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
"use client"
|
||||
"use client"
|
||||
|
||||
import { useEffect, useState } from "react"
|
||||
import { useParams, useRouter } from "next/navigation"
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
} from "lucide-react"
|
||||
|
||||
const TIER_STYLE: Record<string, string> = {
|
||||
"Al_Coach": "bg-[#00F0FF]/10 text-[#00F0FF] border-[#00F0FF]/20",
|
||||
"Al_Coach": "bg-[var(--cyan-ai-10)] text-[var(--cyan-ai)] border-[var(--cyan-ai-20)]",
|
||||
"Pro": "bg-yellow-500/10 text-yellow-500 border-yellow-500/20",
|
||||
"Free": "bg-secondary text-foreground border-border",
|
||||
}
|
||||
@@ -114,7 +114,7 @@ export default function StudentKundliPage() {
|
||||
<Button variant="ghost" onClick={() => setEditing(false)} className="gap-2">
|
||||
<X size={14} /> Cancel
|
||||
</Button>
|
||||
<Button onClick={handleSave} disabled={saving} className="gap-2 bg-[#00F0FF] text-background hover:bg-[#00F0FF]/90">
|
||||
<Button onClick={handleSave} disabled={saving} className="gap-2 bg-[var(--cyan-ai)] text-background hover:bg-[var(--cyan-ai-80)]">
|
||||
{saving ? <RefreshCw size={14} className="animate-spin" /> : <Save size={14} />}
|
||||
Save Changes
|
||||
</Button>
|
||||
@@ -131,7 +131,7 @@ export default function StudentKundliPage() {
|
||||
{data.profile_image_url ? (
|
||||
<img src={data.profile_image_url} alt={data.name} className="w-20 h-20 rounded-2xl object-cover" />
|
||||
) : (
|
||||
<div className="w-20 h-20 rounded-2xl bg-gradient-to-br from-[#00F0FF]/20 to-[#00F0FF]/5 border border-[#00F0FF]/20 flex items-center justify-center text-3xl font-black text-[#00F0FF]">
|
||||
<div className="w-20 h-20 rounded-2xl bg-gradient-to-br from-[var(--cyan-ai-20)] to-[var(--cyan-ai-10)] border border-[var(--cyan-ai-20)] flex items-center justify-center text-3xl font-black text-[var(--cyan-ai)]">
|
||||
{data.name.charAt(0)}
|
||||
</div>
|
||||
)}
|
||||
@@ -203,7 +203,7 @@ export default function StudentKundliPage() {
|
||||
{/* Stats Grid */}
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-4">
|
||||
{[
|
||||
{ label: "Tests Attempted", value: data.stats.total_tests, color: "text-[#00F0FF]", icon: <Activity size={16}/> },
|
||||
{ label: "Tests Attempted", value: data.stats.total_tests, color: "text-[var(--cyan-ai)]", icon: <Activity size={16}/> },
|
||||
{ label: "Avg Accuracy", value: data.stats.avg_accuracy ? `${data.stats.avg_accuracy}%` : "—", color: "text-green-500", icon: <TrendingUp size={16}/> },
|
||||
{ label: "AI Sessions", value: data.stats.mastered_mistakes, color: "text-purple-400", icon: <Award size={16}/> },
|
||||
{
|
||||
@@ -240,7 +240,7 @@ export default function StudentKundliPage() {
|
||||
<Card className="lg:col-span-2 border-border shadow-sm">
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2 text-base">
|
||||
<Activity size={16} className="text-[#00F0FF]" /> Recent Activity
|
||||
<Activity size={16} className="text-[var(--cyan-ai)]" /> Recent Activity
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
@@ -255,7 +255,7 @@ export default function StudentKundliPage() {
|
||||
<div className="text-xs text-muted-foreground mt-0.5">{formatDate(a.submitted_at)}</div>
|
||||
</div>
|
||||
<div className="text-right">
|
||||
<div className="font-mono font-bold text-[#00F0FF] text-sm">{a.score}/{a.total_questions}</div>
|
||||
<div className="font-mono font-bold text-[var(--cyan-ai)] text-sm">{a.score}/{a.total_questions}</div>
|
||||
<div className="text-xs text-muted-foreground">{a.accuracy.toFixed(1)}% acc</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -293,7 +293,7 @@ export default function StudentKundliPage() {
|
||||
<Card className="border-border shadow-sm">
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2 text-base">
|
||||
<Award size={16} className="text-[#00F0FF]" /> Subscription History
|
||||
<Award size={16} className="text-[var(--cyan-ai)]" /> Subscription History
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
"use client"
|
||||
"use client"
|
||||
|
||||
import { useEffect, useState } from "react"
|
||||
import { Badge } from "@/components/ui/badge"
|
||||
@@ -7,7 +7,7 @@ import { Search, Download, Flame, RefreshCw } from "lucide-react"
|
||||
import { useRouter } from "next/navigation"
|
||||
|
||||
const TIER_STYLE: Record<string, string> = {
|
||||
"Al_Coach": "bg-[#00F0FF]/10 text-[#00F0FF] border-[#00F0FF]/20 font-bold",
|
||||
"Al_Coach": "bg-[var(--cyan-ai-10)] text-[var(--cyan-ai)] border-[var(--cyan-ai-20)] font-bold",
|
||||
"Pro": "bg-yellow-500/10 text-yellow-500 border-yellow-500/20 font-bold",
|
||||
"Free": "bg-secondary text-foreground border-border",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user