Skip to content

PANDAJSR/sidebar-for-class

Repository files navigation

Sidebar for Class

这是一个基于 Electron 开发的侧边栏应用程序,旨在提供快捷的应用程序启动和系统控制等功能。

本项目刚刚开始做,基本功能还没有完善

Important

温馨提示:本项目有绝大部分代码由氛围编程 (Vibe Coding) 方式编写。

功能特性

  • 应用启动器 (Launcher): 快速启动常用的应用程序或自定义 URI (如 classisland://)
  • 系统音量控制: 内置音量调节滑块组件。
  • 高度可配置: 所有界面元素、位置和行为均可通过 JSON 配置文件进行调整。
  • 动画效果: 支持侧边栏展开/折叠动画,且可以通过配置调整动画速度。

安装与运行

确保你的系统中已安装 Node.js 和 git (可选)。

  1. 克隆或下载本项目到本地。
  2. 在项目根目录下打开终端,安装依赖:
    npm install
  3. 启动应用:
    npm run dev

配置指南

配置文件位于 data/config.json。修改保存后通常需要重启应用生效。

许可证

GPL-3.0

目录结构

sidebar-for-class/
├── data/
│   └── config.json         # 配置文件
├── docs/
│   └── config.md           # 配置文档
├── src/
│   ├── renderer/           # 侧边栏核心交互
│   │   ├── animation.js    # 动画控制
│   │   ├── main-renderer.js
│   │   └── sidebar-ui.js   # 界面更新
│   ├── settings/           # 设置页面 (React)
│   │   ├── components/
│   │   │   └── SidebarNav.jsx
│   │   ├── sections/
│   │   │   ├── components/
│   │   │   │   ├── PreviewPanel.jsx
│   │   │   │   └── PropertiesPanel.jsx
│   │   │   ├── hooks/
│   │   │   │   ├── useDragAndDrop.jsx
│   │   │   │   ├── useLongPress.jsx
│   │   │   │   ├── useWidgetIcons.jsx
│   │   │   │   ├── useWidgetPreviews.jsx
│   │   │   │   ├── useWidgetPropertyUpdate.jsx
│   │   │   │   └── useWidgetSelection.jsx
│   │   │   ├── BasicSettings.jsx
│   │   │   ├── ComponentSettings.jsx
│   │   │   ├── StyleSettings.jsx
│   │   │   └── WindowSettings.jsx
│   │   ├── App.jsx
│   │   ├── App.styles.js
│   │   └── main.jsx
│   └── sidebar/           # 侧边栏组件 (React)
│       ├── components/
│       │   ├── DragToLaunchWidget.jsx
│       │   ├── FilesWidget.jsx
│       │   ├── LauncherItem.jsx
│       │   └── VolumeWidget.jsx
│       ├── hooks/
│       │   ├── useExternalDrag.js
│       │   ├── useGlobalEvents.js
│       │   ├── useSidebarAnimation.js
│       │   ├── useSidebarConfig.js
│       │   ├── useSidebarDrag.js
│       │   ├── useSidebarMouseIgnore.js
│       │   └── useSidebarRefs.js
│       ├── Sidebar.jsx
│       └── main.jsx
├── index.html
├── main.js
├── main-utils.js
├── preload.js
├── settings.html
├── style.css
└── vite.config.mjs

About

一个为班级大屏设计的侧边栏应用,使用Electron+React

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors