Commit Graph

16 Commits

Author SHA1 Message Date
14ac03b551 feat(knowledge-base): Knowledge Base UI — browse/edit, modal, project links
- Knowledge Bases list page + sidebar entry + "+ New" create modal
- Detail page with a recursive structure tree: add/edit/delete topics,
  categories and facts inline, including name + description editing
- Create/metadata-edit modal (title, description)
- Project edit modal gains a link/remove knowledge base section
- Types and routes for /knowledge-bases and /knowledge-bases/:id
- Scoped .kb-* styles (contained panel, topic cards, hierarchy guides)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 15:03:50 +01:00
8e52e2bf74 feat(ui): overridable favicon/logo with branded default
Replace the  emoji with a real logo image used as the in-app brand
mark and the favicon. Default bundled public/logo.svg is the
HangmanLab mark recolored to the Foundry-Deck ember (#ff6a1a).
Override at deploy time via HARBORFORGE_LOGO_URL (injected into
runtime-config.js; getLogoUrl() + favicon swap), no rebuild needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 22:39:58 +01:00
8cac6951d7 feat(auth): admin OIDC settings page
New admin page /settings/oidc to configure the OIDC provider (issuer,
client id/secret, redirect/callback URL, scopes, post-login redirect).
Prominently shows the callback URL to register at the IdP, current
status/source, and the read-only deploy-level OIDC-only flag. Secret
is write-only (blank = keep). Sidebar entry for admins.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 20:29:22 +01:00
8f8d6d5465 feat(auth): OIDC login UI + binding management + OIDC-only mode
- useAuthConfig fetches public /auth/config; LoginPage hides the
  password form when oidc_only and shows an SSO button when enabled.
- /oidc/callback route applies the returned JWT (sign-in) or shows the
  link result; oidc_error surfaced on LoginPage.
- UsersPage: hides password fields in OIDC-only mode; admin OIDC
  bind/unbind UI per user. Sidebar self-service "Link OIDC account"
  (non-OIDC_ONLY).
- Dockerfile ARG/ENV HARBORFORGE_OIDC_ONLY.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 20:22:14 +01:00
zhi
4932974579 FE-CAL-001/002/003: Add Calendar page with daily slot view and plans tab
- New CalendarPage with daily view (date navigation, slot list) and plans tab
- Route /calendar added in App.tsx
- Sidebar entry added after Proposals
- Daily view: shows time slots with type, status, priority, duration, event data
- Distinguishes real vs virtual (plan) slots visually
- Plans tab: shows schedule plan rules with schedule parameters
2026-04-01 06:48:12 +00:00
zhi
a08644dde3 FE-PR-001: Rename Propose -> Proposal across frontend
- Rename ProposesPage -> ProposalsPage, ProposeDetailPage -> ProposalDetailPage
- Update Propose type to Proposal (keep Propose as deprecated alias)
- Add GeneratedTask type for accept results
- Switch API calls from /proposes to /proposals (canonical)
- Update sidebar label: Proposes -> Proposals
- Update routes: /proposals (+ legacy /proposes compat)
- Update all UI text: Propose -> Proposal
- Remove feat_task_id display, add generated_tasks section
- Clean up propose references in comments
2026-04-01 04:46:46 +00:00
zhi
50563f2b3d feat(users): add admin user management page 2026-03-20 10:56:00 +00:00
zhi
35e7d3a141 feat(P10): add Propose type, list page, detail page with accept/reject/reopen + sidebar link 2026-03-17 05:03:49 +00:00
Zhi
f6460e2d70 feat: add Role Editor page 2026-03-12 11:45:30 +00:00
zhi
7099e5cf77 feat: remove issues/milestones from nav, show project code 2026-03-12 09:25:35 +00:00
zhi
c114beb245 ui: show login button when logged out and logout when logged in 2026-03-11 21:28:07 +00:00
zhi
0ab1d2f380 i18n: translate frontend UI strings to English 2026-03-11 21:19:54 +00:00
zhi
ddcbd28967 fix: repair monitor sidebar and alert rendering 2026-03-11 17:26:37 +00:00
zhi
bc1714281c feat: allow public monitor route without login and add monitor page 2026-03-11 11:59:56 +00:00
zhi
54d4c4379a feat: remove nginx, add projects/milestones/notifications pages
- Dockerfile: replace nginx with serve for static files
- Fix auth endpoint: /auth/login → /auth/token
- Add ProjectsPage, ProjectDetailPage
- Add MilestonesPage, MilestoneDetailPage with progress bar
- Add NotificationsPage with unread count
- Sidebar: add milestones/notifications nav, live unread badge
- API: configurable VITE_API_BASE for host nginx proxy
- Types: add Milestone, MilestoneProgress, Notification, ProjectMember
2026-03-06 13:05:19 +00:00
Zhi
853594f447 feat: initial frontend - React + TypeScript + Vite
- Login page with JWT auth
- Dashboard with stats and charts
- Issues list with pagination, filtering
- Issue detail with comments, status transitions
- Create issue form
- Dark theme UI
- Docker (nginx) with API proxy to backend
- Sidebar navigation
2026-02-27 09:47:19 +00:00