Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 060c2aff61 | |||
| 19b4561027 | |||
| f14777a2a7 | |||
| 0749a0273a | |||
| 131d73f418 | |||
| e75b933c6a | |||
| a444f73c43 | |||
| 65f4abd0fc | |||
| f158d6baa0 | |||
| 9574a73e1b | |||
| e2a3d704e0 | |||
| 63728d296b | |||
| 7a82845411 | |||
| e483d9fced | |||
| 9af763013d | |||
| 4a3cb052fb | |||
| be738d81ca |
@@ -2,18 +2,23 @@
|
|||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import ReactLenis from "lenis/react";
|
import ReactLenis from "lenis/react";
|
||||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||||
import FeatureCardTwelve from '@/components/sections/feature/FeatureCardTwelve';
|
import CardStack from '@/components/cardStack/CardStack';
|
||||||
|
import { Clock } from "lucide-react";
|
||||||
|
|
||||||
export default function CallHistoryPage() {
|
export default function CallHistoryPage() {
|
||||||
|
const prospectNames = [
|
||||||
|
"Sarah Jenkins", "Ahmed Al-Mansoori", "Elena Rossi", "Mark Z", "Jane Doe",
|
||||||
|
"Alice Wong", "Robert Chen", "Sophia Martinez", "David Kim", "Linda Taylor", "Kevin Patel", "Emily Johnson", "Brian O'Connor", "Rachel Green", "Tom Hiddleston"
|
||||||
|
];
|
||||||
|
|
||||||
const callData = Array.from({ length: 15 }).map((_, i) => ({
|
const callData = Array.from({ length: 15 }).map((_, i) => ({
|
||||||
id: `call-${i}`,
|
id: `call-${i}`,
|
||||||
label: `Interaction ${i + 1}`,
|
name: prospectNames[i],
|
||||||
title: `Customer #${1000 + i}`,
|
timestamp: `${i + 1}h ago`,
|
||||||
items: [
|
snippet: i % 2 === 0
|
||||||
`Timestamp: ${new Date(Date.now() - i * 3600000).toLocaleString()}`,
|
? "Interest confirmed in the premium tier, scheduling demo."
|
||||||
"Status: Successfully handled by AI", "Confidence: 98%", "Action: Booked Appointment"
|
: "Standard inquiry regarding service availability and pricing.", status: i % 3 === 0 ? "Booked" : i % 3 === 1 ? "Follow-up" : "Lead"
|
||||||
]
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -31,7 +36,7 @@ export default function CallHistoryPage() {
|
|||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingInline
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "/" },
|
||||||
{ name: "Features", id: "/#features" },
|
{ name: "Features", id: "/#features" },
|
||||||
@@ -39,18 +44,44 @@ export default function CallHistoryPage() {
|
|||||||
{ name: "Call History", id: "/call-history" },
|
{ name: "Call History", id: "/call-history" },
|
||||||
]}
|
]}
|
||||||
brandName="ReceptionistAI"
|
brandName="ReceptionistAI"
|
||||||
|
button={{ text: "Get Started", href: "/contact" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="call-history-list" className="pt-32 pb-20">
|
<div id="call-history-list" data-section="call-history-list" className="pt-32 pb-20">
|
||||||
<FeatureCardTwelve
|
<CardStack
|
||||||
title="Call Interaction History"
|
title="Call Interaction History"
|
||||||
description="Review the detailed log of all 15 recent receptionist interactions."
|
description="Review your latest prospect conversations and audio analysis."
|
||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
animationType="slide-up"
|
animationType="blur-reveal"
|
||||||
useInvertedBackground={false}
|
className="max-w-4xl mx-auto"
|
||||||
features={callData}
|
>
|
||||||
/>
|
<div className="space-y-4">
|
||||||
|
{callData.map((call) => (
|
||||||
|
<div key={call.id} className="flex items-center justify-between p-6 bg-card rounded-xl border border-accent/20 hover:border-accent/50 transition-colors">
|
||||||
|
<div className="flex flex-col gap-1">
|
||||||
|
<h3 className="font-semibold flex items-center gap-2">
|
||||||
|
{call.name}
|
||||||
|
<span className="text-xs font-normal px-2 py-0.5 rounded-full bg-accent/10">{call.status}</span>
|
||||||
|
</h3>
|
||||||
|
<p className="text-sm opacity-70 italic">"{call.snippet}"</p>
|
||||||
|
<p className="text-xs opacity-50 flex items-center gap-1 mt-2"><Clock className="w-3 h-3" /> {call.timestamp}</p>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-1">
|
||||||
|
<div className="w-24 h-8 flex items-end gap-0.5">
|
||||||
|
{[...Array(6)].map((_, j) => (
|
||||||
|
<div
|
||||||
|
key={j}
|
||||||
|
className="w-2 bg-primary-cta rounded-full animate-pulse"
|
||||||
|
style={{ height: `${20 + (Math.random() * 60)}%`, animationDelay: `${j * 0.15}s` }}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</CardStack>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
|
|||||||
Reference in New Issue
Block a user