diff --git a/CONTEXT.md b/CONTEXT.md index e1b4fb97..6493ca68 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -70,6 +70,18 @@ _Avoid_: Hierarchical; calling flat rows "passages" Project structure with sections containing numbered passages. _Avoid_: Flat +**Sections & Passages**: +The project page that lists sections and passages — desktop sheet or mobile cards. +_Avoid_: PlanSheet; PlanView (implementation names) + +**Passage Card**: +A mobile card for a passage (or section+passage) on Sections & Passages. +_Avoid_: Sheet row; table cell + +**Current Passage**: +The last passage the user opened for work, stored per user in local storage so Sections & Passages can restore focus. +_Avoid_: Last row (desktop-sheet wording); selected row + ## Publishing & Akuo Publishing in APM normally means releasing **oral content** to listeners — not transferring transcriptions. Text content follows the Paratext sync path instead. diff --git a/src/renderer/src/components/Sheet/PassageCard.tsx b/src/renderer/src/components/Sheet/PassageCard.tsx index 4468f9ab..569246d0 100644 --- a/src/renderer/src/components/Sheet/PassageCard.tsx +++ b/src/renderer/src/components/Sheet/PassageCard.tsx @@ -19,6 +19,7 @@ interface IProps { onGraphicClick?: () => void; isPlaying: boolean; isPersonal?: boolean; + isCurrent?: boolean; } export function PassageCard(props: IProps) { @@ -30,6 +31,7 @@ export function PassageCard(props: IProps) { onGraphicClick, isPlaying, isPersonal, + isCurrent, } = props; const getDescription = useSectionIdDescription(); const t: ICardsStrings = useSelector(cardsSelector, shallowEqual); @@ -52,10 +54,23 @@ export function PassageCard(props: IProps) { } }; + const passageId = cardInfo.passage?.id; + return ( @@ -118,6 +133,7 @@ export function PassageCard(props: IProps) { )}