Redesign Application Status and fold the college list into Discover - #48
Merged
Merged
Conversation
The Application Status tab tried to show everything at once: a progress ring, three stat tiles, a pipeline bar, a what's-left chart, and a row per school carrying a progress bar, a stepper, two tags and a status dropdown. The same submitted count appeared three times. It read as generated. The tab is now an overview. A status strip counts where applications stand and filters the list. A timeline pins each school's deadline across the season; when the season is still far off, today collapses to a stub so the deadlines get the width. The next deadline sits in a card beside the title. One row per school, sorted by deadline, with a date block, task progress and status. Everything specific to a school moves to its own page, replacing the tasks popup: status, deadline, what the round commits you to, and the checklist as three connected stages. Some tasks are done once for the whole list: teacher recommendations, the transcript, the CSS Profile. They are shown once on the overview and a tick applies to every school that needs them, from either page. A school added later starts with any already finished. Test scores, fees and essays stay per school because each one needs its own. Countdowns are rounded the way a person says them: "about 14 months", not "433 days". No schema change; tasks persist on the entry as before.
The College List tab repeated what Discover and Application Status already had: a second search box, a status dropdown, and four charts. The list is built on Discover, so it now lives there, and the tab is gone. A strip at the top of Discover holds the list: a map with a pin per school, the reach / match / safety balance, a logo per school, and a cost box with the list's average net price and cost of attendance, plus the cheapest and priciest for the student. Hovering or clicking a school swaps the box for that school's fit and costs, with a link to its page. The strip collapses to one row without the map. A school added from a card drops its pin in. Entries saved before the map stored coordinates, including every school from the old static list, had no pin. They are looked up once (by scorecard id or legacy slug) and the coordinates saved onto the entry. Per-school editing moves to the school page in Application Status: reach / match / safety, the deadline round, net price, and removing the school. Clicking a logo in the strip opens that page. Discover's three suggestion boxes become one "Picked for you" row, each card labelled and colored by why it was picked. Match cards drop the dead space and the disabled button: the net price is a figure, the admission band sits beside it in the color of the list category it becomes, and chips and filters share a color only when they mean the same thing. Fit % is colored by strength. Cards sit on a soft white so the colors read cleanly. Emoji are gone from the page; schools without a logo show an initial. Searching no longer throws the page upward: the picks stay put and the cards dim while results load, instead of collapsing to one line.
Fixes from reviewing the branch: - A saved checklist now follows the application round: moving a school to ED/REA adds the agreement task, moving away drops it. Ticking a shared task saves every school's checklist, which froze it before this. - Next up picks the soonest school still to submit. It used the soonest deadline overall, so a submitted school hid the card entirely. - A deadline that has passed on an unsubmitted school shows as passed, not as "no fixed date", and says to check the school or switch rounds. - The school page's net price resolves legacy entries (it showed "No cost data" for schools from the old static list) and only says "at your income" when the school reports the student's bracket, not its average. - One lookup for saved schools, cached for the session, instead of three separate queries for the same rows. - The band pill color is defined once and shared by the card and popup. - Stale comments about the College List tab, an unused class, unused exports and a misplaced doc comment are gone; a padding override that cancelled the link's spacing is fixed.
Public includes community colleges, which are public by definition; private covers nonprofit and for-profit. The two act as a pair (one at a time, click again to clear) and combine with the path, Affordable, sort and search filters. Neutral fill like All paths, so they add no new color meaning.
The list strip's cost box names its lowest and highest net price as two tidy rows (click one to see that school). Under the box, pills give the number of states, how many schools are in-state, and the distance range from home. Hovering the in-state pill, or any state with schools on the map, tints that state; the state's tooltip lists its schools with logos. Pin tooltips show the school's logo, with its category and location on their own lines, and size to their content, flipping left near the edge. "✓ On your list" on a card now removes the school when clicked (hover says so, in red). A school with progress asks first, since its tasks go with it. From review: the map and strip share one resolved state per school; a pinned school has a "Back to averages" control, so one pinned from the lowest/highest rows can always be unpinned; crossing between fanned-out pins no longer flickers; both box states hold one height; the in-state pill only offers its hover with the map showing; state names and the map tint come from shared data and the module token; where-line data is memoized.
Hovering a state re-rendered the whole map on every mouse move: the
cursor position lived in React state, so all 51 outlines (~140k chars of
path data) were diffed dozens of times a second to move one tooltip. Now
what's hovered is state and where the cursor is lives in a ref: the
tooltip moves directly, once per frame at most, and the outlines are a
memoized layer that only re-renders when the highlighted state changes.
A test holds that line.
The states pill now lights up every state with schools, as the in-state
pill does for home. States with schools keep a faint tint at rest.
From review: the tooltip measures the map and itself each frame, so it
stays with the cursor after scrolling and flips left or up only when it
would actually overflow; the hovered pin is tracked by school, not list
position, and a hover on anything that has left the list is dropped; the
fill fade is back (CSS, no render cost); the highlight modes are typed
('all' / 'home') instead of a loose string, and only apply while their
pill is on screen.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…m dates main (#47) split Application Status into an overview plus a Tasks tab, while this branch replaced the tasks popup with a page per school and folded the College List into Discover. Kept this branch's structure; brought in the rest. - Task due dates: the date control from SchoolTaskList now sits on each task row of the school page, so dated tasks still reach the calendar, week strip and deadline panel. - Shared tasks (recommendations, transcript, CSS Profile) keep one date for every school that needs them: set from any school, shown on the calendar once ("— all your schools"), and ticked from the calendar for every school. - The module opens on Application Status; its empty state links to Discover (the College List tab it pointed at is gone). - Custom dates, the deadline panel/row and settings changes come in as-is. - The Tasks tab (ApplicationTasksTab, SchoolTaskList) is dropped: the school pages cover it. Its task-event tests move to applicationTaskEvents.test.ts.
Fixes from reviewing the merge and the Category sort added on top of it. Application Status - "Sort by" gains Category: schools grouped under reach / match / safety / unranked headings, by deadline within each. - A category this build doesn't know shows as Unranked instead of crashing every view (normalized once where the list loads; storage untouched). Task due dates - The date box keeps focus while typing, saves after a pause or on leaving, never saves a half-typed value, and only clears when really emptied. - Shared tasks keep one date and tick across every school (withdrawn ones included, so a school brought back is in step); a new school inherits both, preferring an active school's date. - Dates saved per school before this stay on the calendar, one per date, instead of all but one being dropped. From main (#47), made to work here - The tour resets to Application Status, the tab the module opens on. - The calendar's remove button only shows on the student's own dates, not task dates (tagged with isTask); Dashboard "next due" skips ticked-off items and task dates. - Custom dates stay visible for settings saved before Custom existed: saves now record which modules existed, and older lists are read by what they could only have been chosen from. - Settings saves run in order on the last confirmed write, so a quick second change can't drop the first and a failed one can't slip through. - Calendar writes compute once outside state updaters and wait for their list to load, so they can't save a stale copy. - One ISO-day parser instead of two.
Deploying timeline-prototype with
|
| Latest commit: |
46cd2ed
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://43adc9a0.timeline-prototype.pages.dev |
| Branch Preview URL: | https://ui-application-tracking-refr.timeline-prototype.pages.dev |
Collaborator
Author
|
@DanialBeg merged Kept from #47
Replaced
Changed
The commit messages on |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Application Status
Discover
Fixes
Notes