diff --git a/packages/frontend/src/lib/components/header/header.svelte b/packages/frontend/src/lib/components/header/header.svelte index b5ac263..4ec255e 100644 --- a/packages/frontend/src/lib/components/header/header.svelte +++ b/packages/frontend/src/lib/components/header/header.svelte @@ -56,7 +56,7 @@ href="/" class="flex w-full items-center gap-3 hover:scale-105 transition-all duration-300" > - + @@ -191,8 +191,13 @@ inert={!isMobileMenuOpen || undefined} > -
- +
+ + + {$_("brand.name")} +
diff --git a/packages/frontend/src/lib/components/logo/logo.svelte b/packages/frontend/src/lib/components/logo/logo.svelte index bf476d5..63ab63c 100644 --- a/packages/frontend/src/lib/components/logo/logo.svelte +++ b/packages/frontend/src/lib/components/logo/logo.svelte @@ -2,6 +2,4 @@ import SexyIcon from "../icon/icon.svelte"; -
- -
+ diff --git a/packages/frontend/src/lib/components/page-hero/page-hero.svelte b/packages/frontend/src/lib/components/page-hero/page-hero.svelte new file mode 100644 index 0000000..0d880bd --- /dev/null +++ b/packages/frontend/src/lib/components/page-hero/page-hero.svelte @@ -0,0 +1,32 @@ + + +
+
+
+
+

+ {title} +

+ {#if description} +

+ {description} +

+ {/if} + {#if children} + {@render children()} + {/if} +
+
+
diff --git a/packages/frontend/src/routes/+page.svelte b/packages/frontend/src/routes/+page.svelte index 1982be5..e30795f 100644 --- a/packages/frontend/src/routes/+page.svelte +++ b/packages/frontend/src/routes/+page.svelte @@ -12,7 +12,7 @@ -
+
@@ -77,7 +77,7 @@
{model.artist_name} diff --git a/packages/frontend/src/routes/login/+page.svelte b/packages/frontend/src/routes/login/+page.svelte index 6c6b6fb..3eec2c1 100644 --- a/packages/frontend/src/routes/login/+page.svelte +++ b/packages/frontend/src/routes/login/+page.svelte @@ -29,6 +29,7 @@ async function handleSubmit(e: Event) { e.preventDefault(); try { + isLoading = true; await login(email, password); goto("/videos", { invalidateAll: true }); } catch (err: any) { diff --git a/packages/frontend/src/routes/models/+page.svelte b/packages/frontend/src/routes/models/+page.svelte index 9ca18f0..1e7cd5f 100644 --- a/packages/frontend/src/routes/models/+page.svelte +++ b/packages/frontend/src/routes/models/+page.svelte @@ -9,6 +9,8 @@ import { Select, SelectContent, SelectItem, SelectTrigger } from "$lib/components/ui/select"; import { getAssetUrl } from "$lib/api"; import Meta from "$lib/components/meta/meta.svelte"; + import SexyBackground from "$lib/components/background/background.svelte"; + import PageHero from "$lib/components/page-hero/page-hero.svelte"; const { data } = $props(); @@ -49,34 +51,10 @@
- -
-
-
-
-
+ -
-
-
-

- {$_("models.title")} -

-

- {$_("models.description")} -

- -
+ +
{$_("models.sort.recent")} -
-
-
+
{#each data.items as model (model.slug)} + @@ -190,22 +166,9 @@
- -
- - -
+ {/each}
diff --git a/packages/frontend/src/routes/tags/[tag]/+page.svelte b/packages/frontend/src/routes/tags/[tag]/+page.svelte index f94cbee..73f5e69 100644 --- a/packages/frontend/src/routes/tags/[tag]/+page.svelte +++ b/packages/frontend/src/routes/tags/[tag]/+page.svelte @@ -6,6 +6,8 @@ import { Select, SelectContent, SelectItem, SelectTrigger } from "$lib/components/ui/select"; import { getAssetUrl } from "$lib/api"; import Meta from "$lib/components/meta/meta.svelte"; + import SexyBackground from "$lib/components/background/background.svelte"; + import PageHero from "$lib/components/page-hero/page-hero.svelte"; let searchQuery = $state(""); let categoryFilter = $state("all"); @@ -52,77 +54,50 @@
- -
-
-
-
-
+ -
-
-
-

- {$_("tags.title", { values: { tag: data.tag } })} -

-

- {$_("tags.description", { values: { tag: data.tag } })} -

- -
- -
- - -
- - - -
+ +
+
+ +
+
-
+
{#each filteredItems() as item (item.slug)} +
{item.title} -
-
+ - - -
- - -
+ {/each}
diff --git a/packages/frontend/src/routes/videos/+page.svelte b/packages/frontend/src/routes/videos/+page.svelte index 1c609ea..ef18224 100644 --- a/packages/frontend/src/routes/videos/+page.svelte +++ b/packages/frontend/src/routes/videos/+page.svelte @@ -9,6 +9,8 @@ import { Select, SelectContent, SelectItem, SelectTrigger } from "$lib/components/ui/select"; import { getAssetUrl } from "$lib/api"; import Meta from "$lib/components/meta/meta.svelte"; + import SexyBackground from "$lib/components/background/background.svelte"; + import PageHero from "$lib/components/page-hero/page-hero.svelte"; import TimeAgo from "javascript-time-ago"; import { formatVideoDuration } from "$lib/utils"; @@ -52,38 +54,10 @@
- -
-
-
-
-
+ -
-
-
-
-

- {$_("videos.title")} -

-

- {$_("videos.description")} -

- - -
+ +
{$_("videos.sort.name")} -
-
-
+
{#each data.items as video (video.slug)} +
- -
- - -
+ {/each}
diff --git a/packages/frontend/src/routes/videos/[slug]/+page.svelte b/packages/frontend/src/routes/videos/[slug]/+page.svelte index c68fe37..3f48654 100644 --- a/packages/frontend/src/routes/videos/[slug]/+page.svelte +++ b/packages/frontend/src/routes/videos/[slug]/+page.svelte @@ -31,7 +31,6 @@ let isLiked = $state(data.likeStatus.liked); let likesCount = $state(data.video.likes_count || 0); let isLikeLoading = $state(false); - let isBookmarked = $state(false); let newComment = $state(""); let showComments = $state(true); let isCommentLoading = $state(false); @@ -40,41 +39,6 @@ let currentPlayId = $state(null); let lastTrackedTime = $state(0); - const _relatedVideos = [ - { - id: 2, - title: "Sunset Dreams", - thumbnail: "/placeholder.svg?size=wide", - duration: "8:45", - views: "1.8M", - model: "Luna Belle", - }, - { - id: 3, - title: "Intimate Moments", - thumbnail: "/placeholder.svg?size=wide", - duration: "15:22", - views: "3.2M", - model: "Aria Divine", - }, - { - id: 4, - title: "Morning Light", - thumbnail: "/placeholder.svg?size=wide", - duration: "10:15", - views: "956K", - model: "Maya Starlight", - }, - { - id: 5, - title: "Passionate Dance", - thumbnail: "/placeholder.svg?size=wide", - duration: "7:33", - views: "1.4M", - model: "Zara Moon", - }, - ]; - async function handleLike() { if (!data.authStatus.authenticated) { toast.error("Please sign in to like videos"); @@ -101,10 +65,6 @@ } } - function _handleBookmark() { - isBookmarked = !isBookmarked; - } - async function handleDeleteComment(id: number) { try { await deleteComment(id); @@ -289,16 +249,6 @@ type: "video" as const, }} /> -
@@ -329,15 +279,8 @@
-
-
{/each}