diff --git a/app/components/AppHeader.vue b/app/components/AppHeader.vue index 8230886..d1ee402 100644 --- a/app/components/AppHeader.vue +++ b/app/components/AppHeader.vue @@ -5,8 +5,15 @@ - Home - About + + Home + + + About + + + List + diff --git a/app/components/places/PlaceLink.vue b/app/components/places/PlaceLink.vue new file mode 100644 index 0000000..d5f314f --- /dev/null +++ b/app/components/places/PlaceLink.vue @@ -0,0 +1,23 @@ + + + + + {{ place.name }} + {{ place.description }} + + + + + diff --git a/app/components/places/RatingDisplay.vue b/app/components/places/RatingDisplay.vue new file mode 100644 index 0000000..d7cd630 --- /dev/null +++ b/app/components/places/RatingDisplay.vue @@ -0,0 +1,14 @@ + + + + + + ★ + + {{ rating }} + + diff --git a/app/components/places/ReviewCard.vue b/app/components/places/ReviewCard.vue new file mode 100644 index 0000000..deec094 --- /dev/null +++ b/app/components/places/ReviewCard.vue @@ -0,0 +1,24 @@ + + + + + + + {{ review.author }} + {{ review.date }} + + {{ review.comment }} + + + + diff --git a/app/composables/useFakePlaceDataDeletMe.ts b/app/composables/useFakePlaceDataDeletMe.ts new file mode 100644 index 0000000..1d0d1b3 --- /dev/null +++ b/app/composables/useFakePlaceDataDeletMe.ts @@ -0,0 +1,18 @@ +const PLACES = [ + { + id: 1, + name: "Moe's tavern", + rating: 4.5, + description: "Cozy local bar with a wide selection of beers and a friendly atmosphere.", + }, + { + id: 2, + name: "Kwik-E-Mart", + rating: 3.8, + description: "Convenience store with a variety of groceries and household items.", + }, +]; + +export const useFakePlaceDataDeletMe = () => { + return PLACES; +}; diff --git a/app/pages/list.vue b/app/pages/list.vue new file mode 100644 index 0000000..7b26a55 --- /dev/null +++ b/app/pages/list.vue @@ -0,0 +1,21 @@ + + + + + Places + + + + + diff --git a/app/pages/place/[id].vue b/app/pages/place/[id].vue new file mode 100644 index 0000000..2322a7c --- /dev/null +++ b/app/pages/place/[id].vue @@ -0,0 +1,56 @@ + + + + + + {{ place.name }} + {{ place.description }} + + + + Reviews + + + + + + diff --git a/worker-configuration.d.ts b/worker-configuration.d.ts index b68c6b7..ef09323 100644 --- a/worker-configuration.d.ts +++ b/worker-configuration.d.ts @@ -1,16 +1,38 @@ /* eslint-disable */ -// Generated by Wrangler by running `wrangler types` (hash: 1224b5b86c5bfbfdc24911a0d4ce5c0f) +// Generated by Wrangler by running `wrangler types` (hash: 933066b3a95ca283951caf6d326d4588) // Runtime types generated with workerd@1.20260529.1 2026-02-01 no_nodejs_compat_v2,nodejs_compat interface __BaseEnv_Env { DB: D1Database; IMAGES: ImagesBinding; CF_VERSION_METADATA: WorkerVersionMetadata; ASSETS: Fetcher; + CLOUDFLARE_ACCOUNT_ID: string; + CLOUDFLARE_DATABASE_ID: string; + CLOUDFLARE_PRODUCTION_DATABASE_ID: string; + CLOUDFLARE_STAGING_DATABASE_ID: string; + CLOUDFLARE_D1_TOKEN: string; + NUXT_SESSION_PASSWORD: string; } declare namespace Cloudflare { interface Env extends __BaseEnv_Env {} } interface Env extends __BaseEnv_Env {} +type StringifyValues> = { + [Binding in keyof EnvType]: EnvType[Binding] extends string ? EnvType[Binding] : string; +}; +declare namespace NodeJS { + interface ProcessEnv extends StringifyValues< + Pick< + Cloudflare.Env, + | "CLOUDFLARE_ACCOUNT_ID" + | "CLOUDFLARE_DATABASE_ID" + | "CLOUDFLARE_PRODUCTION_DATABASE_ID" + | "CLOUDFLARE_STAGING_DATABASE_ID" + | "CLOUDFLARE_D1_TOKEN" + | "NUXT_SESSION_PASSWORD" + > + > {} +} // Begin runtime types /*! *****************************************************************************
{{ place.description }}
{{ review.comment }}