Tour Dash
Report · 5 September 2026

Agent Dashboard v2

The Home page an agent opens every morning, on its second pass. The first version got the order right: who is waiting on me, what am I doing next, what else could I take. What it got wrong was the top of the page. The greeting said nothing, the date line said nothing the strip now says better, and the four figures in the rail repeated the numerals already sitting in the section rails a few inches to their left. This pass makes the top of the page earn its place and gives the sheet a pulse without giving it a carousel.

Scope The Home page for both account types, the week strip, the next-job spotlight, and a date parameter on the Calendar Status Committed to main on 2026-09-05, verified on /demo at 390, 768, 1024 and 1440 in both themes, deployed to tour-dash.pages.dev the same day
01

Where the first version fell short

The structure held. The redundancy did not.

The previous agent dashboard at desktop width: Welcome back, Dana over the date, a Waiting on you section with two applicant rows, a Your next few days diary of four photo cards, an Earn nearby list, and a right-hand rail reading Next up Tomorrow, Nearby to earn 11 jobs, Waiting on you 5 applicants, Earned $2,075.
Before. Five and eleven each appear twice on one screen, "Next up: Tomorrow" restates the first card, and nothing on the page is in the accent because today has no job to mark.
02

What it is now

The same sheet, with a top that reads the day and a rail that only says what the sheet does not.

The v2 dashboard at 1440px: Welcome back, Dana, the date, then a lede reading Nothing booked today. 5 people are waiting on you across 2 posts, and tomorrow starts at 9:00 am in Short Hills. The Waiting on you rows now carry in 2 days on the Monday job. Under Your next few days a Next up rail with the date numeral sits beside a wide card: the property photo fills the left half, the right reads Starts in 12 h 49 min, 9:00 to 9:30 am, Pick up placement, Sign placement, Farbrook Drive, the address, $45 and Erik Lindstrom. The rail on the right holds a seven-day strip with today's numeral on an amber disc and coloured marks under the days with jobs, then Booked ahead 4 jobs $430 in pay $45 to pay, Waiting on you 5 applicants Soonest job Monday, and Earned last 30 days $1,535.
After, at 1440px. The lede reads the day in one sentence, the strip shows the week, the next job gets the width, and the rail's three figures each say something the sheet cannot.
The same v2 dashboard in the dark theme at 1440px.
Dark. Today's disc is the unstepped amber; the marks under the strip are the dark-theme family hues.
The booked-job dialog opened from the spotlight card: Pick up placement, Booked, Sign placement Farbrook Drive, the address, $45 pay, Sun Sep 6 9:00 am, 30 min, Erik Lindstrom as covering agent.
The spotlight is a button like every other card. It opens the same booked-job dialog.
The full v2 dashboard on a 390px phone: greeting and lede, the strip full width with three figures under it, the applicant rows, the spotlight card with the photo on top, the remaining diary cards, the nearby list with miles under each pay, and the ledger.
390px. The strip takes the row, the two counts share the next, Earned takes the third so the grid has no empty cell. The spotlight photo sits over its text.
The v2 dashboard at 768px with the sidebar open: the rail folds above the sheet, the strip and figures in one card.
768px with the sidebar open, which is a 512px column. Nothing overflows at any width; the layout viewport was probed at each.
03

Additions the same day

All asked for after the first deploy, on 2026-09-05 (commits e15878d, 5373b32, 26c6bfe, c9de832 and 87a619a).

The spotlight card with the cursor over the top-left of the photo: a soft-edged disc of the listing's living room painted into the exterior shot of the building.
The cursor paints the second photo into the first. A soft torch opens where the pointer enters, trails it a beat, and closes when it leaves.
The diary with the Tomorrow card under the pointer: it has taken a darker fill and a firmer border, and every card's resting border is stronger than before.
Every card hovers the way the applicant rows already did, and the resting borders stepped up so cards read as cards.
The previous applications dialog: a wide modal titled Applications for Need coverage, a card repeating the title with icon facts, then three applicant cards each with an email address, a Pending badge, a red Reject button and an amber Book button.
Before. The title twice, an email on every row, a badge saying what the heading said, and three amber buttons.
The rebuilt applications dialog: Home showings and 3 applicants waiting on you on the top line, the title, the address, a facts strip reading $95 posted at, Monday Sep 7 11:00 am, 60 min, 3 applied, then a hairline list of three applicants with brokerage, rating and Applied today under each name, the asking figure on the right with At your price or $15 above your $95 under it, the message quoted, and Reject and Book at the row's end.
After. The number the decision turns on sits where the pay sits everywhere else.
The previous notifications panel: a bell icon and amber count in the header, three rows each with an icon in a grey disc, a tick and a cross button, and a full-width Close button at the bottom.
Before. Icons, ticks, crosses, an amber badge and a Close button, and no row opened anything.
The rebuilt notifications panel over the dashboard: Notifications, 3 unread, Mark all read; a New group with three rows, each with a small amber dot, a bold title, the message and a short time such as 13 h or Yesterday; the second row hovered with a darker fill and a dismiss cross; an Earlier group below.
After. Rows open the page they are about. Unread first, a dot and a heavier title, dismiss on hover.
04

How it was checked

05

Files

FileWhat changed
src/pages/Index.tsxThe lede, the strip in the rail, the rebuilt figures, the spotlight with the diary of the rest beneath it, entrance motion, miles on nearby rows.
src/components/WeekStrip.tsxNew. Seven days, a mark per job, today on the amber disc, every day a button.
src/components/NextUpCard.tsxNew. The spotlight card, the "Starts in 18 h 40 min" wording, and the cursor-driven reveal of the second photo.
src/components/NotificationsPopover.tsxRewritten: rows are buttons that open their page, New and Earlier groups, dismiss on hover, no footer.
src/lib/notifications.tsNew. Where a notice goes (its link, else a page by type) and the short relative time.
src/hooks/useNotifications.ts, src/components/AppHeader.tsx, src/components/AppSidebar.tsxPolling once a minute; the bell's dot only with unread; the phone menu's search box removed.
supabase/notifications-migration.sqlNew, not yet run: link column, trigger copy, the rejection notice, realtime publication.
src/components/ApplicationsDialog.tsxRewritten in the booked-job dialog's order: facts strip, hairline applicant list, asking figure per row, relative dates, skeleton loading, no badges.
src/demo/demo-data.tsThe demo's next job gains a second photo so the reveal has something to show.
src/hooks/useNow.tsNew. The clock behind the countdown, once a minute.
src/components/AgendaList.tsxOptional per-day ids so the strip can scroll to a day.
src/components/ApplicantsWaiting.tsxDates within three days read in ink, "in 2 days" past tomorrow.
src/components/OpenWorkList.tsxMiles under the pay; the badge row is no longer inside a paragraph.
src/components/SummaryFigures.tsxA figure can take a grid placement class.
src/pages/Calendar.tsxOpens on ?date=YYYY-MM-DD.
src/index.cssThe drift keyframes, held still under reduced motion.