chore: cleanup
This commit is contained in:
21
packages/frontend/src/lib/components/icon/icon.svelte
Normal file
21
packages/frontend/src/lib/components/icon/icon.svelte
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
interface Props {
|
||||||
|
class?: string;
|
||||||
|
size?: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
let { class: className = "", size = "24" }: Props = $props();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
class={className}
|
||||||
|
width={size}
|
||||||
|
height={size}
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
><path
|
||||||
|
d="m65.44 18.39-2.327 9.717C53.95 66.384 49.07 107.884 49.07 151.293c0 93.415 23.097 178.085 61.047 240.014 17.218 28.096 37.652 51.6 60.447 68.92 26.69 21.257 56.353 32.962 87.377 32.962.364 0 1.147-.12 1.927-.25.623.008 1.247.02 1.87.02 60.13 0 113.67-39.724 151.62-101.653 37.95-61.93 61.047-146.598 61.047-240.014 0-41.557-4.858-81.203-13.256-118.012l-2.324-10.19-9.582 4.176c-50.92 22.196-113.98 35.705-182.086 35.713a561.96 561.96 0 0 1-6.002-.103V62.8c-1.296 0-2.586-.017-3.88-.03-69.783-2.053-125.493-18.078-182.545-40.698l-9.29-3.683zm380.816 28.747c6.792 32.774 10.824 67.647 10.824 104.156 0 90.547-22.596 172.38-58.494 230.963-35.9 58.582-84.36 93.38-136.848 93.38-.195 0-.39-.006-.584-.007v-63.987c-2.64.023-5.28-.03-7.914-.163-55.358-2.77-109.316-38.91-122.03-99.742l-2.355-11.256h94.895l37.404 14.207V80.206c1.946.042 3.896.078 5.862.098h.087c66.168 0 127.672-12.383 179.152-33.168zm-279.53 98.12c35.365 0 64.036 13.248 64.036 29.59 0 16.34-28.668 29.585-64.035 29.585-35.365 0-64.036-13.246-64.036-29.586 0-16.34 28.67-29.588 64.037-29.588zm186.282 0c-35.367 0-64.035 13.248-64.035 29.59 0 16.34 28.67 29.585 64.035 29.585 35.367 0 64.035-13.246 64.035-29.586 0-16.34-28.67-29.588-64.035-29.588zM152.572 319.17c14.72 45.053 57.247 71.428 101.602 73.646 44.8 2.24 90.238-19.45 110.416-73.646h-57.447l-44.204 16.187-42.62-16.187h-67.748z"
|
||||||
|
fill="currentColor"
|
||||||
|
fill-opacity="1"
|
||||||
|
></path></svg
|
||||||
|
>
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
<script lang="ts">
|
|
||||||
interface Props {
|
|
||||||
class?: string;
|
|
||||||
size?: string | number;
|
|
||||||
}
|
|
||||||
|
|
||||||
let { class: className = "", size = "24" }: Props = $props();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<svg
|
|
||||||
width={size}
|
|
||||||
height={size}
|
|
||||||
viewBox="0 0 512 512"
|
|
||||||
class={className}
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
>
|
|
||||||
<g class="" transform="translate(0,0)" style=""
|
|
||||||
><path
|
|
||||||
d="M418.813 30.625c-21.178 26.27-49.712 50.982-84.125 70.844-36.778 21.225-75.064 33.62-110.313 38.06a310.317 310.317 0 0 0 6.813 18.25c16.01.277 29.366-.434 36.406-1.5l9.47-1.53 8.436-1.28.22 10.186a307.48 307.48 0 0 1-1.095 18.72l56.625 8.843c.86-.095 1.713-.15 2.563-.157 11.188-.114 21.44 7.29 24.468 18.593.657 2.448.922 4.903.845 7.313 5.972-2.075 11.753-4.305 17.28-6.72l9.595-4.188 2.313 10.22a340.211 340.211 0 0 1 7.375 48.062C438.29 247.836 468.438 225.71 493 197.5c-3.22-36.73-16.154-78.04-39.125-117.813a290.509 290.509 0 0 0-2.22-3.78l-27.56 71.374c5.154.762 10.123 3.158 14.092 7.126 9.81 9.807 9.813 25.69 0 35.5-9.812 9.81-25.722 9.807-35.53 0-8.86-8.858-9.69-22.68-2.532-32.5l38.938-100.844a322.02 322.02 0 0 0-20.25-25.937zM51.842 118.72c-8.46 17.373-15.76 36.198-21.187 56.436-14.108 52.617-13.96 103.682-2.812 143.438 13.3-2.605 26.442-3.96 39.312-4.03 1.855-.012 3.688.02 5.53.06 20.857.48 40.98 4.332 59.97 11.5a355.064 355.064 0 0 1-1.656-34.218c0-27.8 3.135-54.377 9-78.937l2.47-10.407 9.655 4.562c29.467 13.98 66.194 23.424 106.28 25.22 5.136-20.05 8.19-39.78 9.408-58.75-35.198 4.83-75.387 2.766-116.407-8.22-38.363-10.272-72.314-26.78-99.562-46.656zm230.594 82.218c-1.535 10.452-3.615 21.03-6.218 31.687a312.754 312.754 0 0 0 46-3.97 24.98 24.98 0 0 1-1.532-21.748l-38.25-5.97zM105 201.375l4.156 18.22-21.594 4.905c8.75 5.174 13.353 15.703 10.594 26-3.32 12.394-16.045 19.758-28.437 16.438-12.394-3.32-19.76-16.075-16.44-28.47a23.235 23.235 0 0 1 3.126-6.874l-21.062 4.78-4.125-18.218 73.78-16.78zm388.594 22.813c-25.53 25.46-55.306 45.445-86.906 60.5.05 2.397.093 4.8.093 7.218 0 9.188-.354 18.232-1.03 27.125 16.635 1.33 32.045-1.7 45.344-9.374 25.925-14.962 40.608-45.694 42.5-85.47zm-338.844 3c-4.03 19.993-6.33 41.31-6.406 63.593l.125-.342c30.568 10.174 62.622 17.572 95.25 21.375l7.5.875.718 7.5 5.687 60.125-18.625 1.75-2.53-26.75a23.117 23.117 0 0 1-14.845.968c-12.393-3.32-19.76-16.042-16.438-28.436.285-1.06.647-2.08 1.063-3.063a496.627 496.627 0 0 1-57.406-14.53c2.69 49.62 16.154 94.04 36.094 126.656 22.366 36.588 52.13 57.78 83.968 57.78 31.838.003 61.602-21.19 83.97-57.78 19.536-31.96 32.846-75.244 35.905-123.656a499.132 499.132 0 0 1-48.25 11.656c1.914 4.57 2.415 9.78 1.033 14.938-3.322 12.394-16.045 19.758-28.438 16.437a23.01 23.01 0 0 1-2.125-.686l-2.5 26.47-18.594-1.752 5.688-60.125.72-7.5 7.498-.875c29.245-3.407 57.995-9.717 85.657-18.312v-1.594c0-21.573-2.27-42.23-6.064-61.75C351.132 242.653 313.092 250 272.312 250c-43.59 0-83.986-8.658-117.562-22.813zm-87.5 105.968c-10.87.102-21.995 1.22-33.375 3.313 12.695 31.62 33.117 53.07 59 60 16.9 4.523 34.896 2.536 52.813-5.25-4.382-13.89-7.874-28.606-10.344-43.97-21.115-9.623-43.934-14.32-68.094-14.094zm137.5 80.22h130.813c-40.082 44.594-92.623 42.844-130.813 0z"
|
|
||||||
fill-opacity="1"
|
|
||||||
style="fill: currentColor; stroke: #ce47eb; stroke-width: 10px;"
|
|
||||||
></path></g
|
|
||||||
></svg
|
|
||||||
>
|
|
||||||
@@ -1,10 +1,13 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
|
import SexyIcon from "../icon/icon.svelte";
|
||||||
|
|
||||||
const { hideName = false } = $props();
|
const { hideName = false } = $props();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<img src="/logo.png" alt={$_("brand.name")} class="w-10 h-10 object-contain" />
|
<div class="relative">
|
||||||
|
<SexyIcon class="w-8 h-8 text-primary" />
|
||||||
|
</div>
|
||||||
<span
|
<span
|
||||||
class={`logo text-3xl text-foreground opacity-90 tracking-wide font-extrabold drop-shadow-x ${hideName ? "hidden sm:inline-block" : ""}`}
|
class={`logo text-3xl text-foreground opacity-90 tracking-wide font-extrabold drop-shadow-x ${hideName ? "hidden sm:inline-block" : ""}`}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { page } from "$app/state";
|
import { page } from "$app/state";
|
||||||
import { Button } from "$lib/components/ui/button";
|
import { Button } from "$lib/components/ui/button";
|
||||||
import PeonyIcon from "$lib/components/icon/peony-icon.svelte";
|
import SexyIcon from "$lib/components/icon/icon.svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-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";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -15,78 +15,75 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<!-- Content -->
|
<!-- Content -->
|
||||||
<div class="relative z-10 container mx-auto px-4 text-center">
|
<div class="relative z-10 container mx-auto px-4 text-center">
|
||||||
<div class="max-w-2xl mx-auto">
|
<div class="max-w-2xl mx-auto">
|
||||||
<div class="py-12">
|
<div class="py-12">
|
||||||
<!-- 404 Animation -->
|
<!-- 404 Animation -->
|
||||||
<div class="mb-8">
|
<div class="mb-8">
|
||||||
<div
|
<div
|
||||||
class="text-8xl md:text-9xl font-bold bg-gradient-to-r from-primary via-accent to-primary bg-clip-text text-transparent animate-pulse"
|
class="text-8xl md:text-9xl font-bold bg-gradient-to-r from-primary via-accent to-primary bg-clip-text text-transparent animate-pulse"
|
||||||
|
>
|
||||||
|
{page.status}
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-center mt-4">
|
||||||
|
<SexyIcon class="w-16 h-16 text-primary/60 animate-bounce" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Error Message -->
|
||||||
|
<div class="space-y-6 mb-10">
|
||||||
|
<h1 class="text-4xl md:text-5xl font-bold text-foreground">
|
||||||
|
{page.status === 404 ? $_("error.not_found") : $_("error.common")}
|
||||||
|
</h1>
|
||||||
|
<p class="text-xl text-muted-foreground leading-relaxed max-w-2xl mx-auto">
|
||||||
|
{$_("error.description")}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Action Buttons -->
|
||||||
|
<div class="flex flex-col sm:flex-row gap-4 justify-center items-center">
|
||||||
|
<Button
|
||||||
|
size="lg"
|
||||||
|
class="bg-gradient-to-r from-primary to-accent hover:from-primary/90 hover:to-accent/90 text-lg px-8 py-6"
|
||||||
|
href="/"
|
||||||
|
>
|
||||||
|
<span class="icon-[ri--home-2-line]"></span>
|
||||||
|
{$_("error.go_home")}
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
variant="outline"
|
||||||
|
size="lg"
|
||||||
|
class="text-lg px-8 py-6 border-primary/50 hover:bg-primary/10"
|
||||||
|
href="/videos"
|
||||||
|
>
|
||||||
|
<span class="icon-[ri--search-line]"></span>
|
||||||
|
{$_("error.explore_videos")}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Quick Links -->
|
||||||
|
<div class="mt-8 pt-8 border-t border-border/50">
|
||||||
|
<p class="text-sm text-muted-foreground mb-4">
|
||||||
|
{$_("error.quick_links")}
|
||||||
|
</p>
|
||||||
|
<div class="flex flex-wrap justify-center gap-3">
|
||||||
|
<button class="text-sm text-primary hover:text-accent transition-colors hover:underline"
|
||||||
|
><a href="/models">{$_("error.featured_models")}</a></button
|
||||||
>
|
>
|
||||||
{page.status}
|
<span class="text-muted-foreground">•</span>
|
||||||
</div>
|
<button class="text-sm text-primary hover:text-accent transition-colors hover:underline"
|
||||||
<div class="flex justify-center mt-4">
|
><a href="/magazine">{$_("error.magazine")}</a></button
|
||||||
<PeonyIcon class="w-16 h-16 text-primary/60 animate-bounce" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Error Message -->
|
|
||||||
<div class="space-y-6 mb-10">
|
|
||||||
<h1 class="text-4xl md:text-5xl font-bold text-foreground">
|
|
||||||
{page.status === 404 ? $_("error.not_found") : $_("error.common")}
|
|
||||||
</h1>
|
|
||||||
<p class="text-xl text-muted-foreground leading-relaxed max-w-2xl mx-auto">
|
|
||||||
{$_("error.description")}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Action Buttons -->
|
|
||||||
<div class="flex flex-col sm:flex-row gap-4 justify-center items-center">
|
|
||||||
<Button
|
|
||||||
size="lg"
|
|
||||||
class="bg-gradient-to-r from-primary to-accent hover:from-primary/90 hover:to-accent/90 text-lg px-8 py-6"
|
|
||||||
href="/"
|
|
||||||
>
|
>
|
||||||
<span class="icon-[ri--home-2-line]"></span>
|
<span class="text-muted-foreground">•</span>
|
||||||
{$_("error.go_home")}
|
<button class="text-sm text-primary hover:text-accent transition-colors hover:underline"
|
||||||
</Button>
|
><a href="/about">{$_("error.about_us")}</a></button
|
||||||
|
|
||||||
<Button
|
|
||||||
variant="outline"
|
|
||||||
size="lg"
|
|
||||||
class="text-lg px-8 py-6 border-primary/50 hover:bg-primary/10"
|
|
||||||
href="/videos"
|
|
||||||
>
|
>
|
||||||
<span class="icon-[ri--search-line]"></span>
|
|
||||||
{$_("error.explore_videos")}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Quick Links -->
|
|
||||||
<div class="mt-8 pt-8 border-t border-border/50">
|
|
||||||
<p class="text-sm text-muted-foreground mb-4">
|
|
||||||
{$_("error.quick_links")}
|
|
||||||
</p>
|
|
||||||
<div class="flex flex-wrap justify-center gap-3">
|
|
||||||
<button
|
|
||||||
class="text-sm text-primary hover:text-accent transition-colors hover:underline"
|
|
||||||
><a href="/models">{$_("error.featured_models")}</a></button
|
|
||||||
>
|
|
||||||
<span class="text-muted-foreground">•</span>
|
|
||||||
<button
|
|
||||||
class="text-sm text-primary hover:text-accent transition-colors hover:underline"
|
|
||||||
><a href="/magazine">{$_("error.magazine")}</a></button
|
|
||||||
>
|
|
||||||
<span class="text-muted-foreground">•</span>
|
|
||||||
<button
|
|
||||||
class="text-sm text-primary hover:text-accent transition-colors hover:underline"
|
|
||||||
><a href="/about">{$_("error.about_us")}</a></button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import { Button } from "$lib/components/ui/button";
|
import { Button } from "$lib/components/ui/button";
|
||||||
import { Card, CardContent } from "$lib/components/ui/card";
|
import { Card, CardContent } from "$lib/components/ui/card";
|
||||||
import Meta from "$lib/components/meta/meta.svelte";
|
import Meta from "$lib/components/meta/meta.svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-background.svelte";
|
import SexyBackground from "$lib/components/background/background.svelte";
|
||||||
|
|
||||||
const { data } = $props();
|
const { data } = $props();
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section class="relative py-20 overflow-hidden">
|
<section class="relative py-20 overflow-hidden">
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
import { Card, CardContent, CardHeader, CardTitle } from "$lib/components/ui/card";
|
import { Card, CardContent, CardHeader, CardTitle } from "$lib/components/ui/card";
|
||||||
import { Input } from "$lib/components/ui/input";
|
import { Input } from "$lib/components/ui/input";
|
||||||
import { Button } from "$lib/components/ui/button";
|
import { Button } from "$lib/components/ui/button";
|
||||||
import PeonyBackground from "$lib/components/background/peony-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";
|
||||||
|
|
||||||
let searchQuery = $state("");
|
let searchQuery = $state("");
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="container mx-auto py-20 relative px-4">
|
<div class="container mx-auto py-20 relative px-4">
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { Card, CardContent, CardHeader, CardTitle } from "$lib/components/ui/card";
|
import { Card, CardContent, CardHeader, CardTitle } from "$lib/components/ui/card";
|
||||||
import { Separator } from "$lib/components/ui/separator";
|
import { Separator } from "$lib/components/ui/separator";
|
||||||
import PeonyBackground from "$lib/components/background/peony-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";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="container mx-auto py-20 relative px-4">
|
<div class="container mx-auto py-20 relative px-4">
|
||||||
<div class="max-w-4xl mx-auto">
|
<div class="max-w-4xl mx-auto">
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
import { Avatar, AvatarImage, AvatarFallback } from "$lib/components/ui/avatar";
|
import { Avatar, AvatarImage, AvatarFallback } from "$lib/components/ui/avatar";
|
||||||
import { getAssetUrl } from "$lib/api";
|
import { getAssetUrl } from "$lib/api";
|
||||||
import Meta from "$lib/components/meta/meta.svelte";
|
import Meta from "$lib/components/meta/meta.svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-background.svelte";
|
import SexyBackground from "$lib/components/background/background.svelte";
|
||||||
|
|
||||||
const { data } = $props();
|
const { data } = $props();
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5">
|
<div class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5">
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="container mx-auto px-4 py-8 relative z-10">
|
<div class="container mx-auto px-4 py-8 relative z-10">
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import { Card, CardContent, CardHeader, CardTitle } from "$lib/components/ui/card";
|
import { Card, CardContent, CardHeader, CardTitle } from "$lib/components/ui/card";
|
||||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "$lib/components/ui/tabs";
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "$lib/components/ui/tabs";
|
||||||
import { Separator } from "$lib/components/ui/separator";
|
import { Separator } from "$lib/components/ui/separator";
|
||||||
import PeonyBackground from "$lib/components/background/peony-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";
|
||||||
|
|
||||||
let activeTab = $state("privacy");
|
let activeTab = $state("privacy");
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="container mx-auto py-20 relative px-4">
|
<div class="container mx-auto py-20 relative px-4">
|
||||||
<div class="max-w-4xl mx-auto">
|
<div class="max-w-4xl mx-auto">
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
import { goto } from "$app/navigation";
|
import { goto } from "$app/navigation";
|
||||||
import { login } from "$lib/services";
|
import { login } from "$lib/services";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-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 Logo from "$lib/components/logo/logo.svelte";
|
import Logo from "$lib/components/logo/logo.svelte";
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-accent/5 to-background p-4 overflow-hidden"
|
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-accent/5 to-background p-4 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="w-full max-w-md">
|
<div class="w-full max-w-md">
|
||||||
<!-- Logo -->
|
<!-- Logo -->
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
import TimeAgo from "javascript-time-ago";
|
import TimeAgo from "javascript-time-ago";
|
||||||
import { getAssetUrl } from "$lib/api";
|
import { getAssetUrl } from "$lib/api";
|
||||||
import Meta from "$lib/components/meta/meta.svelte";
|
import Meta from "$lib/components/meta/meta.svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-background.svelte";
|
import SexyBackground from "$lib/components/background/background.svelte";
|
||||||
import SharingPopupButton from "$lib/components/sharing-popup/sharing-popup-button.svelte";
|
import SharingPopupButton from "$lib/components/sharing-popup/sharing-popup-button.svelte";
|
||||||
import { marked } from "marked";
|
import { marked } from "marked";
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="container mx-auto px-4 py-8">
|
<div class="container mx-auto px-4 py-8">
|
||||||
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "$lib/components/ui/tabs";
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "$lib/components/ui/tabs";
|
||||||
import { Input } from "$lib/components/ui/input";
|
import { Input } from "$lib/components/ui/input";
|
||||||
import { Label } from "$lib/components/ui/label";
|
import { Label } from "$lib/components/ui/label";
|
||||||
import PeonyBackground from "$lib/components/background/peony-background.svelte";
|
import SexyBackground from "$lib/components/background/background.svelte";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
import { goto, invalidateAll } from "$app/navigation";
|
import { goto, invalidateAll } from "$app/navigation";
|
||||||
import { getAssetUrl, isModel } from "$lib/api";
|
import { getAssetUrl, isModel } from "$lib/api";
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
<div class="container mx-auto px-4 py-8">
|
<div class="container mx-auto px-4 py-8">
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<div class="flex items-center justify-between mb-6">
|
<div class="flex items-center justify-between mb-6">
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "$lib/components/ui/tabs";
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "$lib/components/ui/tabs";
|
||||||
import { getAssetUrl } from "$lib/api";
|
import { getAssetUrl } from "$lib/api";
|
||||||
import Meta from "$lib/components/meta/meta.svelte";
|
import Meta from "$lib/components/meta/meta.svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-background.svelte";
|
import SexyBackground from "$lib/components/background/background.svelte";
|
||||||
import SharingPopupButton from "$lib/components/sharing-popup/sharing-popup-button.svelte";
|
import SharingPopupButton from "$lib/components/sharing-popup/sharing-popup-button.svelte";
|
||||||
import { page } from "$app/state";
|
import { page } from "$app/state";
|
||||||
import ImageViewer from "$lib/components/image-viewer/image-viewer.svelte";
|
import ImageViewer from "$lib/components/image-viewer/image-viewer.svelte";
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<!-- Cover Section -->
|
<!-- Cover Section -->
|
||||||
<div class="relative h-64 md:h-80 overflow-hidden bg-gradient-to-br from-primary to-accent">
|
<div class="relative h-64 md:h-80 overflow-hidden bg-gradient-to-br from-primary to-accent">
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
import { goto } from "$app/navigation";
|
import { goto } from "$app/navigation";
|
||||||
import { requestPassword } from "$lib/services";
|
import { requestPassword } from "$lib/services";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-background.svelte";
|
import SexyBackground from "$lib/components/background/background.svelte";
|
||||||
import { toast } from "svelte-sonner";
|
import { toast } from "svelte-sonner";
|
||||||
import Meta from "$lib/components/meta/meta.svelte";
|
import Meta from "$lib/components/meta/meta.svelte";
|
||||||
import Logo from "$lib/components/logo/logo.svelte";
|
import Logo from "$lib/components/logo/logo.svelte";
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-accent/5 to-background p-4 overflow-hidden"
|
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-accent/5 to-background p-4 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="w-full max-w-md">
|
<div class="w-full max-w-md">
|
||||||
<!-- Logo -->
|
<!-- Logo -->
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
import { goto } from "$app/navigation";
|
import { goto } from "$app/navigation";
|
||||||
import { resetPassword } from "$lib/services";
|
import { resetPassword } from "$lib/services";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-background.svelte";
|
import SexyBackground from "$lib/components/background/background.svelte";
|
||||||
import { toast } from "svelte-sonner";
|
import { toast } from "svelte-sonner";
|
||||||
import Meta from "$lib/components/meta/meta.svelte";
|
import Meta from "$lib/components/meta/meta.svelte";
|
||||||
import Logo from "$lib/components/logo/logo.svelte";
|
import Logo from "$lib/components/logo/logo.svelte";
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-accent/5 to-background p-4 overflow-hidden"
|
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-accent/5 to-background p-4 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="w-full max-w-md">
|
<div class="w-full max-w-md">
|
||||||
<!-- Logo -->
|
<!-- Logo -->
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
import { toast } from "svelte-sonner";
|
import { toast } from "svelte-sonner";
|
||||||
import * as Alert from "$lib/components/ui/alert";
|
import * as Alert from "$lib/components/ui/alert";
|
||||||
import { register } from "$lib/services";
|
import { register } from "$lib/services";
|
||||||
import PeonyBackground from "$lib/components/background/peony-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 { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
import Logo from "$lib/components/logo/logo.svelte";
|
import Logo from "$lib/components/logo/logo.svelte";
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-accent/5 to-background p-4 overflow-hidden"
|
class="relative min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-accent/5 to-background p-4 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="w-full max-w-md">
|
<div class="w-full max-w-md">
|
||||||
<!-- Logo -->
|
<!-- Logo -->
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
import { Card, CardContent } from "$lib/components/ui/card";
|
import { Card, CardContent } from "$lib/components/ui/card";
|
||||||
import { getAssetUrl } from "$lib/api";
|
import { getAssetUrl } from "$lib/api";
|
||||||
import Meta from "$lib/components/meta/meta.svelte";
|
import Meta from "$lib/components/meta/meta.svelte";
|
||||||
import PeonyBackground from "$lib/components/background/peony-background.svelte";
|
import SexyBackground from "$lib/components/background/background.svelte";
|
||||||
|
|
||||||
const { data } = $props();
|
const { data } = $props();
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5">
|
<div class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5">
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
|
|
||||||
<div class="container mx-auto px-4 py-8 relative z-10">
|
<div class="container mx-auto px-4 py-8 relative z-10">
|
||||||
<!-- Profile Card -->
|
<!-- Profile Card -->
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
import { getAssetUrl } from "$lib/api";
|
import { getAssetUrl } from "$lib/api";
|
||||||
import TimeAgo from "javascript-time-ago";
|
import TimeAgo from "javascript-time-ago";
|
||||||
import { page } from "$app/state";
|
import { page } from "$app/state";
|
||||||
import PeonyBackground from "$lib/components/background/peony-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 * as Alert from "$lib/components/ui/alert";
|
import * as Alert from "$lib/components/ui/alert";
|
||||||
import Textarea from "$lib/components/ui/textarea/textarea.svelte";
|
import Textarea from "$lib/components/ui/textarea/textarea.svelte";
|
||||||
@@ -157,7 +157,7 @@
|
|||||||
<div
|
<div
|
||||||
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
class="relative min-h-screen bg-gradient-to-br from-background via-primary/5 to-accent/5 overflow-hidden"
|
||||||
>
|
>
|
||||||
<PeonyBackground />
|
<SexyBackground />
|
||||||
<div class="container mx-auto px-4 py-8">
|
<div class="container mx-auto px-4 py-8">
|
||||||
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
||||||
<!-- Main Video Section -->
|
<!-- Main Video Section -->
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1009 KiB |
Reference in New Issue
Block a user