From 21c52a84ed34135689e09591cdc2686f09e92f4d Mon Sep 17 00:00:00 2001 From: zahravaziri Date: Mon, 30 Jun 2025 17:06:27 +0330 Subject: [PATCH] change design language modal --- messages/en.d.json.ts | 3 + messages/en.json | 3 + messages/fa.json | 3 + src/assets/images/en_square.png | Bin 0 -> 980 bytes src/assets/images/images.ts | 3 + src/assets/images/ir_square.png | Bin 0 -> 2156 bytes src/components/layout/languageModal/index.tsx | 60 +++++++----------- 7 files changed, 36 insertions(+), 36 deletions(-) create mode 100644 src/assets/images/en_square.png create mode 100644 src/assets/images/ir_square.png diff --git a/messages/en.d.json.ts b/messages/en.d.json.ts index 7563cdc..950a8e3 100644 --- a/messages/en.d.json.ts +++ b/messages/en.d.json.ts @@ -102,6 +102,9 @@ declare const messages: { "com_contact_textarea_error": "Message must be at least 10 characters long.", "com_contact_button_submit": "Submit Message", "pages_notFound_title": "404 Not Found Page", + + "com_modal_language_title": "Please select language", + "com_modal_language_close": "Close", "pages_notFound_description": "You can either head back to the Homepage or try a search.", "pages_notFound_button": "Go To Home", diff --git a/messages/en.json b/messages/en.json index f862f3a..b187862 100644 --- a/messages/en.json +++ b/messages/en.json @@ -99,6 +99,9 @@ "com_contact_textarea_error": "Message must be at least 10 characters long.", "com_contact_button_submit": "Submit Message", "pages_notFound_title": "404 Not Found Page", + + "com_modal_language_title": "Please select language", + "com_modal_language_close": "Close", "pages_notFound_description": "You can either head back to the Homepage or try a search.", "pages_notFound_button": "Go To Home", diff --git a/messages/fa.json b/messages/fa.json index 1884478..f67e281 100644 --- a/messages/fa.json +++ b/messages/fa.json @@ -98,6 +98,9 @@ "com_contact_phone_error": "شماره تماس معتبر نیست (مثلاً: 09123456789)", "com_contact_textarea_error": "پیام باید حداقل ۱۰ کاراکتر باشد", "com_contact_button_submit": "ارسال پیام", + + "com_modal_language_title": "لطفاً زبان را انتخاب کنید", + "com_modal_language_close": "بستن", "pages_notFound_title": "صفحه مورد نظر پیدا نشد.", "pages_notFound_description": "صفحه‌ای که به دنبال آن هستید وجود ندارد یا منتقل شده است. لطفاً آدرس را بررسی کنید یا به صفحه اصلی بازگردید.", "pages_notFound_button": "بازگشت به صفحه اصلی", diff --git a/src/assets/images/en_square.png b/src/assets/images/en_square.png new file mode 100644 index 0000000000000000000000000000000000000000..a87ac24213d34293cbf0ff2d5f001f61cceb1869 GIT binary patch literal 980 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 Lc4ug(FOmKRTJ7ME literal 0 HcmV?d00001 diff --git a/src/components/layout/languageModal/index.tsx b/src/components/layout/languageModal/index.tsx index b5d5c27..baa9ed8 100644 --- a/src/components/layout/languageModal/index.tsx +++ b/src/components/layout/languageModal/index.tsx @@ -2,70 +2,58 @@ import { useEffect, useState } from 'react'; import { TLocales } from '@/models/layout'; -import Button, { IconButton } from '@/components/uikit/button'; import images from '@/assets/images/images'; import Image from 'next/image'; -import { Icon } from '@/components/uikit/icons'; +import { useTranslations } from 'next-intl'; const languages = [ { title: 'EN', - image: images.langEn, + image: images.en, locale: 'en', }, { title: 'FA', - image: images.langFa, + image: images.fa, locale: 'fa', }, ]; export default function ModalLanguageSelector() { - const [showModal, setShowModal] = useState(false); - + const [show, setShow] = useState(false); + const t = useTranslations(); useEffect(() => { - const alreadySelected = localStorage.getItem('selectedLocale'); - if (!alreadySelected) { - setShowModal(true); - } + const selected = localStorage.getItem('selectedLocale'); + if (!selected) setShow(true); }, []); - const handleCancel = () => { - setShowModal(false); - }; - const changeLocale = (locale: TLocales) => { localStorage.setItem('selectedLocale', locale); - const currentPath = window.location.pathname; - const newPath = currentPath.replace(/^\/(en|fa)/, ''); - window.location.pathname = `/${locale}${newPath}`; + const path = window.location.pathname.replace(/^\/(en|fa)/, ''); + window.location.pathname = `/${locale}${path}`; }; + const closeModal = () => setShow(false); - if (!showModal) return null; + if (!show) return null; return ( -
-
- - - - -

- Select Language -

-
+
+
+
{languages.map((lang) => ( - + + {lang.title} + + {lang.title} +
))}