Commit Graph

118 Commits

Author SHA1 Message Date
coryHawkvelt 37e5de7f92 feat: add ZeroTier Devices to admin sidebar navigation 2026-04-26 00:55:29 +09:30
nexgen_mirrors 78ac65169e feat(org): add celebration confetti when joining or creating organization
Add a celebratory experience when users join or create an organization:
- Add canvas-confetti dependency for visual effects
- Store organization name in localStorage after successful join/create
- Display celebration dialog with confetti animation on ProfilePage
- Clear the celebration flag after showing to prevent repeat displays
2026-04-21 17:11:05 +09:30
nexgen_mirrors 5fc24b7a42 feat(org): persist selected organization to localStorage
Add localStorage persistence for the currently selected organization.
This ensures the user's organization selection is remembered across
browser sessions, improving user experience by maintaining context
after page reloads or revisiting the application.
2026-04-20 16:58:03 +09:30
nexgen_mirrors 0dcebdb52b feat(org): prevent removal of last organization owner
Add validation in OrganizationService to check if the member being
removed is the last owner of an organization. If so, raise a ValueError
to prevent accidental loss of ownership. The API layer catches this
exception and returns a 403 error with appropriate message.
2026-04-20 16:36:49 +09:30
nexgen_mirrors d927c17c60 feat(org): add create organization dialog and fix admin role check
- Add CreateOrgDialog component with name/slug form and auto-slug generation
- Add "New Organisation" button in TopBar org dropdown (limited to 10 orgs)
- Fix admin check in AppSidebar to use currently selected org role
  instead of global isOrgAdmin flag for proper org-scoped permissions
2026-04-20 15:04:43 +09:30
nexgen_mirrors e5fbbf521d refactor(auth): extract SocialLoginButtons into reusable component
Extract social login buttons (Passkey, Google, GitHub, Microsoft) from
LoginPage into a dedicated SocialLoginButtons component. This enables
reuse in OIDCLoginPage and improves code maintainability.
2026-04-20 13:13:31 +09:30
nexgen_mirrors 2ff5f79f0f feat(profile): add resend verification email button 2026-04-20 13:12:44 +09:30
nexgen_mirrors cb62079b4f feat(marketing): add contact form submission and testing setup
- Add contact API endpoint for demo requests and sales enquiries
- Implement functional contact forms on Demo and Pricing pages with honeypot spam protection
- Update footer layout: remove Company section, add contact email
- Update self-hosted FAQ to mention open source with GitHub links
- Add vitest and testing-library dependencies
- Add tests for MarketingLayout and PricingPage components
- Remove placeholder external-auth test file
2026-04-18 00:33:02 +09:30
nexgen_mirrors 2baf6cd51a Merge branch 'main' of github.com:CoryHawkless/gatehouse-ui 2026-04-08 16:46:35 +09:30
nexgen_mirrors e8987e28f7 feat(admin): add dedicated user management page
Extract user management functionality from MembersPage drawer into a
dedicated UserManagementPage at /org/members/:userId. The new page
provides a full-page interface with tabs for user details, security
settings (MFA methods), and access management (OAuth accounts, SSH keys).

This improves code organization by separating concerns and provides
better UX for user administration tasks.
2026-04-08 16:45:57 +09:30
HawkveltGiteaAdmin 3975f4a1c3 Merge pull request #6 from jamesii-b/v1.01/stable
Fix: Join the invite link would navigate to create org.
2026-04-08 16:43:55 +09:30
JamesBhattarai 56a70cd83d Fix: Previously after join the invite link would navigate to create org.
Refresh the auth context and check org so newly joined org is reflected.
2026-04-08 11:45:13 +05:45
nexgen_mirrors f3e0f806cc fix(auth): resolve undefined SECUIRD_API in CLI token exchange
Replace remaining SECUIRD_API reference with config.api.baseUrl in
LoginPage.tsx. This fixes the 'SECUIRD_API is not defined' error
when accessing /login?cli_token=... during CLI authentication flow.
2026-04-07 10:25:07 +09:30
nexgen_mirrors 085f544b3c refactor(auth): use centralized config for API base URL
Replace inline SECUIRD_API constant definitions with imported config
module across all auth pages. This consolidates API URL configuration
into a single source of truth.
2026-04-07 00:48:53 +09:30
nexgen_mirrors 82b4056c41 refactor(auth): use API base URL directly for OIDC endpoints
Remove SECUIRD_OIDC constant that stripped /api/v1 from the base URL.
OIDC endpoints are now served under the API path directly.
2026-04-07 00:43:36 +09:30
nexgen_mirrors f653ee5ca7 refactor(auth): remove redirect_uri parameter from OAuth flow
Simplify OAuth login and account linking by removing the redirect_uri
parameter from initiateLogin and initiateLink functions. The backend
now handles callback URL construction internally.
2026-04-06 23:50:42 +09:30
nexgen_mirrors 11f56c187f feat(marketing): add ZeroTier Network Governance page and content
Add comprehensive marketing content for ZeroTier Network Governance feature
including a dedicated landing page, navigation updates, and feature highlights
across the homepage and features page.

- Add new ZeroTierPage with feature documentation and use cases
- Add ZeroTier to navigation in MarketingLayout header and footer
- Update HomePage hero headline and add ZeroTier feature section
- Add ZeroTier features section to FeaturesPage
- Add ScrollToTop component for better navigation UX
- Move ApiDevTools to AuthenticatedLayout (dev mode only)
- Add SSR tests for marketing pages
- Update SSHCertificatesPage comparison table for clarity
- Add documentation link to MarketingLayout footer
2026-04-06 20:57:30 +09:30
nexgen_mirrors 3e0a7f9de4 refactor(config): separate base URL from API URL for CLI usage
Add signUrl property to config for CLI sign URL without /api/v1 suffix.
Update CLIGuidePage to use config.signUrl instead of hardcoded URL.
Update .env.example and add .swarm/ to .gitignore.
2026-04-06 01:57:40 +09:30
coryHawkvelt a7310367a6 Added docker-compose.yml 2026-04-05 14:28:58 +00:00
nexgen_mirrors eb9161804e build(docker): add multi-stage Dockerfile with nginx and docker-compose
Add containerization support for production deployment:
- Multi-stage Dockerfile using Bun for build and nginx for serving
- docker-compose.yml for container orchestration
- nginx.conf with gzip compression, caching headers, and security headers
2026-04-04 16:49:13 +10:30
HawkveltGiteaAdmin 13e8d8f19a Merge pull request #4 from jamesii-b/gatehouse/secuird-CA-merge-v2.01
Gatehouse/secuird ca merge v2.01
2026-04-03 12:02:33 +10:30
JamesBhattarai a584a549e8 Fix: oidc endpoint 2026-03-31 12:56:52 +05:45
JamesBhattarai a0532ba010 Feat: Multi Tenant ZeroTier Config 2026-03-29 21:33:37 +05:45
JamesBhattarai 6ab4b8c2a5 Fix(UI): Fix security page routing and standardize marketing CTA card styles 2026-03-29 10:49:27 +05:45
JamesBhattarai 7003bbf8c6 Fix: UI Light Mode 2026-03-23 22:20:52 +05:45
JamesBhattarai 7c68886e20 Chore: Fix rename info 2026-03-23 18:23:46 +05:45
JamesBhattarai e6b9081d7f Chore(Fix): Added CLI Guide + Refractor API Key Page UI
Refractor SSH Key Page
Fix Vite config env load
2026-03-22 15:38:52 +05:45
JamesBhattarai 0b0adb69e6 Fix: SSH key verify — namespace 'file', show full challenge, copyable Step 2 2026-03-22 15:38:28 +05:45
JamesBhattarai 58929fbfef Feat: Implemented SUDO Department & API Key 2026-03-22 15:38:28 +05:45
JamesBhattarai 2dd6823b0f Fix: Verbose Syslog
Special email configured at backend to access these page via .env
2026-03-22 15:38:28 +05:45
JamesBhattarai 55847f387e Fix: Localized Dates 2026-03-22 15:38:28 +05:45
JamesBhattarai 77e3a1fcec Fix: 2FA/passkey page redirect + org Setup context 2026-03-22 15:38:28 +05:45
JamesBhattarai 979b5a918e Chore: Rebranding Gatehouse to Secuird (UI) 2026-03-22 15:38:23 +05:45
nexgen_mirrors 7be6415db1 feat(marketing): add Secuird marketing pages and rebrand
Add comprehensive marketing website with landing page, features, pricing,
demo, SSH certificates, and security pages. Update index.html with enhanced
SEO metadata, Open Graph tags, and structured data for the Secuird brand.
2026-03-20 22:17:33 +10:30
nexgen_mirrors 4e669160eb feat(zerotier): add ZeroTier network access management UI
Add comprehensive ZeroTier integration and access control:

- NetworksPage for managing ZeroTier portal networks
- DevicesPage for device registration and membership management
- AccessPage for approval workflows, session management, and kill switch
- Complete API client with TypeScript types for ZeroTier entities
- Navigation updates with ZeroTier section in sidebar
2026-03-20 21:52:52 +10:30
HawkveltGiteaAdmin 819f33229d Merge pull request #3 from jamesii-b/gatehouse/secuird-CA-merge-v2.01
Gatehouse/secuird ca merge v2.01
2026-03-05 16:55:36 +10:30
JamesBhattarai 27beb7a43f Chore: logo 2026-03-04 19:03:18 +05:45
JamesBhattarai de869ec1f2 Feat(Chore, Fix): Admin Privilege
Added OIDC Web Page Flow
Admin can  add/reset password
Admin can remove users'/members mfa/2fa, unlink account from  oauth provider
Chore: Text changes (Forgot Pass, CA)
2026-03-04 18:43:12 +05:45
JamesBhattarai 44afd93c35 Fix: Deletion Deadlocks (Owner, User) 2026-03-03 23:23:18 +05:45
JamesBhattarai 7348ba916d Chore(Feat): Refractor CA Code + CA host Sign via web 2026-03-03 18:02:21 +05:45
HawkveltGiteaAdmin e6f0d0b004 Merge pull request #2 from jamesii-b/gatehouse/secuird-CA-merge-v2.01
Gatehouse/secuird ca merge v2.01
2026-03-03 13:52:25 +10:30
HawkveltGiteaAdmin cfbd64e189 Merge pull request #1 from jamesii-b/oidc/v1.01
Feat: Handle Oauth Callback/Bridge + Microsoft Oauth
2026-03-03 13:52:12 +10:30
JamesBhattarai b97937f080 Feat(Fix): Multi Org, Suspension, User Detail
Multi Org switch, members suspend/unsuspend status, delete account, next serial, show email in user member search
2026-03-02 23:55:47 +05:45
JamesBhattarai 6cab506603 Feat(Fix): CA manage Host/User Key 2026-03-01 20:41:31 +05:45
JamesBhattarai f1a8e313fc Feat(Fix): User & Org Setup Initial (Invite + Create on own) & Chore: UI 2026-03-01 20:11:22 +05:45
JamesBhattarai 4c01fd0107 Feat: RBAC, Keys Extension, Invites
feat: org members page — invite users, cancel invites, change roles
feat: show pending invitations banner on profile page
feat: invite accept flow for existing users (no password needed)
feat: departments page updates
feat: SSH keys page — dept cert policy UI (expiry + extensions)
feat: wire up auth pages to real API (register, verify, reset, OIDC)
feat: CLI auth bridge — login page handles CLI token flow
feat: admin users — suspend/unsuspend, role badges, role filter
feat: add admin OAuth providers management page
feat: activity page — org-wide audit log view for admins
feat: add my memberships page
chore: add isOrgAdmin/isOrgMember to AuthContext, restrict sidebar
chore: update app routing and shared layout
2026-03-01 16:50:19 +05:45
JamesBhattarai 62f767474b Feat(Fix): SSH Keys-Expiry+Log; Department+Principal Link; CA Keys mgmt;
- Fix Login nav to /profile or /
2026-02-28 23:35:32 +05:45
JamesBhattarai c32cb4757a Feat(Chore): Implemented Audit-Logs, Department, Principal. 2026-02-27 21:08:16 +05:45
JamesBhattarai b94053aebc Feat: Handle Oauth Callback/Bridge + Microsoft Oauth 2026-02-26 23:38:45 +05:45
nexgen_mirrors 5c2971e38d fix(auth): validate WebAuthn rp.id against current host
Add ensureValidRpId helper to validate and correct rp.id for WebAuthn
operations, preventing authentication failures when the configured rp.id
doesn't match the current hostname. Also add OAuthProvider type and fix
type casting in LoginPage.
2026-02-24 01:20:41 +10:30