-
- 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
-
+
-
-
+
+
- Shift + Enter for new line
- {input.length} / 2000
+ Shift + Enter for new line
+ {input.length} / 2000
@@ -287,26 +287,26 @@ export const AIChat = forwardRef<{ fillInput: (text: string) => void }, AIChatPr
return (
-
+
{messages.map((msg, i) => (
{msg.role === "assistant" ? (
-
+
-
-
{formatContent(msg.content)}
+
+
{formatContent(msg.content)}
-
AI Assistant
+
AI Assistant
) : (
-
@@ -316,10 +316,10 @@ export const AIChat = forwardRef<{ fillInput: (text: string) => void }, AIChatPr
))}
{loading && (
-
+
-
+
@@ -329,7 +329,7 @@ export const AIChat = forwardRef<{ fillInput: (text: string) => void }, AIChatPr
-
+
{error && (
@@ -337,8 +337,8 @@ export const AIChat = forwardRef<{ fillInput: (text: string) => void }, AIChatPr
{error}
)}
-
-
+
+
- Shift + Enter for new line
- {input.length} / 2000
+ Shift + Enter for new line
+ {input.length} / 2000
diff --git a/src/components/ai/job-selector.tsx b/src/components/ai/job-selector.tsx
index 105f2d1..30936d0 100644
--- a/src/components/ai/job-selector.tsx
+++ b/src/components/ai/job-selector.tsx
@@ -39,13 +39,13 @@ export function JobSelector({ onSelect }: JobSelectorProps) {
{open && (
@@ -57,7 +57,7 @@ export function JobSelector({ onSelect }: JobSelectorProps) {
key={i}
type="button"
onClick={() => handleSelect(job)}
- className="w-full text-left px-4 py-3 text-sm text-[#9ca3af] hover:bg-[#1f2437] hover:text-[#e5e7eb] transition-all duration-150 border-b border-[#ffffff08] last:border-0 border-l-2 border-l-transparent hover:border-l-[#f97316]/40"
+ className="w-full text-left px-4 py-3 text-sm text-[#9ca3af] hover:bg-[#1f2437] hover:text-[#e5e7eb] transition-all duration-150 border-b border-[#ffffff08] last:border-0 border-l-2 border-l-transparent hover:border-l-primary/40"
>
{job.job_title}
{job.industry} — {job.description}