From ded1e1e06934018028d56186de4562c65b5cd8c8 Mon Sep 17 00:00:00 2001 From: Joey Kimsey Date: Sat, 12 Sep 2026 15:16:50 -0400 Subject: [PATCH] add footer --- CHANGELOG.md | 3 +- README.md | 4 +- src/renderer/index.html | 310 +++++++++++++++++++++++++++++++----- src/renderer/src/main.js | 139 ++++++++++++++-- src/renderer/src/styles.css | 78 +++++++++ 5 files changed, 475 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe9cecd..48de511 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,4 +13,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Password sign-in through `POST /api/login` and optional connect-with-token from Admin ? Tokens. MFA accounts continue in-app (`api/login/mfa/{loginCode}`) until a token is issued. `loginCode` stays in the main process; a pasted Admin token skips MFA. - Session stored in `userData`, encrypted with `safeStorage` when the OS allows it. The renderer never receives the token. - Logged-in chrome matches TTP: navy header, Font Awesome 6.7.1 / Bootstrap 5.3, centered full-width search, notifications and messages dropdowns, avatar account menu. Profile settings (avatar, name, gender, newsletter, timezone, date/time, page size, dark mode) live in-app and save through `POST /api/profile/update`. Email, password, and phone open the connected site. -- After sign-in, Capsule loads `GET /api/profile` plus notifications and messages. Search, contact, and bug reports use the matching user-token endpoints. Disabled plugins show an unavailable note instead of demo data. +- After sign-in, Capsule loads `GET /api/profile` plus notifications and messages. Search uses the matching user-token endpoint. Contact and bug reports live on footer pages (`#/contact`, `#/bugreport`) instead of the dashboard. Disabled plugins show an unavailable note instead of demo data. +- Footer chrome matches TTP copy and socials. The upper band keeps a dark-mode toggle, Privacy Policy, Terms of Service, Contact, and Report a Bug. There is no subscribe box. diff --git a/README.md b/README.md index d48a16e..abc6474 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ All HTTP runs in the **main process**. The renderer never sees the token and nev | Search | `GET /api/search` | Header search. `q`, `resource`, `page`. | | Profile save | `POST /api/profile/update` | Name, avatar, prefs. | | Mail / notices | `POST /api/messages/?`, `POST /api/notifications/?` | View, reply, create, read, delete. | -| Contact / bugs | `POST /api/contact`, `POST /api/bugreport` | Dashboard forms when those plugins are enabled. | +| Contact / bugs | `POST /api/contact`, `POST /api/bugreport` | Footer pages when those plugins are enabled. | | Existing token | Admin ? Tokens | Personal or app token. A user token hydrates the workspace; an app token can connect but cannot call the user API. | The token is stored under Electron `userData` (`session.json`). `safeStorage` encrypts it when the OS keychain is available. MFA `loginCode` is not stored. @@ -44,7 +44,7 @@ App-facing pairing notes live with the PHP app: `repos/ttp/docs/capsule.md`. | `src/preload/` | `window.capsule` bridge | | `src/renderer/` | Login, MFA, TTP-styled chrome, and live API views | -The logged-in header follows the public TTP shell (`text-bg-dark`, FA 6.7.1, Bootstrap 5.3). Search stays visible and centered. Account is a top-right dropdown like the site. Notifications and messages are the same bell / envelope menus. Profile edit covers User CP preferences except email, password, and phone ? those open `{site}/usercp/?`. Lists load from the site API after sign-in. +The logged-in header follows the public TTP shell (`text-bg-dark`, FA 6.7.1, Bootstrap 5.3). Search stays visible and centered. Account is a top-right dropdown like the site. Notifications and messages are the same bell / envelope menus. Profile edit covers User CP preferences except email, password, and phone ? those open `{site}/usercp/?`. Lists load from the site API after sign-in. The footer matches TTP copyright and social icons. Above that: dark-mode toggle, Privacy Policy, Terms of Service, Contact, and Report a Bug. No subscribe box. Privacy and terms open the connected site; contact and bug reports stay in-app. ## Remote diff --git a/src/renderer/index.html b/src/renderer/index.html index b4bfeb5..b265e21 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -344,59 +344,171 @@

Dashboard

-

Workspace

-

- Search, notifications, messages, and profile are here. Site API wiring is the next - step. -

+

Connected to as .

-

-
- +
+ + + + +
@@ -620,6 +732,116 @@ +
+ +
+