Make each admin page specify is own layout. Closes #2584

This commit is contained in:
Gabe Kangas
2023-01-15 23:11:44 -08:00
parent 3b232f31e1
commit 2853752937
24 changed files with 167 additions and 37 deletions

View File

@@ -1,6 +1,6 @@
import { Button, Space, Table, Typography, Upload } from 'antd';
import { RcFile } from 'antd/lib/upload';
import React, { useEffect, useState } from 'react';
import React, { ReactElement, useEffect, useState } from 'react';
import dynamic from 'next/dynamic';
import FormStatusIndicator from '../../../components/admin/FormStatusIndicator';
@@ -16,6 +16,8 @@ import {
import { RESET_TIMEOUT } from '../../../utils/config-constants';
import { URL_CUSTOM_EMOJIS } from '../../../utils/constants';
import { AdminLayout } from '../../../components/layouts/AdminLayout';
// Lazy loaded components
const DeleteOutlined = dynamic(() => import('@ant-design/icons/DeleteOutlined'), {
@@ -189,4 +191,8 @@ const Emoji = () => {
);
};
Emoji.getLayout = function getLayout(page: ReactElement) {
return <AdminLayout page={page} />;
};
export default Emoji;

View File

@@ -1,4 +1,4 @@
import React, { useState, useEffect } from 'react';
import React, { useState, useEffect, ReactElement } from 'react';
import { Table, Typography, Button } from 'antd';
import classNames from 'classnames';
import { ColumnsType } from 'antd/es/table';
@@ -16,6 +16,8 @@ import { isEmptyObject } from '../../../utils/format';
import { MessageVisiblityToggle } from '../../../components/admin/MessageVisiblityToggle';
import { UserPopover } from '../../../components/admin/UserPopover';
import { AdminLayout } from '../../../components/layouts/AdminLayout';
const { Title } = Typography;
// Lazy loaded components
@@ -261,3 +263,7 @@ export default function Chat() {
</div>
);
}
Chat.getLayout = function getLayout(page: ReactElement) {
return <AdminLayout page={page} />;
};

View File

@@ -1,4 +1,4 @@
import React, { useState, useEffect, useContext } from 'react';
import React, { useState, useEffect, useContext, ReactElement } from 'react';
import { Tabs } from 'antd';
import { ServerStatusContext } from '../../../utils/server-status-context';
import {
@@ -12,6 +12,8 @@ import { UserTable } from '../../../components/admin/UserTable';
import { ClientTable } from '../../../components/admin/ClientTable';
import { BannedIPsTable } from '../../../components/admin/BannedIPsTable';
import { AdminLayout } from '../../../components/layouts/AdminLayout';
export const FETCH_INTERVAL = 10 * 1000; // 10 sec
export default function ChatUsers() {
@@ -108,3 +110,7 @@ export default function ChatUsers() {
return <Tabs defaultActiveKey="1" items={items} />;
}
ChatUsers.getLayout = function getLayout(page: ReactElement) {
return <AdminLayout page={page} />;
};