update
Some checks failed
deploy / deploy (push) Has been cancelled

This commit is contained in:
toom1996
2026-08-29 20:17:13 +08:00
parent a133413d74
commit e24bfe164d
29 changed files with 598 additions and 1517 deletions

View File

@ -1,15 +0,0 @@
---
import Layout from "@/layouts/Layout.astro"
import Article from "@/components/pages/article.astro"
import { getSsrArticle } from "@/lib/api"
// 按需 SSR:服务端按 ?id= 取数并渲染(保留既有 /en/article?id= 链接,无需改动其他页面)
export const prerender = false
const id = Astro.url.searchParams.get("id")
const { article, error } = await getSsrArticle(id, Astro.currentLocale)
---
<Layout>
<Article article={article} locale="en" error={error} />
</Layout>

View File

@ -1,15 +1,25 @@
---
import Layout from "@/layouts/Layout.astro"
import Item from "@/components/Item.astro"
import { getSsrArticle } from "@/lib/api"
import StreetSnap from "@/components/StreetSnap.astro"
import { getSsrArticle, getSsrStreetSnap } from "@/lib/api"
// 按需 SSR:服务端按 ?id= 取数并渲染(保留既有 /en/items/:id 链接,无需改动其他页面)
// 按需 SSR:走秀详情与街拍详情统一收口到 /item/[id]。
// 先按 article 取数(runway lookbook);取不到再回落 street snap,实现「所有详情进 /item」。
export const prerender = false
const { id } = Astro.params
const { article, error } = await getSsrArticle(id, Astro.currentLocale)
const { article, error: articleErr } = await getSsrArticle(id, Astro.currentLocale)
let snap = null
let snapErr: "missing" | "failed" | null = null
if (!article) {
const res = await getSsrStreetSnap(id, Astro.currentLocale)
snap = res.snap
snapErr = res.error
}
---
<Layout>
<Item article={article} error={error} />
{article ? <Item article={article} error={articleErr} /> : <StreetSnap snap={snap} error={snapErr} />}
</Layout>

View File

@ -1,15 +0,0 @@
---
import Layout from "@/layouts/Layout.astro"
import StreetSnap from "@/components/StreetSnap.astro"
import { getSsrStreetSnap } from "@/lib/api"
// 按需 SSR:服务端按 :id 取数并渲染(保留 /cn/street-snaps/:id 链接)
export const prerender = false
const { id } = Astro.params
const { snap, error } = await getSsrStreetSnap(id, Astro.currentLocale)
---
<Layout>
<StreetSnap snap={snap} error={error} />
</Layout>

View File

@ -1,15 +0,0 @@
---
import Layout from "@/layouts/Layout.astro"
import Article from "@/components/pages/article.astro"
import { getSsrArticle } from "@/lib/api"
// 按需 SSR:服务端按 ?id= 取数并渲染(保留既有 /en/article?id= 链接,无需改动其他页面)
export const prerender = false
const id = Astro.url.searchParams.get("id")
const { article, error } = await getSsrArticle(id, Astro.currentLocale)
---
<Layout>
<Article article={article} locale="en" error={error} />
</Layout>

View File

@ -1,15 +1,25 @@
---
import Layout from "@/layouts/Layout.astro"
import Item from "@/components/Item.astro"
import { getSsrArticle } from "@/lib/api"
import StreetSnap from "@/components/StreetSnap.astro"
import { getSsrArticle, getSsrStreetSnap } from "@/lib/api"
// 按需 SSR:服务端按 ?id= 取数并渲染(保留既有 /en/items/:id 链接,无需改动其他页面)
// 按需 SSR:走秀详情与街拍详情统一收口到 /item/[id]。
// 先按 article 取数(runway lookbook);取不到再回落 street snap,实现「所有详情进 /item」。
export const prerender = false
const { id } = Astro.params
const { article, error } = await getSsrArticle(id, Astro.currentLocale)
const { article, error: articleErr } = await getSsrArticle(id, Astro.currentLocale)
let snap = null
let snapErr: "missing" | "failed" | null = null
if (!article) {
const res = await getSsrStreetSnap(id, Astro.currentLocale)
snap = res.snap
snapErr = res.error
}
---
<Layout>
<Item article={article} error={error} />
{article ? <Item article={article} error={articleErr} /> : <StreetSnap snap={snap} error={snapErr} />}
</Layout>

View File

@ -1,15 +0,0 @@
---
import Layout from "@/layouts/Layout.astro"
import StreetSnap from "@/components/StreetSnap.astro"
import { getSsrStreetSnap } from "@/lib/api"
// 按需 SSR:服务端按 :id 取数并渲染(保留 /en/street-snaps/:id 链接)
export const prerender = false
const { id } = Astro.params
const { snap, error } = await getSsrStreetSnap(id, Astro.currentLocale)
---
<Layout>
<StreetSnap snap={snap} error={error} />
</Layout>