v0.9.35 settings redesign

This commit is contained in:
2026-03-16 17:23:13 -04:00
parent 28ae533b0e
commit 7d9d86d5cc
10 changed files with 342 additions and 132 deletions

View File

@@ -38,7 +38,7 @@ export default function Chat() {
const [unreadGroups, setUnreadGroups] = useState(new Map());
const [modal, setModal] = useState(null); // 'profile' | 'users' | 'settings' | 'newchat' | 'help' | 'groupmanager'
const [drawerOpen, setDrawerOpen] = useState(false);
const [features, setFeatures] = useState({ branding: false, groupManager: false });
const [features, setFeatures] = useState({ branding: false, groupManager: false, scheduleManager: false, appType: 'JAMA-Chat', teamGroupManagers: [], teamScheduleManagers: [] });
const [helpDismissed, setHelpDismissed] = useState(true); // true until status loaded
const [isMobile, setIsMobile] = useState(window.innerWidth < 768);
const [showSidebar, setShowSidebar] = useState(true);
@@ -73,14 +73,22 @@ export default function Chat() {
useEffect(() => {
api.getSettings().then(({ settings }) => {
setFeatures({
branding: settings.feature_branding === 'true',
groupManager: settings.feature_group_manager === 'true',
branding: settings.feature_branding === 'true',
groupManager: settings.feature_group_manager === 'true',
scheduleManager: settings.feature_schedule_manager === 'true',
appType: settings.app_type || 'JAMA-Chat',
teamGroupManagers: JSON.parse(settings.team_group_managers || '[]'),
teamScheduleManagers: JSON.parse(settings.team_schedule_managers || '[]'),
});
}).catch(() => {});
const handler = () => api.getSettings().then(({ settings }) => {
setFeatures({
branding: settings.feature_branding === 'true',
groupManager: settings.feature_group_manager === 'true',
branding: settings.feature_branding === 'true',
groupManager: settings.feature_group_manager === 'true',
scheduleManager: settings.feature_schedule_manager === 'true',
appType: settings.app_type || 'JAMA-Chat',
teamGroupManagers: JSON.parse(settings.team_group_managers || '[]'),
teamScheduleManagers: JSON.parse(settings.team_schedule_managers || '[]'),
});
}).catch(() => {});
window.addEventListener('jama:settings-changed', handler);