generated from john/python-template
@@ -21,6 +21,7 @@ The application root and `/ui` redirect to `/ui/homepage`.
|
||||
- Missing text displays `No homepage text saved yet.`
|
||||
- Missing image displays the viewer's empty state.
|
||||
- **Edit Home Page** opens the edit route.
|
||||
- The same Home Text content is also editable from **Settings → Home Page Text**.
|
||||
|
||||
## Edit Behavior
|
||||
|
||||
|
||||
@@ -19,8 +19,9 @@ Jobs manages transcription processing runs. A Job belongs to one Document, links
|
||||
|
||||
- The title is **Transcription Pipeline Jobs**.
|
||||
- **Create job** opens Job creation and **Refresh** reloads the table.
|
||||
- Columns are Job ID, Status, Source Filename, Retries, Created, and Updated.
|
||||
- Search covers Job ID, filename, and status.
|
||||
- Columns are Job ID, Status, Document Name, Retries, and Updated.
|
||||
- Updated is the primary date/sort field.
|
||||
- Search covers Job ID, document name, and status.
|
||||
- Status is displayed as a semantic status chip.
|
||||
- Selecting a row opens Job Detail.
|
||||
- No records displays `No job records found in repository.`
|
||||
@@ -43,7 +44,7 @@ Jobs manages transcription processing runs. A Job belongs to one Document, links
|
||||
|
||||
- The heading shows Job ID and a status badge.
|
||||
- Execution Logistics shows provider, model, prompt, retry count, and last update.
|
||||
- Document Links open the parent Document and Job-filtered Sources.
|
||||
- Document Links show a clickable Document Name, Sources count, and a single **View Sources** action using document filtering.
|
||||
- Queued and processing Jobs show an auto-refresh notice and reload every four seconds.
|
||||
- Polling stops when the Job becomes terminal or a refresh fails.
|
||||
- Queued and processing Jobs expose **Cancel**.
|
||||
|
||||
@@ -54,9 +54,12 @@ Rules:
|
||||
- The header provides **New Document**, **Edit Person**, and **Delete**.
|
||||
- **New Document** opens Document creation with this Person requested for author preselection.
|
||||
- The portrait viewer resolves supported relative upload paths and absolute HTTP/data URLs.
|
||||
- Biographical Record shows names, compact birth/death dates, places, and an **Open in FamilySearch** link when an ID exists.
|
||||
- Biographical Record shows names, compact birth/death dates, and places.
|
||||
- Birth and death place values are clickable links to Google Maps when present.
|
||||
- FamilySearch ID is shown as a metadata value and is clickable to the FamilySearch person details route when present.
|
||||
- Maiden Name is only shown in Biographical Record when a value exists.
|
||||
- Biography has an explicit empty value.
|
||||
- Linked Documents show Document name, relationship role, and an action to open Document Detail.
|
||||
- Linked Documents render as a table with **Document Name**, **Role**, and **Number of Pages**; selecting a row opens Document Detail.
|
||||
- No links shows both an empty state and guidance to link from a Document workflow.
|
||||
- System Logistics shows created and updated timestamps.
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# Settings Page Contract
|
||||
|
||||
## Purpose
|
||||
|
||||
Settings manages installation-local registries and editable text assets from one route.
|
||||
|
||||
## Route
|
||||
|
||||
| Route | Purpose |
|
||||
| --- | --- |
|
||||
| `/settings` | Manage Document Types, Person Roles, Prompts, and Home Page Text. |
|
||||
|
||||
## Behavior
|
||||
|
||||
- The page title is **Settings**.
|
||||
- Configuration surfaces are grouped as tabs:
|
||||
- **Document Types**
|
||||
- **Person Roles**
|
||||
- **Prompts**
|
||||
- **Home Page Text**
|
||||
- Document Types and Person Roles support Add/Edit/Delete with existing guardrails.
|
||||
- Prompts exposes only `transcribe_document.md` for editing and restore-from-backup.
|
||||
- Home Page Text edits the same Markdown content rendered on `/homepage`.
|
||||
|
||||
## Acceptance Checklist
|
||||
|
||||
- `/ui/settings` renders all four tabs.
|
||||
- Registry and prompt workflows keep existing validation and error handling.
|
||||
- Saving Home Page Text persists content for the homepage view.
|
||||
|
||||
## Implementation Anchors
|
||||
|
||||
- `src/transcription/ui/pages/settings_page.py`
|
||||
- `src/transcription/ui/homepage_store.py`
|
||||
- `tests/ui/test_pages_registration.py`
|
||||
Reference in New Issue
Block a user