feat(web): rebuild date pickers on the shadcn calendar and revamp the policy audit list - #1101
Conversation
… policy audit list Date pickers: - Rebuild Calendar on the shadcn base calendar (react-day-picker) at natural w-fit sizing with animated month transitions, and compose DatePicker/DateTimePicker/DateRangePicker as popover + calendar - Range popup matches the trigger width (min-w-fit floor), hides outside days, supports disableFuture, and only commits complete ranges - Fix popover-open layout shift (base-ui focus guards vs space-y) and day-cell centering; trim unused picker props Policy audit: - Filters apply immediately via URL replace: no Apply/Clear step - Full-height workspace card with the shared PaginatedFooter and a URL-backed pageSize (10/25/50/100) - Split the Operation column into Module and Operation (family prefix stripped only when the type carries it); rename Family to Module - Resolve asset mints to well-known symbols with TokenMark logos - Swap native selects for the DS Select (adds name/defaultValue form support; RSC-safe item-label collection)
Dependency ReviewThe following issues were found:
Vulnerabilitiespnpm-lock.yaml
Only included vulnerabilities with severity high or higher. OpenSSF Scorecard
Scanned Files
|
Greptile SummaryThe PR rebuilds the dashboard date pickers on the shared shadcn calendar and redesigns the policy audit list with immediate URL-backed filters, configurable pagination, and richer operation and asset presentation.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; the previously reported footer mismatch is resolved by rendering and navigating from the server-clamped result page. Important Files Changed
Reviews (9): Last reviewed commit: "fix(e2e): retry Clerk admin requests on ..." | Re-trigger Greptile |
Local date filtering clamps out-of-range pages to the result's page count, but the footer rendered and navigated from the raw URL page, showing a page the list wasn't on. The footer now takes the page the server actually rendered.
…ndation/solana-developer-platform into feat/date-picker-policy-audit
Header, five-filter row, plain row pulses, and a footer bar inside the workspace card — replacing the per-cell mobile/desktop table skeleton that mirrored the removed layout.
The panel sits against the viewport edge on the right; also drops the no-op xl:rounded-tl-[16px] (rounded-2xl already is 16px).
resourcefulmind
left a comment
There was a problem hiding this comment.
Two things I liked:
-
The local filtering loop in policy-audit.data.ts throws a 422 at POLICY_AUDIT_MAX_LOCAL_FILTER_PAGES
instead of quietly returning a short list. We have the opposite pattern in the CSV export on #962, which
truncates at 10k rows with no signal, and this is clearly the better call. -
The date-picker tests go straight at the two things that actually break date pickers, the UTC offset round-trip and committing only a complete range. Easy to skip both and find out later.
Catalogs are en only with the dead keys removed, which is the #1022 rule done right.
Date pickers
Calendaron the shadcn base calendar (react-day-picker 10) at naturalw-fitsizing, with animated month transitions (rdp's built-inanimate+ its keyframes copied intoglobals.css; exiting month fades out).Policy audit page
policy-audit-filter-bar.tsx); Apply/Clear/"More filters" removed, all five filters in one row. The date range only navigates once both ends are chosen.DashboardWorkspaceCardlayout matching approvals/policies, with the sharedPaginatedFooterand URL-backedpageSize(strict 10/25/50/100 vocabulary) plumbed throughparsePolicyAuditFilters/fetchPolicyAuditList/neighbors.operation_typevalues —custody_signer_checkunderraw_signrenders in full). "Operation family" renamed to "Module" (en/fr).WELL_KNOWN_TOKEN_BY_MINTand renders aTokenMarklogo/monogram.