From 44fa60a04f3a18f988592f3233a2438de82fbd26 Mon Sep 17 00:00:00 2001 From: Chris Kruining Date: Mon, 14 Apr 2025 23:50:40 +0200 Subject: [PATCH] fixes --- src/features/content/service.ts | 69 ++++++++++++++++++++++++++------- src/features/shell/top.tsx | 1 + src/routes/(shell)/index.tsx | 28 ++++++++----- src/routes/(shell)/settings.tsx | 3 ++ 4 files changed, 77 insertions(+), 24 deletions(-) create mode 100644 src/routes/(shell)/settings.tsx diff --git a/src/features/content/service.ts b/src/features/content/service.ts index 3a6ee82..658cb7c 100644 --- a/src/features/content/service.ts +++ b/src/features/content/service.ts @@ -1,32 +1,71 @@ -import type { Category, Entry } from './types'; +import type { Category, Entry } from "./types"; import { query } from "@solidjs/router"; -import { entries } from './data'; +import { entries } from "./data"; export const listCategories = query(async (): Promise => { "use server"; return [ { - label: 'Popular', - entries: [entries.get(1)!, entries.get(2)!, entries.get(3)!, entries.get(4)!, entries.get(1)!, entries.get(2)!, entries.get(3)!, entries.get(4)!], + label: "Popular", + entries: [ + entries.get("1")!, + entries.get("2")!, + entries.get("3")!, + entries.get("4")!, + entries.get("1")!, + entries.get("2")!, + entries.get("3")!, + entries.get("4")!, + ], }, { - label: 'Drama', - entries: [entries.get(5)!, entries.get(6)!, entries.get(7)!, entries.get(8)!, entries.get(1)!, entries.get(2)!, entries.get(3)!, entries.get(4)!], + label: "Drama", + entries: [ + entries.get("5")!, + entries.get("6")!, + entries.get("7")!, + entries.get("8")!, + entries.get("1")!, + entries.get("2")!, + entries.get("3")!, + entries.get("4")!, + ], }, { - label: 'Now streaming', - entries: [entries.get(1)!, entries.get(2)!, entries.get(3)!, entries.get(4)!, entries.get(1)!, entries.get(2)!, entries.get(3)!, entries.get(4)!], + label: "Now streaming", + entries: [ + entries.get("1")!, + entries.get("2")!, + entries.get("3")!, + entries.get("4")!, + entries.get("1")!, + entries.get("2")!, + entries.get("3")!, + entries.get("4")!, + ], }, { - label: 'Sci-Fi & Fantasy', - entries: [entries.get(9)!, entries.get(11)!, entries.get(12)!, entries.get(13)!, entries.get(1)!, entries.get(2)!, entries.get(3)!, entries.get(4)!], + label: "Sci-Fi & Fantasy", + entries: [ + entries.get("9")!, + entries.get("11")!, + entries.get("12")!, + entries.get("13")!, + entries.get("1")!, + entries.get("2")!, + entries.get("3")!, + entries.get("4")!, + ], }, ]; -}, 'series.categories.list'); +}, "series.categories.list"); -export const getEntry = query(async (id: Entry['id']): Promise => { - "use server"; +export const getEntry = query( + async (id: Entry["id"]): Promise => { + "use server"; - return entries.get(id); -}, "series.get"); + return entries.get(id); + }, + "series.get", +); diff --git a/src/features/shell/top.tsx b/src/features/shell/top.tsx index 6944df0..9cda202 100644 --- a/src/features/shell/top.tsx +++ b/src/features/shell/top.tsx @@ -45,6 +45,7 @@ export const Top: Component = (props) => {
+ Settings
diff --git a/src/routes/(shell)/index.tsx b/src/routes/(shell)/index.tsx index 244f5f5..5ba4b12 100644 --- a/src/routes/(shell)/index.tsx +++ b/src/routes/(shell)/index.tsx @@ -1,20 +1,30 @@ -import { Title } from '@solidjs/meta'; -import { createAsync } from '@solidjs/router'; -import { Overview } from '~/features/overview'; -import { listCategories, getEntry } from '~/features/content'; -import { Show } from 'solid-js'; +import { Title } from "@solidjs/meta"; +import { createAsync, query } from "@solidjs/router"; +import { Overview } from "~/features/overview"; +import { listCategories, getEntry } from "~/features/content"; +import { createEffect, Show } from "solid-js"; + +const load = query(async () => { + "use server"; + + // const response = +}, "home.data"); export const route = { - load: () => ({ - highlight: getEntry(14), - categories: listCategories(), + preload: async () => ({ + highlight: await getEntry("14"), + categories: await listCategories(), }), }; export default function Home() { - const highlight = createAsync(() => getEntry(14)); + const highlight = createAsync(() => getEntry("14")); const categories = createAsync(() => listCategories()); + createEffect(() => { + console.log(highlight(), categories()); + }); + return ( <> Home diff --git a/src/routes/(shell)/settings.tsx b/src/routes/(shell)/settings.tsx new file mode 100644 index 0000000..f1b3c3c --- /dev/null +++ b/src/routes/(shell)/settings.tsx @@ -0,0 +1,3 @@ +export default function Settings() { + return <>SETTINGS PAGE; +}