Rebuild the web landing page to the blueprint spec

Ten dark cinematic sections: fixed glass nav with a hamburger sheet, hero
with the badge/dual CTA/stats bar, a pausable 35mm film-strip marquee, the
live preset tester (5 stocks, HUD, spec bars), the three-knob custom recipe
simulator, the 6-card feature grid, the QR sharing showcase, free-vs-Pro
pricing, reviews + FAQ accordion and the final CTA/footer.

The page owns its palette and its .lp-* styles, so it renders the same in
either workspace theme, and it pulls no CDN: Syne is bundled and the six
sample negatives are vendored (see docker/README.md). Store buttons raise a
toast instead of the old alert(). The now-dead landing CSS and the unused
land.* dictionary keys are gone.
This commit is contained in:
2026-09-17 18:26:18 +07:00
parent dace19aec4
commit 340f0374fc
14 changed files with 837 additions and 121 deletions
-15
View File
@@ -19,21 +19,6 @@ export const en: Dict = {
'act.exporting': 'Exporting…',
'act.cancel': 'Cancel',
'land.title': 'The same colour recipes, now on your desktop',
'land.lede':
'RecipesCam turns a photo into a film-looking one with recipes. The web build runs the app\u2019s exact colour pipeline: same recipes, same frames, same GPS stamp.',
'land.ctaDemo': 'OPEN THE DEMO',
'land.ctaSignup': 'CREATE AN ACCOUNT',
'land.f1t': 'Film recipes',
'land.f1d': 'PROVIA, VELVIA, CLASSIC CHROME… plus EXPOSURE, WB, CLARITY, HDF and VIGNETTING.',
'land.f2t': 'Frames & watermark',
'land.f2d': 'Polaroid, classic border, WALL FRAME, custom text and a GPS stamp read from the photo\u2019s EXIF.',
'land.f3t': 'Processed on your own machine',
'land.f3d': 'The photo never leaves the browser. The server only keeps accounts and the recipes you save.',
'land.badgePlay': 'Get it on Google Play',
'land.badgeApp': 'Download on the App Store',
'land.storeSoon': 'Coming soon',
'drop.title': 'Drag & drop a photo here',
'drop.hint': 'or click to pick one · paste from the clipboard with Ctrl+V',
'drop.replace': 'Choose another photo',
-15
View File
@@ -22,21 +22,6 @@ export const vi = {
'act.exporting': 'Đang xuất…',
'act.cancel': 'Huỷ',
'land.title': 'Cùng công thức màu, giờ trên máy tính',
'land.lede':
'RecipesCam biến ảnh chụp thành ảnh có "chất" bằng công thức phim. Bản web chạy đúng pipeline màu của app: cùng công thức, cùng khung, cùng dấu GPS.',
'land.ctaDemo': 'DÙNG THỬ NGAY',
'land.ctaSignup': 'TẠO TÀI KHOẢN',
'land.f1t': 'Công thức phim',
'land.f1d': 'PROVIA, VELVIA, CLASSIC CHROME… cộng bộ chỉnh tay EXPOSURE, WB, CLARITY, HDF, VIGNETTING.',
'land.f2t': 'Khung & watermark',
'land.f2d': 'Khung polaroid, viền classic, WALL FRAME, watermark chữ và dấu GPS đọc từ EXIF của ảnh.',
'land.f3t': 'Xử lý ngay trên máy bạn',
'land.f3d': 'Ảnh không bao giờ rời khỏi trình duyệt. Máy chủ chỉ giữ tài khoản và công thức bạn lưu.',
'land.badgePlay': 'Tải trên Google Play',
'land.badgeApp': 'Tải trên App Store',
'land.storeSoon': 'Sắp có',
'drop.title': 'Kéo & thả ảnh vào đây',
'drop.hint': 'hoặc bấm để chọn ảnh · dán từ clipboard bằng Ctrl+V',
'drop.replace': 'Đổi ảnh khác',