Film Diary: a SwiftPieces remix in SwiftUI, inspired by Letterboxd
A film logging app in seven screens across three tabs on a floating dock, in the SwiftPieces look; actions are pills, cards 16, posters 6, chips 10. Films opens on what's popular with friends as a grid of typographic posters, then friends' logs with their green stars. A film stands on a charcoal ground like a darkened cinema: the backdrop, the title in serif beside its poster, the tagline in capitals, a synopsis that expands, and ratings as ten half-star bars beside the average. Rate, log, review raises a sheet: watched, like, watchlist and rewatch as round toggles, half stars you drag across, the day you watched it, a review, tags and a save that confirms in place. The diary groups the month's films under each day in an outlined box, stars in green and a heart for the ones you loved; an entry opens its review, with likes and comments. Profile carries the counts, four favourites, your own ratings spread and a ranked list of ten posters numbered in order. Built from Screen Header, Glass Segments, Cover Grid, Avatar, Filter Rail, Tint Panel, Image, Tag, Expandable Text, Chart, Button, Glass Bar, Icon Toggles, Rating Scrub, Day Picker, Input, Token Field, Toggle, Commit Button, Stat Grid, Reaction Toggle, Chat Bubble, Row and Progress.
- Open The Salt Orchard from the poster grid
- Expand the synopsis and read the ratings bars
- Tap Rate, log, review and drag the stars to four and a half
- Like it, pick the day and save to the diary
- Open Paper Moons from the diary and like the review
- Open a list from your profile
- Tabs: Each tab keeps its own place, so switching back returns you where you were.
- Push: The next screen slides in from the trailing edge; back slides it away.
- Sheet: The sheet rises over the screen, rests at its detents and follows your drag to dismiss.
- Tap: A tap acts on release, so dragging off cancels it.
- Drag: It tracks 1:1 under your finger and settles with a spring when released.
- Select: The selection moves between options instead of blinking.
- Toggle: The state changes at once and the control animates to match.
- Type: The field focuses, shows its keyboard type and reacts as you type.
- Haptic: A short tap of vibration confirms the moment something happens.