VI

Vinu

@vinutv

Total Points
533

All time

Total Activities
348

All time

Activity Types
8

Different types

Activity Overview

279 contributions in the last year

Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Jan
Feb
Mar
Apr
Mon
Wed
Fri
Less
More
Points Milestone - silver

Points Milestone

Awarded for reaching points milestones

2 / 3 tiers earned

bronze
bronze

100+ points

silver
silver

500+ points

gold
gold

1,000+ points

Consistency Champion - silver

Consistency Champion

Awarded for maintaining activity streaks

2 / 3 tiers earned

bronze
bronze

7 day streak

silver
silver

14 day streak

gold
gold

30 day streak

Activity Milestone - gold

Activity Milestone

Awarded for reaching activity count milestones

3 / 4 tiers earned

bronze
bronze

10+ activities

silver
silver

50+ activities

gold
gold

100+ activities

platinum
platinum

500+ activities

Activity Breakdown

272 total activities · 533 total points

Commit Created
189 (69.5%)·378 pts
Issue Opened
29 (10.7%)·58 pts
PR Merged
9 (3.3%)·45 pts
Issue Assigned
29 (10.7%)·29 pts
PR Reviewed
7 (2.6%)·14 pts
PR Opened
9 (3.3%)·9 pts
272
Total Activities
533
Total Points
6
Activity Types
2.0
Avg Points/Activity
Activity Timeline

56 of 348 activities· 1 of 24 months

April 202656 activities

PR Merged+5
Feat/filter panel nested drawer
Commit Created+2
Merge pull request #11 from ohcnetwork/feat/filter-panel-nested-drawer Feat/filter panel nested drawer
Commented
Commented
PR Opened+1
Feat/filter panel nested drawer
Commit Created+2
chore(filters): reorder docs examples and trim comment
Commented
PR Merged+5
Feat/drawer nested root
Commit Created+2
Merge pull request #10 from ohcnetwork/feat/drawer-nested-root Feat/drawer nested root
Commit Created+2
feat(filters): use nested drawer for inner controls inside FilterPanel on mobile When FilterPanel renders as a Drawer on mobile, the inner operator dropdown and value-selector drawers were mounting as new top-level vaul Roots — vaul couldn't coordinate the gestures, so opening an inner control instantly replaced the outer drawer instead of stacking on top with the Sonner-like scale-back effect. Introduce a small `FilterPanelMobileContext` flag set by the FilterPanel's mobile DrawerContent. A `MobileDrawerRoot` helper picks `DrawerNestedRoot` when the flag is true and falls back to plain `Drawer` otherwise, so the standalone Filters component keeps using top-level drawers and nothing changes on desktop. Also re-exports vaul's NestedRoot as `DrawerNestedRoot` from @/components/ui/drawer.
Commented
PR Opened+1
Feat/drawer nested root
Commit Created+2
docs(sheet): add Nested Sheets example Sheets compose naturally — opening a Sheet from inside another Sheet's body stacks the second on top with its own overlay and focus trap. Closing the inner sheet returns focus to the trigger in the parent. No code change to the component itself; this is purely a new docs example.
Commit Created+2
feat(drawer): add DrawerNestedRoot for stacked nested drawers Re-exports vaul's Drawer.NestedRoot as DrawerNestedRoot from the @/components/ui/drawer barrel and adds a 'Nested Drawers' example to the docs registry. NestedRoot must be used (instead of Root) for the inner drawer so vaul can coordinate the gesture and produce the Sonner-like scale-back stacking effect when the inner drawer is dragged or closed.
PR Merged+5
Fix/drawer sheet close animation
Commit Created+2
Merge pull request #9 from ohcnetwork/fix/drawer-sheet-close-animation Fix/drawer sheet close animation
PR Opened+1
Fix/drawer sheet close animation
Commit Created+2
Update Badge, filters and popover components
Commit Created+2
fix(button): correct prev/next nav padding and complete button-group radius for lg/xl - dynamic-main-content: add data-icon="inline-start|inline-end" to the prev/next chevrons so the button's has-data-[icon=...]:p{l,r}-3.5 selectors actually trim the icon-side padding (chevrons were sitting with full px-4 padding, looking detached). - button: add the missing in-data-[slot=button-group]:rounded-* clamp to sizes lg, xl, icon-lg, icon-xl. lg/icon-lg use 10px (matches default), xl/icon-xl use 12px (scales with their 48px height). Mirrors the existing pattern on default/xs/sm/icon-xs/icon-sm so mixed-size button groups now have consistent, clean joins.
Commit Created+2
refactor(drawer): drop redundant overlay comment The overlay's behavior is now self-evident from the surrounding code and the comment block on DrawerContent.
PR Merged+5
fix(drawer,sheet): play close animation when overlay is clicked
Commit Created+2
Merge pull request #8 from ohcnetwork/fix/drawer-sheet-close-animation fix(drawer,sheet): play close animation when overlay is clicked
PR Opened+1
fix(drawer,sheet): play close animation when overlay is clicked
Commit Created+2
fix(drawer,sheet): play close animation when overlay is clicked Move DrawerContext.Provider and SheetContext.Provider inside their respective Content elements instead of between Portal and Content. Radix Presence does cloneElement(child, { ref }) on its direct child to attach a ref callback that captures getComputedStyle(node) into stylesRef. Context Providers silently drop refs, leaving Presence's stylesRef null. On close, getAnimationName(null) returns 'none' which routes Presence's state machine straight to UNMOUNT, bypassing the slide-out animation. The overlay had no such wrapper, which is why only the content popped out instantly while the overlay correctly faded over its full duration. Verified via MutationObserver / rAF sampling that the drawer now stays in DOM with animationName 'slideToBottom' for the full 500ms exit and Radix Presence applies animation-fill-mode: forwards before unmount, eliminating the end-of-animation flash. Mobile (390x844) overlay tap and drag-to-close gestures both confirmed smooth.
Commit Created+2
feat(indicator): add indicator component to registry
Commit Created+2
chore: remove accidental 'filters copy' duplicate files
Commit Created+2
feat: enhance filters with multi-select, and realistic badge count - Prevent duplicate filter chips: open existing chip instead of adding new one - Text input focus on re-select via openFilterId pattern - Make select-type filters multi-selectable (checkbox UI) - Fix justify-between layout for chevron vs badges in SelectOptionsPopover - Memoize effectiveValues, selectedOptions, unselectedOptions for performance - Stabilize clearOpenFilterId with useCallback - Remove duplicate FilterValueSelector branch - Consolidate onToggle multi-select branches - Fix Tailwind v4 selector syntax and -space-x usage - Badge count only includes filters with meaningful values selected
Commit Created+2
fix: improve filter chip custom renderer and icon display
Commit Created+2
add filters component with ButtonGroup chips, non-modal dropdowns, and interactive field labels
Commit Created+2
Refactor frame component
Commit Created+2
refactor(button): add size-based stroke-width, generic AsyncButton example - Add [&_svg]:stroke-* per size variant in button CVA (2 for xs/sm, 1.75 for default/lg, 1.5 for xl) - Rewrite Button States example as a generic AsyncButton component - Accepts promise-returning onClick, renders idle/success/error content slots - CSS grid stack sizes to max(all states) for zero layout shift - All states center-aligned via *:justify-center - Consolidate duplicate spinner imports - Fix data-table CardHeader padding
Commit Created+2
feat(data-table): add Loading Skeleton and CRUD Table examples - Add skeleton prop to ColumnMeta type for per-column skeleton shapes - Add Loading Skeleton example with toggle, animated skeleton rows, and skeleton footer - Add CRUD Table example with search, status filter popover, row selection, sortable columns, row actions (edit, copy ID, delete), and pagination - Add new imports: InputGroup, Popover, Label, toast (sonner), CardContent, Filter/MoreHorizontal/Search/X icons
Commit Created+2
Add Light Table & Striped Table examples, replace pagination with CareUI Pagination, remove shadow on active page link
Commit Created+2
Add sticky header to data-table, update scroll-area registry, fix dark mode scrollbar
Commit Created+2
Data-table: add pinnable columns with pin-to-left/right dropdown - Add DataTablePinContext to data-table component; DataTableColumnHeader renders a sort + pin dropdown when context is active - PinnableColumnsDemo: 6-column table with horizontal scroll, sticky pinned cells (inset box-shadow border), sort and pagination - Code cleanup: move declare module after imports, explicit context type, fix Provider child indentation, remove template-literal anti-pattern
Commit Created+2
Data-table): column reordering via dropdown, faster dropdown animations - Replace HTML5 drag-and-drop column reordering with a dropdown menu on each DataTableColumnHeader (Asc / Desc + Move to Left / Move to Right) - Add DataTableMoveContext to propagate moveColumn/columnOrder down to each header without prop drilling - Remove all drag attrs (draggable, onDragStart, onDragOver, onDrop, cursor-grab) from TableHead - Add modal={false} to all DropdownMenu instances inside data-table to eliminate per-open DOM overhead that caused a visible opening delay in table pages with many rows - Tighten dropdown-menu animation: remove slide-in translations, use strong ease-out cubic-bezier(0.23,1,0.32,1), zoom-in/out from 0.97, faster close at 75ms - Consolidate DropdownMenuItem/DropdownMenuSeparator registry imports into @/components/ui/data-table (already re-exported)
Commit Created+2
Use Avatar component in all data-table examples
Commit Created+2
Data-table: add expandable rows, cell borders, dense mode, auto-width, movable columns, and hideToolbar prop
Commit Created+2
fix: scientific color palette corrections for protanopia and tritanopia themes
Commit Created+2
Remap confusable color scales for protanopia and tritanopia themes
Commit Created+2
refactor: data-theme attribute for a11y themes, subtext on radio cards, cleanup ThemeProvider
Commit Created+2
Cleanup: deduplicate primary scale CSS and simplify dark theme class logic
Commit Created+2
Add color-blind friendly and high contrast themes to settings
Commit Created+2
Add DottedDivider component and dotted variant to Separator
PR Reviewed+2
feat: add edit button to patient home page header
Commit Created+2
Update SaveButton size from sm to default in button registry
Commit Created+2
Add browser variant with browser-tab styling
Commit Created+2
Experiment matrix/pixel/unicode spinners and RadialSpinner with Button States
Commit Created+2
Split sidebar blocks into per-block demo files with shared hook - Add @chenglou/pretext for pixel-accurate middle truncation on location selector - Add conditional Tooltip on location selector (only when name is truncated) - Switch location dropdown from DropdownMenuItem to DropdownMenuRadioGroup/RadioItem - Block card click navigates in-place instead of opening new tab
Commit Created+2
Add inner page layout 2 to the blocks
Commit Created+2
Merge pull request #6 from ohcnetwork/dependabot/npm_and_yarn/vite-7.3.2 chore(deps-dev): bump vite from 7.2.7 to 7.3.2
Commit Created+2
Improve copy button UX in component docs #5
Commit Created+2
feat(tabs): line variant full-width border, left-aligned, content-fit triggers; add tabs to sidebar dashboard
Commit Created+2
fix: dismiss loading screen on BlocksPage render
Commit Created+2
fix: dismiss loading screen when opening block preview/code pages
Commented