feat(admin): add converseID filter and message detail

pull/90/head
moonrailgun 2 years ago
parent 88dfb6c588
commit 9484e4cced

@ -4,7 +4,7 @@ import { authProvider } from './authProvider';
import { UserEdit, UserList, UserShow } from './resources/user'; import { UserEdit, UserList, UserShow } from './resources/user';
import React from 'react'; import React from 'react';
import { GroupList, GroupShow } from './resources/group'; import { GroupList, GroupShow } from './resources/group';
import { MessageList } from './resources/chat'; import { MessageList, MessageShow } from './resources/chat';
import { FileList } from './resources/file'; import { FileList } from './resources/file';
import PersonIcon from '@mui/icons-material/Person'; import PersonIcon from '@mui/icons-material/Person';
import MessageIcon from '@mui/icons-material/Message'; import MessageIcon from '@mui/icons-material/Message';
@ -49,7 +49,7 @@ export const App = () => (
icon={MessageIcon} icon={MessageIcon}
name="messages" name="messages"
list={MessageList} list={MessageList}
show={ShowGuesser} show={MessageShow}
/> />
<Resource <Resource
icon={GroupIcon} icon={GroupIcon}

@ -33,6 +33,7 @@ export const englishCustom = {
}, },
messages: { messages: {
search: 'Search Message Content', search: 'Search Message Content',
searchConverseId: 'Search Converse ID',
}, },
groups: { groups: {
noAvatar: 'No Avatar', noAvatar: 'No Avatar',
@ -102,6 +103,7 @@ export const chineseCustom = {
}, },
messages: { messages: {
search: '搜索消息内容', search: '搜索消息内容',
searchConverseId: '搜索会话ID',
}, },
groups: { groups: {
noAvatar: '无头像', noAvatar: '无头像',

@ -8,9 +8,11 @@ import {
useTranslate, useTranslate,
BulkDeleteButton, BulkDeleteButton,
ShowButton, ShowButton,
EditButton,
ReferenceInput, ReferenceInput,
SelectInput, SelectInput,
Show,
SimpleShowLayout,
ReferenceField,
} from 'react-admin'; } from 'react-admin';
import { GroupField } from '../components/GroupField'; import { GroupField } from '../components/GroupField';
import { PostListActionToolbar } from '../components/PostListActionToolbar'; import { PostListActionToolbar } from '../components/PostListActionToolbar';
@ -26,15 +28,19 @@ export const MessageList: React.FC = () => {
key="search" key="search"
source="q" source="q"
alwaysOn alwaysOn
placeholder={translate('custom.users.search')} placeholder={translate('custom.messages.search')}
/>, />,
<ReferenceInput key="groupID" source="groupId" reference="groups"> <ReferenceInput key="groupId" source="groupId" reference="groups">
<SelectInput optionText="name" /> <SelectInput optionText="name" />
</ReferenceInput>, </ReferenceInput>,
<SearchInput
key="search"
source="converseId"
placeholder={translate('custom.messages.searchConverseId')}
/>,
]} ]}
> >
<Datagrid <Datagrid
rowClick="show"
bulkActionButtons={<BulkDeleteButton mutationMode="optimistic" />} bulkActionButtons={<BulkDeleteButton mutationMode="optimistic" />}
> >
<TextField source="id" sortable={true} sortByOrder="DESC" /> <TextField source="id" sortable={true} sortByOrder="DESC" />
@ -53,3 +59,19 @@ export const MessageList: React.FC = () => {
); );
}; };
MessageList.displayName = 'MessageList'; MessageList.displayName = 'MessageList';
export const MessageShow: React.FC = () => (
<Show>
<SimpleShowLayout>
<TextField source="id" />
<ReferenceField source="groupId" reference="groups" />
<TextField source="converseId" />
<TextField source="author" />
<TextField source="content" />
<TextField source="reactions" />
<DateField source="createdAt" />
<DateField source="updatedAt" />
</SimpleShowLayout>
</Show>
);
MessageShow.displayName = 'MessageShow';

Loading…
Cancel
Save