diff --git a/web/src/env.d.ts b/web/src/env.d.ts new file mode 100644 index 0000000..060dba8 --- /dev/null +++ b/web/src/env.d.ts @@ -0,0 +1,2 @@ +declare const __COMMIT_HASH__: string; +declare const __BUILD_TIME__: string; diff --git a/web/src/pages/SettingsPage.tsx b/web/src/pages/SettingsPage.tsx index a2ea995..e22f894 100644 --- a/web/src/pages/SettingsPage.tsx +++ b/web/src/pages/SettingsPage.tsx @@ -6,6 +6,7 @@ import TextField from '@mui/material/TextField'; import CircularProgress from '@mui/material/CircularProgress'; import Alert from '@mui/material/Alert'; import NotificationsActiveIcon from '@mui/icons-material/NotificationsActive'; +import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined'; import { usePushNotifications, localTimeToUtc, @@ -142,6 +143,28 @@ export function SettingsPage() { )} + + + + + + About + + + + Commit: {__COMMIT_HASH__} + + + Built: {new Date(__BUILD_TIME__).toLocaleString()} + + ); } diff --git a/web/vite.config.ts b/web/vite.config.ts index 956edea..6007ff7 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -2,9 +2,17 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import { VitePWA } from 'vite-plugin-pwa' import path from 'path' +import { execSync } from 'child_process' + +const commitHash = execSync('git rev-parse --short HEAD').toString().trim() +const buildTime = new Date().toISOString() // https://vite.dev/config/ export default defineConfig({ + define: { + __COMMIT_HASH__: JSON.stringify(commitHash), + __BUILD_TIME__: JSON.stringify(buildTime), + }, plugins: [ react(), VitePWA({