Journal: scrollable entry cards with fade + smooth photo hover (v1.14.1)
Details
Entry cards in the feed view now have a MaxHeight of 520px with an internal ScrollViewer. An opacity mask creates smooth fade-to-transparent gradients at top and bottom edges so content visually blends when scrolling. Tags and links remain pinned below the scroll area.
Fixed photo hover animation: replaced TranslateTransform objects with TransformOperations.Parse("translateY(...)") strings so TransformOperationsTransition can properly interpolate. Hover now smoothly lifts 4px with a CubicEaseOut easing over 200ms alongside an expanding box shadow.
Journal: drag-to-reorder and drag-to-merge rows (v1.14.0)
Details
Replace the non-functional triple-line icon in RowEditor with a 6-dot drag handle that enables row drag-and-drop. Dragging a row to the top/bottom edge of another row reorders them. Dragging to the center merges them into a multi-column layout (up to 3 columns). Visual feedback includes blue insertion lines for reorder and a highlighted border for merge. Added MoveRow and MergeRows commands to JournalViewModel.Sections.cs.
Journal: smart photo layouts with fill, hover lift, click-to-lightbox
Details
Replaced uniform grids with smart composition layouts based on photo count:
1 photo = full-width hero, 2 = side-by-side, 3 = hero left + 2 stacked
right, 4 = 2x2 grid, 5+ = hero top + rows of 3. Images use UniformToFill
with ClipToBounds for clean coverage without distortion.
Hover effect: subtle 3px lift with expanding shadow via animated transitions.
Click: opens lightbox in both editor and read-only views.
Removed layout selector buttons (1col/2col/3col) from photo editor — the
multi-column row system handles width allocation (photo section next to text,
map, etc.). Extracted shared PhotoLayoutBuilder used by both editor and
read-only PhotoSectionView.
Journal: redesign photo editor for cleaner UX
Details
Replace clunky photo editor with a minimal design: empty state shows a clean
drop zone with click-to-add, photos display as natural thumbnails with hover
X to remove, layout picker is a compact segmented control, and a subtle
"+ Add" button for more photos. Removed InteractivePhotoEditor — zoom/pan
is the lightbox's job, not the editor's.
Journal: cell type picker, inline photo editor, photo lightbox
Details
Multi-column cell type picker: Added type picker strip (Text/Photos/Audio/Map)
above each cell in multi-column rows, allowing users to change content type
per cell. Previously cells were locked to their initial type with no UI to
invoke the existing SetCellType command.
Inline photo editor (InteractivePhotoEditor): Replaced filename-only thumbnail
boxes with actual image rendering. Features mouse wheel zoom (0.25x-4x centered
on cursor), drag-to-pan when zoomed, resize handles for display height
(80-800px persisted as display_height on JournalPhoto model), double-click to
reset zoom, and a zoom percentage indicator.
Photo lightbox (PhotoLightbox): Fullscreen overlay for read-only views with
dark backdrop, centered image, left/right navigation arrows, image counter,
zoom/pan support, and Escape/click-to-close. Wired into PhotoSectionView
click handler and JournalView keyboard handler.
Model: Added DisplayWidth and DisplayHeight to JournalPhoto for persistent
display dimensions (null = auto-fit for backward compatibility).
Get notified about new releases