added seeder for legacy apge and added the legacy page

This commit is contained in:
teledrisi
2026-10-05 17:32:06 +02:00
parent a5c531be00
commit 98fae066bc
30 changed files with 1488 additions and 181 deletions
+12 -2
View File
@@ -62,7 +62,7 @@ sharp-er/
│ ├── web/ React Router 8 front end (SSR)
│ │ ├── app/
│ │ │ ├── root.tsx HTML shell: <html lang/dir>, canonical + hreflang, nav, footer
│ │ │ ├── routes.ts Route config: "/" redirect, ":lang" layout, the ten sections
│ │ │ ├── routes.ts Route config: "/" redirect, ":lang" layout, the eleven sections
│ │ │ ├── routes/ One module per page (+ shared _page-kit / _shared helpers)
│ │ │ ├── components/ui/ Button, Input, Card, Navigation, Footer, LanguageSwitcher
│ │ │ ├── styles/ Design tokens — primitives.css, semantic.css, typography.css
@@ -470,6 +470,7 @@ docker run --rm -v sharper_cms-uploads:/data -v "$PWD":/backup alpine \
| `pnpm build` | builds the CMS, then the web app (that order: the web build has no CMS dependency, but a broken CMS build should fail first) |
| `pnpm start` | runs both production builds |
| `pnpm seed` | writes the approved content into the CMS — see [Seeding content](#seeding-content) |
| `pnpm seed -- --legacy-only` | writes SHARP I, SHARP II, and the home section below the hero through the bilingual Legacy page; preserves its uploaded media |
| `pnpm typecheck` | `tsc` in both applications, preceded in the web app by `react-router typegen` |
**`apps/web`** — run with `pnpm --filter web <script>`:
@@ -512,6 +513,7 @@ and never opens a port of its own.
```bash
pnpm seed # the approved content
pnpm seed -- --legacy-only # SHARP I/II and home Legacy section only
pnpm seed -- --demo # the same, plus fixtures to look at
pnpm seed -- --demo --clean # remove those fixtures again
```
@@ -532,8 +534,16 @@ settings, the three consortium members, the topic taxonomy, the five activity
streams, the launch article, and the About, What We Do, Contact and Home
pages.
The Legacy single type also holds the SHARP I and SHARP II records and the
Legacy section shown below the home hero. Its programme facts and figures come
from `SHARP I Programme SUMMARY.docx` and `SHARP II Programme SUMMARY.docx`;
the English text is a concise paraphrase and the Arabic text is a translation.
Run `pnpm seed -- --legacy-only` to update only that single type. The seed
preserves the hero and up to five gallery images selected in each locale.
What `docs/` does not supply is not written. There are no statistics anywhere
(the source marks every number "TBD — must not be published until confirmed"),
(outside the sourced Legacy page; the `docs/` source marks other numbers
"TBD — must not be published until confirmed"),
no project email, no Facebook URL and no consortium addresses, because the
source writes all of those as bracketed placeholders. Two fields are judgement
calls and say so at the line: every activity's `activityStatus`, which the