Repository navigation
Conversation
… cards, buttons and inputs Adds a Skeleton family (Skeleton, Skeleton::Text, Table, Card, CardsGrid, Panel, Form, StatTiles, PageHeader and the Skeleton::Page composite for route loading templates) with a shimmer that respects reduced motion and a single role=status announcement. Dark palette: the resource card gets hook classes and an opaque surface with hairline inner borders and a raised footer instead of a half-transparent fill; the default button border is one step lighter than its fill so it has an edge on every surface; inputs are inset (darker than the surface) with a visible border. Version 0.4.6.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #189 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 325 338 +13
Lines 9189 9360 +171
==========================================
+ Hits 9189 9360 +171
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
The inset dark inputs did not look right in the console; inputs go back to exactly what 0.4.5 shipped. The skeleton components, card tiers and button edge stay.
Button styling waits for the platform-wide ember-ui pass; 0.4.5's default button is back.
feat(widget): run the report widget live instead of showing stored results
… the page they stand in for
isPoint() checked typeof === 'object' before reading .type, and typeof null is "object", so <CoordinatesInput @value={{null}} /> threw while the component was created.
…livery badge status; dark success hover one tone darker
…s on contacts save
… so it never shows fewer columns than the page
… state The coverage gate failed on PR #189: the only polling test overrides pollDelay, and every run assigns runError before the template reads it, so neither the base pollDelay nor the runError initializer ever executed.
The field bound @value straight into <Input>, so a consumer that stored the picked Date (fn (mut ...)) saw the Date's full toString() in the field: the re-render after a pick lands while the field still has focus, which syncValue deliberately skips, and a Date already set at render was shown raw too. The field now renders displayValue, the value's dates formatted with the picker's dateFormat and separator, whatever shape @value has.
This branch has not been 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.
Companion to fleetbase/storefront#137 (Storefront UX overhaul).
What changed
Skeleton loading components. The family covers these components:
Skeleton, with text, title, circle, avatar, rect, button, badge and input shapes.Skeleton::Text,Skeleton::Table,Skeleton::Card,Skeleton::CardsGrid,Skeleton::Panel,Skeleton::Form,Skeleton::StatTiles,Skeleton::PageHeaderandSkeleton::Tabs.Skeleton::Pagecomposite for routeloading.hbstemplates. Its@viewis table, cards, form, dashboard or panel, or a block replaces the body.Boxes are
aria-hidden. The page composite announces once throughrole="status" aria-busy="true"with@label, which falls back tocommon.loading. The shimmer honoursprefers-reduced-motion.Skeletons follow the page they stand in for. Every new argument is optional, and the defaults draw what they drew before.
Skeleton::Pagetable card:@tabssets the status-tab count and 0 means none.@toolbar={{false}},@checkbox={{false}}and@footer={{false}}drop those parts.@identityColumntakes the index of the avatar-and-name column, or false for none.@borderlessHeader.Skeleton::CardandSkeleton::CardsGrid:@mediaFirstputs the image first.@avatardraws an identity header and@subtitleadds a line under the title.@statusis "badge", a dot or false.@linessets the body lines, and the body is skipped at 0.@footerActionssets the icon buttons and@footerBadgeleads them with a badge.@footerLinesadds meta lines under the footer row.Skeleton::Tabsdraws an underlined tab strip with optional count pills.Dark resource card tier.
Layout::Resource::Cardgets hook classes (resource-card,-header,-body,-footer) and an opaque#1f2937surface. Inner hairlines are#2d3748and the footer is#273244, replacingbg-gray-700/50.The button and input restyles from the first push were reverted (
f289b6e,ba18b8f). They wait for the platform-wide pass.Comment thread: a subject keyed by uuid (such as a contact record) now sends
subject_uuid. The console's comment serializer dropssubject_id, so notes on contacts were inserted without a subject.Badges and buttons: a
deliverybadge status uses the violet tone, and the dark-mode success button hover is two tones darker than before (green-600; green-500 still read too light).Skeleton grid: the cards grid follows the
Layout::Resource::CardsGridbreakpoints, so it never shows fewer columns than the page.Version bumped to 0.4.6.
Validation
npx ember test --filter "/comment-thread|skeleton/": 53 tests, 53 pass.eslint,ember-template-lintandstylelinton the touched files are clean.Accept orderbutton computes torgb(22, 163, 74)(green-600).Notes
loadingevent bubble withreturn true. That one-line change is needed in fleetbase/fleetbaseconsole/app/routes/application.js, and the Storefront PR calls it out.