Goal
Add a public Vue page that renders a published recipe accessible without login.
Spec reference
docs/specs/recipe-creation-target-architecture.md — §"Frontend target architecture – Public recipe page"
Implementation notes
- New route
/public/recipe/:slug in src/router/public.routes.ts — no authGuard
PublicRecipePage.vue: title, summary, timings, ingredients, steps — no editing controls
usePublicRecipe(slug) composable (TanStack Query) wrapping GET /public/recipe/{slug}
- Regenerate OpenAPI types after E7.3:
pnpm generate-openapi; add public endpoint to recipe-api.ts
Acceptance criteria
Testing
- Vitest:
usePublicRecipe composable (loading, success, 404 error states)
- Vitest:
PublicRecipePage renders recipe content
Part of#1103
Goal
Add a public Vue page that renders a published recipe accessible without login.
Spec reference
docs/specs/recipe-creation-target-architecture.md— §"Frontend target architecture – Public recipe page"Implementation notes
/public/recipe/:sluginsrc/router/public.routes.ts— noauthGuardPublicRecipePage.vue: title, summary, timings, ingredients, steps — no editing controlsusePublicRecipe(slug)composable (TanStack Query) wrappingGET /public/recipe/{slug}pnpm generate-openapi; add public endpoint torecipe-api.tsAcceptance criteria
Testing
usePublicRecipecomposable (loading, success, 404 error states)PublicRecipePagerenders recipe contentPart of#1103