feat: real back-in-stock subscription for Notify Me (API + localStorage fallback)

notifyMe() just called toggleWishlist() - no actual subscription
mechanism existed. Now calls a new subscribeToRestock() API method
(POST /items/{id}/notify-me, not yet built server-side - see
BACKEND-API-REFERENCE.md §12.5) and falls back to a local-only record
in localStorage on failure, so the request isn't silently dropped
while the backend catches up.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
sdarbinyan
2026-08-13 09:30:53 +04:00
parent 1af337f005
commit 0b08802996
7 changed files with 64 additions and 1 deletions

View File

@@ -321,6 +321,7 @@ export const en: Translations = {
compare: 'Compare',
share: 'Share',
notifyMe: 'Notify me',
notifyMeConfirmed: 'We\'ll let you know when this is back in stock.',
zoom: 'Zoom',
fullscreen: 'Fullscreen',
pdfDocument: 'Product PDF document',

View File

@@ -321,6 +321,7 @@ export const hy: Translations = {
compare: 'Համեմատել',
share: 'Կիսվել',
notifyMe: 'Ծանուցել ինձ',
notifyMeConfirmed: 'Մենք կտեղեկացնենք ձեզ, երբ ապրանքը կրկին հասանելի լինի։',
zoom: 'Մեծացնել',
fullscreen: 'Ամբողջ էկրան',
pdfDocument: 'Ապրանքի PDF փաստաթուղթ',

View File

@@ -321,6 +321,7 @@ export const ru: Translations = {
compare: 'Сравнить',
share: 'Поделиться',
notifyMe: 'Сообщить о наличии',
notifyMeConfirmed: 'Мы сообщим вам, когда товар снова появится в наличии.',
zoom: 'Увеличить',
fullscreen: 'Полный экран',
pdfDocument: 'PDF документ товара',

View File

@@ -319,6 +319,7 @@ export interface Translations {
compare: string;
share: string;
notifyMe: string;
notifyMeConfirmed: string;
zoom: string;
fullscreen: string;
pdfDocument: string;