ccb239c84bb937c96ed4893724b03a528723e716
- Reorganize attachment menu: main menu shows Attach Image, Attach Video, Attach File - Clicking Attach Image/Video opens submenus with take photo/video and select file options - Move menu to open to the right of attach button instead of below - Apply same submenu structure to both note and conversation containers - Decrease height of notesListContainer and noteContainer for compact layout - Center containers vertically on page - Move attachments section and submit button up 30px within noteContainer - Adjust vertical padding and margins for optimal spacing - Reduce noteContainer height by 15px and move down 4px - Increase notesListContainer height by 2px and move down 4px - Fine-tune noteContainer height and positioning (py-[8px], mt-4)
Prism Notes
PocketBase + Microsoft Graph OAuth capture app. Frontend is a Tailwind-powered note and audio capture page; backend is a Bun/Hono server that validates PocketBase tokens and can mint Graph tokens (client credentials flow).
What you get
server.ts— Bun + Hono server with/health,/api/graph/status,/api/submit, and staticindex.htmlserving.index.html— Microsoft OAuth via PocketBase plus note/audio capture UI.tsconfig.json,package.json,bun.lock— project configuration.
Setup
- Install Bun (https://bun.sh).
- Add a
.envfile at the project root with the variables below. - Install deps:
bun install - Run dev server:
bun run --watch server.ts(default port 5500).
Open http://localhost:5500 and sign in with Microsoft.
Environment variables
| Name | Description |
|---|---|
CLIENT_ID |
Azure AD app (client) ID |
CLIENT_SECRET |
Azure AD client secret |
TENANT_ID |
Azure AD tenant ID |
REDIRECT_URI |
Redirect URI configured in the Azure app |
PB_DB |
PocketBase URL (e.g., http://127.0.0.1:8090) |
PB_COLLECTION |
Collection to store submissions (default Job_Info_TestEnv) |
PB_AUTH_COLLECTION |
Auth collection for token refresh (default Users) |
PORT |
Server port (default 5500) |
Notes
getGraphToken()inserver.tsis ready for Graph API calls; extend with additional routes as needed./api/submitvalidates the providedpbTokenthen writes the payload toPB_COLLECTION; adjust fields to match your schema.- Static file serving uses
index.htmlfrom the repo root.
Description
Languages
HTML
74.1%
TypeScript
18.5%
JavaScript
7.4%