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"; 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') { alert('Translations updated!'); } }); }; const handleChange = (key, value) => { setTranslations(prev => ({ ...prev, [key]: value })); }; return (

Edit Translations

{Object.entries(baseTranslations).map(([key, baseValue]) => ( ))}
Key Base Translation Translation
{key} {baseValue} handleChange(key, e.target.value)} className="block w-full text-base px-2 py-1 border border-gray-300 focus:ring-blue-500 focus:border-blue-500 rounded" />
); }; export default AdminTranslations;