Feat/recent guilds (#89) (#167)

* feat(web): add server-setup page for when bot isn't in the server picked

* chore: move contexts into their own folder

* feat(web): add recent guilds context, and app shell helper context

* feat(web): show recent guilds in masthead

* feat(web): functionally add recents to servers list

* fix(web): correct styling for servers listing recents/all headers

* fix(web): correct some type issues with appShellProps

* fix(web): don't show ServerListing recents when recents is empty
This commit is contained in:
41666 2021-03-13 19:31:36 -05:00 committed by GitHub
parent 3a36d7a85d
commit 99952aa19f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 302 additions and 66 deletions

View file

@ -1,16 +1,33 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { ApiContextProvider } from './api-context/ApiContext';
import { AppRouter } from './app-router/AppRouter';
import { SessionContextProvider } from './session-context/SessionContext';
import { ApiContextProvider } from './contexts/api/ApiContext';
import { AppShellPropsProvider } from './contexts/app-shell/AppShellContext';
import { RecentGuildsProvider } from './contexts/recent-guilds/RecentGuildsContext';
import { SessionContextProvider } from './contexts/session/SessionContext';
const ProviderProvider = (props: {
providerChain: typeof ApiContextProvider[];
children: React.ReactNode;
}) => {
return props.providerChain.reduceRight(
(acc, Provider) => <Provider>{acc}</Provider>,
<>{props.children}</>
);
};
ReactDOM.render(
<React.StrictMode>
<ApiContextProvider>
<SessionContextProvider>
<AppRouter />
</SessionContextProvider>
</ApiContextProvider>
<ProviderProvider
providerChain={[
ApiContextProvider,
SessionContextProvider,
RecentGuildsProvider,
AppShellPropsProvider,
]}
>
<AppRouter />
</ProviderProvider>
</React.StrictMode>,
document.getElementById('root')
);