feat(brand): rebrand to Hedena Gold and bring main user-app chrome
Rename the brand, ship Hedena logos, persist login OTP text in the SMS list, and port home/nav/auth/theme polish from main while keeping expert customers intact. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+5
-5
@@ -1,13 +1,13 @@
|
||||
# برند پروژه (تهران تاج) — چکلیست تغییر نام
|
||||
# برند پروژه (هدناگلد) — چکلیست تغییر نام
|
||||
|
||||
نام برند **تهران تاج / Tehran Taj** است. برای عوض کردن نام دوباره **لازم نیست کل کد را بگردید**؛ فقط موارد همین فهرست.
|
||||
نام برند **هدناگلد / Hedena Gold** است. برای عوض کردن نام دوباره **لازم نیست کل کد را بگردید**؛ فقط موارد همین فهرست.
|
||||
|
||||
## ۱. جاهایی که باید عوض شوند (فقط همینها)
|
||||
|
||||
| چه چیزی | کجا | توضیح |
|
||||
|---|---|---|
|
||||
| نام فارسی، نام لاتین، عنوان تب مرورگر، آدرس سایت | [`brand.ts`](../brand.ts) در ریشهٔ پروژه | پنل ادمین، اپ مشتری و اپ مشتری v2 همه از همین یک فایل میخوانند: عنوان صفحه، نام نصب PWA، عنوان صفحهٔ ورود، پیام خوشآمد، متنهای راهنما، لینک محصول. |
|
||||
| نام برند در **همهٔ پیامکها** | متغیر محیطی `BRAND_NAME` روی سرور API | خالی باشد = «تهران تاج» (پیشفرض در [`apps/api/src/common/brand.ts`](../apps/api/src/common/brand.ts)). بعد از تغییر فقط API را ریاستارت کنید. |
|
||||
| نام برند در **همهٔ پیامکها** | متغیر محیطی `BRAND_NAME` روی سرور API | خالی باشد = «هدناگلد» (پیشفرض در [`apps/api/src/common/brand.ts`](../apps/api/src/common/brand.ts)). بعد از تغییر فقط API را ریاستارت کنید. |
|
||||
| لینک سایت در پیامک خوشآمد | متغیر محیطی `BRAND_SITE_URL` روی سرور API | پیشفرض فعلاً `https://bnk.montzar.ir` است (دامنهٔ زنده). |
|
||||
| لوگو | فایلهای تصویر با نام ثابت `brand-*` (پایین) | نام فایلها عمومی است؛ فقط خود تصویر را با همان نام جایگزین کنید. |
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
| کلیدهای مرورگر مثل `gold-bank:token` | تغییر = خروج همهٔ مشتریها از اپ |
|
||||
| جدول `_goldbank_migrations`، نام دیتابیس `goldbank`، سرویس داکر `goldbank-api` | تغییر = خراب شدن مایگریشن و استقرار روی سرور |
|
||||
| نام پکیجها `@gold-bank/*` و پوشهٔ پروژه | فقط نام فنی |
|
||||
| شناسهٔ برند محصول `brand-montzar` در دیتابیس | کلید اصلی است و محصولات به آن وصلاند؛ عنوانش به «تهران تاج طلا» تغییر کرد |
|
||||
| شناسهٔ برند محصول `brand-montzar` در دیتابیس | کلید اصلی است و محصولات به آن وصلاند؛ عنوانش به «هدناگلد» تغییر کرد |
|
||||
| پوشههای `henza_admin`، `henza_pwa`، `henza_server` و ارجاعهای کد به آنها | کد سیستم قدیمی، فقط برای مرجع |
|
||||
| آدرسهای `henzagold.com` در توضیحات کد | سابقهٔ سیستم قدیمی، اجرا نمیشوند |
|
||||
| پوشهٔ `docs/` (سوابق) | سابقهٔ کار است، نه متن برنامه |
|
||||
@@ -45,7 +45,7 @@
|
||||
برای اطمینان از اینکه نام قدیمی جایی در متنهای برنامه نمانده:
|
||||
|
||||
```bash
|
||||
grep -rn "زرتاج\|Zartaj\|منتزر\|Montzar\|هنزا" apps/*/src apps/*/index.html apps/api/prisma/seed.ts brand.ts
|
||||
grep -rn "تهران تاج\|Tehran Taj\|زرتاج\|Zartaj\|منتزر\|Montzar\|هنزا" apps/*/src apps/*/index.html apps/api/prisma/seed.ts brand.ts
|
||||
```
|
||||
|
||||
خروجی خالی یعنی تمیز است.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
منبع جزئیات: [`parity/CHANGELOG.md`](parity/CHANGELOG.md)، [`parity/ISSUES.md`](parity/ISSUES.md)، [`parity/DECISIONS.md`](parity/DECISIONS.md).
|
||||
|
||||
این سند برای **همین ریپو (gold-bank / تهران تاج)** است تا ایرادها را verify کنیم یا باقیماندهها را ببندیم — و در عین حال قالب تکرار برای پروژهٔ مشابه.
|
||||
این سند برای **همین ریپو (gold-bank / هدناگلد)** است تا ایرادها را verify کنیم یا باقیماندهها را ببندیم — و در عین حال قالب تکرار برای پروژهٔ مشابه.
|
||||
|
||||
> قبل از هر تغییر **UI سمت اپ**: از مالک (Honar) بپرس. منطق/رفتار بدون سوال؛ ظاهر نه.
|
||||
> اپ مبنا برای منطق: هر دو `apps/user-app` و `apps/user-app-v2` (مگر خلافش گفته شود).
|
||||
@@ -15,7 +15,7 @@
|
||||
|---|---|---|
|
||||
| ایرادهای امنیتی / پولی / دامنه / UX کارکردی | بله | منطق یکسان |
|
||||
| فونت IRANSans (اپ + ادمین) | بله | همان فونت و wiring |
|
||||
| لوگو / فاویکون / آیکن برند / wordmark | **خیر** | برند تهران تاج دستنخورده — [`BRANDING.md`](BRANDING.md) |
|
||||
| لوگو / فاویکون / آیکن برند / wordmark | **خیر** | برند هدناگلد دستنخورده — [`BRANDING.md`](BRANDING.md) |
|
||||
| کاروسل / hero / ShowcaseSlider | **خیر** | **اصلاً دست نزن** (حتی در verify) |
|
||||
| فیچر اپ مثل PWA install، pull-refresh، incomplete-profile banner | بله | **فقط منطق/رفتار**؛ UI با زبان طراحی خودِ اپ |
|
||||
| دیزاین / layout ادمین | بله | ادمین قابلرفرنس از همین ریپو (بدون تعویض لوگو) |
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# Brand logo assets — icon-only mark
|
||||
|
||||
Date: 2026-10-15
|
||||
|
||||
## Goal
|
||||
|
||||
Replace all brand image assets with the new Hedena icon-only mark (gold symbol on black, no wordmark). Keep text brand name as هدنا گلد / Hedena Gold in `brand.ts`.
|
||||
|
||||
## Source
|
||||
|
||||
- Master: icon-only logo (Frame 2) — square, gold on black, no text.
|
||||
- Full wordmark (Frame 1) is not used in this pass.
|
||||
|
||||
## Mapping
|
||||
|
||||
| Role | Targets |
|
||||
|---|---|
|
||||
| App / admin logos | `user-app` `brand-logo.png/.webp` (public + assets); admin `brand-icon.png/.webp`, `brand-horizontal.png` |
|
||||
| Favicon + PWA | `favicon.ico` / `favicon.png`, `icon-192.png`, `icon-512.png` in both apps’ `public/` |
|
||||
| Product no-image | `user-app` `public/img/no-items.png` and `src/assets/img/no-items.png` |
|
||||
| Lazy-load error placeholder | Continues to use `brand-logo.png` via `main.ts` (no code path change) |
|
||||
|
||||
## Out of scope
|
||||
|
||||
- Renaming brand strings in `brand.ts` or SMS env
|
||||
- Empty-state SVG illustrations (cart empty, etc.)
|
||||
- Regenerating `dist/` / API release builds (caller rebuilds as needed)
|
||||
|
||||
## Approach
|
||||
|
||||
Overwrite fixed filenames listed in `docs/BRANDING.md`. Resize the same master for PWA/favicon sizes. No Vue template changes required if paths stay the same.
|
||||
Reference in New Issue
Block a user