Commit Graph

20 Commits

Author SHA1 Message Date
AutonetSellCar Deploy
7c97d9aecb feat: Add Promo Interest column to admin users page
- Backend: Include promo_preferred_maker, promo_preferred_model, promo_email_enabled in admin/users API
- Frontend: Add AdminUser interface fields
- Admin UI: Display Promo Interest column with maker/model and email alert status

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 07:51:55 +09:00
AutonetSellCar Deploy
800b2b4c61 fix: Remove trailing slashes from makers/models routes
FastAPI's redirect_slashes was causing /makers/ to redirect to /makers
which then didn't match the route definition.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 23:52:16 +09:00
AutonetSellCar Deploy
2354ee8bbb fix: Remove duplicate saving key from i18n interface
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 23:41:57 +09:00
AutonetSellCar Deploy
0cac315818 fix: Remove duplicate selectMaker/selectModel from i18n
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 23:40:12 +09:00
AutonetSellCar Deploy
2720689515 feat: Add promo preference survey on main page
- Add promo preference fields to User model (promo_preferred_maker,
  promo_preferred_model, promo_email_enabled)
- Create API endpoints for getting/updating promo preferences
- Create PromoPreference component with maker/model selection
- Show login prompt for non-logged-in users when interacting
- Add promo notification service to send emails when matching vehicles
  are added to promotion
- Add multi-language translations (en, mn, ru, ko)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 23:37:31 +09:00
AutonetSellCar Deploy
0b6bdf44e3 fix: Add board_enabled to SystemSettings interface
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 01:39:20 +09:00
AutonetSellCar Deploy
e0c1f4540b feat: Add bulletin board system
- Add BoardCategory and BoardPost models with multi-language support
- Add bulletin API endpoints (CRUD, notice toggle, pin toggle)
- Add board_enabled setting to control menu visibility
- Create frontend board pages (list, detail, write, edit)
- Create admin board management and category management pages
- Update Header.tsx with conditional Board menu between Inquiry and Contact Us
- Update admin settings with board_enabled toggle
- Add Board menu to admin sidebar

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 01:34:41 +09:00
AutonetSellCar Deploy
b8cab29ed2 Add 'Seed Defaults' button to load all predefined translations
- Add /translations/seed-all-defaults API endpoint
- Loads all DEFAULT_TRANSLATIONS (makers, models, colors, fuels, transmissions)
- Includes 100+ predefined translations (Mohave, Sonata, colors, etc.)
- Add 'Seed Defaults' button to admin translations page

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 20:53:14 +09:00
AutonetSellCar Deploy
77e707167f Fix Mixed Content issue on staging (HTTPS/HTTP mismatch)
- Add Next.js API rewrites to proxy /api and /uploads requests
- Update docker-compose.staging.yml to use relative API paths
- Set NEXT_PUBLIC_API_URL to empty for staging (use rewrites)
- Add BACKEND_URL env var for Next.js server-side proxying
- Update all files to use relative paths when API_URL is empty

This fixes the issue where the staging site (HTTPS) was trying to
load resources from HTTP backend, causing Mixed Content errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 18:32:00 +09:00
AutonetSellCar Deploy
7c943d8553 Add SNS Marketing Campaign feature
- Add cash_cc_balance to User model (withdrawable CC)
- Create SnsShareSubmission model for SNS share verification
- Add marketing campaign settings to SystemSettings
- Add reward_type to ReferralReward model
- Create /api/sns-share endpoints for submission and verification
- Add referral signup reward logic (10CC on signup)
- Create /sns-share user page for SNS sharing
- Create /admin/sns-shares management page
- Add marketing settings UI to admin settings page
- Add SNS Shares menu to admin sidebar

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 18:21:17 +09:00
AutonetSellCar Deploy
b0a78abeb3 Add directly purchased cars to My Requests page
- Add new /my-vehicles API endpoint returning both recommended and direct purchases
- Add DirectPurchasedCarResponse and MyVehiclesResponse schemas
- Update frontend to display directly purchased cars (from banners with 1CC)
- Show separate collapsible section for direct purchases

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 13:10:00 +09:00
AutonetSellCar Deploy
757241bb4e Add car_id field to RequestVehicle interface
- Add optional car_id field for linking to cars table
- Add regenerateSingle function to adminPdfApi

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 12:28:13 +09:00
AutonetSellCar Deploy
2da464694b Change Mongolian Fee to Local Dealer Fee in cost calculator 2026-01-01 21:37:28 +09:00
AutonetSellCar Deploy
9853f0b4d5 Feat: 강력한 비밀번호 정책 및 로그인 보안 강화
- 비밀번호 최소 10자 이상, 특수문자 1개 이상 필수
- 20회 로그인 실패 시 비밀번호 재설정 필요
- 로그인 페이지에 남은 시도 횟수 경고 표시
- 계정 잠금 시 비밀번호 재설정 링크 제공
- 회원가입 페이지에 비밀번호 요구사항 체크리스트 UI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 19:19:36 +09:00
AutonetSellCar Deploy
9a3a6dc8eb Add translation for 마이스터 (Meister) grade
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 09:50:14 +09:00
AutonetSellCar Deploy
3a4475ea28 Fix banner reorder API with proper request schema
- Create BannerReorderRequest Pydantic model for reorder endpoint
- Update frontend to send car_ids wrapped in object
- Fixes 422 Unprocessable Entity on reorder API

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:21:05 +09:00
AutonetSellCar Deploy
c9fd7611a7 feat: Add banner toggle and soldout tracking to Cars page
- Add is_banner, soldout fields to Car model
- Add banner toggle API (POST /hero-banners/admin/toggle/{car_id})
- Add soldout APIs (POST/DELETE /cars/{car_id}/soldout)
- Add nightly soldout checker in agent (runs at 3:00 AM)
- Update Local Cars UI with banner checkbox and status column
- Remove hero-banners admin page (functionality moved to Cars page)
- Banner cars sorted to top with purple background
- Soldout cars displayed with gray overlay

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 12:50:40 +09:00
AutonetSellCar Deploy
e661d91c72 fix: banner translations and deployment improvements
- Add translateCarName import from i18n.ts for proper multilingual support
- Change default API language from 'ko' to 'en' for hero banners
- Add checkbox column for Local Cars banner registration
- Update Dockerfile with Playwright dependencies
- Add PostgreSQL migration script
- Add banner translation fix script

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 10:41:42 +09:00
AutonetSellCar Deploy
1d8e4435b3 Feature: Russian language support & Vehicle Requests improvements
- Add Russian language support (title_ru, subtitle_ru) for hero banners
- Add fuel/transmission translations for Mongolian (경유→Дизель, 오토→Автомат)
- Improve Vehicle Requests admin page:
  - Display real request ID and user email
  - Show detailed request info (maker, grade, year, fuel, mileage)
  - Replace modal search with Cars page integration
- Add "Add to Request" flow in Cars page for vehicle recommendations
- Fix image URL handling in FilmStripSlider and car detail page

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 18:56:28 +09:00
AutonetSellCar Deploy
1f0dcb1ddb Initial commit: AutonetSellCar platform with deployment system
- Frontend: Next.js 14 with TypeScript
- Backend: FastAPI with SQLAlchemy
- Agent: Carmodoo sync agent
- Deployment: Docker Compose based staging/production setup
- Scripts: Automated deployment with rollback support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 13:24:39 +09:00