feature/version-badge #40

Merged
jason merged 4 commits from feature/version-badge into master 2026-03-08 00:56:18 -06:00
Showing only changes of commit f4ed8c49ce - Show all commits

View File

@@ -42,8 +42,13 @@ function GiteaIcon() {
);
}
function AppFooter() {
function AppFooter({ version }) {
const year = new Date().getFullYear();
const sha = version?.shortSha || null;
const built = version?.buildTime
? new Date(version.buildTime).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' })
: null;
return (
<>
<style>{`
@@ -53,13 +58,27 @@ function AppFooter() {
}
`}</style>
<footer style={sf.footer}>
<span style={sf.copy}>© {year} Jason Stedwell</span>
<span style={sf.sep}>·</span>
<span style={sf.copy}>&copy; {year} Jason Stedwell</span>
<span style={sf.sep}>&middot;</span>
<DevTicker />
<span style={sf.sep}>·</span>
<span style={sf.sep}>&middot;</span>
<a href={REPO_URL} target="_blank" rel="noopener noreferrer" style={sf.link}>
<GiteaIcon /> cpas
</a>
{sha && sha !== 'dev' && (
<>
<span style={sf.sep}>&middot;</span>
<a
href={`${REPO_URL}/commit/${version.sha}`}
target="_blank"
rel="noopener noreferrer"
style={sf.link}
title={built ? `Built ${built}` : 'View commit'}
>
{sha}
</a>
</>
)}
</footer>
</>
);
@@ -129,6 +148,14 @@ const sf = {
export default function App() {
const [tab, setTab] = useState('dashboard');
const [showReadme, setShowReadme] = useState(false);
const [version, setVersion] = useState(null);
useEffect(() => {
fetch('/version.json')
.then(r => r.ok ? r.json() : null)
.then(v => { if (v) setVersion(v); })
.catch(() => {});
}, []);
return (
<ToastProvider>
@@ -156,7 +183,7 @@ export default function App() {
</div>
</div>
<AppFooter />
<AppFooter version={version} />
{showReadme && <ReadmeModal onClose={() => setShowReadme(false)} />}
</div>