- Require guest users to log in via AuthModal when clicking the Refill subscription card
- Add clear descriptive label: 'ویژه اعضا - محاسبه هوشمند دوره مصرف و یادآوری پیامکی قبل از اتمام'
- Ensure fallback categories & symptoms are populated immediately in state so menuItems is never empty
- Attach mega menu popup panel directly to the sub-navbar button for 800px-1224px screen range
- Below 800px: Hamburger drawer menu is used
- Between 800px and 1224px: Clean horizontal sub-navbar appears below main header row (no hamburger icon)
- Above 1224px (xl): Main navigation items return inline inside main header container centered perfectly
- Show 2-row layout below 470px width, and automatically switch to single-row layout for viewports 470px and wider
- Shift desktop navigation menu items display breakpoint from 1024px (lg) to 1280px (xl / ~1224px) to prevent action button overflow on medium laptop screens
- Place logo & brand title on row 1 and action buttons (search, login, cart) on row 2 for 100% width mobile clearance
- Remove duplicate inline back-to-top text link in footer and adjust floating button z-index & bottom offset
- Add whitespace-nowrap to footer links (درباره ما، تماس با ما، حریم خصوصی) to prevent line breaks
- Fix Header mobile logo/button overflow on 320px-375px screens by making logo text truncate gracefully & action buttons compact
- Make 3 hero stat boxes stay side-by-side in a 3-column grid with centered icons/text on mobile screens
- Adjust 'کیفیت / استانداردهای فوقدارویی' label position so it stays contained within the image boundaries without overflowing the screen
- Add interactive Back to Top button (both floating and footer button) for quick navigation
- Add global overflow-x-hidden and max-w-[100vw] to prevent any unwanted horizontal scrollbars across all viewports
- Verify mobile drawer, grid cards, header, and calculator responsiveness from 320px to 1440px+
- Calculate dosage in grams per kg of puppy weight for Canina Welpenmilch (puppy milk powder) and Canina Welpenbrei (puppy porridge)
- Display exact water mixing ratio (e.g. 15g powder mixed with 45ml warm water) and calculate package duration reactively
- Hide weight-based dosage calculator for topical/external care products (eye drops, paw balm, sprays, lotions)
- Show dedicated topical usage guide card explaining that dosage is independent of body weight
- Retain active dynamic weight calculator for all oral supplements (tablets, oils, gels, powders)
- Automatically prefill pet weight and age if user has a registered pet profile
- Provide dynamic weight-based dosage calculation fallback for all products when browsing as guest
- Update daily dose, duration, and package longevity reactively upon slider and age button interactions
- Explain why registering a pet profile is essential (dosage safety, clinical symptom matching, and refill reminders)
- Upgrade visual presentation with premium cards, micro-animations, and clear benefits on HomePage and /profile
- Display informative header banner explaining why registering a pet profile is crucial for accurate supplement dosage, symptom matching, and refill tracking
- Directly embed the 4-step SmartAdvisor on /profile when no pets have been registered yet
- Expand SmartAdvisor options to include all clinical symptoms (joint pain, limp, diarrhea, hair loss, tartar, eye care, etc.)
- Dynamically match active pet symptoms against product symptoms in PetProfile recommended products engine
- Display specific symptom match badges (e.g. توصیه شده برای درد مفاصل لوسی) directly on product cards
- Convert product cards in ArchivePage, IngredientWiki, and SearchResultsPage to Next.js <Link>
- Support right-click / middle-click to open products in new tabs
- Display native target URL preview in browser status bar on hover
- Add polyglyceryl-4 caprate, carbomer, dextrose, lactose, vitamins A/C/D3/E/B-complex, minerals, excipients, and all plant/animal extracts across all 20+ products to scientificTerms.ts
- Fully support tooltips and wiki links for every ingredient item without exception
- Add colloidal silver, retinol palmitate, grapefruit seed extract, bovine blood/serum, argan/walnut/rosehip oils, etc.
- Map all product ingredients across all categories to Wiki scientific terms
- Update IngredientWiki matching rules for 100% ingredient coverage
- Add term query param handling to IngredientWiki with smooth scroll and target highlight
- Fix Tooltip dark box contrast and click event propagation for study full article button
- Improve ingredient fuzzy matching in ProductPage for complete wiki term linking
- Add local Persian fonts: Vazirmatn, Sahel, Shabnam, Lalezar, IranNastaliq
- Configure @font-face in globals.css with all font weights
- Set Vazirmatn as primary font, Lalezar for headings, Sahel for alt text
- Fix Hero image loading with crossOrigin and error fallback
- Fix SmartAdvisor disabled button contrast (WCAG compliance)
- Add visible labels for form inputs in SmartAdvisor step 1
- Fix UserDashboard null safety for walletBalance
- Fix announcement bar hydration mismatch (loading state guard)
- Fix UserDashboard null checks for profile fields
- Improve overall frontend robustness and data-loading guards
- Hero.tsx reads hero_image_url from uiText store first, falls back to banners then default
- Seed script now only creates keys that don't exist (no overwrite)
- Added hero_image_url key to seed + admin panel UI texts groups
- Reverted DEFAULT_TEXTS initialization (caused hydration mismatch)
- settingsStore back to empty init, fetchSettings populates from API
- blog/[slug]/page.tsx: fix params type to Promise and await it
- wiki/[slug]/page.tsx: fix params type to Promise and await it + Fix API port from 4000 to 4001
- blog/page.tsx: fix fallback API URL from port 4000 to 4001