feat: add feature UI components with useQuery hooks

- navigation: SiteHeader component + useHeader hook
- blog: ArticleCard, ArticleList, ArticleDetail + useArticleList,
  useArticleBySlug hooks
- marketing-pages: PageHero, PageContent + usePageBySlug,
  useSiteSettings hooks
- App pages now thin server wrappers that prefetch + hydrate;
  feature components own their data fetching via useSuspenseQuery
This commit is contained in:
danijel-lf
2026-05-26 14:12:29 +02:00
parent 3ce71447b3
commit a28de6884c
20 changed files with 320 additions and 62 deletions

View File

@@ -0,0 +1,12 @@
"use client";
import { useSuspenseQuery } from "@tanstack/react-query";
import { useTRPC } from "@repo/core-trpc";
import type { Page } from "../../entities/models/page";
export function usePageBySlug(slug: string) {
const trpc = useTRPC();
return useSuspenseQuery(
trpc.marketingPages.pageBySlug.queryOptions({ slug }),
) as { data: Page | null };
}