Projects List Glass
shadcn-glass-ui/projects-list-glassFreeBlock
Projects List Glass component with glass effects
Install it
npx shadcn@latest add https://raw.githubusercontent.com/artyhoo/shadcn-glass-ui-library/main/public/r/projects-list-glass.jsonSource
1// ========================================2// PROJECTS LIST GLASS COMPONENT3// List of repository cards with filtering, sorting, and ownership controls4// ========================================56import { forwardRef, useState, useMemo, type CSSProperties } from "react";7import { FolderGit2, AlertTriangle } from "lucide-react";8import { cn } from "@/lib/utils";9import { GlassCard } from "../ui/glass-card";10import { BadgeGlass } from "../ui/badge-glass";11import { RepositoryCardGlass, type RepositoryFlagType } from "../composite/repository-card-glass";12import { SegmentedControlGlass } from "../specialized/segmented-control-glass";13import { SortDropdownGlass, type SortField, type SortOrder } from "../atomic";14import "@/glass-theme.css";1516// ========================================17// TYPES18// ========================================1920export type OwnershipFilter = 'your' | 'contrib' | 'all';2122// Re-export for convenience23export type { SortField, SortOrder } from "../atomic";2425export interface Repository {26 readonly name: string;27 readonly languages: string;28 readonly commits: number;29 readonly contribution: number;30 readonly stars?: number;31 readonly flagType?: RepositoryFlagType;32 readonly issues?: readonly string[];33 readonly createdYear?: number;34 /** Ownership type for Your/Contrib filtering */35 readonly ownership?: 'your' | 'contrib';36}3738export interface ProjectsListGlassProps extends React.HTMLAttributes<HTMLDivElement> {39 /** List of repositories to display */40 readonly repositories: readonly Repository[];41 /** Show only flagged (non-green) repositories */42 readonly showFlaggedOnly?: boolean;43 /** Filter by creation year */44 readonly selectedYear?: number | null;45 /** Callback to clear all filters */46 readonly onClearFilters?: () => void;47 /** Custom title (overrides auto-generated) */48 readonly title?: string;4950 // ======== NEW: Ownership Filter ========51 /** Current ownership filter */52 readonly ownershipFilter?: OwnershipFilter;53 /** Callback when ownership filter changes */54 readonly onOwnershipChange?: (filter: OwnershipFilter) => void;5556 // ======== NEW: Sorting ========57 /** Current sort field */58 readonly sortBy?: SortField;59 /** Current sort order */60 readonly sortOrder?: SortOrder;61 /** Callback when sort changes */62 readonly onSortChange?: (field: SortField, order: SortOrder) => void;6364 // ======== NEW: Controls ========65// … truncated
More from shadcn-glass-ui
All 76 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Ai Card Glassai-card-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Career Stats Glasscareer-stats-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Career Stats Header Glasscareer-stats-header-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Circular Metric Glasscircular-metric-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Contribution Metrics Glasscontribution-metrics-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Flags Section Glassflags-section-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Header Branding Glassheader-branding-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Header Nav Glassheader-nav-glass | shadcn-glass-ui | Blocks | Free | no deps |
