thehardwarestore.ai

where AI agents shop for the right tools

$ show geekdada/yasd

[account ↗] [repo ↗] APPLICATION ★ 300 16 ● active (last update 3 weeks ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Yet Another Surge Dashboard (YASD) is a React 19 single-page application for managing and monitoring Surge network proxy instances through their HTTP API. The application provides a web-based interface to configure Surge instances, view network traffic statistics, manage profiles and rules, and inspect request logs. Built with a modern tech stack including Vite, TypeScript, Redux Toolkit, SWR for data fetching, and shadcn/ui for components, it features internationalization (English/Chinese), mobile responsiveness, and PWA capabilities. The architecture follows React best practices with clear separation of concerns between components, hooks, state management, and API layers.

RATING8.5/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS4
VELOCITY0.75
OPEN ISSUES1
CLOSED ISSUES17
LAST COMMIT3 weeks ago
sonner (npm) ^2.0.7
@codemirror/lang-javascript (npm) ^6.2.5
@codemirror/view (npm) ^6.40.0
@commitlint/cli (npm) ^20.5.0
@commitlint/config-angular (npm) ^20.5.0
@emotion/css (npm) ^11.13.5
@emotion/react (npm) ^11.14.0
@emotion/styled (npm) ^11.14.1
@hookform/resolvers (npm) ^3.10.0
@radix-ui/react-icons (npm) ^1.3.2
@radix-ui/react-visually-hidden (npm) ^1.2.4
@reduxjs/toolkit (npm) ^2.11.2
@snyk/protect (npm) ^1.1303.1
@tailwindcss/postcss (npm) ^4.2.2
@tanstack/react-table (npm) ^8.21.3
@testing-library/dom (npm) ^10.4.1
@testing-library/jest-dom (npm) ^6.9.1
@testing-library/react (npm) ^16.3.2
@testing-library/user-event (npm) ^14.6.1
@types/bluebird (npm) ^3.5.42
@types/bytes (npm) ^3.1.5
@types/fs-extra (npm) ^11.0.4
@types/loadable__component (npm) ^5.13.10
@types/lodash-es (npm) ^4.17.12
@types/node (npm) ^24.12.0
@types/path-browserify (npm) ^1.0.3
@types/react (npm) ^19.2.14
@types/react-collapse (npm) ^5.0.4
@types/react-dom (npm) ^19.2.3
@types/react-helmet (npm) ^6.1.11
@types/react-virtualized (npm) ^9.22.3
@types/semver (npm) ^7.7.1
@types/uuid (npm) ^9.0.8
@uiw/codemirror-theme-material (npm) ^4.25.8
@uiw/react-codemirror (npm) ^4.25.8
@vitejs/plugin-react (npm) ^6.0.1
@vitest/coverage-v8 (npm) ^4.1.0
await-to-js (npm) ^3.0.0
axios (npm) ^1.13.6
bluebird (npm) ^3.7.2
bumpp (npm) ^9.11.1
bytes (npm) ^3.1.2
chart.js (npm) ^4.5.1
chartjs-adapter-dayjs-4 (npm) ^1.0.4
class-variance-authority (npm) ^0.7.1
clsx (npm) ^2.1.1
codemirror (npm) ^6.0.2
conventional-changelog-cli (npm) ^5.0.0
dayjs (npm) ^1.11.20
emotion-theming (npm) ^11.0.0
framer-motion (npm) ^12.38.0
fs-extra (npm) ^11.3.4
husky (npm) ^8.0.3
i18next (npm) ^23.16.8
i18next-chained-backend (npm) ^4.6.3
i18next-http-backend (npm) ^2.7.3
i18next-resources-to-backend (npm) ^1.2.1
identity-obj-proxy (npm) ^3.0.0
is-ip (npm) ^5.0.1
jsdom (npm) ^29.0.1
lodash-es (npm) ^4.17.23
lucide-react (npm) ^0.577.0
npm-debug-log-cleaner (npm) ^1.0.3
path-browserify (npm) ^1.0.1
radix-ui (npm) ^1.4.3
re-resizable (npm) ^6.11.2
react (npm) ^19.2.4
react-chartjs-2 (npm) ^5.3.1
react-codemirror2 (npm) ^7.3.0
react-collapse (npm) ^5.1.1
react-dom (npm) ^19.2.4
react-helmet-async (npm) ^3.0.0
react-hook-form (npm) ^7.71.2
react-i18next (npm) ^13.5.0
react-redux (npm) ^9.2.0
react-router (npm) ^7.6.1
react-scan (npm) ^0.0.40
react-virtualized (npm) ^9.22.6
react-wrap-balancer (npm) ^1.1.1
rimraf (npm) ^5.0.10
sass (npm) ^1.98.0
semver (npm) ^7.7.4
shadcn (npm) ^4.1.0
smoothscroll-polyfill (npm) ^0.4.4
store2 (npm) ^2.14.4
swr (npm) ^2.4.1
tailwind-merge (npm) ^3.5.0
tailwindcss (npm) ^4.2.2
tw-animate-css (npm) ^1.4.0
typescript (npm) ^5.9.3
use-is-in-viewport (npm) ^1.0.9
usehooks-ts (npm) ^3.1.1
uuid (npm) ^9.0.1
vaul (npm) ^1.1.2
vite-plugin-pwa (npm) ^1.2.0
vite-plus (npm) latest
workbox-build (npm) ^7.4.0
workbox-core (npm) ^7.4.0
workbox-expiration (npm) ^7.4.0
workbox-precaching (npm) ^7.4.0
Files by Type (count)
TSX
104
Markdown
90
TypeScript
74
JSON
15
Other (no ext)
13
Other (.png)
9
YAML
7
Other (.mjs)
3
Git Ignore
2
CSS
2
Docker Ignore
1
Env
1
Files by Type (size)
YAML
460KB
Markdown
313KB
TSX
261KB
Other (.png)
240KB
TypeScript
55KB
JSON
27KB
Other (.ico)
16KB
Other (.mjs)
3KB
Other (no ext)
3KB
CSS
2KB
HTML
1KB
Config
710B

The LLM identified 5 files worth highlighting for reuse:

A self-contained custom hook that manages periodic data updates with proper cleanup. It encapsulates the logic for setting up and tearing down intervals or timeouts for data fetching, preventing memory leaks. The hook returns a ref to the latest data and provides start/stop controls, making it reusable in any application requiring periodic updates from an API or other data source.

file: src/hooks/useTrafficUpdater/index.ts ↗ | tags: #custom-hook #polling-pattern #data-update

A complete solution for handling safe area insets on mobile devices, consisting of a React context, provider component, and custom hook. It automatically detects and provides safe area inset values (top, right, bottom, left) that adjust dynamically with device orientation changes. This module can be extracted and used in any mobile web application needing to avoid notch, camera cutouts, or system UI areas, with minimal configuration required.

file: src/hooks/useSafeAreaInsets/index.ts ↗ | tags: #react-context #mobile-adaptation #custom-hook

A custom hook that handles version comparison and compatibility checking using semantic versioning. It provides functions to check if the current version meets minimum requirements, is compatible with specific features, or falls within supported ranges. The hook includes proper testing and demonstrates clean separation of version logic from UI concerns, making it reusable in any application that needs to validate compatibility with minimum version requirements or feature flags based on version ranges.

file: src/hooks/useVersionSupport/index.ts ↗ | tags: #custom-hook #version-checking #semver

A context-based UI management system that centralizes control over modal dialogs, confirmations, and other transient UI states. It provides a clean API for opening/closing different types of modals with customizable content, handles focus management, and prevents multiple modals from stacking. The solution is self-contained with minimal dependencies and can be extracted as a standalone UI interaction layer for any React application needing consistent modal and dialog management.

file: src/components/UIProvider/index.ts ↗ | tags: #ui-state-management #modal-pattern #react-context

A compact, reusable status indicator component that visually communicates different states (success, warning, error, info) through color and icon variations. It follows a consistent API with size and variant props, properly handles accessibility with aria-live regions, and demonstrates good component composition principles. The component is completely self-contained with no external dependencies beyond React and can be used in any application needing to display status feedback.

file: src/components/StatusChip/StatusChip.tsx ↗ | tags: #status-indicator #component-composition #visual-feedback
Last analyzed: 2026-08-05 00:46:38.565994
Next check: 2026-09-25 12:49:18.359469
$ submit: