canina/frontend/application/app
parsa aghaei 86e8101d8c
Some checks failed
Deploy Canina / deploy (push) Successful in 2m27s
E2E Playwright Tests / Run Full E2E & Security Suites (push) Failing after 0s
fix: mobile UX improvements - scroll restoration, OTP autofill, swipe direction, back button
- ClientLayout: implement proper manual scroll restoration using module-level
  _wasPopNavigation flag and sessionStorage. Fixes scroll jumping to top/bottom
  on Back navigation. Scroll position saved on scroll (debounced) and cleanup,
  restored via double-rAF on popstate navigation.

- AuthModal/LoginModal: fix Android back button to push only ONE history sentinel
  on modal open (not on every subView/step change). Prevents stacking of extra
  history entries. Back in sub-views re-pushes sentinel for next back press.

- AuthModal/LoginModal: remove navigator.credentials.get (WebOTP API) which was
  showing an intrusive permission modal. The native autoComplete=one-time-code
  on the first OTP input provides the suggestion bar above the keyboard instead.

- AuthModal/LoginModal: add isVerifyingRef guard to prevent double toast on
  successful login. Both onComplete callback and form submit were calling
  triggerVerifyOtp/handleVerifyOtpWithCode simultaneously.

- AuthModal: remove triggerVerifyOtp from handleOtpChange to eliminate the second
  duplicate call (only onComplete now triggers verification).

- OtpInput5: remove maxLength=1 restriction from first input so browser can
  inject the full 5-digit OTP code. Multi-char input is already handled by
  handleDigitChange which distributes digits across all boxes.

- ProductPage: fix swipe gesture direction in media gallery. Swipe right -> next
  item, swipe left -> previous item (matches RTL intuition for Persian users).
2026-09-05 18:19:11 +03:30
..
about feat(seo): unify dynamic SEO metadata and title formatting across backend, admin and application 2026-08-19 15:03:10 +03:30
api feat(images): enable Next.js image optimization with complete upstream buffer retrieval and explicit MIME types 2026-09-02 16:14:33 +03:30
b2b feat(core): polish codebase, enhance error handling, security hardening, rate limiting, and a11y compliance 2026-08-25 11:33:37 +03:30
blog feat(media): implement nextjs media proxy API routes (/api/uploads & /api/media) with server-side caching and streaming 2026-08-29 12:13:16 +03:30
catalog feat(products): remove mock static fallbacks and add dynamic specialist recommendation management in database and admin panel 2026-09-02 15:50:01 +03:30
checkout feat(seo): unify dynamic SEO metadata and title formatting across backend, admin and application 2026-08-19 15:03:10 +03:30
contact feat(seo): implement B2B dedicated route, structured data schemas, archive optimizations, and SEO database backfill 2026-08-25 11:19:30 +03:30
dashboard feat(routes): add /dashboard/pets and /dashboard/orders routing handlers 2026-08-26 14:28:49 +03:30
payment/verify fix: resolve wallet topup callback and verify flow, fix admin orders BigInt serialization 500 error, and fix reactive B2B settings toggle 2026-08-16 18:20:46 +03:30
privacy feat(seo): unify dynamic SEO metadata and title formatting across backend, admin and application 2026-08-19 15:03:10 +03:30
profile feat(seo): unify dynamic SEO metadata and title formatting across backend, admin and application 2026-08-19 15:03:10 +03:30
search feat(seo): unify dynamic SEO metadata and title formatting across backend, admin and application 2026-08-19 15:03:10 +03:30
shop fix: make product key highlights and FAQs purely dynamic based on admin inputs without hardcoded fallbacks 2026-09-02 11:51:35 +03:30
sitemap-categories.xml feat(seo): implement technical SEO for product catalog, dynamic sitemaps, RSS feeds and graphify update 2026-08-24 17:04:31 +03:30
sitemap-products.xml feat(seo): implement technical SEO for product catalog, dynamic sitemaps, RSS feeds and graphify update 2026-08-24 17:04:31 +03:30
smart-advisor feat: user crm metrics, product total sold, dynamic menu sync, blog views & advisor route 2026-08-26 14:05:26 +03:30
track feat(seo): unify dynamic SEO metadata and title formatting across backend, admin and application 2026-08-19 15:03:10 +03:30
trust-seals feat(payment): implement complete Zibal IPG, EBank, Wallets, Refunds and Trust Seals 2026-08-22 13:40:42 +03:30
videos feat(seo): implement B2B dedicated route, structured data schemas, archive optimizations, and SEO database backfill 2026-08-25 11:19:30 +03:30
wiki feat(seo): implement B2B dedicated route, structured data schemas, archive optimizations, and SEO database backfill 2026-08-25 11:19:30 +03:30
ClientLayout.tsx fix: mobile UX improvements - scroll restoration, OTP autofill, swipe direction, back button 2026-09-05 18:19:11 +03:30
error.tsx feat(router): add streaming app/loading.tsx skeleton and global app/error.tsx boundary [TASK-108] 2026-07-26 14:57:06 +03:30
favicon.ico fix(admin,sms,ui): resolve LTR input icon overlap, clarify melipayamak pulses credit and update UI texts 2026-09-05 09:09:36 +03:30
globals.css perf(mobile): add cart aria-label, fix heading levels h3, and remove duplicate font network chains 2026-09-02 14:21:11 +03:30
HomeClient.tsx fix(admin,sms,ui): resolve LTR input icon overlap, clarify melipayamak pulses credit and update UI texts 2026-09-05 09:09:36 +03:30
layout.tsx perf: defer 3rd-party analytics, optimize responsive image sizes, and prioritize LCP hero banner 2026-09-02 16:38:04 +03:30
loading.tsx feat(router): add streaming app/loading.tsx skeleton and global app/error.tsx boundary [TASK-108] 2026-07-26 14:57:06 +03:30
not-found.tsx feat: complete admin panel major functionalities including responsive layout, recharts, custom modals, inline editing, and loading states 2026-06-12 16:19:57 +03:30
page.tsx fix(admin,sms,ui): resolve LTR input icon overlap, clarify melipayamak pulses credit and update UI texts 2026-09-05 09:09:36 +03:30
robots.ts feat(seo): implement technical SEO for product catalog, dynamic sitemaps, RSS feeds and graphify update 2026-08-24 17:04:31 +03:30
sitemap.ts feat(seo): implement technical SEO for product catalog, dynamic sitemaps, RSS feeds and graphify update 2026-08-24 17:04:31 +03:30