mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
refactor: simplify analytics consent page for higher opt-in
Remove two-column bullet lists, vendor names, and fear-priming "NEVER" list. Replace with a single benefit-led paragraph and privacy note.
This commit is contained in:
@@ -40,63 +40,32 @@ export function AnalyticsConsentPage() {
|
||||
|
||||
return (
|
||||
<div className="flex min-h-screen items-center justify-center bg-background p-6">
|
||||
<div className="w-full max-w-lg space-y-6 rounded-2xl border border-border bg-card p-8 shadow-lg">
|
||||
<div className="w-full max-w-[400px] space-y-6 rounded-2xl border border-border bg-card p-9 shadow-lg">
|
||||
<div className="flex justify-center">
|
||||
<div className="flex h-12 w-12 items-center justify-center rounded-full bg-primary/10">
|
||||
<Shield className="h-6 w-6 text-primary" />
|
||||
<div className="flex h-11 w-11 items-center justify-center rounded-full bg-primary/10">
|
||||
<Shield className="h-[22px] w-[22px] text-primary" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="space-y-2 text-center">
|
||||
<h1 className="text-xl font-semibold text-foreground">{t.consentTitle}</h1>
|
||||
<p className="text-sm text-muted-foreground">{t.consentDescription}</p>
|
||||
<div className="space-y-3 text-center">
|
||||
<h1 className="text-lg font-semibold text-foreground">{t.consentTitle}</h1>
|
||||
<p className="text-sm leading-relaxed text-muted-foreground">{t.consentDescription}</p>
|
||||
</div>
|
||||
|
||||
<p className="text-center text-sm font-medium text-foreground">{t.consentPrivacy}</p>
|
||||
<p className="text-center text-xs text-muted-foreground/60">{t.consentChangeable}</p>
|
||||
|
||||
<div className="grid grid-cols-2 gap-6 text-sm">
|
||||
<div>
|
||||
<p className="mb-2 font-medium text-foreground">{t.whatShared}</p>
|
||||
<ul className="space-y-1 text-muted-foreground">
|
||||
{t.whatSharedItems.map((item) => (
|
||||
<li key={item} className="flex items-start gap-1.5">
|
||||
<span className="mt-1 text-xs">·</span>
|
||||
{item}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<p className="mb-2 font-medium text-foreground">{t.whatNever}</p>
|
||||
<ul className="space-y-1 text-muted-foreground">
|
||||
{t.whatNeverItems.map((item) => (
|
||||
<li key={item} className="flex items-start gap-1.5">
|
||||
<span className="mt-1 text-xs">·</span>
|
||||
{item}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p className="text-center text-xs text-muted-foreground">
|
||||
{t.consentProviders}
|
||||
<br />
|
||||
{t.consentChangeable}
|
||||
</p>
|
||||
|
||||
<div className="flex gap-3">
|
||||
<div className="flex gap-2.5">
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleAccept}
|
||||
className="flex-1 rounded-lg bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90"
|
||||
className="flex-1 rounded-[10px] bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90"
|
||||
>
|
||||
{t.acceptButton}
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleDecline}
|
||||
className="flex-1 rounded-lg border border-border px-4 py-2.5 text-sm font-medium text-foreground transition-colors hover:bg-muted"
|
||||
className="flex-1 rounded-[10px] border border-border px-4 py-2.5 text-sm font-medium text-muted-foreground transition-colors hover:bg-muted"
|
||||
>
|
||||
{t.declineButton}
|
||||
</button>
|
||||
|
||||
@@ -302,26 +302,12 @@ export const en = {
|
||||
settings: "Settings",
|
||||
},
|
||||
analytics: {
|
||||
consentTitle: "Make ashim better for you",
|
||||
consentTitle: "Help improve ashim",
|
||||
consentDescription:
|
||||
'Anonymous product analytics — like "crop tool used" or "an error occurred" — help us fix bugs faster and build the tools you actually want.',
|
||||
consentPrivacy: "Your images never leave your machine. Ever.",
|
||||
whatShared: "What's shared:",
|
||||
whatSharedItems: [
|
||||
"Which tools you use",
|
||||
"Error reports (no file data)",
|
||||
"App version and performance",
|
||||
],
|
||||
whatNever: "What NEVER leaves your machine:",
|
||||
whatNeverItems: [
|
||||
"Your images, PDFs, and files",
|
||||
"File names and contents",
|
||||
"Any personal information",
|
||||
],
|
||||
consentProviders: "Data is sent to PostHog (analytics) and Sentry (errors) — both open-source.",
|
||||
consentChangeable: "You can change this anytime in Settings.",
|
||||
"Anonymous usage stats help us fix bugs and build the tools you actually need. Your images and files stay on your machine.",
|
||||
consentChangeable: "You can turn this off anytime in Settings.",
|
||||
acceptButton: "Sure, sounds good",
|
||||
declineButton: "Maybe later",
|
||||
declineButton: "Not right now",
|
||||
settingsTitle: "Product Analytics",
|
||||
settingsDescription: "Share anonymous usage data to help improve ashim.",
|
||||
settingsPrivacy: "Your images never leave your machine.",
|
||||
|
||||
Reference in New Issue
Block a user