From e9cce2571a1685c8a40d78a7a48c09ac83b15c98 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Tue, 16 Dec 2025 11:11:14 -0500 Subject: [PATCH 01/11] fixed router redirect for homepage join button --- ui/src/pages/Homepage.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/pages/Homepage.vue b/ui/src/pages/Homepage.vue index ec8a114..172fdbb 100644 --- a/ui/src/pages/Homepage.vue +++ b/ui/src/pages/Homepage.vue @@ -8,7 +8,7 @@ const router = useRouter() const user = useUserStore(); function goToApplication() { - router.push('/apply') // change to your form route + router.push('/join') // change to your form route } From 5f038208910a3a1949ccef9eca1a5667c287da62 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Tue, 16 Dec 2025 11:49:14 -0500 Subject: [PATCH 02/11] added first pass of homepage --- api/src/index.ts | 2 ++ api/src/routes/docs.ts | 24 ++++++++++++++++++++++++ ui/src/api/docs.ts | 18 ++++++++++++++++++ ui/src/pages/Homepage.vue | 15 +++++++++++++-- 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 api/src/routes/docs.ts create mode 100644 ui/src/api/docs.ts diff --git a/api/src/index.ts b/api/src/index.ts index 7230a30..701d49c 100644 --- a/api/src/index.ts +++ b/api/src/index.ts @@ -64,6 +64,7 @@ import { authRouter } from './routes/auth'; import { roles, memberRoles } from './routes/roles'; import { courseRouter, eventRouter } from './routes/course'; import { calendarRouter } from './routes/calendar'; +import { docsRouter } from './routes/docs'; app.use('/application', applicationRouter); app.use('/ranks', ranks); @@ -77,6 +78,7 @@ app.use('/memberRoles', memberRoles) app.use('/course', courseRouter) app.use('/courseEvent', eventRouter) app.use('/calendar', calendarRouter) +app.use('/docs', docsRouter) app.use('/', authRouter) app.get('/ping', (req, res) => { diff --git a/api/src/routes/docs.ts b/api/src/routes/docs.ts new file mode 100644 index 0000000..13ada87 --- /dev/null +++ b/api/src/routes/docs.ts @@ -0,0 +1,24 @@ +const express = require('express'); +const router = express.Router(); + +import { Request, Response } from 'express'; +import { requireLogin } from '../middleware/auth'; + +router.get('/welcome', [requireLogin], async (req: Request, res: Response) => { + const output = await fetch(`${process.env.DOC_HOST}/api/pages/717`, { + headers: { + Authorization: `Token ${process.env.DOC_TOKEN_ID}:${process.env.DOC_TOKEN_SECRET}`, + } + }) + + if (output.ok) { + const out = await output.json(); + res.status(200).json(out.html); + } else { + console.error("Failed to fetch LOA policy from bookstack"); + res.sendStatus(500); + } +}) + + +export const docsRouter = router; \ No newline at end of file diff --git a/ui/src/api/docs.ts b/ui/src/api/docs.ts new file mode 100644 index 0000000..24c31c8 --- /dev/null +++ b/ui/src/api/docs.ts @@ -0,0 +1,18 @@ +// @ts-ignore +const addr = import.meta.env.VITE_APIHOST; + +export async function getWelcomeMessage(): Promise { + const res = await fetch(`${addr}/docs/welcome`, { + method: "GET", + credentials: 'include', + }); + if (res.ok) { + const out = res.json(); + if (!out) { + return null; + } + return out; + } else { + return null; + } +} \ No newline at end of file diff --git a/ui/src/pages/Homepage.vue b/ui/src/pages/Homepage.vue index 172fdbb..f339311 100644 --- a/ui/src/pages/Homepage.vue +++ b/ui/src/pages/Homepage.vue @@ -1,6 +1,8 @@ From d484c357fba37cb602b39691629d3640cd97a717 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Tue, 16 Dec 2025 23:31:12 -0500 Subject: [PATCH 03/11] tweaked background color slightly --- ui/src/assets/base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/assets/base.css b/ui/src/assets/base.css index f06ddf1..b31c2d0 100644 --- a/ui/src/assets/base.css +++ b/ui/src/assets/base.css @@ -4,7 +4,7 @@ @custom-variant dark (&:is(.dark *)); :root { - --background: oklch(0.2046 0 0); + --background: oklch(19.125% 0.00002 271.152); --foreground: oklch(0.9219 0 0); --card: oklch(23.075% 0.00003 271.152); --card-foreground: oklch(0.9219 0 0); From fd6a1822f4393ac29095e8134eaedc22845d4839 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Tue, 16 Dec 2025 23:31:30 -0500 Subject: [PATCH 04/11] tweaked button primary hover state --- ui/src/components/ui/button/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/components/ui/button/index.js b/ui/src/components/ui/button/index.js index 8e62be2..2650455 100644 --- a/ui/src/components/ui/button/index.js +++ b/ui/src/components/ui/button/index.js @@ -8,7 +8,7 @@ export const buttonVariants = cva( variants: { variant: { default: - "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90", + "bg-primary text-primary-foreground shadow-xs hover:bg-primary/70", destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", outline: From 2e31b9bce48d4e07389a805f4d92a36b7df35e07 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Tue, 16 Dec 2025 23:31:42 -0500 Subject: [PATCH 05/11] Redesigned marketing/landing page --- ui/src/pages/Homepage.vue | 110 ++++++++++++++++++++++++++++++++++---- 1 file changed, 101 insertions(+), 9 deletions(-) diff --git a/ui/src/pages/Homepage.vue b/ui/src/pages/Homepage.vue index f339311..0391ebf 100644 --- a/ui/src/pages/Homepage.vue +++ b/ui/src/pages/Homepage.vue @@ -23,18 +23,110 @@ const welcomeRef = ref(null);