'use client'; import React, {useEffect, useRef} from "react"; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import {faCode, faCopyright, faInfo, faLaptopCode, faTag, faX} from "@fortawesome/free-solid-svg-icons"; import {configs} from "@/lib/configs"; import {useTranslations} from "next-intl"; interface AboutEditorsProps { onClose: () => void; } export default function AboutEditors({onClose}: AboutEditorsProps) { const t = useTranslations(); const modalRef: React.RefObject = useRef(null); useEffect((): () => void => { document.body.style.overflow = 'hidden'; return (): void => { document.body.style.overflow = 'auto'; }; }, []); const appInfo = { name: configs.appName, version: configs.appVersion, copyright: t("aboutEditors.copyright"), description: t("aboutEditors.description"), developers: [t("aboutEditors.teamMember")], technologies: [ "TypeScript", "NextJS", "NodeJS", "Fastify", "TailwindCSS", "TipTap" ] }; return (

{t("aboutEditors.title")}

{appInfo.name}

{t("aboutEditors.version")}

{appInfo.version}

{t("aboutEditors.copyrightLabel")}

{appInfo.copyright}

{t("aboutEditors.descriptionLabel")}

{appInfo.description}

{t("aboutEditors.teamLabel")}

    {appInfo.developers.map((dev: string, index: number) => (
  • {dev}
  • ))}

{t("aboutEditors.techLabel")}

{appInfo.technologies.map((tech, index) => ( {tech} ))}
); }