fix: eliminate all {@html} warnings — restructure legal i18n data and disable markdown exceptions
All checks were successful
Build and Push Backend Image / build (push) Successful in 52s
Build and Push Frontend Image / build (push) Successful in 1m16s

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 10:15:03 +01:00
parent 8a10c1e438
commit 3368213c0f
5 changed files with 169 additions and 242 deletions

View File

@@ -671,37 +671,54 @@ export default {
last_updated: "Last updated: September 5, 2025", last_updated: "Last updated: September 5, 2025",
information: { information: {
title: "1. Information We Collect", title: "1. Information We Collect",
text: [ items: [
"<strong>Personal Information:</strong> When you create an account, we collect information such as your email address, username, and profile information you choose to provide.", {
"<strong>Content Information:</strong> We collect information about the content you upload, view, and interact with on our platform.", label: "Personal Information",
text: "When you create an account, we collect information such as your email address, username, and profile information you choose to provide.",
},
{
label: "Content Information",
text: "We collect information about the content you upload, view, and interact with on our platform.",
},
], ],
}, },
information_use: { information_use: {
title: "2. How We Use Your Information", title: "2. How We Use Your Information",
subtitle: "We use your information to:", subtitle: "We use your information to:",
text: [ items: [
"<li>Provide and improve our services</li><li>Communicate with you about your account and our services</li><li>Personalize your experience on our platform</li><li>Ensure platform security and prevent fraud</li><li>Comply with legal obligations</li>", "Provide and improve our services",
"Communicate with you about your account and our services",
"Personalize your experience on our platform",
"Ensure platform security and prevent fraud",
"Comply with legal obligations",
], ],
}, },
information_sharing: { information_sharing: {
title: "3. Information Sharing", title: "3. Information Sharing",
subtitle: subtitle:
"We do not sell your personal information. We may share your information in the following circumstances:", "We do not sell your personal information. We may share your information in the following circumstances:",
text: [ items: [
"<li>With your consent</li><li>With service providers who help us operate our platform</li><li>To comply with legal requirements</li><li>To protect our rights and the safety of our users</li><li>In connection with a business transaction</li>", "With your consent",
"With service providers who help us operate our platform",
"To comply with legal requirements",
"To protect our rights and the safety of our users",
"In connection with a business transaction",
], ],
}, },
security: { security: {
title: "4. Data Security", title: "4. Data Security",
text: [ text: "We implement appropriate technical and organizational measures to protect your personal information against unauthorized access, alteration, disclosure, or destruction. This includes encryption, secure servers, and regular security audits.",
"We implement appropriate technical and organizational measures to protect your personal information against unauthorized access, alteration, disclosure, or destruction. This includes encryption, secure servers, and regular security audits.",
],
}, },
rights: { rights: {
title: "5. Your Rights", title: "5. Your Rights",
subtitle: "You have the right to:", subtitle: "You have the right to:",
text: [ items: [
"<li>Access your personal information</li><li>Correct inaccurate information</li><li>Delete your account and personal information</li><li>Object to processing of your information</li><li>Data portability</li><li>Withdraw consent at any time</li>", "Access your personal information",
"Correct inaccurate information",
"Delete your account and personal information",
"Object to processing of your information",
"Data portability",
"Withdraw consent at any time",
], ],
}, },
}, },
@@ -710,43 +727,47 @@ export default {
last_updated: "Last updated: September 5, 2025", last_updated: "Last updated: September 5, 2025",
acceptance: { acceptance: {
title: "1. Acceptance of Terms", title: "1. Acceptance of Terms",
text: [ text: "By accessing and using Sexy, you accept and agree to be bound by the terms and provision of this agreement. If you do not agree to abide by the above, please do not use this service.",
"By accessing and using Sexy, you accept and agree to be bound by the terms and provision of this agreement. If you do not agree to abide by the above, please do not use this service.",
],
}, },
age: { age: {
title: "2. Age Restriction", title: "2. Age Restriction",
text: [ text: "You must be at least 18 years old to use this service. By using our platform, you represent and warrant that you are at least 18 years of age and have the legal capacity to enter into this agreement.",
"You must be at least 18 years old to use this service. By using our platform, you represent and warrant that you are at least 18 years of age and have the legal capacity to enter into this agreement.",
],
}, },
accounts: { accounts: {
title: "3. User Accounts", title: "3. User Accounts",
subtitle: "When creating an account, you agree to:", subtitle: "When creating an account, you agree to:",
text: [ items: [
"<li>Provide accurate and complete information</li><li>Maintain the security of your account credentials</li><li>Accept responsibility for all activities under your account</li><li>Notify us immediately of any unauthorized use</li>", "Provide accurate and complete information",
"Maintain the security of your account credentials",
"Accept responsibility for all activities under your account",
"Notify us immediately of any unauthorized use",
], ],
}, },
content: { content: {
title: "4. Content Guidelines", title: "4. Content Guidelines",
subtitle: subtitle:
"All content must comply with our community guidelines. Prohibited content includes:", "All content must comply with our community guidelines. Prohibited content includes:",
text: [ items: [
"<li>Content involving minors</li><li>Non-consensual content</li><li>Violent or harmful content</li><li>Copyrighted material without permission</li><li>Spam or misleading content</li>", "Content involving minors",
"Non-consensual content",
"Violent or harmful content",
"Copyrighted material without permission",
"Spam or misleading content",
], ],
}, },
payment: { payment: {
title: "5. Payment Terms", title: "5. Payment Terms",
subtitle: "For paid services:", subtitle: "For paid services:",
text: [ items: [
"<li>All payments are processed securely through third-party providers</li><li>Subscriptions renew automatically unless cancelled</li><li>Refunds are subject to our refund policy</li><li>Prices may change with 30 days notice</li>", "All payments are processed securely through third-party providers",
"Subscriptions renew automatically unless cancelled",
"Refunds are subject to our refund policy",
"Prices may change with 30 days notice",
], ],
}, },
termination: { termination: {
title: "6. Termination", title: "6. Termination",
text: [ text: "We reserve the right to terminate or suspend your account at any time for violations of these terms. You may also terminate your account at any time through your account settings.",
"We reserve the right to terminate or suspend your account at any time for violations of these terms. You may also terminate your account at any time through your account settings.",
],
}, },
}, },
community: { community: {
@@ -754,33 +775,38 @@ export default {
description: "Creating a safe and respectful environment for all", description: "Creating a safe and respectful environment for all",
values: { values: {
title: "Our Community Values", title: "Our Community Values",
text: [ text: "Sexy is built on respect, consent, and artistic expression. We believe in creating a space where creators and viewers can connect through shared appreciation for intimate art and storytelling.",
"Sexy is built on respect, consent, and artistic expression. We believe in creating a space where creators and viewers can connect through shared appreciation for intimate art and storytelling.",
],
}, },
respect: { respect: {
title: "Respect and Consent", title: "Respect and Consent",
text: [ items: [
"<li>All content must be created with full consent of all participants</li><li>Respect creators' boundaries and content preferences</li><li>No harassment, bullying, or discriminatory behavior</li><li>Respect privacy and do not share personal information</li>", "All content must be created with full consent of all participants",
"Respect creators' boundaries and content preferences",
"No harassment, bullying, or discriminatory behavior",
"Respect privacy and do not share personal information",
], ],
}, },
standards: { standards: {
title: "Content Standards", title: "Content Standards",
text: [ items: [
"<li>Content should celebrate love, intimacy, and human connection</li><li>Artistic and creative expression is encouraged</li><li>Content must comply with all applicable laws</li><li>No violent, degrading, or harmful content</li>", "Content should celebrate love, intimacy, and human connection",
"Artistic and creative expression is encouraged",
"Content must comply with all applicable laws",
"No violent, degrading, or harmful content",
], ],
}, },
interaction: { interaction: {
title: "Community Interaction", title: "Community Interaction",
text: [ items: [
"<li>Engage respectfully in comments and messages</li><li>Support creators through positive feedback</li><li>Report inappropriate content or behavior</li><li>Help maintain a welcoming environment for all</li>", "Engage respectfully in comments and messages",
"Support creators through positive feedback",
"Report inappropriate content or behavior",
"Help maintain a welcoming environment for all",
], ],
}, },
enforcement: { enforcement: {
title: "Enforcement", title: "Enforcement",
text: [ text: "Violations of our community guidelines may result in content removal, account suspension, or permanent ban. We review all reports and take appropriate action to maintain a safe environment.",
"Violations of our community guidelines may result in content removal, account suspension, or permanent ban. We review all reports and take appropriate action to maintain a safe environment.",
],
}, },
}, },
cookie: { cookie: {
@@ -788,32 +814,24 @@ export default {
description: "How we use cookies and similar technologies", description: "How we use cookies and similar technologies",
what: { what: {
title: "What Are Cookies", title: "What Are Cookies",
text: [ text: "Cookies are small text files that are stored on your device when you visit our website. They help us provide you with a better experience by remembering your preferences and improving our services.",
"Cookies are small text files that are stored on your device when you visit our website. They help us provide you with a better experience by remembering your preferences and improving our services.",
],
}, },
types: { types: {
title: "Types of Cookies We Use", title: "Types of Cookies We Use",
essential: { essential: {
title: "Essential Cookies", title: "Essential Cookies",
text: [ text: "These cookies are necessary for the website to function properly. They enable basic features like page navigation and access to secure areas.",
"These cookies are necessary for the website to function properly. They enable basic features like page navigation and access to secure areas.",
],
}, },
}, },
managing: { managing: {
title: "Managing Cookies", title: "Managing Cookies",
subtitle: "You can control cookies through:", subtitle: "You can control cookies through:",
text: [ items: ["Your browser settings", "Third-party opt-out tools"],
"<li>Your browser settings</li><li>Third-party opt-out tools</li>", note: "Please note that disabling certain cookies may affect the functionality of our website.",
"Please note that disabling certain cookies may affect the functionality of our website.",
],
}, },
third_party: { third_party: {
title: "Third-Party Cookies", title: "Third-Party Cookies",
text: [ text: "We may use third-party services that set their own cookies. These include analytics providers, payment processors, and content delivery networks. Please refer to their respective privacy policies for more information.",
"We may use third-party services that set their own cookies. These include analytics providers, payment processors, and content delivery networks. Please refer to their respective privacy policies for more information.",
],
}, },
}, },
questions: "Questions About Our Legal Policies?", questions: "Questions About Our Legal Policies?",

View File

@@ -167,6 +167,7 @@
class={`rounded-lg border border-border/40 bg-muted/20 p-4 overflow-auto prose prose-sm max-w-none prose-headings:text-foreground prose-p:text-muted-foreground min-h-96 ${editorTab === "write" ? "hidden sm:block" : ""}`} class={`rounded-lg border border-border/40 bg-muted/20 p-4 overflow-auto prose prose-sm max-w-none prose-headings:text-foreground prose-p:text-muted-foreground min-h-96 ${editorTab === "write" ? "hidden sm:block" : ""}`}
> >
{#if preview} {#if preview}
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
{@html preview} {@html preview}
{:else} {:else}
<p class="text-muted-foreground italic text-sm"> <p class="text-muted-foreground italic text-sm">

View File

@@ -151,6 +151,7 @@
class={`rounded-lg border border-border/40 bg-muted/20 p-4 overflow-auto prose prose-sm max-w-none prose-headings:text-foreground prose-p:text-muted-foreground min-h-96 ${editorTab === "write" ? "hidden sm:block" : ""}`} class={`rounded-lg border border-border/40 bg-muted/20 p-4 overflow-auto prose prose-sm max-w-none prose-headings:text-foreground prose-p:text-muted-foreground min-h-96 ${editorTab === "write" ? "hidden sm:block" : ""}`}
> >
{#if preview} {#if preview}
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
{@html preview} {@html preview}
{:else} {:else}
<p class="text-muted-foreground italic text-sm"> <p class="text-muted-foreground italic text-sm">

View File

@@ -5,6 +5,9 @@
import { Separator } from "$lib/components/ui/separator"; import { Separator } from "$lib/components/ui/separator";
import SexyBackground from "$lib/components/background/background.svelte"; import SexyBackground from "$lib/components/background/background.svelte";
import Meta from "$lib/components/meta/meta.svelte"; import Meta from "$lib/components/meta/meta.svelte";
import en from "$lib/i18n/locales/en";
const legal = en.legal;
let activeTab = $state("privacy"); let activeTab = $state("privacy");
</script> </script>
@@ -35,19 +38,19 @@
<TabsList class="h-auto grid w-full grid-cols-1 md:grid-cols-4 mb-8"> <TabsList class="h-auto grid w-full grid-cols-1 md:grid-cols-4 mb-8">
<TabsTrigger value="privacy" class="flex items-center gap-2"> <TabsTrigger value="privacy" class="flex items-center gap-2">
<span class="icon-[ri--shield-line] w-4 h-4"></span> <span class="icon-[ri--shield-line] w-4 h-4"></span>
{$_("legal.privacy.title")} {legal.privacy.title}
</TabsTrigger> </TabsTrigger>
<TabsTrigger value="terms" class="flex items-center gap-2"> <TabsTrigger value="terms" class="flex items-center gap-2">
<span class="icon-[ri--file-list-3-line] w-4 h-4"></span> <span class="icon-[ri--file-list-3-line] w-4 h-4"></span>
{$_("legal.terms.title")} {legal.terms.title}
</TabsTrigger> </TabsTrigger>
<TabsTrigger value="community" class="flex items-center gap-2"> <TabsTrigger value="community" class="flex items-center gap-2">
<span class="icon-[ri--eye-line] w-4 h-4"></span> <span class="icon-[ri--eye-line] w-4 h-4"></span>
{$_("legal.community.title")} {legal.community.title}
</TabsTrigger> </TabsTrigger>
<TabsTrigger value="cookies" class="flex items-center gap-2"> <TabsTrigger value="cookies" class="flex items-center gap-2">
<span class="icon-[ri--cake-3-line] w-4 h-4"></span> <span class="icon-[ri--cake-3-line] w-4 h-4"></span>
{$_("legal.cookie.title")} {legal.cookie.title}
</TabsTrigger> </TabsTrigger>
</TabsList> </TabsList>
@@ -57,47 +60,30 @@
<CardHeader> <CardHeader>
<CardTitle class="flex items-center gap-2"> <CardTitle class="flex items-center gap-2">
<span class="icon-[ri--shield-line] w-5 h-5 text-primary"></span> <span class="icon-[ri--shield-line] w-5 h-5 text-primary"></span>
{$_("legal.privacy.title")} {legal.privacy.title}
</CardTitle> </CardTitle>
<p class="text-muted-foreground"> <p class="text-muted-foreground">{legal.privacy.last_updated}</p>
{$_("legal.privacy.last_updated")}
</p>
</CardHeader> </CardHeader>
<CardContent class="space-y-6"> <CardContent class="space-y-6">
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.privacy.information.title}</h3>
{$_("legal.privacy.information.title")}
</h3>
<div class="space-y-3 text-muted-foreground"> <div class="space-y-3 text-muted-foreground">
<p> {#each legal.privacy.information.items as item (item.label)}
{@html $_("legal.privacy.information.text.0")} <p><strong>{item.label}:</strong> {item.text}</p>
</p> {/each}
<p>
{@html $_("legal.privacy.information.text.1")}
</p>
<!-- <p>
<strong>Usage Information:</strong>
We automatically collect information about how you use our services,
including your IP address, browser type, and device information.
</p> -->
<!-- <p>
<strong>Payment Information:</strong>
When you make purchases, we collect payment information through
secure third-party processors.
</p> -->
</div> </div>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.privacy.information_use.title}</h3>
{$_("legal.privacy.information_use.title")}
</h3>
<div class="space-y-3 text-muted-foreground"> <div class="space-y-3 text-muted-foreground">
<p>{$_("legal.privacy.information_use.subtitle")}</p> <p>{legal.privacy.information_use.subtitle}</p>
<ul class="list-disc pl-6 space-y-1"> <ul class="list-disc pl-6 space-y-1">
{@html $_("legal.privacy.information_use.text.0")} {#each legal.privacy.information_use.items as item (item)}
<li>{item}</li>
{/each}
</ul> </ul>
</div> </div>
</div> </div>
@@ -106,14 +92,14 @@
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">
{$_("legal.privacy.information_sharing.title")} {legal.privacy.information_sharing.title}
</h3> </h3>
<div class="space-y-3 text-muted-foreground"> <div class="space-y-3 text-muted-foreground">
<p> <p>{legal.privacy.information_sharing.subtitle}</p>
{$_("legal.privacy.information_sharing.subtitle")}
</p>
<ul class="list-disc pl-6 space-y-1"> <ul class="list-disc pl-6 space-y-1">
{@html $_("legal.privacy.information_sharing.text.0")} {#each legal.privacy.information_sharing.items as item (item)}
<li>{item}</li>
{/each}
</ul> </ul>
</div> </div>
</div> </div>
@@ -121,24 +107,20 @@
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.privacy.security.title}</h3>
{$_("legal.privacy.security.title")} <p class="text-muted-foreground">{legal.privacy.security.text}</p>
</h3>
<p class="text-muted-foreground">
{@html $_("legal.privacy.security.text.0")}
</p>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.privacy.rights.title}</h3>
{$_("legal.privacy.rights.title")}
</h3>
<div class="space-y-3 text-muted-foreground"> <div class="space-y-3 text-muted-foreground">
<p>{$_("legal.privacy.rights.subtitle")}</p> <p>{legal.privacy.rights.subtitle}</p>
<ul class="list-disc pl-6 space-y-1"> <ul class="list-disc pl-6 space-y-1">
{@html $_("legal.privacy.rights.text.0")} {#each legal.privacy.rights.items as item (item)}
<li>{item}</li>
{/each}
</ul> </ul>
</div> </div>
</div> </div>
@@ -152,43 +134,33 @@
<CardHeader> <CardHeader>
<CardTitle class="flex items-center gap-2"> <CardTitle class="flex items-center gap-2">
<span class="icon-[ri--file-list-3-line] w-5 h-5 text-primary"></span> <span class="icon-[ri--file-list-3-line] w-5 h-5 text-primary"></span>
{$_("legal.terms.title")} {legal.terms.title}
</CardTitle> </CardTitle>
<p class="text-muted-foreground"> <p class="text-muted-foreground">{legal.terms.last_updated}</p>
{$_("legal.terms.last_updated")}
</p>
</CardHeader> </CardHeader>
<CardContent class="space-y-6"> <CardContent class="space-y-6">
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.terms.acceptance.title}</h3>
{$_("legal.terms.acceptance.title")} <p class="text-muted-foreground">{legal.terms.acceptance.text}</p>
</h3>
<p class="text-muted-foreground">
{@html $_("legal.terms.acceptance.text.0")}
</p>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.terms.age.title}</h3>
{$_("legal.terms.age.title")} <p class="text-muted-foreground">{legal.terms.age.text}</p>
</h3>
<p class="text-muted-foreground">
{@html $_("legal.terms.age.text.0")}
</p>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.terms.accounts.title}</h3>
{$_("legal.terms.accounts.title")}
</h3>
<div class="space-y-3 text-muted-foreground"> <div class="space-y-3 text-muted-foreground">
<p>{$_("legal.terms.accounts.subtitle")}</p> <p>{legal.terms.accounts.subtitle}</p>
<ul class="list-disc pl-6 space-y-1"> <ul class="list-disc pl-6 space-y-1">
{@html $_("legal.terms.accounts.text.0")} {#each legal.terms.accounts.items as item (item)}
<li>{item}</li>
{/each}
</ul> </ul>
</div> </div>
</div> </div>
@@ -196,15 +168,13 @@
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.terms.content.title}</h3>
{$_("legal.terms.content.title")}
</h3>
<div class="space-y-3 text-muted-foreground"> <div class="space-y-3 text-muted-foreground">
<p> <p>{legal.terms.content.subtitle}</p>
{$_("legal.terms.content.subtitle")}
</p>
<ul class="list-disc pl-6 space-y-1"> <ul class="list-disc pl-6 space-y-1">
{@html $_("legal.terms.content.text.0")} {#each legal.terms.content.items as item (item)}
<li>{item}</li>
{/each}
</ul> </ul>
</div> </div>
</div> </div>
@@ -212,13 +182,13 @@
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.terms.payment.title}</h3>
{$_("legal.terms.payment.title")}
</h3>
<div class="space-y-3 text-muted-foreground"> <div class="space-y-3 text-muted-foreground">
<p>{$_("legal.terms.payment.subtitle")}</p> <p>{legal.terms.payment.subtitle}</p>
<ul class="list-disc pl-6 space-y-1"> <ul class="list-disc pl-6 space-y-1">
{@html $_("legal.terms.payment.text.0")} {#each legal.terms.payment.items as item (item)}
<li>{item}</li>
{/each}
</ul> </ul>
</div> </div>
</div> </div>
@@ -226,12 +196,8 @@
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.terms.termination.title}</h3>
{$_("legal.terms.termination.title")} <p class="text-muted-foreground">{legal.terms.termination.text}</p>
</h3>
<p class="text-muted-foreground">
{@html $_("legal.terms.termination.text.0")}
</p>
</div> </div>
</CardContent> </CardContent>
</Card> </Card>
@@ -243,70 +209,54 @@
<CardHeader> <CardHeader>
<CardTitle class="flex items-center gap-2"> <CardTitle class="flex items-center gap-2">
<span class="icon-[ri--eye-line] w-5 h-5 text-primary"></span> <span class="icon-[ri--eye-line] w-5 h-5 text-primary"></span>
{$_("legal.community.title")} {legal.community.title}
</CardTitle> </CardTitle>
<p class="text-muted-foreground"> <p class="text-muted-foreground">{legal.community.description}</p>
{$_("legal.community.description")}
</p>
</CardHeader> </CardHeader>
<CardContent class="space-y-6"> <CardContent class="space-y-6">
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.community.values.title}</h3>
{$_("legal.community.values.title")} <p class="text-muted-foreground">{legal.community.values.text}</p>
</h3>
<p class="text-muted-foreground">
{@html $_("legal.community.values.text.0")}
</p>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.community.respect.title}</h3>
{$_("legal.community.respect.title")} <ul class="list-disc pl-6 space-y-1 text-muted-foreground">
</h3> {#each legal.community.respect.items as item (item)}
<div class="space-y-3 text-muted-foreground"> <li>{item}</li>
<ul class="list-disc pl-6 space-y-1"> {/each}
{@html $_("legal.community.respect.text.0")} </ul>
</ul>
</div>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.community.standards.title}</h3>
{$_("legal.community.standards.title")} <ul class="list-disc pl-6 space-y-1 text-muted-foreground">
</h3> {#each legal.community.standards.items as item (item)}
<div class="space-y-3 text-muted-foreground"> <li>{item}</li>
<ul class="list-disc pl-6 space-y-1"> {/each}
{@html $_("legal.community.standards.text.0")} </ul>
</ul>
</div>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.community.interaction.title}</h3>
{$_("legal.community.interaction.title")} <ul class="list-disc pl-6 space-y-1 text-muted-foreground">
</h3> {#each legal.community.interaction.items as item (item)}
<div class="space-y-3 text-muted-foreground"> <li>{item}</li>
<ul class="list-disc pl-6 space-y-1"> {/each}
{@html $_("legal.community.interaction.text.0")} </ul>
</ul>
</div>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.community.enforcement.title}</h3>
{$_("legal.community.enforcement.title")} <p class="text-muted-foreground">{legal.community.enforcement.text}</p>
</h3>
<p class="text-muted-foreground">
{@html $_("legal.community.enforcement.text.0")}
</p>
</div> </div>
</CardContent> </CardContent>
</Card> </Card>
@@ -318,88 +268,48 @@
<CardHeader> <CardHeader>
<CardTitle class="flex items-center gap-2"> <CardTitle class="flex items-center gap-2">
<span class="icon-[ri--cake-3-line] w-5 h-5 text-primary"></span> <span class="icon-[ri--cake-3-line] w-5 h-5 text-primary"></span>
{$_("legal.cookie.title")} {legal.cookie.title}
</CardTitle> </CardTitle>
<p class="text-muted-foreground"> <p class="text-muted-foreground">{legal.cookie.description}</p>
{$_("legal.cookie.description")}
</p>
</CardHeader> </CardHeader>
<CardContent class="space-y-6"> <CardContent class="space-y-6">
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.cookie.what.title}</h3>
{$_("legal.cookie.what.title")} <p class="text-muted-foreground">{legal.cookie.what.text}</p>
</h3>
<p class="text-muted-foreground">
{@html $_("legal.cookie.what.text.0")}
</p>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.cookie.types.title}</h3>
{$_("legal.cookie.types.title")}
</h3>
<div class="space-y-4"> <div class="space-y-4">
<div> <div>
<h4 class="font-medium mb-2"> <h4 class="font-medium mb-2">{legal.cookie.types.essential.title}</h4>
{$_("legal.cookie.types.essential.title")} <p class="text-muted-foreground text-sm">{legal.cookie.types.essential.text}</p>
</h4>
<p class="text-muted-foreground text-sm">
{@html $_("legal.cookie.types.essential.text.0")}
</p>
</div> </div>
<!-- <div>
<h4 class="font-medium mb-2">Performance Cookies</h4>
<p class="text-muted-foreground text-sm">
These cookies collect information about how visitors use
our website, helping us improve performance and user
experience.
</p>
</div>
<div>
<h4 class="font-medium mb-2">Functionality Cookies</h4>
<p class="text-muted-foreground text-sm">
These cookies remember your preferences and settings to
provide a more personalized experience.
</p>
</div>
<div>
<h4 class="font-medium mb-2">Analytics Cookies</h4>
<p class="text-muted-foreground text-sm">
These cookies help us understand how our website is being
used and how we can improve it.
</p>
</div> -->
</div> </div>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.cookie.managing.title}</h3>
{$_("legal.cookie.managing.title")}
</h3>
<div class="space-y-3 text-muted-foreground"> <div class="space-y-3 text-muted-foreground">
<p>{$_("legal.cookie.managing.subtitle")}</p> <p>{legal.cookie.managing.subtitle}</p>
<ul class="list-disc pl-6 space-y-1"> <ul class="list-disc pl-6 space-y-1">
{@html $_("legal.cookie.managing.text.0")} {#each legal.cookie.managing.items as item (item)}
<li>{item}</li>
{/each}
</ul> </ul>
<p> <p>{legal.cookie.managing.note}</p>
{@html $_("legal.cookie.managing.text.1")}
</p>
</div> </div>
</div> </div>
<Separator /> <Separator />
<div> <div>
<h3 class="text-lg font-semibold mb-3"> <h3 class="text-lg font-semibold mb-3">{legal.cookie.third_party.title}</h3>
{$_("legal.cookie.third_party.title")} <p class="text-muted-foreground">{legal.cookie.third_party.text}</p>
</h3>
<p class="text-muted-foreground">
{@html $_("legal.cookie.third_party.text.0")}
</p>
</div> </div>
</CardContent> </CardContent>
</Card> </Card>
@@ -409,14 +319,10 @@
<!-- Contact Information --> <!-- Contact Information -->
<Card class="mt-8 bg-gradient-to-br from-card to-card/50 border-primary/20"> <Card class="mt-8 bg-gradient-to-br from-card to-card/50 border-primary/20">
<CardContent class="p-6 text-center"> <CardContent class="p-6 text-center">
<h3 class="font-semibold mb-2"> <h3 class="font-semibold mb-2">{legal.questions}</h3>
{$_("legal.questions")} <p class="text-muted-foreground mb-4">{legal.questions_description}</p>
</h3> <a href="mailto:{legal.questions_email}" class="text-primary hover:underline"
<p class="text-muted-foreground mb-4"> >{legal.questions_email}</a
{$_("legal.questions_description")}
</p>
<a href="mailto:{$_('legal.questions_email')}" class="text-primary hover:underline"
>{$_("legal.questions_email")}</a
> >
</CardContent> </CardContent>
</Card> </Card>

View File

@@ -116,6 +116,7 @@
<div <div
class="prose prose-lg max-w-none prose-headings:text-foreground prose-p:text-muted-foreground prose-strong:text-foreground prose-ul:text-muted-foreground" class="prose prose-lg max-w-none prose-headings:text-foreground prose-p:text-muted-foreground prose-strong:text-foreground prose-ul:text-muted-foreground"
> >
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
{@html marked.parse(data.article.content ?? "")} {@html marked.parse(data.article.content ?? "")}
</div> </div>
</CardContent> </CardContent>