diff --git a/Web_Backgrounds/spidey-theme.css b/Web_Backgrounds/spidey-theme.css index f1623ac..d59ec03 100644 --- a/Web_Backgrounds/spidey-theme.css +++ b/Web_Backgrounds/spidey-theme.css @@ -10,8 +10,6 @@ --card-foreground: 240 8% 14%; --popover: 0 0% 100%; --popover-foreground: 240 8% 14%; - --primary: 0 90% 46%; - --primary-foreground: 0 0% 100%; --secondary: 220 75% 48%; --secondary-foreground: 0 0% 100%; --muted: 240 8% 92%; @@ -22,16 +20,12 @@ --destructive-foreground: 0 0% 100%; --border: 240 8% 84%; --input: 240 8% 84%; - --ring: 0 90% 46%; --radius: 0.5rem; --sidebar: 0 0% 99%; --sidebar-foreground: 240 8% 14%; - --sidebar-primary: 0 90% 46%; - --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 220 20% 93%; --sidebar-accent-foreground: 220 70% 28%; --sidebar-border: 240 8% 84%; - --sidebar-ring: 0 90% 46%; } .dark.theme-spidey { @@ -41,8 +35,6 @@ --card-foreground: 210 40% 98%; --popover: 222.2 84% 4.9%; --popover-foreground: 210 40% 98%; - --primary: 0 100% 53%; - --primary-foreground: 222.2 47.4% 11.2%; --secondary: 217.2 32.6% 17.5%; --secondary-foreground: 210 40% 98%; --muted: 217.2 32.6% 17.5%; @@ -53,16 +45,12 @@ --destructive-foreground: 210 40% 98%; --border: 217.2 32.6% 17.5%; --input: 217.2 32.6% 17.5%; - --ring: 0 100% 53%; --radius: 0.5rem; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; - --sidebar-primary: 0 100% 53%; - --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; - --sidebar-ring: 0 100% 53%; } .theme-spidey body::before { diff --git a/src/app/(dashboard)/ai-assistant/page.tsx b/src/app/(dashboard)/ai-assistant/page.tsx index 4cb4f81..f3aaa6b 100644 --- a/src/app/(dashboard)/ai-assistant/page.tsx +++ b/src/app/(dashboard)/ai-assistant/page.tsx @@ -38,17 +38,17 @@ export default function AIAssistantPage() { }, []) return ( -
-
-
+
+
+
-
+
-

AI Sales Assistant

-

Powered by local AI

+

AI Sales Assistant

+

Powered by local AI

@@ -56,30 +56,30 @@ export default function AIAssistantPage() { Online
-
-
- Local AI Model +
+
+ Local AI Model
-
+
- - Target Job + + Target Job
{selectedJob && ( -
-

{selectedJob.job_title}

- {selectedJob.industry} -

{selectedJob.description}

+
+

{selectedJob.job_title}

+ {selectedJob.industry} +

{selectedJob.description}

{selectedJob.keywords.map((kw, i) => ( - {kw} + {kw} ))}
@@ -87,48 +87,48 @@ export default function AIAssistantPage() {
- - Quick Tips + + Quick Tips
{tips.map((tip, i) => (
handleTipClick(tip)} - className="flex items-start gap-2.5 bg-[#1a1d2e]/50 hover:bg-[#1a1d2e] border border-[#ffffff08] hover:border-[#f97316]/20 rounded-xl p-3.5 mb-2 cursor-pointer transition-all duration-200 group" + className="flex items-start gap-2.5 bg-card/50 hover:bg-card border border-border hover:border-primary/20 rounded-xl p-3.5 mb-2 cursor-pointer transition-all duration-200 group" > - - {tip} + + {tip}
))}
- - Recent Prompts + + Recent Prompts
{recentPrompts.length > 0 ? ( recentPrompts.map((prompt, i) => (
handleRecentPromptClick(prompt)} - className="bg-[#1a1d2e]/50 rounded-xl p-3 mb-2 border border-[#ffffff08] text-[#6b7280] text-xs truncate hover:text-[#9ca3af] cursor-pointer transition-colors duration-200" + className="bg-card/50 rounded-xl p-3 mb-2 border border-border text-muted-foreground text-xs truncate hover:text-foreground cursor-pointer transition-colors duration-200" > {prompt}
)) ) : ( -
Your recent prompts will appear here
+
Your recent prompts will appear here
)}
-
+
-
Messages today
-
24
+
Messages today
+
24
-
Tokens used
-
12.4k
+
Tokens used
+
12.4k
diff --git a/src/components/ai/ai-chat.tsx b/src/components/ai/ai-chat.tsx index 0befa06..9c337b4 100644 --- a/src/components/ai/ai-chat.tsx +++ b/src/components/ai/ai-chat.tsx @@ -8,7 +8,7 @@ function linkifyText(text: string) { const parts = text.split(urlRegex) return parts.map((part, i) => { if (part.startsWith("http://") || part.startsWith("https://")) { - return {part} + return {part} } return {part} }) @@ -22,7 +22,7 @@ function formatContent(text: string) { const content = trimmed.replace(/^[•\-]\s*/, "") return (
- + {linkifyText(content)}
) @@ -42,11 +42,11 @@ interface AIChatProps { } const quickActions = [ - { icon: "✉️", iconBg: "bg-[#f97316]/10", iconColor: "text-[#f97316]", title: "Cold Email Template", desc: "Generate targeted outreach emails", prompt: "Write a cold email template for a Software Developer" }, + { icon: "✉️", iconBg: "bg-primary/10", iconColor: "text-primary", title: "Cold Email Template", desc: "Generate targeted outreach emails", prompt: "Write a cold email template for a Software Developer" }, { icon: "🛡️", iconBg: "bg-[#3b82f6]/10", iconColor: "text-[#3b82f6]", title: "Handle Objections", desc: "Get scripts for common objections", prompt: "Give me objection handling scripts for sales" }, { icon: "🎯", iconBg: "bg-[#8b5cf6]/10", iconColor: "text-[#8b5cf6]", title: "Target Industry", desc: "Find leads in specific industries", prompt: "How do I target leads in the tech industry" }, { icon: "📋", iconBg: "bg-[#22c55e]/10", iconColor: "text-[#22c55e]", title: "Build Lead List", desc: "Strategies to grow your pipeline", prompt: "Help me build a lead list strategy" }, - { icon: "📞", iconBg: "bg-[#f97316]/10", iconColor: "text-[#f97316]", title: "Call Scripts", desc: "Proven phone sales scripts", prompt: "Give me a cold call script for outreach" }, + { icon: "📞", iconBg: "bg-primary/10", iconColor: "text-primary", title: "Call Scripts", desc: "Proven phone sales scripts", prompt: "Give me a cold call script for outreach" }, { icon: "📊", iconBg: "bg-[#ec4899]/10", iconColor: "text-[#ec4899]", title: "Sales Strategy", desc: "Industry specific sales tactics", prompt: "What sales strategies work best per industry" }, ] @@ -190,20 +190,20 @@ export const AIChat = forwardRef<{ fillInput: (text: string) => void }, AIChatPr return (
-

Servers booting...

-
+

Servers booting...

+
- - - - - - - - - - + + + + + + + + + +
@@ -214,27 +214,27 @@ export const AIChat = forwardRef<{ fillInput: (text: string) => void }, AIChatPr if (bootState === "ready" && !hasUserMessage) { return ( -
+
-
+
-

What can I help you with?

-

Your AI sales assistant is ready. Choose a quick action or type your question below.

+

What can I help you with?

+

Your AI sales assistant is ready. Choose a quick action or type your question below.

{quickActions.map((action, i) => (
handleQuickAction(action.prompt)} - className="float-in bg-[#1a1d2e] hover:bg-[#1f2437] rounded-xl p-4 border border-[#ffffff0a] hover:border-[#f97316]/30 cursor-pointer transition-all duration-200 hover:shadow-[0_4px_20px_rgba(249,115,22,0.1)] hover:-translate-y-0.5" + className="float-in bg-card hover:bg-card/80 rounded-xl p-4 border border-border hover:border-primary/30 cursor-pointer transition-all duration-200 hover:shadow-[0_4px_20px_hsl(var(--primary)_/_0.1)] hover:-translate-y-0.5" style={{ animationDelay: `${0.1 + i * 0.05}s` }} >
{action.icon}
-

{action.title}

-

{action.desc}

+

{action.title}

+

{action.desc}

))}
@@ -243,7 +243,7 @@ export const AIChat = forwardRef<{ fillInput: (text: string) => void }, AIChatPr
handleCommandPill(pill.prompt)} - className="bg-[#1a1d2e] border border-[#ffffff0f] hover:border-[#f97316]/40 hover:bg-[#1f2437] rounded-full px-4 py-2 text-xs text-[#9ca3af] hover:text-[#f97316] transition-all duration-200 cursor-pointer flex items-center gap-1.5" + className="bg-card border border-border hover:border-primary/40 hover:bg-card/80 rounded-full px-4 py-2 text-xs text-muted-foreground hover:text-primary transition-all duration-200 cursor-pointer flex items-center gap-1.5" > {pill.icon} {pill.label} @@ -252,10 +252,10 @@ export const AIChat = forwardRef<{ fillInput: (text: string) => void }, AIChatPr
-
+
-
- +
+