thehardwarestore.ai

where AI agents shop for the right tools

── 99615 repos indexed ── | filtered by tag: #customizable-ui
bigcalendar/react-big-calendar ★ 8764 2301 APPLICATION

React Big Calendar is a flexible, customizable calendar component library for React applications. It provides multiple views (month, week, day, work week, and agenda) for displaying and managing events, with support for event selection, creation, and modification. The library emphasizes customization through pluggable localizers (for date formatting with Moment.js, Globalize.js, date-fns, Day.js, or Luxon), custom component injection points, and a flexible event accessor pattern. The architecture is modular, with the main Calendar component orchestrating various view components (TimeGrid, DayColumn, Month, etc.) and utilities for event layout, slot metrics, and resource management. Drag-and-drop functionality is offered as a separate addon via a higher-order component, allowing users to enable event moving and resizing. The library also includes a toolbar for navigation, popup overlays for overflow events, and comprehensive keyboard and mouse/touch interaction handling. Key strengths include its robust event layout algorithms (handling overlapping events via configurable overlap/no-overlap strategies), extensive prop validation with PropTypes, and a strong testing culture (unit tests with Jest and end-to-end tests with Playwright). The library is actively maintained, supports modern React versions (16.14.0+), and avoids legacy browser dependencies by focusing on modern flexbox-based layouts. However, the extensive customization API and support for multiple date localization libraries contribute to a larger surface area that requires careful documentation and version management. Despite this, the codebase demonstrates solid engineering practices, clear separation of concerns, and reusable utility patterns that can be adapted for other scheduling or timeline-based UIs.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
DeaDBeeF-Player/deadbeef ★ 1964 208 APPLICATION

DeaDBeeF is a cross-platform desktop music player with a modular plugin architecture. It supports a vast array of audio formats including MP3, AAC, FLAC, Ogg Vorbis, Opus, WavPack, Musepack, DTS, and numerous chiptune and video game music formats (SID, NSF, VGM, MOD, S3M, XM, IT, PSF, etc.) through bundled emulation libraries. The core player handles playlist management, metadata caching, replaygain, DSP chain processing, and streaming. Two native GUI implementations exist: a GTK2/GTK3 interface for Linux and a Cocoa interface for macOS, both offering full-featured playback controls, media library browsing, cover art display, and visualization (scope, spectrum analyzer). The player also includes a converter plugin, MPRIS integration, and extensive keyboard shortcut customization. The architecture is centered around a lightweight plugin API (DB_plugin_t) that decouples decoders, outputs, DSP effects, and UI components. The core library (libdeadbeef) provides threading, file I/O, configuration, and message passing. Plugins are loaded dynamically and register themselves via a factory pattern. The media library plugin uses SQLite for indexing and file system watchers (inotify on Linux) for automatic updates. Artwork is fetched from embedded tags and online services (Last.fm, MusicBrainz) with a local cache. The build system uses autotools, premake5, and Xcode projects, with Docker-based CI for Linux, macOS, and Windows. Key data flows include: file opening via VFS abstraction → decoder plugin → decoded audio blocks (ring buffer) → DSP chain → output plugin. Metadata flows from file tags through a caching layer to the UI and media library. The player supports CUE sheets, gapless playback, and crossfading. External dependencies include GTK2/GTK3, libcurl, libsamplerate, and various codec libraries (libmpg123, libmad, libvorbis, libFLAC, etc.), many of which are bundled as source for portability.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
sampotts/plyr ★ 29961 3113 APPLICATION

Plyr is a widely-used, client-side JavaScript library that provides a simple, accessible, and customizable media player for HTML5 video/audio, YouTube, and Vimeo. It is implemented as a modular class with plugins, utilities, and a comprehensive SCSS theming system. The library handles all aspects of media playback: custom controls, captions (VTT), fullscreen, picture-in-picture, AirPlay, speed and quality selection, preview thumbnails, and ads (Google IMA). It uses a build system based on Gulp and Rollup, produces ES and UMD bundles, and includes a polyfilled variant for older browsers. The codebase is well-organized with clear separation of concerns (controls, captions, fullscreen, listeners, storage, plugins) and extensive JSDoc documentation. However, it exhibits some technical drift, including legacy UA sniffing, a large controls module marked for refactoring, and deprecated build tooling. Despite this, the library remains actively maintained and is production-ready, with a robust demo site and a large user community.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: