From 513e975530df124b2715c1f31bf0ad5dd0abc7f3 Mon Sep 17 00:00:00 2001 From: aewing Date: Tue, 24 Mar 2026 18:29:51 +0000 Subject: [PATCH] Fix PocketBase auth and note submission - Replace popup OAuth with SDK authWithOAuth2 realtime channel (urlCallback) so login works in Edge app mode without navigating the main window - Remove manual redirect/sessionStorage OAuth flow that broke in Edge app mode - Serve PocketBase config (URL, collection, provider) from server endpoint backed by env vars instead of hardcoded localhost - Fix /api/submit: target Notes collection with correct field mapping (body_plain, body_html, title, type, email, Username, userId, job_note, Job_Number) instead of Job_Info_Prod with wrong field names - Remove localhost fallbacks from auth-module backend and frontend --- auth-module/backend.ts | 2 +- auth-module/frontend.ts | 2 +- index.html | 153 +++++++++++++++++++++++++++++++++------- server.ts | 65 +++++++++++++---- 4 files changed, 182 insertions(+), 40 deletions(-) diff --git a/auth-module/backend.ts b/auth-module/backend.ts index 41248ca..b739818 100644 --- a/auth-module/backend.ts +++ b/auth-module/backend.ts @@ -100,7 +100,7 @@ export class PocketBaseValidator { private pb: PocketBase; constructor(pbUrl?: string) { - this.pb = new PocketBase(pbUrl || process.env.PB_DB || 'http://127.0.0.1:8090'); + this.pb = new PocketBase(pbUrl || process.env.PB_URL || process.env.PB_DB || ''); } /** diff --git a/auth-module/frontend.ts b/auth-module/frontend.ts index db89fe8..96b25cf 100644 --- a/auth-module/frontend.ts +++ b/auth-module/frontend.ts @@ -13,7 +13,7 @@ export class PocketBaseAuth { constructor(config: AuthConfig, callbacks?: Partial) { this.config = { - pbUrl: config.pbUrl || 'http://localhost:8090', + pbUrl: config.pbUrl || '', collection: config.collection || 'Users', provider: config.provider || 'microsoft', loginContainerId: config.loginContainerId || 'loginContainer', diff --git a/index.html b/index.html index 3c3d073..1a77321 100644 --- a/index.html +++ b/index.html @@ -19,14 +19,45 @@ border-radius: 0.75rem; padding: 0.55rem 1rem; font-weight: 600; - transition: all 120ms ease; + transition: all 160ms ease; + position: relative; + overflow: hidden; } .btn:focus-visible, .field:focus-visible { outline: 2px solid rgb(34 211 238 / 0.8); outline-offset: 1px; } - .btn:hover { transform: translateY(-1px); } + .btn::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(120deg, transparent 0%, rgb(255 255 255 / 0.2) 48%, transparent 100%); + transform: translateX(-130%); + transition: transform 260ms ease; + pointer-events: none; + } + .btn:hover { + transform: translateY(-1px) scale(1.01); + box-shadow: 0 10px 22px rgb(15 23 42 / 0.28); + } + .btn:hover::before { transform: translateX(130%); } + .btn-accent-cyan { + color: rgb(8 47 73 / 1); + background: rgb(6 182 212 / 1); + } + .btn-accent-emerald { + color: rgb(6 44 32 / 1); + background: rgb(34 197 94 / 1); + } + .btn-accent-indigo { + color: rgb(255 255 255 / 0.98); + background: rgb(99 102 241 / 1); + } + .btn-accent-violet { + color: rgb(255 255 255 / 0.98); + background: rgb(139 92 246 / 1); + } .btn-secondary { border: 1px solid rgb(51 65 85 / 1); background: rgb(15 23 42 / 1); @@ -42,7 +73,21 @@ font-size: 0.875rem; color: rgb(248 250 252 / 1); } + .field option { + background: rgb(15 23 42 / 0.96); + color: rgb(248 250 252 / 1); + } .field::placeholder { color: rgb(100 116 139 / 1); } + #output { + border: 1px solid rgb(30 41 59 / 1); + background: rgb(2 6 23 / 1); + } + code { + border: 1px solid rgb(51 65 85 / 1); + background: rgb(15 23 42 / 1); + padding: 0.12rem 0.35rem; + border-radius: 0.45rem; + } @@ -78,7 +123,7 @@

1) Prism Notes Login

Uses PocketBase OAuth with Microsoft to validate the Prism Notes user session.

- +
@@ -88,7 +133,7 @@

Gets delegated Graph token used for OneNote APIs.

Disconnected

- +
@@ -120,8 +165,8 @@
- - + +
@@ -146,7 +191,7 @@ - + @@ -160,11 +205,12 @@