import axiosInstance from '../../../src/axiosSecure'; import { useState, useEffect } from 'react'; import ProtectedRoute from "../../../components/protectedRoute"; import { UserRole } from "@prisma/client"; import Layout from 'components/layout'; import { useRouter } from "next/router"; import { ToastContainer, toast } from 'react-toastify'; const locales = ['bg', 'en', 'ru']; const AdminTranslations = () => { const [translations, setTranslations] = useState({}); // set locale to the current locale by default. get it from the useRouter let router = useRouter(); const [locale, setLocale] = useState(router.locale); const [baseTranslations, setBaseTranslations] = useState(locales[0]); useEffect(() => { axiosInstance.get(`/api/translations/${locale}?flat=true`).then(res => setTranslations(res.data)); axiosInstance.get(`/api/translations/${locales[0]}?flat=true`).then(res => setBaseTranslations(res.data)); }, [locale]); const handleSave = () => { axiosInstance.post(`/api/translations/${locale}/modified`, translations) .then(res => { if (res.data.status === 'Updated') { toast.success('Translations updated!'); } else { toast.error('Something went wrong!'); } }) .catch(err => toast.error('Failed to update translations: ' + err.message)); }; const handleChange = (key, value) => { setTranslations(prev => ({ ...prev, [key]: value })); }; return (

Edit Translations

{/* Adjusted width */} {/* Adjusted width */} {/* Adjusted width */} {Object.entries(baseTranslations).map(([key, baseValue]) => (
KeyBase TranslationTranslation
{key} {baseValue}