-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPasted-import-React-from-react-import-Card-CardHeader-CardTitle-CardContent-from-components-ui-1734031217194.txt
111 lines (103 loc) · 3.73 KB
/
Pasted-import-React-from-react-import-Card-CardHeader-CardTitle-CardContent-from-components-ui-1734031217194.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import React from 'react';
import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { Button } from '@/components/ui/button';
import {
Calendar,
MessageSquare,
Bell,
PieChart,
Zap
} from 'lucide-react';
import { ArchetypeProfile } from '../types/archetypes';
interface EngagementStrategyProps {
profile: ArchetypeProfile;
score: number;
}
const EngagementStrategy: React.FC<EngagementStrategyProps> = ({ profile, score }) => {
const getStrategyContent = () => {
switch (profile.category) {
case 'Autonomous':
return {
channels: ['Email Analytics', 'Self-Service Portal', 'Data Dashboard'],
timing: ['Weekly Reports', 'Monthly Reviews', 'Quarterly Assessments'],
content: ['Performance Metrics', 'ROI Calculations', 'Progress Tracking']
};
case 'Isolated':
return {
channels: ['Secure Portal', 'Private Messaging', 'Anonymous Support'],
timing: ['User-Initiated', 'Scheduled Reviews', 'Automated Updates'],
content: ['Privacy Policies', 'Security Features', 'Confidential Reports']
};
case 'Avoidant':
return {
channels: ['Simple SMS', 'Friendly Emails', 'Mobile App'],
timing: ['Gentle Reminders', 'Positive Updates', 'Achievement Alerts'],
content: ['Easy Steps', 'Success Stories', 'Support Resources']
};
case 'Impulsive':
return {
channels: ['Push Notifications', 'Social Media', 'Interactive App'],
timing: ['Real-time Alerts', 'Flash Offers', 'Instant Updates'],
content: ['Limited-Time Deals', 'Quick Wins', 'Reward Tracking']
};
}
};
const strategy = getStrategyContent();
return (
<Card className="w-full">
<CardHeader>
<CardTitle>Engagement Strategy: {profile.category}</CardTitle>
</CardHeader>
<CardContent>
<Tabs defaultValue="channels">
<TabsList>
<TabsTrigger value="channels">
<MessageSquare className="w-4 h-4 mr-2" />
Channels
</TabsTrigger>
<TabsTrigger value="timing">
<Calendar className="w-4 h-4 mr-2" />
Timing
</TabsTrigger>
<TabsTrigger value="content">
<PieChart className="w-4 h-4 mr-2" />
Content
</TabsTrigger>
</TabsList>
<TabsContent value="channels">
<div className="space-y-4">
{strategy.channels.map((channel, idx) => (
<Button key={idx} variant="outline" className="w-full justify-start">
<Bell className="w-4 h-4 mr-2" />
{channel}
</Button>
))}
</div>
</TabsContent>
<TabsContent value="timing">
<div className="space-y-4">
{strategy.timing.map((time, idx) => (
<Button key={idx} variant="outline" className="w-full justify-start">
<Zap className="w-4 h-4 mr-2" />
{time}
</Button>
))}
</div>
</TabsContent>
<TabsContent value="content">
<div className="space-y-4">
{strategy.content.map((content, idx) => (
<Button key={idx} variant="outline" className="w-full justify-start">
<MessageSquare className="w-4 h-4 mr-2" />
{content}
</Button>
))}
</div>
</TabsContent>
</Tabs>
</CardContent>
</Card>
);
};
export default EngagementStrategy;