Files
transcription/docs/ui/pages/home.md
T
2026-08-19 14:54:24 -05:00

2.6 KiB

Home Page Contract

Purpose

Home provides a user-maintained landing page for the local archive. It combines one current image with Markdown text and lets the operator edit both without changing application source or prompt assets.

Routes

Route Browser path Purpose
/homepage /ui/homepage View current homepage image and Markdown.
/homepage/edit /ui/homepage/edit Upload an image and edit Markdown.

The application root and /ui redirect to /ui/homepage.

View Behavior

  • The visible page heading is Home; the browser tab title is VibeScribe Home.
  • The latest homepage image appears in the shared dark-room viewer.
  • Saved Markdown is rendered in the Home Text card.
  • Missing text displays No homepage text saved yet.
  • Missing image displays the viewer's empty state.
  • Edit Home Page opens the edit route.

Edit Behavior

  • The image upload accepts JPEG, PNG, GIF, WebP, BMP, and TIFF files.
  • A successful upload immediately stores the file, updates the preview to that image, and displays a positive notification.
  • The Markdown textarea is initialized from the currently stored homepage text.
  • Save writes the textarea content, displays Homepage saved, and returns to Home.
  • Cancel returns to Home without saving textarea changes. An image already uploaded during the edit session remains stored.

Storage Contract

  • Homepage content is mutable application data under data/homepage.
  • Markdown is stored in homepage.md.
  • Uploaded images keep a sanitized basename.
  • The view selects the supported image with the most recent modification time.
  • Homepage files are not transcription prompts and are not database records.

Acceptance Checklist

  • /, /ui, and the application brand reach Home.
  • Home renders with or without stored Markdown and image content.
  • Edit loads existing Markdown.
  • A supported image upload updates the preview and becomes the latest homepage image.
  • Save persists Markdown and returns to Home.
  • Cancel does not save changed Markdown.

Implementation Anchors

  • src/transcription/ui/pages/home_page.py
  • src/transcription/ui/homepage_store.py
  • src/transcription/ui/components/app_shell.py
  • tests/ui/test_upload_page.py
  • tests/ui/test_navigation_and_mounts.py
  • tests/ui/test_pages_registration.py

Known Limitations

  • Homepage storage location is configured by application settings and must remain writable in the active runtime environment.
  • Uploading an image is immediate and is not rolled back by Cancel.
  • The editor does not currently delete or select among previously uploaded images.