feat(scrubber): modern glassy redesign with density tick marks#3496
Open
karlitschek wants to merge 1 commit into
Open
feat(scrubber): modern glassy redesign with density tick marks#3496karlitschek wants to merge 1 commit into
karlitschek wants to merge 1 commit into
Conversation
The right-edge date scrubber gets a state-of-the-art makeover: Visual direction - Idle: a hairline gradient strip that just hints "drag here". No tick marks, no labels, nothing competing with the photo grid. - Hover / scrub: the strip glassens, year pills slide in from the right, tick marks light up across the track, and the thumb expands into a glassy capsule that shows the active month inline. - The previous floating-tooltip-next-to-the-thumb is gone; the date now lives *inside* the thumb pill, so the user's eye doesn't have to dart between two surfaces while scrubbing. Density tick marks (the new affordance) - One tick per month, width proportional to that month's photo count. Reads as a tiny histogram of where the user's library is dense — January's vacation snaps stand out as a bigger tick next to a quiet February. - Width derived from a `--tick-density` CSS custom property bound at the element so the renderer keeps everything visual (no per-tick inline-width recompute on resize). - 95th-percentile clamp on the max so a single bursty month doesn't crush the scale and turn every other month into a flat short tick. - Empty months still render at the minimum 4px so the rhythm stays consistent. Other touches - Year pills are pill-shaped + frosted-glass (NC `color-mix` + `backdrop-filter`); the year that contains the active month gets a stronger treatment so the user knows where the thumb sits at a glance. - Thumb expansion uses an ease-out-quint curve (cubic-bezier 0.22, 1, 0.36, 1) for the same "deliberate" feel the photo hover effect uses. - Active scrubbing adds a soft halo (8px primary-element shadow at 30% mix) so the user feels they have a firm grip. Wiring - TimelineView exposes `monthCounts` (built from `fileIdsByMonthUngrouped` so the histogram reflects the true distribution, not the visible-tile count after burst stacking). - DateScrubber takes a new optional `monthCounts` prop. Falls back gracefully when absent (uniform-rhythm strip, same drag UX). Build refresh attached. Signed-off-by: Frank Karlitschek <frank@nextcloud.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Member
Author
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
jancborchardt
left a comment
Member
There was a problem hiding this comment.
Will check :)
@karlitschek as with the other pull requests as well, it would be very helpful to have before/after screenshots, to quickly know what to look out for.
Member
|
And I see a lot of them are based onto other branches, which makes it very hard to know what the actual set of changes is this about. Could you adjust and make each PR against master ? :) |
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.
The right-edge date scrubber gets a state-of-the-art makeover:
Visual direction
Density tick marks (the new affordance)
--tick-densityCSS custom property bound at the element so the renderer keeps everything visual (no per-tick inline-width recompute on resize).Other touches
color-mix+backdrop-filter); the year that contains the active month gets a stronger treatment so the user knows where the thumb sits at a glance.Wiring
monthCounts(built fromfileIdsByMonthUngroupedso the histogram reflects the true distribution, not the visible-tile count after burst stacking).monthCountsprop. Falls back gracefully when absent (uniform-rhythm strip, same drag UX).Build refresh attached.