import { useEffect, useState } from "react" import classNames from "classnames" import Container from "@/components/shared/Container" import { APP_NAME } from "@/constants/app.constant" import { PAGE_CONTAINER_GUTTER_X } from "@/constants/theme.constant" import { useStoreActions, useStoreState } from "@/store" import { Link, useNavigate } from "react-router-dom" import { ROUTES_ENUM } from "@/routes/route.constant" import UiDialog from "@/views/shared/UiDialog" export type FooterPageContainerType = "gutterless" | "contained" type FooterProps = { pageContainerType: FooterPageContainerType } const FooterContent = () => { const navigate = useNavigate() const { currentUiVersion } = useStoreState((a) => a.locale) const { setUiVersion } = useStoreActions((a) => a.locale) const apiConfig = useStoreState((state) => state.abpConfig.config?.extraProperties) const uiMode = import.meta.env.MODE const [latestVersion, setLatestVersion] = useState(null) // version.json'dan en güncel UI versiyonunu al useEffect(() => { fetch("/version.json?ts=" + Date.now()) .then((res) => res.json()) .then((data) => { if (data?.releases?.length > 0) { setLatestVersion(data.releases[0].version) // en güncel hep en üstte } }) .catch(() => setLatestVersion(null)) }, []) return ( <>
Copyright © {new Date().getFullYear()} {APP_NAME}
UI: {uiMode}:{currentUiVersion} | {apiConfig && ( API: {apiConfig["environment"].toString()}:{apiConfig["version"].toString()} )}
{latestVersion && latestVersion !== currentUiVersion && ( { setUiVersion(latestVersion) navigate(ROUTES_ENUM.protected.admin.changeLog) }} title="🎉 Yeni Güncelleme" > Sözsoft Kurs Platform Sistemi v{latestVersion} sürümüne güncellendi.

Detayları, "Güncelleme Günlüğü" ekranında görebilirsiniz.

)} ) } export default function Footer({ pageContainerType = "contained" }: FooterProps) { return ( ) }