Screen Time: a SwiftPieces remix in SwiftUI, inspired by Opal
A screen time app in seven screens across three tabs on a floating dock, in the SwiftPieces look; actions are pills, cards 24, tiles 18, gauges round, with glacier sky as the one accent. Today leads with a ticked ring of this week against your usual and the time won back in large, then the score as three round gauges for sleep, focus and rest, the day by the hour as bars, and a card about bedtime that opens insights: late-night minutes against the usual line, the first pickup and last scroll as tiles, and the apps used most before bed. Rules shows the apps blocked right now and the rules as tiles; a new rule is a sheet with the apps as chips, start and end, the days and a difficulty on glass. The focus timer is one big rolling time you scrub, with apps blocked and a sound. The running session stands on navy with a soft ring, the blocked apps and a break that asks first; leaving early takes a hold. Opening a blocked app shows the block screen on charcoal, where an unblock has to be earned with a sum. Built from Screen Header, Timer Dial, Stat Grid, Chart, Card, Compare Line, Row, Elastic Button, Avatar, Form Field, Token Field, Picker, Filter Rail, Glass Segments, Commit Button, Text Reveal, Scrub Stepper, Toggle, Icon Toggles, Tint Panel, Focus Ring, Confirm Sheet, Hold to Confirm, Tag and Quiz Choices.
- Tap a bar to read an hour of screen time
- Open the bedtime card and drag the late-night line
- Press + and add Games to a new rule
- Scrub the focus timer to 45 minutes and start it
- Take a break, then hold to leave early
- Open Glimpse and earn ten minutes
- 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.
- Scrub: Values change continuously under your finger, with a tick at each step.
- Drag: It tracks 1:1 under your finger and settles with a spring when released.
- Hold: Progress fills while you hold; letting go early rewinds it.
- 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.