mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-16 01:40:15 +08:00
* feat(plugin): support icon field in metadata.yaml for sidebar icon * feat(sidebar): add isRawTitle support for non-i18n sidebar titles * feat(sidebar): add usePluginSidebarItems composable for dynamic plugin WebUI entries * feat(sidebar): inject plugin WebUI items into sidebar before More group * refactor(plugin-page): remove header, make iframe full-screen * feat(sidebar): restore plugin WebUI collapsible group * fix(plugin-page): prevent iframe from capturing mousemove during sidebar resize - Use absolute positioning instead of negative margin for full-screen layout - Zero container padding for plugin page route in FullLayout - Disable pointer-events on iframe during sidebar drag to avoid event capture * refactor(sidebar): share plugin state reactively instead of polling - Replace polling + events with module-level reactive shared state - useExtensionPage.getExtensions() populates pluginSidebarState - usePluginSidebarItems uses computed() to derive sidebar menu - Zero additional API calls, updates instantly on any plugin change * fix(sidebar): restore initial plugin data fetch on sidebar mount * feat(sidebar): render plugin icons via MDI SVG CDN instead of subset font - Plugin icons loaded from https://cdn.jsdelivr.net/npm/@mdi/svg@7/svg/ - Removes subset limitation - plugins can use any MDI icon - Fallback to subset font class for built-in sidebar items - Default icon remains mdi-puzzle when plugin doesn't specify one * fix(sidebar): render plugin icons as inline SVG with currentColor for theme matching * docs: add plugin sidebar icon documentation * docs: require mdi- prefix for plugin icon field * chore: ruff format * fix: address review feedback - Add SVG sanitization to prevent XSS via v-html (reject <script>, event handlers) - Extract MORE_GROUP_KEY shared constant to avoid hardcoded i18n key - Parallel SVG loading with Promise.all instead of serial - Pure buildPluginItems, mutate iconSvg in place to avoid redundant rebuilds - Fallback to default icon SVG when loading fails - Revert accidental pnpm-lock.yaml changes * chore: remove webui icon --------- Co-authored-by: Soulter <905617992@qq.com>
AstrBot 管理面板
基于 CodedThemes/Berry 模板开发。
环境变量
VITE_ASTRBOT_RELEASE_BASE_URL(可选)- 默认值:
https://github.com/AstrBotDevs/AstrBot/releases - 用途:管理面板内“更新到最新版本”外部跳转所使用的 release 基地址。集成方可按需覆盖(例如 Desktop 指向其自身发布页)。
- 建议传入仓库的
.../releases基地址(不带/latest)。
- 默认值: