Commit Graph

60 Commits

Author SHA1 Message Date
payacom
e31a08df41 Fix financial page mobile layout, restore shop-discover category chips, unify chip height
- financial/page.tsx: the title+date and amount+status rows used a hard
  flex-col/flex-row breakpoint switch (sm:), so below 640px every row
  stacked into 4 separate lines instead of wrapping gracefully — now
  always flex-row with flex-wrap, min-w-0/shrink-0/truncate so long
  content wraps instead of the date/badge visually colliding
- shops/discover/page.tsx: restored the real category chips (fetched from
  /shop-categories) alongside All/Pinterest — my earlier pass replaced
  the whole filter row with just those two, dropping the categories the
  page never actually had a chance to keep
- buttonStyles.ts: btnFilterChip/btnFilterChipActive now have an explicit
  h-9 (matching toggleBtnClass, used right above them on the shop
  dashboard) instead of deriving height from padding alone, which made
  them visibly shorter than the buyer/seller toggle

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 16:31:08 +03:30
payacom
71da2b53fe Add coin-flies-to-wallet animation to the gift reveal modal
Web mirror of the RN change — same timing constants, same idea: the amount
flies from its pop-in position toward a wallet badge that pulses on
arrival, and the "credited" hint fades in at that moment instead of
showing immediately. Wallet crediting itself was already correctly
deferred server-side until POST /gifts/:id/open.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 14:22:51 +03:30
payacom
e652c255c9 Fix Projects nav double-click, shop verify badge, add send-to-users everywhere
- new-project/layout.tsx was hardcoding currentPage="/projects" while the
  real route is /new-project, so TabNavigation's isExactRoot guard thought
  it was already on the Projects tab and preventDefault'd the first click
  with no navigation — now passes the real path (isActive's highlight logic
  already had a dedicated case for /new-project, so nothing else changes)
- resolveShopVerificationTier: shop verify checkmarks always render green
  regardless of the underlying tier, applied at all 3 shop render sites
- Add a "send to users" icon/button next to share on the product detail
  page, the owner product-manage page, and the shop profile pages (public +
  owner), reusing/mirroring the existing SendProductModal pattern
- New SendShopModal + sharedShop chat-bubble kind (ChatMessageCard via
  SharedShopBubble) so a whole shop can be sent into a chat, not just one
  product — backed by the new POST /shops/:id/send endpoint

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 14:06:57 +03:30
payacom
60d1aac55b Fix missing "All" filter translation key on shop discover page
t("common.all") didn't resolve to anything on web (unlike the RN app,
which does have that key) — verified in the browser, where the chip
rendered as the literal string "common.all". Added a proper
shops.allFilter key instead of guessing at an existing one.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 10:32:45 +03:30
payacom
d7051c6b16 Add Pinterest product tag: discover filter, Reels badge, and images-step checkbox
- Pinterest filter toggle on the Shop discover page, alongside "All",
  backed by the backend's new ?pinterest=true param on
  /shop-products/discover
- Pinterest badge shown above the favorite button in ShopReelsView's
  action rail for products tagged is_pinterest
- "Pinterest product" checkbox at the bottom of the product images step
  (create wizard and edit flow share the same route)
- New pinterest bold-icon SVG under public/images/icons/vuesax/bold

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 10:24:12 +03:30
payacom
d2f3a96ddf Enable Next.js image optimization across ~60 remaining unoptimized <Image> spots
- Remove `unoptimized` from every Image that was pointing at a real remote/
  static file (Reels image carousel, story avatars/viewer, shop product
  grids/details, chat shared-post/product/story bubbles, notification/
  visitor rows, tag/mention pickers, etc.) so Next's own resize+avif/webp
  pipeline (already configured in next.config.ts) actually applies —
  previously only a handful of components used it, everything else shipped
  full-resolution originals regardless of the tiny thumbnail size shown
- Add a `sizes` prop wherever `fill` was used without one, so the optimizer
  picks an appropriately small srcset entry instead of defaulting to 100vw
- Fix ProfileAvatar to request the actual displayed size instead of always
  requesting 280x280 regardless of the `size` prop
- Left `unoptimized` on the handful of genuinely local/ephemeral sources
  (blob:/data: URIs from in-progress uploads, third-party QR API images,
  static SVG icons) where Next's optimizer can't or shouldn't apply
- Add next-story prefetch to StoryViewer (previously only Reels prefetched
  upcoming media; swiping to the next story always cold-started before)
- Fix .claude/launch.json's dev server port (3000 -> 3004) to match
  package.json's actual `next dev --port 3004`

Verified via `tsc --noEmit` (no new errors) and by diffing this app's
console/network behavior against a git-stashed baseline in the browser
preview — the one pre-existing hydration warning and 401s (unauthenticated
session) are present on both, and /_next/image requests now succeed for
avatars/thumbnails that previously bypassed optimization entirely.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 18:40:45 +03:30
payacom
9310062616 Fix shop UI RTL/layout consistency and tab reselect behavior
- Align shop header layout (logo, name, verification badge, share button)
  and RTL/LTR positioning across shop, listing, billboard, wallet, gift,
  and academy pages with the Android app's equivalent screens
- Fix TabNavigation's tab-reselect scroll-to-top to only fire on the
  exact tab route, not any active sub-route
- Add verification badge to shop owner name; add brand icon assets

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 17:29:24 +03:30
payacom
9d48c0534e 4.1.3 2026-09-13 21:32:32 +03:30
payacom
901ce94443 secret chat 2026-09-10 16:51:26 +03:30
payacom
2d5505065b git 2026-09-09 10:19:27 +03:30
payacom
bf41ad4e0f check 2026-09-03 16:04:52 +03:30
payacom
76ef4e32a9 order 2026-09-01 13:51:50 +03:30
payacom
1ba6646bf9 project 2026-08-18 20:22:07 +03:30
payacom
0c6e1a7125 lang full 2026-08-16 11:42:39 +03:30
payacom
c879976c56 reels 2026-08-14 21:31:11 +03:30
payacom
a92a3ca5e6 lang 2026-08-13 21:20:23 +03:30
payacom
ef2e86861a instagram 2026-08-13 13:09:25 +03:30
payacom
54623fb720 verify 2026-08-11 19:39:10 +03:30
payacom
491040f752 rezerv 2026-08-05 15:12:39 +03:30
payacom
89320d57b9 shop full 2026-08-04 21:12:03 +03:30
payacom
dc4467d43d shop 2026-08-02 21:20:08 +03:30
payacom
5ecbcd1f26 shop 2026-07-31 21:20:13 +03:30
payacom
67f59eefdf post 2026-07-28 10:06:42 +03:30
payacom
a1d7db5e7e lang 2026-07-23 15:58:15 +03:30
payacom
af5b27b610 full update 2026-07-18 14:29:05 +03:30
payacom
17f334d0f1 chat 2026-07-16 21:31:59 +03:30
payacom
58314d0ab5 login 2026-07-16 20:08:49 +03:30
payacom
39b12a0986 chat 2026-07-12 19:01:04 +03:30
payacom
20c780f104 icone 2026-07-12 12:48:02 +03:30
payacom
94b8ddc589 seo 2026-07-12 11:52:53 +03:30
payacom
d83e91dd2d updata 2026-07-11 21:38:41 +03:30
payacom
402f199e58 icons 2026-07-11 20:59:27 +03:30
payacom
0864ae4723 explor 2026-07-11 20:48:36 +03:30
payacom
8e75913441 pic 2026-07-11 18:05:22 +03:30
payacom
5dfbbdc33b post pic 2026-07-11 17:00:41 +03:30
payacom
c6db3cee05 post 2026-07-11 16:48:45 +03:30
payacom
2863cdf490 updata 2026-07-10 18:17:11 +03:30
Amirreza
ce1becc392 .. 2026-07-09 23:27:25 +03:30
Amirreza
a7cdd18ab7 test 2026-07-09 23:13:16 +03:30
Amirreza
ceddb54019 .. 2026-07-09 23:09:32 +03:30
Amirreza
349f87b069 test 2026-07-09 22:56:18 +03:30
payacom
edb094e323 Initial commit 2026-07-09 15:26:46 +03:30
payacom
ff2009c402 aa 2026-07-08 21:28:50 +03:30
payacom
d2d3398471 Initial commit 2026-07-08 21:01:18 +03:30
Amirreza
78decbba05 modified: src/app/(auth)/(login)/change-passowrd/page.tsx 2026-07-08 07:20:17 +03:30
root
d982a8852a final: sync production version 2026-07-08 06:48:44 +03:30
Amirreza
aae7a68cda test 2026-07-05 22:04:36 +03:30
Amirreza
0bcea0354c modified: Dockerfile 2026-07-05 21:16:23 +03:30
Amirreza
63b2e3d31f .. 2026-07-05 21:14:47 +03:30
Amirreza
73d803edb1 modified: src/components/main/BaseUrl.ts 2026-07-05 19:56:09 +03:30