feat(ux/sms/engine): complete Persian UX writing overhaul, Wolog SMS integration and respin support

This commit is contained in:
s.esmaeili
2026-10-10 01:22:48 +03:30
parent c29d0e31b1
commit 0aafd098f8
223 changed files with 14421 additions and 1846 deletions
+10 -5
View File
@@ -101,16 +101,16 @@ export const useSpinStore = defineStore('spin', () => {
err.response?.data?.message ||
(Array.isArray(err.response?.data?.message)
? err.response?.data?.message.join(' - ')
: 'خطا در برقراری ارتباط با سرور قرعه‌کشی');
: 'خطا در ارتباط با سرور گردونه شانس');
if (typeof msg === 'string') {
if (msg === 'CAMPAIGN_DRAFT') {
msg = 'این کمپین در وضعیت پیش‌نویس (DRAFT) قرار دارد و هنوز فعال نشده است.';
msg = 'این گردونه شانس در حال آماده‌سازی است و هنوز فعال نشده است.';
} else if (msg === 'CAMPAIGN_PAUSED') {
msg = 'این کمپین موقتاً متوقف شده است.';
msg = 'این گردونه شانس موقتاً متوقف شده است.';
} else if (msg === 'CAMPAIGN_NOT_STARTED') {
msg = 'زمان شروع این کمپین هنوز فرا نرسیده است.';
msg = 'زمان شروع این گردونه شانس هنوز فرا نرسیده است.';
} else if (msg === 'CAMPAIGN_FINISHED') {
msg = 'مهلت شرکت در این کمپین به پایان رسیده است.';
msg = 'مهلت شرکت در این گردونه شانس به پایان رسیده است.';
}
}
errorMessage.value = msg;
@@ -140,6 +140,11 @@ export const useSpinStore = defineStore('spin', () => {
}
showResultModal.value = true;
// Trigger SMS notification now that the wheel stopped and the modal is visible
if (spinResult.value?.spinId) {
apiClient.post(`/campaigns/spins/${spinResult.value.spinId}/notify`).catch(() => {});
}
}
function closeResultModal() {