mattermost-mobile/app/utils/categories.ts
Shaz Amjad 64223efafe
MM-28474: Custom Sidebar Categories (#5460)
* 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
2021-09-20 14:11:57 -04:00

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;
};