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.
This repository is a Spotify client web application that helps users track new releases from artists they follow. It provides a progressive web app (PWA) experience with offline support, allowing users to view, filter, and favorite releases grouped by date. Users can export their release list to CSV or create/update a Spotify playlist with selected tracks. The application handles Spotify authentication via OAuth 2.0 PKCE flow, fetches data from the Spotify Web API, and persists state locally using localForage. Built with React, Redux Toolkit for state management, and Redux Saga for side effects, the app features a modular architecture with reusable UI components, filtering system, and settings management.
This repository contains the client-side code for EASYME.md, a web-based markdown editor designed for creating and sharing README files. The application features a split-pane interface with a live markdown preview, a customizable toolbar for applying formatting, and functionality to share documents via a unique URL. Built with React, Redux, and Emotion, it demonstrates a well-structured single-page application with clear separation of concerns. The editor uses a textarea for input and leverages the `text-field-edit` library for precise text manipulations, enabling features like inserting text at the cursor position, wrapping selections, and handling keyboard shortcuts for common markdown syntax. State management is handled by Redux Toolkit with Redux Saga for side effects, such as fetching saved documents from a backend API. The application also supports offline drafting via localStorage and sharing via URL hash compression using `lz-string`. Key components include a dynamic toolbar with buttons for bold, italic, lists, tables, and more, each implemented as isolated, reusable components. The utility modules for URL sharing and draft storage are particularly noteworthy for their potential reuse in other projects. Despite some dependencies being slightly outdated, the codebase remains functional and maintainable.