Skip to content

feat(ui): design 2.0 app shell and home page#652

Open
Zeroupper wants to merge 8 commits into
testfrom
feat/design-2.0
Open

feat(ui): design 2.0 app shell and home page#652
Zeroupper wants to merge 8 commits into
testfrom
feat/design-2.0

Conversation

@Zeroupper

Copy link
Copy Markdown
Collaborator

What

First slice of Design 2.0: the new app shell with tab navigation and the redesigned Home tab.

Screens updated

  • App shell (new): bottom navigation (Home / Tasks / Statistics / Connections) with animated tab transitions; full-screen pages such as informed consent now push on the root navigator so the nav bar does not bleed through.
  • Home (new): study title, slim app-update banner with a Get button, connections status card, study status card (running / deploying / stopped), compact Days-in-Study and Task-completed tiles, a Completed Surveys donut, and a Feeds section (placeholder content for now).
  • Tasks: scoreboard card removed — its stats now live on Home.
  • Tasks / Data / Connections: page titles unified through a shared CarpPageTitle widget; the nav item is renamed Devices → Connections.

Also carries a few small fixes: profile reads the study id from the study, measurement stream errors are logged instead of crashing the stream, and an Android launcher drawable for local notifications.

Issues

Move the bottom navigation into a dedicated CarpAppShell and make the
redesigned HomePage the landing tab, replacing StudyPage (kept as a
redirect alias). The home page shows the study title, app-update and
connection-status cards, and live days-in-study / tasks-completed
stats from the deployment status and the user task queue.

Tab switches now animate with a fade/scale transition; each tab page
gets a unique page key so the transition actually runs. Informed
consent moves to a root-level route so the bottom bar does not bleed
through. DeviceViewModel bridges device status events into listener
notifications, and nav bar labels are renamed to Home / Statistics /
Connections.
All four tab pages render their title through a shared CarpPageTitle
widget so font and padding stay consistent. The scoreboard on the
tasks page is redundant now that the home page shows the same stats,
so the card and its view-model getters are removed.
The profile page and the device connect flows (Bluetooth and Health)
were pushed onto the shell's nested navigator, leaving the bottom
navigation bar visible. Push them on the root navigator so they cover
the whole screen.
Make the stat tiles compact (label + icon badge on top, value below,
with a completed/total count on the tasks tile), slim the app-update
banner down to a text row with a Get button, and add back a study
status card showing the deployment state with its message.

The deployment status is now refreshed once from the home view model -
it was never fetched before, which kept the status card hidden and
days-in-study at 0. The home page also reuses SurveyCard for a new
Completed Surveys section; the card gets a showTitle flag so its
internal header can be hidden under the page's section heading.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant