refactor: migrate project to TypeScript and translate comments to English
Build & Deploy (develop) / build-and-deploy (push) Successful in 2m23s
Build & Deploy (develop) / build-and-deploy (push) Successful in 2m23s
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# روبات مارکت — Vending Machine Showcase
|
||||
|
||||
صفحه معرفی دستگاههای وندینگ روبات مارکت، ساختهشده با Next.js، React و Ant Design.
|
||||
صفحه معرفی دستگاههای وندینگ روبات مارکت، ساختهشده با Next.js، TypeScript، React و Ant Design.
|
||||
|
||||
## اجرا
|
||||
|
||||
@@ -11,6 +11,15 @@ npm run dev
|
||||
|
||||
سایت در http://localhost:3000 در دسترس است.
|
||||
|
||||
## بررسی نوعها
|
||||
|
||||
```bash
|
||||
npm run typecheck
|
||||
```
|
||||
|
||||
کد برنامه با TypeScript و حالت strict بررسی میشود. نوعهای مشترک در `types/domain.ts` و هوکهای Redux در `store/hooks.ts` قرار دارند.
|
||||
تنظیمات Next.js و PostCSS برای سازگاری با ابزارهای فعلی به JavaScript باقی ماندهاند؛ تنظیمات Tailwind در `tailwind.config.ts` است.
|
||||
|
||||
## ساخت نسخه نهایی
|
||||
|
||||
```bash
|
||||
@@ -22,15 +31,15 @@ npm start
|
||||
|
||||
## ساختار و بخشهای فعال
|
||||
|
||||
- `app/page.jsx`: صفحه اصلی شامل هدر، سبد خرید، هیرو، ویترین دستگاهها، مزایا، درباره ما، محلهای مناسب نصب و فوتر.
|
||||
- `components/HeroSection.jsx`: اسلایدر تصاویر دستگاهها.
|
||||
- `components/ShowcaseSection.jsx`: انتخاب نمایش موبایل یا ویترین افقی دسکتاپ.
|
||||
- `components/HorizontalShowcase.jsx`: ویترین افقی با GSAP و ویدیوی پسزمینه وابسته به اسکرول.
|
||||
- `components/MobileShowcase.jsx`: فهرست دستگاهها در موبایل.
|
||||
- `components/VendingCard.jsx` و `components/FloatingItems.jsx`: نمایش دستگاه و جلوههای تصویری.
|
||||
- `components/CartDrawer.jsx` و `store/`: سبد خرید و مدیریت تعداد دستگاهها با Redux.
|
||||
- `data/content.js`: محتوای فارسی و انگلیسی، مشخصات و قیمت دستگاهها و مسیر رسانهها.
|
||||
- `app/context/` و `app/providers.jsx`: زبان، جهت صفحه، تم و تنظیمات Ant Design.
|
||||
- `app/page.tsx`: صفحه اصلی شامل هدر، سبد خرید، هیرو، ویترین دستگاهها، مزایا، درباره ما، محلهای مناسب نصب و فوتر.
|
||||
- `components/HeroSection.tsx`: اسلایدر تصاویر دستگاهها.
|
||||
- `components/ShowcaseSection.tsx`: انتخاب نمایش موبایل یا ویترین افقی دسکتاپ.
|
||||
- `components/HorizontalShowcase.tsx`: ویترین افقی با GSAP و ویدیوی پسزمینه وابسته به اسکرول.
|
||||
- `components/MobileShowcase.tsx`: فهرست دستگاهها در موبایل.
|
||||
- `components/VendingCard.tsx` و `components/FloatingItems.tsx`: نمایش دستگاه و جلوههای تصویری.
|
||||
- `components/CartDrawer.tsx` و `store/`: سبد خرید و مدیریت تعداد دستگاهها با Redux.
|
||||
- `data/content.ts`: محتوای فارسی و انگلیسی، مشخصات و قیمت دستگاهها و مسیر رسانهها.
|
||||
- `app/context/` و `app/providers.tsx`: زبان، جهت صفحه، تم و تنظیمات Ant Design.
|
||||
- `app/globals.css`: رنگها و استایلهای مشترک.
|
||||
- `public/`: تصاویر دستگاهها، اقلام شناور، گیفها و ویدیوی ویترین.
|
||||
|
||||
@@ -43,14 +52,14 @@ npm start
|
||||
|
||||
دکمه ورود به https://panel.my-rm.com متصل است.
|
||||
سبد خرید در حافظه نگهداری میشود و با بارگذاری مجدد صفحه پاک میشود.
|
||||
پرداخت هنوز متصل نیست؛ دکمه پرداخت در `CartDrawer.jsx` پیام نمایشی نشان میدهد.
|
||||
پرداخت هنوز متصل نیست؛ دکمه پرداخت در `CartDrawer.tsx` پیام نمایشی نشان میدهد.
|
||||
|
||||
## تنظیم API
|
||||
|
||||
برای تعیین آدرس بکاند، از `.env.local.example` یک فایل `.env.local` بسازید و
|
||||
`NEXT_PUBLIC_API_BASE_URL` را تنظیم کنید. کلاینت مشترک API در `lib/axios.js` قرار دارد.
|
||||
`NEXT_PUBLIC_API_BASE_URL` را تنظیم کنید. کلاینت مشترک API در `lib/axios.ts` قرار دارد.
|
||||
|
||||
## جایگزینی رسانهها
|
||||
|
||||
فایلهای واقعی را با مسیرهای موجود در `data/content.js` جایگزین کنید یا مسیرها را در همان فایل تغییر دهید.
|
||||
فایلهای واقعی را با مسیرهای موجود در `data/content.ts` جایگزین کنید یا مسیرها را در همان فایل تغییر دهید.
|
||||
ویدیوی پسزمینه ویترین از `public/video/showcase-placeholder.mp4` خوانده میشود.
|
||||
|
||||
Reference in New Issue
Block a user