Move the AI-chat toggle icon (IconSparkles) from the page header menu into the global top bar, placed next to the notifications icon. The "AI chat enabled" gate (workspace.settings.ai.chat) is preserved, and the icon style is aligned with the neighbouring notifications icon (subtle, size sm). As a result the entry point is now available on all routes instead of only on page routes. - app-header.tsx: render the gated AI-chat ActionIcon before NotificationPopover; wire it to aiChatWindowOpenAtom. - page-header-menu.tsx: remove the old AI icon block and its now-unused imports/locals.
React + TypeScript + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
Expanding the ESLint configuration
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptionsproperty like this:
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
- Replace
plugin:@typescript-eslint/recommendedtoplugin:@typescript-eslint/recommended-type-checkedorplugin:@typescript-eslint/strict-type-checked - Optionally add
plugin:@typescript-eslint/stylistic-type-checked - Install eslint-plugin-react and add
plugin:react/recommended&plugin:react/jsx-runtimeto theextendslist