{"version":3,"file":"static/js/151.57777e47.chunk.js","mappings":"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","sources":["pages/Home/index.js"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Card, Grid, Header } from 'semantic-ui-react';\nimport { API, showError, showNotice, timestamp2string } from '../../helpers';\nimport { StatusContext } from '../../context/Status';\nimport { marked } from 'marked';\nimport { UserContext } from '../../context/User';\nimport { Link } from 'react-router-dom';\n\nconst Home = () => {\n const { t } = useTranslation();\n const [statusState, statusDispatch] = useContext(StatusContext);\n const [homePageContentLoaded, setHomePageContentLoaded] = useState(false);\n const [homePageContent, setHomePageContent] = useState('');\n const [userState] = useContext(UserContext);\n\n const displayNotice = async () => {\n const res = await API.get('/api/notice');\n const { success, message, data } = res.data;\n if (success) {\n let oldNotice = localStorage.getItem('notice');\n if (data !== oldNotice && data !== '') {\n const htmlNotice = marked(data);\n showNotice(htmlNotice, true);\n localStorage.setItem('notice', data);\n }\n } else {\n showError(message);\n }\n };\n\n const displayHomePageContent = async () => {\n setHomePageContent(localStorage.getItem('home_page_content') || '');\n const res = await API.get('/api/home_page_content');\n const { success, message, data } = res.data;\n if (success) {\n let content = data;\n if (!data.startsWith('https://')) {\n content = marked.parse(data);\n }\n setHomePageContent(content);\n localStorage.setItem('home_page_content', content);\n } else {\n showError(message);\n setHomePageContent(t('home.loading_failed'));\n }\n setHomePageContentLoaded(true);\n };\n\n const getStartTimeString = () => {\n const timestamp = statusState?.status?.start_time;\n return timestamp2string(timestamp);\n };\n\n useEffect(() => {\n displayNotice().then();\n displayHomePageContent().then();\n }, []);\n\n return (\n <>\n {homePageContentLoaded && homePageContent === '' ? (\n
\n \n \n \n {t('home.welcome.title')}\n \n \n

{t('home.welcome.description')}

\n {!userState.user &&

{t('home.welcome.login_notice')}

}\n
\n
\n
\n \n \n \n
{t('home.system_status.title')}
\n
\n \n \n \n \n \n
\n {t('home.system_status.info.title')}\n
\n
\n \n \n \n \n {t('home.system_status.info.name')}\n \n {statusState?.status?.system_name}\n

\n \n \n \n {t('home.system_status.info.version')}\n \n \n {statusState?.status?.version || 'unknown'}\n \n

\n \n \n \n {t('home.system_status.info.source')}\n \n \n {t('home.system_status.info.source_link')}\n \n

\n \n \n \n {t('home.system_status.info.start_time')}\n \n {getStartTimeString()}\n

\n \n
\n
\n \n\n \n \n \n \n
\n {t('home.system_status.config.title')}\n
\n
\n \n \n \n \n {t('home.system_status.config.email_verify')}\n \n \n {statusState?.status?.email_verification\n ? t('home.system_status.config.enabled')\n : t('home.system_status.config.disabled')}\n \n

\n \n \n \n {t('home.system_status.config.github_oauth')}\n \n \n {statusState?.status?.github_oauth\n ? t('home.system_status.config.enabled')\n : t('home.system_status.config.disabled')}\n \n

\n \n \n \n {t('home.system_status.config.wechat_login')}\n \n \n {statusState?.status?.wechat_login\n ? t('home.system_status.config.enabled')\n : t('home.system_status.config.disabled')}\n \n

\n \n \n \n {t('home.system_status.config.turnstile')}\n \n \n {statusState?.status?.turnstile_check\n ? t('home.system_status.config.enabled')\n : t('home.system_status.config.disabled')}\n \n

\n \n
\n \n
\n \n \n \n
\n ) : (\n <>\n {homePageContent.startsWith('https://') ? (\n \n ) : (\n \n )}\n \n )}\n \n );\n};\n\nexport default Home;\n"],"names":["Home","_statusState$status2","_statusState$status3","_statusState$status4","_statusState$status5","_statusState$status6","_statusState$status7","_statusState$status8","_statusState$status9","_statusState$status10","_statusState$status11","t","useTranslation","statusState","statusDispatch","useContext","StatusContext","homePageContentLoaded","setHomePageContentLoaded","useState","homePageContent","setHomePageContent","userState","UserContext","useEffect","async","res","API","get","success","message","data","localStorage","getItem","htmlNotice","marked","showNotice","setItem","showError","displayNotice","then","content","startsWith","parse","displayHomePageContent","_jsx","_Fragment","children","_jsxs","className","Card","fluid","Content","Header","Description","style","lineHeight","user","as","Grid","columns","stackable","Column","boxShadow","color","marginTop","display","alignItems","gap","fontWeight","status","system_name","version","href","target","getStartTimeString","_statusState$status","timestamp","start_time","timestamp2string","email_verification","github_oauth","wechat_login","turnstile_check","src","width","height","border","fontSize","dangerouslySetInnerHTML","__html"],"sourceRoot":""}