b889e4832533764c83122c0cfdf01c17efbb7337
- Replace single file input with paper clip icon button and dropdown menu - Add 5 attachment options: image, video, file, video recording, picture capture - Implement video recording with MediaRecorder API (5 min auto-stop) - Support multiple file input interactions accumulating in pending array - Add same menu system to conversation container (separate attachment array) - Add render functions for displaying selected attachment summaries - Fix CSS positioning for menu with relative parent and top-full positioning - Menu closes on outside click and when file is selected
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%