Redesign student UI and add OnlyOffice document integration
Build and Push Docker Image / build-and-push (push) Successful in 33s
Build and Push Docker Image / build-and-push (push) Successful in 33s
- Student section: new hero gradient header, fixed bottom nav bar with icon+label pills (Today/Courses/Spelling/Inbox/Docs) - Today rows: card style with left accent stripe, lift on hover - Course cards: grid layout with top color bar per course - Docs tab: list view with doc cards, OnlyOffice editor embedded via iframe using server-signed JWT config - Server: documents table, CRUD routes, OnlyOffice callback endpoint for auto-save, /api/docs/:id/editor-config returns signed config - Blank DOCX template embedded as base64 for new document creation - OnlyOffice server: https://onlyoffice.necloud.us (set ONLYOFFICE_JWT_SECRET env var to match your Document Server JWT secret) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
16e3bbbd83
commit
95c0da5c51
6 files changed
+519
-56
No files matched your search
@@ -244,6 +244,19 @@ tryAlter(`ALTER TABLE lists ADD COLUMN group_name TEXT NOT NULL DEFAULT ''`);
|
||||
tryAlter(`ALTER TABLE decks ADD COLUMN group_name TEXT NOT NULL DEFAULT ''`);
|
||||
tryAlter(`ALTER TABLE tests ADD COLUMN item_id INTEGER`);
|
||||
|
||||
db.exec(`CREATE TABLE IF NOT EXISTS documents (
|
||||
id INTEGER PRIMARY KEY,
|
||||
student_id INTEGER NOT NULL REFERENCES students(id) ON DELETE CASCADE,
|
||||
title TEXT NOT NULL DEFAULT 'Untitled Document',
|
||||
doc_key TEXT NOT NULL UNIQUE,
|
||||
filename TEXT NOT NULL,
|
||||
submitted INTEGER NOT NULL DEFAULT 0,
|
||||
submitted_at TEXT,
|
||||
parent_read INTEGER NOT NULL DEFAULT 0,
|
||||
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
||||
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||
)`);
|
||||
|
||||
export const sha256 = (s) => createHash('sha256').update(String(s)).digest('hex');
|
||||
|
||||
// Default parent PIN on first run
|
||||
|
||||
Reference in new issue
Block a user