Add reviews and support tutorial management

This commit is contained in:
Codex
2026-04-28 00:55:07 +08:00
parent 4e3fb17202
commit c8ccaa9925
78 changed files with 5231 additions and 858 deletions
+16
View File
@@ -0,0 +1,16 @@
# Eversolo Icon System Prompt
Use case: ui-mockup
Asset type: premium website icon system direction board for support pages, downloads pages, and footer social links
Primary request: Design a restrained, high-end digital audio icon system for Eversolo. The icons should feel precise, quiet, technical, and premium, suitable for firmware, manuals, software, support, warranty, dealer contact, and footer/social navigation.
Visual style: monoline vector icons, cool graphite strokes, thin optical weight, minimal geometry, reduced roundness, no playful shapes, no chunky filled badges, no warm cream palette.
Brand cues: high-end audio, digital signal paths, precision machining, studio-grade reliability, calm product confidence.
Composition: show icons in a clean grid on a cool grey-white background with small labels. Include support icons, download file-type icons, and footer/social icons.
Palette: graphite #141617, secondary grey #59636A, muted grey #8A9298, cool surface #F6F7F6, soft line #DDE2E4.
Avoid: cute pictograms, colorful app-store style, heavy shadows, rounded toy-like icons, warm beige backgrounds, thick outline sets, generic SaaS illustration style.
Figma/vector implementation notes:
- Use `24x24` viewBox geometry and `stroke-width` around `1.65`.
- Keep icons as strokes with rounded caps/joins for legibility, but avoid oversized radius.
- Place icons in calm square cells only for presentation; production icons should not rely on enclosing boxes.
- Match support, downloads, and footer usage through a single reusable `SiteIcon` component.
+25
View File
@@ -0,0 +1,25 @@
# Production Readiness Notes
This project is being tightened toward launch as a CMS-first Eversolo brand site. The operating rule is that real CMS content should win, while seed or fallback content is only allowed when a record is missing entirely or when a legacy migration is explicitly being reviewed.
## Current Guardrails
- Media URL paste uploads allow legacy Eversolo image hosts through Payload's server-side paste URL allow list, avoiding browser-side CORS failures.
- Product, download, news, dealer, support, about, contact, and home pages use short revalidation windows, and the admin cache action revalidates primary list pages plus dynamic product/news/download detail route patterns.
- Homepage awards and media quotes are no longer silently backfilled from hard-coded recognition defaults. If the CMS data is empty, the section can remain empty.
- Dealer records are split into `dealer` and `experienceStore` types. The public dealer page renders dealer records as a regional network with a world-map overview and experience stores as image-led location cards.
- Product mega-menu links close the menu on click, including document-navigation product pages.
## CMS Versus Seed Boundary
- CMS document exists: preserve empty strings and missing optional sections as editorial intent.
- CMS document missing: seed or legacy fallback can still render a temporary page so old URLs and early QA do not break.
- Seed scripts should avoid overwriting manually entered CMS content unless a script is explicitly named as a destructive re-import.
- Any new frontend fallback copy should be documented in the owning page/global and removed once the CMS field exists.
## Launch Checklist Focus
- Keep Payload globals and collections broad enough for editors, but avoid showing implementation-only legacy fields in admin.
- Prefer compact admin groups, list-style arrays, and explicit per-locale documents for user-facing content.
- Re-run `npm run generate:types`, `npm run build`, and the smoke check after schema or cache changes.
- After restarting a local preview, check both `/en` and `/zh` for homepage, product detail, downloads, news, dealers, support, and admin access.