Sfoglia il codice sorgente

fix_admin_template

unknown 2 giorni fa
parent
commit
0289ee1c9c
5 ha cambiato i file con 342 aggiunte e 73 eliminazioni
  1. 79 12
      src/locales/en.json
  2. 79 12
      src/locales/me.json
  3. 79 12
      src/locales/ru.json
  4. 79 12
      src/locales/ua.json
  5. 26 25
      src/pages/Admin.vue

+ 79 - 12
src/locales/en.json

@@ -86,11 +86,17 @@
     },
     "studio": "3D Printing Studio",
     "toasts": {
-      "accountCreated": "Account created! Please log in.",
+      "reviewApproved": "Review approved and published",
+      "accountCreated": "Account created!",
+      "checkEmailForVerify": "Please check your email to verify your account.",
+      "linkExpired": "Reset link has expired or is invalid.",
+      "verificationFailed": "Email verification failed.",
+      "googleLoginFailed": "Google Login failed.",
       "passwordChanged": "Password changed successfully!",
       "passwordsNoMatch": "Passwords do not match",
       "resetLinkSent": "Password reset link has been sent to your email.",
       "socialSoon": "{provider} login coming soon!",
+      "verified": "Account verified! You can now log in.",
       "welcomeBack": "Welcome back!"
     }
   },
@@ -216,17 +222,61 @@
   },
   "contact": {
     "form": {
-      "message": "Message",
-      "name": "Name",
-      "subject": "Subject",
-      "submit": "Send",
-      "title": "Email"
+      "email": {
+        "label": "Email",
+        "placeholder": "your{'@'}email.com"
+      },
+      "file": {
+        "button": "Select File",
+        "description": "Max 50MB. Formats: .stl, .obj, .step, .3mf",
+        "label": "Project Files (Optional)",
+        "selected": "File selected: {fileName}"
+      },
+      "message": {
+        "label": "Message",
+        "placeholder": "Tell us about your project..."
+      },
+      "name": {
+        "label": "Your Name",
+        "placeholder": "John Doe"
+      },
+      "subject": {
+        "label": "Subject",
+        "options": {
+          "careers": "Careers",
+          "general": "General Inquiry",
+          "other": "Other",
+          "quote": "Request Quote",
+          "support": "Technical Support"
+        },
+        "placeholder": "Select a topic"
+      },
+      "submit": "Send Message",
+      "submitting": "Sending...",
+      "success": "Message sent! We'll get back to you soon.",
+      "title": "Send a Message"
     },
     "info": {
-      "email": "hello@radionica3d.me",
-      "location": "Herceg Novi",
-      "phone": "+382 68 888 777",
-      "title": "Info"
+      "email": {
+        "description": "We usually respond within 2 hours.",
+        "title": "Email"
+      },
+      "hours": {
+        "description": "Online support is available daily.",
+        "schedule": "Mon - Fri: 09:00 - 18:00",
+        "title": "Working Hours"
+      },
+      "location": {
+        "description": "Stop by for a coffee and discuss your project.",
+        "title": "Location"
+      },
+      "social": {
+        "facebook": "Facebook",
+        "instagram": "Instagram",
+        "linkedin": "LinkedIn",
+        "title": "Social Media"
+      },
+      "title": "Contact Info"
     },
     "subtitle": "Get in touch."
   },
@@ -467,6 +517,13 @@
     },
     "subtitle": "How can we help?"
   },
+  "home": {
+    "reviews": {
+      "title": "Client Experiences",
+      "subtitle": "Discover what our customers say about our print quality and reliability.",
+      "verifiedCustomer": "Verified Customer"
+    }
+  },
   "hero": {
     "badge": "Trust in Every Layer",
     "description": "Unique 3D printing service in Montenegro: send us a model, receive it by mail with payment on delivery.",
@@ -496,6 +553,8 @@
     "philosophy": "Philosophy",
     "portfolio": "Portfolio",
     "register": "Register",
+    "toggleMenu": "Toggle Menu",
+    "changeLanguage": "Change Language",
     "services": "Services",
     "unreadMessages": "Unread Messages",
     "unreadTooltip": "Unread messages in chat"
@@ -566,6 +625,14 @@
     "noOrders": "No orders yet",
     "startProject": "Start New Project",
     "startProjectDesc": "Once you start a 3D printing project, you'll be able to track its progress right here.",
+    "review": {
+      "writeTitle": "Share Your Experience",
+      "placeholder": "How was the print quality? Was the delivery on time?",
+      "submit": "Post Review",
+      "success": "Thank you for your review!",
+      "pending": "Pending Approval",
+      "approved": "Public Review"
+    },
     "titleSubtitle": "Track your 3D printing projects"
   },
   "portfolio": {
@@ -623,7 +690,7 @@
         "title": "6. Sharing & Third-Party Services"
       },
       "07_rights": {
-        "content": "You have the right to: access your personal data, correct inaccuracies, request deletion (where legally permitted), object to processing or withdraw consent, request restriction or portability of data. Submit requests via Hello@radionica3d.me. We will respond within 30 days.",
+        "content": "You have the right to: access your personal data, correct inaccuracies, request deletion (where legally permitted), object to processing or withdraw consent, request restriction or portability of data. Submit requests via Hello{'@'}radionica3d.me. We will respond within 30 days.",
         "title": "7. Your Rights"
       },
       "08_cookies": {
@@ -639,7 +706,7 @@
         "title": "10. Policy Updates"
       },
       "11_contact": {
-        "content": "If you have questions or concerns about how we handle your data, please contact us at Hello@radionica3d.me.",
+        "content": "If you have questions or concerns about how we handle your data, please contact us at Hello{'@'}radionica3d.me.",
         "title": "11. Contact & Complaints"
       }
     },

+ 79 - 12
src/locales/me.json

@@ -86,11 +86,17 @@
     },
     "studio": "3D Printing Studio",
     "toasts": {
-      "accountCreated": "Nalog je kreiran! Molimo prijavite se.",
+      "reviewApproved": "Recenzija odobrena i objavljena",
+      "accountCreated": "Nalog je kreiran!",
+      "checkEmailForVerify": "Molimo provjerite svoj email kako biste potvrdili nalog.",
+      "linkExpired": "Link za resetovanje lozinke je istekao ili je nevažeći.",
+      "verificationFailed": "Verifikacija email-a nije uspjela.",
+      "googleLoginFailed": "Google prijava nije uspjela.",
       "passwordChanged": "Lozinka uspješno promijenjena!",
       "passwordsNoMatch": "Lozinke se ne podudaraju",
       "resetLinkSent": "Link za resetovanje lozinke je poslat na vaš email.",
       "socialSoon": "{provider} prijava stiže uskoro!",
+      "verified": "Nalog je potvrđen! Sada se možete prijaviti.",
       "welcomeBack": "Dobrodošao nazad!"
     }
   },
@@ -216,17 +222,61 @@
   },
   "contact": {
     "form": {
-      "message": "Poruka",
-      "name": "Ime",
-      "subject": "Naslov",
-      "submit": "Pošalji",
-      "title": "Email"
+      "email": {
+        "label": "Email",
+        "placeholder": "vas{'@'}email.com"
+      },
+      "file": {
+        "button": "Izaberi fajl",
+        "description": "Maks. 50MB. Formati: .stl, .obj, .step, .3mf",
+        "label": "Djelovi projekta (Opciono)",
+        "selected": "Izabran fajl: {fileName}"
+      },
+      "message": {
+        "label": "Poruka",
+        "placeholder": "Recite nam nešto o vašem projektu..."
+      },
+      "name": {
+        "label": "Vaše ime",
+        "placeholder": "Marko Marković"
+      },
+      "subject": {
+        "label": "Tema",
+        "options": {
+          "careers": "Karijera",
+          "general": "Opšti upit",
+          "other": "Ostalo",
+          "quote": "Upit za cijenu",
+          "support": "Tehnička podrška"
+        },
+        "placeholder": "Izaberite temu"
+      },
+      "submit": "Pošalji poruku",
+      "submitting": "Slanje...",
+      "success": "Poruka je poslata! Javićemo vam se uskoro.",
+      "title": "Pošaljite poruku"
     },
     "info": {
-      "email": "hello@radionica3d.me",
-      "location": "Herceg Novi",
-      "phone": "+382 68 888 777",
-      "title": "Info"
+      "email": {
+        "description": "Obično odgovaramo u roku od 2 sata.",
+        "title": "Email"
+      },
+      "hours": {
+        "description": "Online podrška je dostupna svakodnevno.",
+        "schedule": "Pon - Pet: 09:00 - 18:00",
+        "title": "Radno vrijeme"
+      },
+      "location": {
+        "description": "Navratite na kafu da porazgovaramo o vašem projektu.",
+        "title": "Lokacija"
+      },
+      "social": {
+        "facebook": "Facebook",
+        "instagram": "Instagram",
+        "linkedin": "LinkedIn",
+        "title": "Društvene mreže"
+      },
+      "title": "Kontakt info"
     },
     "subtitle": "Budimo u kontaktu."
   },
@@ -467,6 +517,13 @@
     },
     "subtitle": "Kako možemo pomoći?"
   },
+  "home": {
+    "reviews": {
+      "title": "Iskustva klijenata",
+      "subtitle": "Saznajte što naši klijenti misle o kvalitetu i pouzdanosti naše štampe.",
+      "verifiedCustomer": "Verifikovani kupac"
+    }
+  },
   "hero": {
     "badge": "Povjerenje u svakom sloju",
     "description": "Jedinstveni servis 3D štampe u Crnoj Gori: pošaljite model, dobijte gotov proizvod poštom s plaćanjem prilikom preuzimanja.",
@@ -496,6 +553,8 @@
     "philosophy": "Filozofija",
     "portfolio": "Portfolio",
     "register": "Registracija",
+    "toggleMenu": "Otvori/Zatvori meni",
+    "changeLanguage": "Promijeni jezik",
     "services": "Usluge",
     "unreadMessages": "Nepročitane poruke",
     "unreadTooltip": "Nepročitane poruke u chatu"
@@ -566,6 +625,14 @@
     "noOrders": "Još nema narudžbi",
     "startProject": "Započni novi projekat",
     "startProjectDesc": "Kada započnete projekat 3D štampe, ovdje ćete moći pratiti njegov napredak.",
+    "review": {
+      "writeTitle": "Podijelite Vaše iskustvo",
+      "placeholder": "Kakav je kvalitet štampe? Da li je isporuka bila na vrijeme?",
+      "submit": "Pošalji recenziju",
+      "success": "Hvala Vam na recenziji!",
+      "pending": "Na čekanju",
+      "approved": "Javna recenzija"
+    },
     "titleSubtitle": "Pratite tvoje projekte 3D štampe"
   },
   "portfolio": {
@@ -623,7 +690,7 @@
         "title": "6. Dijeljenje podataka i usluge trećih lica"
       },
       "07_rights": {
-        "content": "Imate pravo na: pristup svojim podacima, ispravku netačnosti, zahtijevanje brisanja (gdje je zakonom dozvoljeno), prigovor na obradu ili povlačenje saglasnosti, zahtijevanje ograničenja ili prenosivosti podataka. Zahtjeve šaljite na Hello@radionica3d.me. Odgovorićemo u roku od 30 dana.",
+        "content": "Imate pravo na: pristup svojim podacima, ispravku netačnosti, zahtijevanje brisanja (gdje je zakonom dozvoljeno), prigovor na obradu ili povlačenje saglasnosti, zahtijevanje ograničenja ili prenosivosti podataka. Zahtjeve šaljite na Hello{'@'}radionica3d.me. Odgovorićemo u roku od 30 dana.",
         "title": "7. Vaša prava"
       },
       "08_cookies": {
@@ -639,7 +706,7 @@
         "title": "10. Ažuriranje politike"
       },
       "11_contact": {
-        "content": "Ako imate pitanja ili nedoumica o tome kako rukujemo vašim podacima, kontaktirajte nas na Hello@radionica3d.me.",
+        "content": "Ako imate pitanja ili nedoumica o tome kako rukujemo vašim podacima, kontaktirajte nas na Hello{'@'}radionica3d.me.",
         "title": "11. Kontakt i prigovori"
       }
     },

+ 79 - 12
src/locales/ru.json

@@ -86,11 +86,17 @@
     },
     "studio": "Студия 3D Печати",
     "toasts": {
-      "accountCreated": "Аккаунт создан! Теперь можно войти.",
+      "reviewApproved": "Отзыв одобрен и опубликован",
+      "accountCreated": "Аккаунт создан!",
+      "checkEmailForVerify": "Пожалуйста, проверьте свою электронную почту, чтобы подтвердить свой аккаунт.",
+      "linkExpired": "Ссылка для сброса пароля истекла или недействительна.",
+      "verificationFailed": "Ошибка верификации email.",
+      "googleLoginFailed": "Ошибка входа через Google.",
       "passwordChanged": "Пароль успешно изменен!",
       "passwordsNoMatch": "Пароли не совпадают",
       "resetLinkSent": "Ссылка на сброс пароля отправлена на почту.",
       "socialSoon": "Вход через {provider} скоро появится!",
+      "verified": "Аккаунт подтвержден! Теперь можно войти.",
       "welcomeBack": "С возвращением!"
     }
   },
@@ -216,17 +222,61 @@
   },
   "contact": {
     "form": {
-      "message": "Сообщение",
-      "name": "Имя",
-      "subject": "Тема",
-      "submit": "Отправить",
-      "title": "Email"
+      "email": {
+        "label": "Email",
+        "placeholder": "vash{'@'}email.com"
+      },
+      "file": {
+        "button": "Выбрать файл",
+        "description": "Макс. 50МБ. Форматы: .stl, .obj, .step, .3mf",
+        "label": "Файлы проекта (опционально)",
+        "selected": "Выбран файл: {fileName}"
+      },
+      "message": {
+        "label": "Сообщение",
+        "placeholder": "Расскажите нам о вашем проекте..."
+      },
+      "name": {
+        "label": "Ваше имя",
+        "placeholder": "Иван Иванов"
+      },
+      "subject": {
+        "label": "Тема",
+        "options": {
+          "careers": "Карьера",
+          "general": "Общий вопрос",
+          "other": "Другое",
+          "quote": "Запрос цены",
+          "support": "Техподдержка"
+        },
+        "placeholder": "Выберите тему"
+      },
+      "submit": "Отправить сообщение",
+      "submitting": "Отправка...",
+      "success": "Сообщение отправлено! Мы скоро свяжемся с вами.",
+      "title": "Напишите нам"
     },
     "info": {
-      "email": "hello@radionica3d.me",
-      "location": "Herceg Novi",
-      "phone": "+382 68 888 777",
-      "title": "Инфо"
+      "email": {
+        "description": "Мы обычно отвечаем в течение 2 часов.",
+        "title": "Email"
+      },
+      "hours": {
+        "description": "Онлайн-поддержка доступна ежедневно.",
+        "schedule": "Пн - Пт: 09:00 - 18:00",
+        "title": "График работы"
+      },
+      "location": {
+        "description": "Заходите на кофе, чтобы обсудить ваш проект.",
+        "title": "Адрес"
+      },
+      "social": {
+        "facebook": "Facebook",
+        "instagram": "Instagram",
+        "linkedin": "LinkedIn",
+        "title": "Социальные сети"
+      },
+      "title": "Контактная информация"
     },
     "subtitle": "Свяжитесь с нами."
   },
@@ -467,6 +517,13 @@
     },
     "subtitle": "Как мы можем помочь?"
   },
+  "home": {
+    "reviews": {
+      "title": "Отзывы наших клиентов",
+      "subtitle": "Узнайте, что наши клиенты думают о качестве нашей печати и надежности сервиса.",
+      "verifiedCustomer": "Проверенный заказ"
+    }
+  },
   "hero": {
     "badge": "Доверие в каждом слое",
     "description": "Уникальный сервис 3D-печать в Черногории: пришлите модель, получите готовое изделие по почте с оплатой по факту получения.",
@@ -496,6 +553,8 @@
     "philosophy": "Наш подход",
     "portfolio": "Портфолио",
     "register": "Регистрация",
+    "toggleMenu": "Открыть/Закрыть меню",
+    "changeLanguage": "Сменить язык",
     "services": "Услуги",
     "unreadMessages": "Непрочитанные сообщения",
     "unreadTooltip": "У вас есть непрочитанные сообщения"
@@ -566,6 +625,14 @@
     "noOrders": "Заказов пока нет",
     "startProject": "Создать новый проект",
     "startProjectDesc": "Как только вы создадите проект на 3D-печать, вы сможете отслеживать его прогресс здесь.",
+    "review": {
+      "writeTitle": "Поделитесь впечатлениями",
+      "placeholder": "Как качество печати? Быстро ли приехал заказ?",
+      "submit": "Оставить отзыв",
+      "success": "Спасибо за ваш отзыв!",
+      "pending": "На модерации",
+      "approved": "Опубликован"
+    },
     "titleSubtitle": "Отслеживайте свои проекты 3D-печати"
   },
   "portfolio": {
@@ -623,7 +690,7 @@
         "title": "6. Передача данных и сторонние услуги"
       },
       "07_rights": {
-        "content": "Вы имеете право на: доступ к вашим персональным данным, исправление неточностей, запрос на удаление (где это разрешено законом), возражение против обработки или отзыв согласия, запрос на ограничение или перенос данных. Направляйте запросы на Hello@radionica3d.me. Мы ответим в течение 30 дней.",
+        "content": "Вы имеете право на: доступ к вашим персональным данным, исправление неточностей, запрос на удаление (где это разрешено законом), возражение против обработки или отзыв согласия, запрос на ограничение или перенос данных. Направляйте запросы на Hello{'@'}radionica3d.me. Мы ответим в течение 30 дней.",
         "title": "7. Ваши права"
       },
       "08_cookies": {
@@ -639,7 +706,7 @@
         "title": "10. Обновления политики"
       },
       "11_contact": {
-        "content": "Если у вас есть вопросы или опасения по поводу того, как мы обрабатываем ваши данные, свяжитесь с нами по адресу Hello@radionica3d.me.",
+        "content": "Если у вас есть вопросы или опасения по поводу того, как мы обрабатываем ваши данные, свяжитесь с нами по адресу Hello{'@'}radionica3d.me.",
         "title": "11. Контакты и жалобы"
       }
     },

+ 79 - 12
src/locales/ua.json

@@ -86,11 +86,17 @@
     },
     "studio": "Студія 3D Друку",
     "toasts": {
-      "accountCreated": "Акаунт створено! Тепер можна увійти.",
+      "reviewApproved": "Відгук схвалено та опубліковано",
+      "accountCreated": "Акаунт створено!",
+      "checkEmailForVerify": "Будь ласка, перевірте свою електронну пошту, щоб підтвердити свій обліковий запис.",
+      "linkExpired": "Посилання для скидання пароля закінчилося або є недійсним.",
+      "verificationFailed": "Помилка верифікації email.",
+      "googleLoginFailed": "Помилка входу через Google.",
       "passwordChanged": "Пароль успішно змінено!",
       "passwordsNoMatch": "Паролі не збігаються",
       "resetLinkSent": "Посилання на скидання пароля надіслано на пошту.",
       "socialSoon": "Вхід через {provider} скоро з'явиться!",
+      "verified": "Акаунт підтверджено! Тепер можна увійти.",
       "welcomeBack": "З поверненням!"
     }
   },
@@ -216,17 +222,61 @@
   },
   "contact": {
     "form": {
-      "message": "Повідомлення",
-      "name": "Ім'я",
-      "subject": "Тема",
-      "submit": "Надіслати",
-      "title": "Email"
+      "email": {
+        "label": "Email",
+        "placeholder": "vash{'@'}email.com"
+      },
+      "file": {
+        "button": "Обрати файл",
+        "description": "Макс. 50МБ. Формати: .stl, .obj, .step, .3mf",
+        "label": "Файли проєкту (опціонально)",
+        "selected": "Обрано файл: {fileName}"
+      },
+      "message": {
+        "label": "Повідомлення",
+        "placeholder": "Розкажіть нам про ваш проєкт..."
+      },
+      "name": {
+        "label": "Ваше ім'я",
+        "placeholder": "Іван Іванов"
+      },
+      "subject": {
+        "label": "Тема",
+        "options": {
+          "careers": "Кар'єра",
+          "general": "Загальне питання",
+          "other": "Інше",
+          "quote": "Запит ціни",
+          "support": "Техпідтримка"
+        },
+        "placeholder": "Оберіть тему"
+      },
+      "submit": "Надіслати повідомлення",
+      "submitting": "Надсилання...",
+      "success": "Повідомлення відправлено! Ми скоро зв'яжемося з вами.",
+      "title": "Напишіть нам"
     },
     "info": {
-      "email": "hello@radionica3d.me",
-      "location": "Herceg Novi",
-      "phone": "+382 68 888 777",
-      "title": "Інфо"
+      "email": {
+        "description": "Ми зазвичай відповідаємо протягом 2 годин.",
+        "title": "Email"
+      },
+      "hours": {
+        "description": "Онлайн-підтримка доступна щоденно.",
+        "schedule": "Пн - Пт: 09:00 - 18:00",
+        "title": "Графік роботи"
+      },
+      "location": {
+        "description": "Заходьте на каву, щоб обговорити ваш проєкт.",
+        "title": "Адреса"
+      },
+      "social": {
+        "facebook": "Facebook",
+        "instagram": "Instagram",
+        "linkedin": "LinkedIn",
+        "title": "Соціальні мережі"
+      },
+      "title": "Контактна інформація"
     },
     "subtitle": "Зв'яжіться з нами."
   },
@@ -467,6 +517,13 @@
     },
     "subtitle": "Як ми можемо допомогти?"
   },
+  "home": {
+    "reviews": {
+      "title": "Відгуки наших клієнтів",
+      "subtitle": "Дізнайтеся, що наші клієнти думають про якість нашого друку та надійність сервісу.",
+      "verifiedCustomer": "Перевірене замовлення"
+    }
+  },
   "hero": {
     "badge": "Якість у кожному шарі",
     "description": "Унікальний сервіс 3D-друку в Чорногорії: надішліть модель, отримайте готовий виріб поштою з оплатою після отримання.",
@@ -496,6 +553,8 @@
     "philosophy": "Наш підхід",
     "portfolio": "Портфоліо",
     "register": "Реєстрація",
+    "toggleMenu": "Відкрити/Закрити меню",
+    "changeLanguage": "Змінити мову",
     "services": "Послуги",
     "unreadMessages": "Непрочитані повідомлення",
     "unreadTooltip": "У вас є непрочитані повідомлення"
@@ -566,6 +625,14 @@
     "noOrders": "Замовлення поки відсутні",
     "startProject": "Створити новий проєкт",
     "startProjectDesc": "Як тільки ви створите проєкт на 3D-друк, ви зможете відстежувати його прогрес тут.",
+    "review": {
+      "writeTitle": "Поділіться вашими враженнями",
+      "placeholder": "Яка якість друку? Чи вчасно приїхало замовлення?",
+      "submit": "Залишити відгук",
+      "success": "Дякуємо за ваш відгук!",
+      "pending": "На модерації",
+      "approved": "Опубліковано"
+    },
     "titleSubtitle": "Відстежуйте свої проєкти 3D-друку"
   },
   "portfolio": {
@@ -623,7 +690,7 @@
         "title": "6. Передача даних та сторонні послуги"
       },
       "07_rights": {
-        "content": "Ви маєте право на: доступ до ваших персональних даних, виправлення неточністьей, запит на видалення (де це дозволено законом), заперечення проти обробки або відкликання згоди, запит на обмеження або перенесення даних. Надсилайте запити на Hello@radionica3d.me. Ми відповімо протягом 30 днів.",
+        "content": "Ви маєте право на: доступ до ваших персональних даних, виправлення неточністьей, запит на видалення (де це дозволено законом), заперечення проти обробки або відкликання згоди, запит на обмеження або перенесення даних. Надсилайте запити на Hello{'@'}radionica3d.me. Ми відповімо протягом 30 днів.",
         "title": "7. Ваші права"
       },
       "08_cookies": {
@@ -639,7 +706,7 @@
         "title": "10. Оновлення політики"
       },
       "11_contact": {
-        "content": "Якщо у вас є запитання або побоювання щодо того, як ми обробляємо ваші дані, зв’яжіться з нами за адресою Hello@radionica3d.me.",
+        "content": "Якщо у вас є запитання або побоювання щодо того, як ми обробляємо ваші дані, зв’яжіться з нами за адресою Hello{'@'}radionica3d.me.",
         "title": "11. Контакти та скарги"
       }
     },

+ 26 - 25
src/pages/Admin.vue

@@ -327,6 +327,32 @@
               </div>
             </div>
           </div>
+          <!-- Review Moderation Block -->
+          <div v-if="order.review_text" class="p-4 bg-amber-500/5 border-t border-border/50 flex flex-col sm:flex-row items-center justify-between gap-4 relative z-10">
+            <div class="flex items-start gap-4 flex-1">
+              <div class="pt-1">
+                <div class="flex gap-0.5">
+                  <Star v-for="i in 5" :key="i" class="w-3 h-3" :class="i <= order.rating ? 'text-yellow-500 fill-yellow-500' : 'text-muted-foreground/30'" />
+                </div>
+              </div>
+              <div>
+                <p class="text-[11px] font-bold text-foreground italic">"{{ order.review_text }}"</p>
+                <div class="flex items-center gap-2 mt-1">
+                  <span class="text-[8px] font-black uppercase tracking-widest text-muted-foreground">Customer Feedback</span>
+                  <span v-if="order.review_approved" class="flex items-center gap-1 text-[8px] font-black uppercase tracking-widest text-emerald-500">
+                    <CheckCircle2 class="w-2.5 h-2.5" /> Approved
+                  </span>
+                  <span v-else class="flex items-center gap-1 text-[8px] font-black uppercase tracking-widest text-amber-500">
+                    <Clock class="w-2.5 h-2.5" /> Pending Moderation
+                  </span>
+                </div>
+              </div>
+            </div>
+            <Button v-if="!order.review_approved" variant="hero" size="sm" class="h-8 px-4 text-[10px]" @click="handleApproveReview(order.id)">
+              Approve Feedback
+            </Button>
+          </div>
+
           <!-- Admin Chat Panel -->
           <div v-if="adminChatId === order.id" :id="`admin-chat-${order.id}`" class="border-t border-border/50">
             <OrderChat :orderId="order.id" @close="adminChatId = null" closable />
@@ -361,33 +387,8 @@
             </div>
           </div>
 
-          <!-- Review Moderation Block -->
-          <div v-if="order.review_text" class="p-4 bg-amber-500/5 border-t border-border/50 flex flex-col sm:flex-row items-center justify-between gap-4">
-            <div class="flex items-start gap-4 flex-1">
-              <div class="pt-1">
-                <div class="flex gap-0.5">
-                  <Star v-for="i in 5" :key="i" class="w-3 h-3" :class="i <= order.rating ? 'text-yellow-500 fill-yellow-500' : 'text-muted-foreground/30'" />
-                </div>
-              </div>
-              <div>
-                <p class="text-[11px] font-bold text-foreground italic">"{{ order.review_text }}"</p>
-                <div class="flex items-center gap-2 mt-1">
-                  <span class="text-[8px] font-black uppercase tracking-widest text-muted-foreground">Customer Feedback</span>
-                  <span v-if="order.review_approved" class="flex items-center gap-1 text-[8px] font-black uppercase tracking-widest text-emerald-500">
-                    <CheckCircle2 class="w-2.5 h-2.5" /> Approved
-                  </span>
-                  <span v-else class="flex items-center gap-1 text-[8px] font-black uppercase tracking-widest text-amber-500">
-                    <Clock class="w-2.5 h-2.5" /> Pending Moderation
-                  </span>
-                </div>
-              </div>
-            </div>
-            <Button v-if="!order.review_approved" variant="hero" size="sm" class="h-8 px-4 text-[10px]" @click="handleApproveReview(order.id)">
-              Approve Feedback
-            </Button>
           </div>
         </div>
-      </div>
 
       <!-- SERVICES -->
       <div v-else-if="activeTab === 'services'" class="grid gap-4">