mirror of https://github.com/longtai-cn/hippo4j
parent
4abdf0a15b
commit
6f754afb9e
@ -0,0 +1,9 @@
|
||||
export enum STR_MAP {
|
||||
DYNAMIC_THREAD_POOL = 'dynamicThreadPool',
|
||||
THREAD_POOL = 'threadPool',
|
||||
PROJECT = 'project',
|
||||
SEARCH = 'search',
|
||||
ADD = 'add',
|
||||
SERIAL_NUMBER = 'serial_number',
|
||||
TENANTRY = 'tenantry',
|
||||
}
|
@ -1,5 +1,13 @@
|
||||
import { STR_MAP } from './constants';
|
||||
|
||||
const enTranslationMap: { [key: string]: string } = {
|
||||
hello: 'hello',
|
||||
[STR_MAP.DYNAMIC_THREAD_POOL]: 'Dynamic thread pool',
|
||||
[STR_MAP.THREAD_POOL]: 'Thread pool management',
|
||||
[STR_MAP.PROJECT]: 'project',
|
||||
[STR_MAP.SEARCH]: 'search',
|
||||
[STR_MAP.ADD]: 'add',
|
||||
[STR_MAP.SERIAL_NUMBER]: 'number',
|
||||
[STR_MAP.TENANTRY]: 'tenantry',
|
||||
};
|
||||
|
||||
export default enTranslationMap;
|
||||
|
@ -1,5 +1,13 @@
|
||||
import { STR_MAP } from './constants';
|
||||
|
||||
const zhTranslationMap: { [key: string]: string } = {
|
||||
hello: '你好',
|
||||
[STR_MAP.DYNAMIC_THREAD_POOL]: '动态线程池',
|
||||
[STR_MAP.THREAD_POOL]: '线程池管理',
|
||||
[STR_MAP.PROJECT]: '项目',
|
||||
[STR_MAP.SEARCH]: '搜索',
|
||||
[STR_MAP.ADD]: '添加',
|
||||
[STR_MAP.SERIAL_NUMBER]: '序号',
|
||||
[STR_MAP.TENANTRY]: '租户',
|
||||
};
|
||||
|
||||
export default zhTranslationMap;
|
||||
|
@ -0,0 +1,2 @@
|
||||
export * from './useThemeMode';
|
||||
export * from './useTransLate';
|
@ -0,0 +1,14 @@
|
||||
import { useContext, useEffect } from 'react';
|
||||
import { useLocalStorageState } from 'ahooks';
|
||||
import { MyContext, THEME_NAME } from '@/context';
|
||||
|
||||
export const useThemeMode = (): { isDark: boolean | undefined; setIsDark: (isDark: boolean) => void } => {
|
||||
const [isDark, setIsDark] = useLocalStorageState<boolean>('current-mode', { defaultValue: false });
|
||||
const { setThemeName } = useContext<any>(MyContext);
|
||||
|
||||
useEffect(() => {
|
||||
isDark ? setThemeName(THEME_NAME.DARK) : setThemeName(THEME_NAME.DEFAULT);
|
||||
}, [isDark, setThemeName]);
|
||||
|
||||
return { isDark, setIsDark };
|
||||
};
|
@ -0,0 +1,6 @@
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
export const useTran = (str: string): string => {
|
||||
const { t } = useTranslation();
|
||||
return t(str);
|
||||
};
|
@ -0,0 +1,45 @@
|
||||
import { Button, Form, Select, Space, Table, Typography } from 'antd';
|
||||
import { useTran } from '@/hooks';
|
||||
import { STR_MAP } from '@/config/i18n/locales/constants';
|
||||
import { ColumnProps } from 'antd/es/table';
|
||||
const { Title } = Typography;
|
||||
const { Item } = Form;
|
||||
|
||||
const ThreadPoll = () => {
|
||||
const [form] = Form.useForm();
|
||||
const columns: ColumnProps<any>[] = [
|
||||
{
|
||||
title: useTran(STR_MAP.SERIAL_NUMBER),
|
||||
dataIndex: 'order',
|
||||
},
|
||||
{
|
||||
title: useTran(STR_MAP.SERIAL_NUMBER),
|
||||
dataIndex: 'tenantry',
|
||||
},
|
||||
{
|
||||
title: useTran(STR_MAP.SERIAL_NUMBER),
|
||||
dataIndex: 'tenantry',
|
||||
},
|
||||
];
|
||||
return (
|
||||
<Space direction="vertical" style={{ width: '100%' }} size="large">
|
||||
<Title>{useTran(STR_MAP.THREAD_POOL)}</Title>
|
||||
<Form form={form} layout="inline">
|
||||
<Item name="project" style={{ flex: 1 }}>
|
||||
<Select options={[{ label: '哈哈哈', value: 1 }]} placeholder={useTran(STR_MAP.PROJECT)}></Select>
|
||||
</Item>
|
||||
<Item name="thpool" style={{ flex: 1 }}>
|
||||
<Select options={[{ label: '哈哈哈', value: 1 }]} placeholder={useTran(STR_MAP.PROJECT)}></Select>
|
||||
</Item>
|
||||
<Item style={{ flex: 4 }}>
|
||||
<Space>
|
||||
<Button type="primary">{useTran(STR_MAP.SEARCH)}</Button>
|
||||
<Button type="primary">{useTran(STR_MAP.ADD)}</Button>
|
||||
</Space>
|
||||
</Item>
|
||||
</Form>
|
||||
<Table columns={columns}></Table>
|
||||
</Space>
|
||||
);
|
||||
};
|
||||
export default ThreadPoll;
|
@ -0,0 +1,11 @@
|
||||
import { IRouterList } from '@/typings';
|
||||
import ThreadPoll from '.';
|
||||
|
||||
const routerList: IRouterList[] = [
|
||||
{
|
||||
path: '/thread-poll/index',
|
||||
component: ThreadPoll,
|
||||
},
|
||||
];
|
||||
|
||||
export default routerList;
|
@ -1,6 +1,7 @@
|
||||
import { IRouterList } from '@/typings';
|
||||
import homeRouter from '@/page/home/router';
|
||||
import aboutRouter from '@/page/about/router';
|
||||
import ThreadPoolRouter from '@/page/thread-pool/router';
|
||||
|
||||
const routerList: IRouterList[] = [...homeRouter, ...aboutRouter];
|
||||
const routerList: IRouterList[] = [...homeRouter, ...aboutRouter, ...ThreadPoolRouter];
|
||||
export default routerList;
|
||||
|
Loading…
Reference in new issue