diff --git a/src/lib/components/search/random/index.svelte b/src/lib/components/search/random/index.svelte index 0822606..cb16ced 100644 --- a/src/lib/components/search/random/index.svelte +++ b/src/lib/components/search/random/index.svelte @@ -5,30 +5,12 @@ import { ToastType } from '$root/lib/types'; import { toast } from '../../toast/toast'; - // async function handleSubmit(event: SubmitEvent) { - // // submitting = true; - // boredState.update((n) => ({ ...n, loading: true })); - // const form = event.target as HTMLFormElement; - // console.log('form', form); - // const response = await fetch('/api/games', { - // method: 'POST', - // headers: { accept: 'application/json' }, - // body: new FormData(form) - // }); - // const responseData = await response.json(); - // // submitting = false; - // boredState.update((n) => ({ ...n, loading: false })); - // gameStore.removeAll(); - // gameStore.addAll(responseData?.games); - // // games = responseData?.games; - // } - let submitting = $boredState?.loading; let checked = true;
diff --git a/src/lib/types.ts b/src/lib/types.ts index 1fe6017..dbb3e6d 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,125 +1,125 @@ -import type { SvelteComponent } from "svelte"; +import type { SvelteComponent } from 'svelte'; export type Dialog = { - isOpen: boolean; - content?: typeof SvelteComponent; - additionalData?: SavedGameType | GameType; -} + isOpen: boolean; + content?: typeof SvelteComponent; + additionalData?: SavedGameType | GameType; +}; export type Search = { - name: string; - minAge: string; - minPlayers: string; - maxPlayers: string; - exactMinAge: string; - exactMinPlayers: string; - exactMaxPlayers: string; - skip: number; - currentPage: number; - limit: number; -} + name: string; + minAge: string; + minPlayers: string; + maxPlayers: string; + exactMinAge: string; + exactMinPlayers: string; + exactMaxPlayers: string; + skip: number; + currentPage: number; + limit: number; +}; export type BoredStore = { - loading: boolean; - dialog: Dialog; + loading: boolean; + dialog: Dialog; }; export enum ToastType { - INFO = 'INFO', - ERROR = 'ERROR', - WARNING = 'WARNING' + INFO = 'INFO', + ERROR = 'ERROR', + WARNING = 'WARNING' } export type ToastData = { - id: number; - duration: number; - dismissible: boolean; - showButton: boolean; - autoDismiss: boolean; - type: ToastType; - message: string; + id: number; + duration: number; + dismissible: boolean; + showButton: boolean; + autoDismiss: boolean; + type: ToastType; + message: string; }; export type SavedGameType = { - id: string; - name: string; - thumb_url: string; - players: string; - playtime: string; -} + id: string; + name: string; + thumb_url: string; + players: string; + playtime: string; +}; export type GameType = { - id: string; - handle: string; - name: string; - url: string; - edit_url: string; - thumb_url: string; - image_url: string; - price: number; - price_ca: number; - price_uk: number; - price_au: number; - msrp: number; - year_published: number; - min_players: number; - max_players: number; - min_playtime: number; - max_playtime: number; - min_age: number; - description: string; - description_preview: string; - players: string; - playtime: string; + id: string; + handle: string; + name: string; + url: string; + edit_url: string; + thumb_url: string; + image_url: string; + price: number; + price_ca: number; + price_uk: number; + price_au: number; + msrp: number; + year_published: number; + min_players: number; + max_players: number; + min_playtime: number; + max_playtime: number; + min_age: number; + description: string; + description_preview: string; + players: string; + playtime: string; }; export type SearchQuery = { - client_id: string; - limit?: number; - skip?: number; - ids?: string[]; - list_id?: string; - kickstarter?: boolean; - random?: boolean; - name?: string; - exact?: boolean; - fuzzy_match?: boolean; - designer?: string; - publisher?: string; - artist?: string; - mechanics?: string; - categories?: string; - order_by?: string; - ascending?: boolean; - min_players?: number; - max_players?: number; - min_playtime?: number; - max_playtime?: number; - min_age?: number; - year_published?: number; - gt_min_players?: number; - gt_max_players?: number; - gt_min_playtime?: number; - gt_max_playtime?: number; - gt_min_age?: number; - gt_year_published?: number; - gt_price?: bigint; - gt_msrp?: bigint; - gt_discount?: bigint; - gt_reddit_count?: number; - gt_reddit_week_count?: number; - gt_reddit_day_count?: number; - lt_min_players?: number; - lt_max_players?: number; - lt_min_playtime?: number; - lt_max_playtime?: number; - lt_min_age?: number; - lt_year_published?: number; - lt_price?: bigint; - lt_msrp?: bigint; - lt_discount?: bigint; - lt_reddit_count?: number; - lt_reddit_week_count?: number; - lt_reddit_day_count?: number; - fields?: string; + client_id: string; + limit?: number; + skip?: number; + ids?: string[]; + list_id?: string; + kickstarter?: boolean; + random?: boolean; + name?: string; + exact?: boolean; + fuzzy_match?: boolean; + designer?: string; + publisher?: string; + artist?: string; + mechanics?: string; + categories?: string; + order_by?: string; + ascending?: boolean; + min_players?: number; + max_players?: number; + min_playtime?: number; + max_playtime?: number; + min_age?: number; + year_published?: number; + gt_min_players?: number; + gt_max_players?: number; + gt_min_playtime?: number; + gt_max_playtime?: number; + gt_min_age?: number; + gt_year_published?: number; + gt_price?: bigint; + gt_msrp?: bigint; + gt_discount?: bigint; + gt_reddit_count?: number; + gt_reddit_week_count?: number; + gt_reddit_day_count?: number; + lt_min_players?: number; + lt_max_players?: number; + lt_min_playtime?: number; + lt_max_playtime?: number; + lt_min_age?: number; + lt_year_published?: number; + lt_price?: bigint; + lt_msrp?: bigint; + lt_discount?: bigint; + lt_reddit_count?: number; + lt_reddit_week_count?: number; + lt_reddit_day_count?: number; + fields?: string; }; diff --git a/src/routes/game/[id]/+page.server.ts b/src/routes/game/[id]/+page.server.ts index ee8cf0f..0822867 100644 --- a/src/routes/game/[id]/+page.server.ts +++ b/src/routes/game/[id]/+page.server.ts @@ -2,13 +2,7 @@ import { error } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; import { boardGameApi } from '../../api'; -type GamePageParams = { - params: { - id: string; - }; -}; - -export const load: PageServerLoad = async ({ params, setHeaders }: GamePageParams) => { +export const load: PageServerLoad = async ({ params, setHeaders }) => { const queryParams = { ids: `${params?.id}` }; diff --git a/src/routes/game/[id]/+page.svelte b/src/routes/game/[id]/+page.svelte index 2b6c898..5317649 100644 --- a/src/routes/game/[id]/+page.svelte +++ b/src/routes/game/[id]/+page.svelte @@ -225,6 +225,7 @@ place-items: center; gap: 1.5rem; margin: 1rem; + line-height: 1.5em; } .overflow-description { diff --git a/src/routes/search/+page.server.ts b/src/routes/search/+page.server.ts index f2ace44..9e877fe 100644 --- a/src/routes/search/+page.server.ts +++ b/src/routes/search/+page.server.ts @@ -1,7 +1,7 @@ import type { Actions, PageServerLoad, RequestEvent } from '../$types'; import { BOARD_GAME_ATLAS_CLIENT_ID } from '$env/static/private'; import { error, fail } from '@sveltejs/kit'; -import type { GameType, Search, SearchQuery } from '$root/lib/types'; +import type { GameType, RandomSearch, Search, SearchQuery } from '$root/lib/types'; import { mapAPIGameToBoredGame } from '$root/lib/util/gameMapper'; import { search_schema } from '$root/lib/zodValidation'; import { ZodError } from 'zod'; @@ -144,90 +144,20 @@ export const load: PageServerLoad = async ({ fetch, url }) => { }; export const actions: Actions = { - default: async ({ request }: RequestEvent): Promise