Commit Graph

6 Commits

Author SHA1 Message Date
Mikhail Kilin
3bddb0012d Add URL hash routing for direct project links
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Opening #/project/123 navigates directly to the project page.
Back button and project selection update the hash accordingly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:28:15 +03:00
Mikhail Kilin
570e0ca643 Rewrite app: entries → projects with S3 file storage
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Replace flat text entries with project-based structure.
Each project has name, local/corp fields, content textarea,
and file upload (up to 100MB) stored in MinIO S3.
New API: CRUD projects + file download + content copy.
Frontend: two views (project list + project page).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:50:28 +03:00
Mikhail Kilin
7467206a5c Fix clipboard copy on HTTP (non-secure) contexts, update docs
navigator.clipboard is undefined on non-HTTPS origins — add
execCommand fallback. Also sync CLAUDE.md with actual project
structure (Dockerfiles, nginx, CI, correct API/button descriptions).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 00:09:54 +03:00
Mikhail Kilin
aff1274b18 Fix type-only import for EntryMeta (verbatimModuleSyntax)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 23:06:46 +03:00
Mikhail Kilin
1e225e9af3 Add k3s deployment: Dockerfiles, nginx config, CI pipeline
- Backend Dockerfile: multi-stage rust:1.87 → debian:bookworm-slim
- Frontend Dockerfile: multi-stage node:22-alpine → nginx:alpine
- Frontend nginx.conf: serve static + proxy /api/ to backend service
- Change API_URL to relative /api for containerized deployment
- Woodpecker CI pipeline to build and push images to Gitea Registry
- Add repository URL to CLAUDE.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 22:29:20 +03:00
Mikhail Kilin
37f86740a2 feat: hide entry content from list, add GET /api/entries/:id/content endpoint
Content is no longer returned in the entries list. A separate endpoint
returns plain text content for clipboard copying on demand.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 16:23:05 +03:00