Wine Ratings: a SwiftPieces remix in SwiftUI, inspired by Vivino
A wine app in seven screens across three tabs on a floating dock, in the SwiftPieces look; actions are capsules, cards 28, chips 12, bottles drawn tall. The shop opens on offers picked for you: a bottle with its deal in amber, its stars in claret and an add to cart that confirms as a toast, then friends' favourites as rows you add with one tap. Scan is the camera, with Wine label and Wine list modes that each bring their own hint; the shutter lands on the wine. A wine stands on a berry ground with the winery in capitals, its rating and its bottle, then how well it matches your taste as a ring, a raised Rate and a claret buy pill, its taste as sliders between poles with flavour chips, and the dishes it goes with, which open pairings from your own cellar. Rating is a sheet of stars you drag in half steps, a review, where you drank it and a badge earned as a toast. My Wines charts what you drink by style with each style in its own colour, then styles, regions and grapes as swipeable tabs; the cellar counts bottles, charts drinking windows by year and marks what's ready. Built from Screen Header, Search Field, Filter Rail, Image, Tag, Toast, Media Row, Elastic Button, Camera Viewfinder, Tint Panel, Goal Ring, Slider, Icon Toggles, Button, Stat Grid, Glass Bar, Avatar, Rating Scrub, Input, Toggle, Glass Segments, Category Bars, Tracking Tabs, Progress, Chart and Scrub Stepper.
- Add the Ombralunga offer to your cart
- Switch the scanner to Wine list and read the hint
- Take the photo and read your match
- Nudge the taste sliders and tap a flavour
- Rate it four and a half and save for the badge
- Swipe My Wines from Styles to Grapes, then open the cellar
- 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.
- Swipe: It follows your finger, then commits or springs home based on distance and speed.
- 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.
- Press: The control dips while your finger is down and springs back on release.
- Haptic: A short tap of vibration confirms the moment something happens.