Channel List Header Data from DB (#5807)

* Renames header

* Adds Server Display Name Context

* Adds server and team name to header

* Snapshot fail fixed

* rename serverUrl context to server and include displayName

* Add server display name and use only team display name in channel list header

* Improve channel_list test

* Fix channel list on tablets when team sidebar is present

* Fix Server icon color

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
This commit is contained in:
Shaz Amjad
2021-11-26 02:56:50 +11:00
committed by GitHub
parent 7da324de99
commit 5419758a5f
47 changed files with 269 additions and 160 deletions

View File

@@ -6,7 +6,7 @@ import DatabaseProvider from '@nozbe/watermelondb/DatabaseProvider';
import React, {ComponentType, useEffect, useState} from 'react';
import {MM_TABLES} from '@constants/database';
import ServerUrlProvider from '@context/server_url';
import ServerProvider from '@context/server';
import ThemeProvider from '@context/theme';
import UserLocaleProvider from '@context/user_locale';
import DatabaseManager from '@database/manager';
@@ -16,6 +16,7 @@ import type ServersModel from '@typings/database/models/app/servers';
type State = {
database: Database;
serverUrl: string;
serverDisplayName: string;
};
const {SERVERS} = MM_TABLES.APP;
@@ -37,6 +38,7 @@ export function withServerDatabase<T>(Component: ComponentType<T>): ComponentTyp
setState({
database: serverDatabase,
serverUrl: server?.url,
serverDisplayName: server?.displayName,
});
} else {
setState(undefined);
@@ -62,11 +64,11 @@ export function withServerDatabase<T>(Component: ComponentType<T>): ComponentTyp
return (
<DatabaseProvider database={state.database}>
<UserLocaleProvider database={state.database}>
<ServerUrlProvider url={state.serverUrl}>
<ServerProvider server={{displayName: state.serverDisplayName, url: state.serverUrl}}>
<ThemeProvider database={state.database}>
<Component {...props}/>
</ThemeProvider>
</ServerUrlProvider>
</ServerProvider>
</UserLocaleProvider>
</DatabaseProvider>
);