* Further cleanup and fixes Tests clean-up Tests fixed? Plays nicely with threads Tests fixed Fixes ESR and show experimental flags Failing test fixed DM Fix WIP: Bottom bar UX Fixes for unreads Failing test Always show current channel Create a channel in a category! * Unreads on top * Various fixes * Improves category collapsing * Passes correct ID through * Tests cleanup * Redo unreads and unread-button * Reverts to just using ids * More unreads back to using ids * Uses appropriate selectors for pref updates * Unreads sorted by recency * Fixes test for recency * Fixes re-rendering bug * Code review updates, websocket event debounced
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {gte, lt} from 'semver';
|
|
|
|
import {Client4} from '@client/rest';
|
|
import {getConfig} from '@mm-redux/selectors/entities/general';
|
|
import {getNewSidebarPreference} from '@mm-redux/selectors/entities/preferences';
|
|
import {GlobalState} from '@mm-redux/types/store';
|
|
|
|
export const shouldShowLegacySidebar = (state: GlobalState) => {
|
|
const config = getConfig(state);
|
|
const serverVersion = config.Version || Client4.getServerVersion();
|
|
|
|
// No server version? Default to legacy.
|
|
if (!serverVersion) {
|
|
return true;
|
|
}
|
|
|
|
// Older servers default to Legacy unless experimental flag is set
|
|
if (lt(serverVersion, '5.32.0')) {
|
|
const experimentalSidebarPref = getNewSidebarPreference(state);
|
|
|
|
if (experimentalSidebarPref) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Newer servers only show legacy if legacy flag is set
|
|
if (gte(serverVersion, '5.32.0') && config.EnableLegacySidebar === 'true') {
|
|
return true;
|
|
}
|
|
|
|
// Default to showing categories
|
|
return false;
|
|
};
|