Skip to content

Commit 61f6dde

Browse files
committed
did something lol
1 parent c172e10 commit 61f6dde

File tree

2 files changed

+62
-52
lines changed

2 files changed

+62
-52
lines changed

apps/dashboard/app/(main)/websites/[id]/_components/tabs/settings-tab.tsx

Lines changed: 51 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,7 @@ export function WebsiteSettingsTab({
7272
}: WebsiteDataTabProps) {
7373
const router = useRouter();
7474
const [copied, setCopied] = useState(false);
75-
const [installMethod, setInstallMethod] = useState<'script' | 'npm'>(
76-
'script'
77-
);
75+
const [installMethod] = useState<'script' | 'npm'>('script');
7876
const [showDeleteDialog, setShowDeleteDialog] = useState(false);
7977
const [showEditDialog, setShowEditDialog] = useState(false);
8078
const [activeTab, setActiveTab] = useState<
@@ -140,15 +138,13 @@ export function WebsiteSettingsTab({
140138
{activeTab === 'tracking' && (
141139
<TrackingCodeTab
142140
copied={copied}
143-
installMethod={installMethod}
144141
npmCode={npmCode}
145142
onCopyCode={handleCopyCode}
146143
onCopyComponentCode={() =>
147144
handleCopyCode(
148145
generateNpmComponentCode(websiteId, trackingOptions)
149146
)
150147
}
151-
setInstallMethod={setInstallMethod}
152148
trackingCode={trackingCode}
153149
websiteData={websiteData}
154150
websiteId={websiteId}
@@ -178,7 +174,6 @@ export function WebsiteSettingsTab({
178174

179175
{activeTab !== 'tracking' && (
180176
<TabActions
181-
activeTab={activeTab}
182177
installMethod={installMethod}
183178
onCopyCode={() =>
184179
handleCopyCode(
@@ -201,7 +196,6 @@ export function WebsiteSettingsTab({
201196
}
202197
}}
203198
onResetDefaults={() => setTrackingOptions(resetToDefaults())}
204-
trackingCode={trackingCode}
205199
/>
206200
)}
207201
</CardContent>
@@ -351,8 +345,6 @@ function SettingsNavigation({
351345
const advancedEnabled = [
352346
trackingOptions.trackEngagement,
353347
trackingOptions.trackScrollDepth,
354-
trackingOptions.trackExitIntent,
355-
trackingOptions.trackBounceRate,
356348
trackingOptions.trackErrors,
357349
trackingOptions.trackPerformance,
358350
trackingOptions.trackWebVitals,
@@ -418,9 +410,9 @@ function SettingsNavigation({
418410
</div>
419411
<Badge
420412
className="h-5 px-2 text-xs"
421-
variant={advancedEnabled > 4 ? 'default' : 'secondary'}
413+
variant={advancedEnabled > 2 ? 'default' : 'secondary'}
422414
>
423-
{advancedEnabled}/7
415+
{advancedEnabled}/5
424416
</Badge>
425417
</Button>
426418

@@ -621,14 +613,17 @@ function CodeBlock({
621613
onCopy: () => void;
622614
}) {
623615
// Determine language based on code content
624-
const getLanguage = (code: string) => {
625-
if (code.includes('npm install') || code.includes('bun add')) {
616+
const getLanguage = (codeContent: string) => {
617+
if (
618+
codeContent.includes('npm install') ||
619+
codeContent.includes('bun add')
620+
) {
626621
return 'bash';
627622
}
628-
if (code.includes('<script')) {
623+
if (codeContent.includes('<script')) {
629624
return 'html';
630625
}
631-
if (code.includes('import') && code.includes('from')) {
626+
if (codeContent.includes('import') && codeContent.includes('from')) {
632627
return 'jsx';
633628
}
634629
return 'javascript';
@@ -683,7 +678,13 @@ function CodeBlock({
683678
);
684679
}
685680

686-
function WebsiteInfoSection({ websiteData, websiteId }: any) {
681+
function WebsiteInfoSection({
682+
websiteData,
683+
websiteId,
684+
}: {
685+
websiteData: Website;
686+
websiteId: string;
687+
}) {
687688
return (
688689
<div className="mt-6 grid grid-cols-2 gap-4">
689690
<div className="space-y-3 rounded-md bg-muted/50 p-4">
@@ -748,7 +749,14 @@ function BasicTrackingTab({
748749
trackingOptions: TrackingOptions;
749750
onToggleOption: (option: keyof TrackingOptions) => void;
750751
}) {
751-
const trackingOptionsConfig = [
752+
const trackingOptionsConfig: Array<{
753+
key: keyof TrackingOptions;
754+
title: string;
755+
description: string;
756+
data: string[];
757+
required?: boolean;
758+
inverted?: boolean;
759+
}> = [
752760
{
753761
key: 'disabled',
754762
title: 'Enable Tracking',
@@ -835,7 +843,14 @@ function AdvancedTrackingTab({
835843
trackingOptions: TrackingOptions;
836844
onToggleOption: (option: keyof TrackingOptions) => void;
837845
}) {
838-
const advancedOptionsConfig = [
846+
const advancedOptionsConfig: Array<{
847+
key: keyof TrackingOptions;
848+
title: string;
849+
description: string;
850+
data: string[];
851+
required?: boolean;
852+
inverted?: boolean;
853+
}> = [
839854
{
840855
key: 'trackEngagement',
841856
title: 'Engagement Tracking',
@@ -857,26 +872,6 @@ function AdvancedTrackingTab({
857872
'Time spent at different scroll positions',
858873
],
859874
},
860-
{
861-
key: 'trackExitIntent',
862-
title: 'Exit Intent',
863-
description: 'Track when users are about to leave the page',
864-
data: [
865-
'Mouse movement towards browser controls',
866-
'Exit intent events',
867-
'Time before exit detection',
868-
],
869-
},
870-
{
871-
key: 'trackBounceRate',
872-
title: 'Bounce Rate',
873-
description: 'Track bounce behavior and engagement quality',
874-
data: [
875-
'Single page sessions',
876-
'Time spent before bounce',
877-
'Interaction before leaving',
878-
],
879-
},
880875
{
881876
key: 'trackErrors',
882877
title: 'Error Tracking',
@@ -937,9 +932,8 @@ function TrackingOptionsGrid({
937932
title: string;
938933
description: string;
939934
data: string[];
940-
enabled: boolean;
941-
required: boolean;
942-
inverted: boolean;
935+
required?: boolean;
936+
inverted?: boolean;
943937
}[];
944938
trackingOptions: TrackingOptions;
945939
onToggleOption: (option: keyof TrackingOptions) => void;
@@ -958,8 +952,10 @@ function TrackingOptionsGrid({
958952
<TrackingOptionCard
959953
key={key}
960954
{...optionProps}
961-
enabled={trackingOptions[key]}
955+
enabled={trackingOptions[key] as boolean}
956+
inverted={optionProps.inverted ?? false}
962957
onToggle={() => onToggleOption(key)}
958+
required={optionProps.required ?? false}
963959
/>
964960
);
965961
})}
@@ -974,16 +970,16 @@ function TrackingOptionCard({
974970
data,
975971
enabled,
976972
onToggle,
977-
required,
978-
inverted,
973+
required = false,
974+
inverted = false,
979975
}: {
980976
title: string;
981977
description: string;
982978
data: string[];
983979
enabled: boolean;
984980
onToggle: () => void;
985-
required: boolean;
986-
inverted: boolean;
981+
required?: boolean;
982+
inverted?: boolean;
987983
}) {
988984
const isEnabled = inverted ? !enabled : enabled;
989985

@@ -1023,7 +1019,9 @@ function OptimizationTab({
10231019
setTrackingOptions,
10241020
}: {
10251021
trackingOptions: TrackingOptions;
1026-
setTrackingOptions: (options: TrackingOptions) => void;
1022+
setTrackingOptions: (
1023+
options: TrackingOptions | ((prev: TrackingOptions) => TrackingOptions)
1024+
) => void;
10271025
}) {
10281026
return (
10291027
<div className="space-y-4">
@@ -1116,7 +1114,9 @@ function BatchingSection({
11161114
setTrackingOptions,
11171115
}: {
11181116
trackingOptions: TrackingOptions;
1119-
setTrackingOptions: (options: TrackingOptions) => void;
1117+
setTrackingOptions: (
1118+
options: TrackingOptions | ((prev: TrackingOptions) => TrackingOptions)
1119+
) => void;
11201120
}) {
11211121
return (
11221122
<div className="rounded-lg border p-4">
@@ -1214,7 +1214,9 @@ function NetworkResilienceSection({
12141214
setTrackingOptions,
12151215
}: {
12161216
trackingOptions: TrackingOptions;
1217-
setTrackingOptions: (options: TrackingOptions) => void;
1217+
setTrackingOptions: (
1218+
options: TrackingOptions | ((prev: TrackingOptions) => TrackingOptions)
1219+
) => void;
12181220
}) {
12191221
return (
12201222
<div className="rounded-lg border p-4">

docker-compose.yaml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ services:
2828
CLICKHOUSE_USER: default
2929
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
3030
ports:
31-
- "8123:8123" # HTTP interface
32-
- "9000:9000" # Native interface
31+
- "8123:8123" # HTTP interface
32+
- "9000:9000" # Native interface
3333
volumes:
3434
- clickhouse_data:/var/lib/clickhouse
3535
- ./scripts/clickhouse-init.sql:/docker-entrypoint-initdb.d/clickhouse-init.sql
@@ -38,7 +38,15 @@ services:
3838
soft: 262144
3939
hard: 262144
4040
healthcheck:
41-
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8123/ping"]
41+
test:
42+
[
43+
"CMD",
44+
"wget",
45+
"--no-verbose",
46+
"--tries=1",
47+
"--spider",
48+
"http://localhost:8123/ping",
49+
]
4250
interval: 10s
4351
timeout: 5s
4452
retries: 5

0 commit comments

Comments
 (0)