Compare commits
1 Commits
v0.10.3-et
...
v0.10.3-et
Author | SHA1 | Date | |
---|---|---|---|
![]() |
abc922c956 |
@@ -70,6 +70,7 @@ The following changes are already implemented:
|
|||||||
* [Fix footer causing vertical scrollbar](https://github.com/etkecc/synapse-admin/pull/60)
|
* [Fix footer causing vertical scrollbar](https://github.com/etkecc/synapse-admin/pull/60)
|
||||||
* [Custom Menu Items](https://github.com/etkecc/synapse-admin/pull/79)
|
* [Custom Menu Items](https://github.com/etkecc/synapse-admin/pull/79)
|
||||||
* [Add user profile to the top menu](https://github.com/etkecc/synapse-admin/pull/80)
|
* [Add user profile to the top menu](https://github.com/etkecc/synapse-admin/pull/80)
|
||||||
|
* [Enable visual customization](https://github.com/etkecc/synapse-admin/pull/81)
|
||||||
|
|
||||||
_the list will be updated as new changes are added_
|
_the list will be updated as new changes are added_
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { AppBar, Confirm, Layout, Logout, Menu, useLogout, UserMenu } from "react-admin";
|
import { AppBar, TitlePortal, InspectorButton, Confirm, Layout, Logout, Menu, useLogout, UserMenu } from "react-admin";
|
||||||
import { LoginMethod } from "../pages/LoginPage";
|
import { LoginMethod } from "../pages/LoginPage";
|
||||||
import { useEffect, useState, Suspense } from "react";
|
import { useEffect, useState, Suspense } from "react";
|
||||||
import { Icons, DefaultIcon } from "./icons";
|
import { Icons, DefaultIcon } from "./icons";
|
||||||
@@ -44,7 +44,12 @@ const AdminUserMenu = () => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const AdminAppBar = () => <AppBar userMenu={<AdminUserMenu />} />;
|
const AdminAppBar = () => {
|
||||||
|
return (<AppBar userMenu={<AdminUserMenu />}>
|
||||||
|
<TitlePortal />
|
||||||
|
<InspectorButton />
|
||||||
|
</AppBar>);
|
||||||
|
};
|
||||||
|
|
||||||
const AdminMenu = (props) => {
|
const AdminMenu = (props) => {
|
||||||
const [menu, setMenu] = useState([]);
|
const [menu, setMenu] = useState([]);
|
||||||
|
@@ -13,7 +13,7 @@ const LoginFormBox = styled(Box)(({ theme }) => ({
|
|||||||
backgroundSize: "cover",
|
backgroundSize: "cover",
|
||||||
|
|
||||||
[`& .card`]: {
|
[`& .card`]: {
|
||||||
width: "30rem",
|
maxWidth: "30rem",
|
||||||
marginTop: "6rem",
|
marginTop: "6rem",
|
||||||
marginBottom: "6rem",
|
marginBottom: "6rem",
|
||||||
},
|
},
|
||||||
|
@@ -8,6 +8,7 @@ import ErrorIcon from '@mui/icons-material/Error';
|
|||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
Datagrid,
|
Datagrid,
|
||||||
|
DatagridConfigurable,
|
||||||
DateField,
|
DateField,
|
||||||
List,
|
List,
|
||||||
ListProps,
|
ListProps,
|
||||||
@@ -123,14 +124,14 @@ export const DestinationList = (props: ListProps) => {
|
|||||||
pagination={<DestinationPagination />}
|
pagination={<DestinationPagination />}
|
||||||
sort={{ field: "destination", order: "ASC" }}
|
sort={{ field: "destination", order: "ASC" }}
|
||||||
>
|
>
|
||||||
<Datagrid rowClick={id => `${id}/show/rooms`} bulkActionButtons={false}>
|
<DatagridConfigurable rowClick={id => `${id}/show/rooms`} bulkActionButtons={false}>
|
||||||
<FunctionField source="destination" render={destinationFieldRender} />
|
<FunctionField source="destination" render={destinationFieldRender} />
|
||||||
<DateField source="failure_ts" showTime options={DATE_FORMAT} />
|
<DateField source="failure_ts" showTime options={DATE_FORMAT} />
|
||||||
<RetryDateField source="retry_last_ts" showTime options={DATE_FORMAT} />
|
<RetryDateField source="retry_last_ts" showTime options={DATE_FORMAT} />
|
||||||
<TextField source="retry_interval" />
|
<TextField source="retry_interval" />
|
||||||
<TextField source="last_successful_stream_ordering" />
|
<TextField source="last_successful_stream_ordering" />
|
||||||
<DestinationReconnectButton />
|
<DestinationReconnectButton />
|
||||||
</Datagrid>
|
</DatagridConfigurable>
|
||||||
</List>
|
</List>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@@ -4,6 +4,7 @@ import {
|
|||||||
Create,
|
Create,
|
||||||
CreateProps,
|
CreateProps,
|
||||||
Datagrid,
|
Datagrid,
|
||||||
|
DatagridConfigurable,
|
||||||
DateField,
|
DateField,
|
||||||
DateTimeInput,
|
DateTimeInput,
|
||||||
Edit,
|
Edit,
|
||||||
@@ -39,13 +40,13 @@ export const RegistrationTokenList = (props: ListProps) => (
|
|||||||
pagination={false}
|
pagination={false}
|
||||||
perPage={500}
|
perPage={500}
|
||||||
>
|
>
|
||||||
<Datagrid rowClick="edit">
|
<DatagridConfigurable rowClick="edit">
|
||||||
<TextField source="token" sortable={false} />
|
<TextField source="token" sortable={false} />
|
||||||
<NumberField source="uses_allowed" sortable={false} />
|
<NumberField source="uses_allowed" sortable={false} />
|
||||||
<NumberField source="pending" sortable={false} />
|
<NumberField source="pending" sortable={false} />
|
||||||
<NumberField source="completed" sortable={false} />
|
<NumberField source="completed" sortable={false} />
|
||||||
<DateField source="expiry_time" showTime options={DATE_FORMAT} sortable={false} />
|
<DateField source="expiry_time" showTime options={DATE_FORMAT} sortable={false} />
|
||||||
</Datagrid>
|
</DatagridConfigurable>
|
||||||
</List>
|
</List>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -3,6 +3,7 @@ import ViewListIcon from "@mui/icons-material/ViewList";
|
|||||||
import ReportIcon from "@mui/icons-material/Warning";
|
import ReportIcon from "@mui/icons-material/Warning";
|
||||||
import {
|
import {
|
||||||
Datagrid,
|
Datagrid,
|
||||||
|
DatagridConfigurable,
|
||||||
DateField,
|
DateField,
|
||||||
DeleteButton,
|
DeleteButton,
|
||||||
List,
|
List,
|
||||||
@@ -90,13 +91,13 @@ const ReportShowActions = () => {
|
|||||||
|
|
||||||
export const ReportList = (props: ListProps) => (
|
export const ReportList = (props: ListProps) => (
|
||||||
<List {...props} pagination={<ReportPagination />} sort={{ field: "received_ts", order: "DESC" }}>
|
<List {...props} pagination={<ReportPagination />} sort={{ field: "received_ts", order: "DESC" }}>
|
||||||
<Datagrid rowClick="show" bulkActionButtons={false}>
|
<DatagridConfigurable rowClick="show" bulkActionButtons={false}>
|
||||||
<TextField source="id" sortable={false} />
|
<TextField source="id" sortable={false} />
|
||||||
<DateField source="received_ts" showTime options={DATE_FORMAT} sortable={true} />
|
<DateField source="received_ts" showTime options={DATE_FORMAT} sortable={true} />
|
||||||
<TextField sortable={false} source="user_id" />
|
<TextField sortable={false} source="user_id" />
|
||||||
<TextField sortable={false} source="name" />
|
<TextField sortable={false} source="name" />
|
||||||
<TextField sortable={false} source="score" />
|
<TextField sortable={false} source="score" />
|
||||||
</Datagrid>
|
</DatagridConfigurable>
|
||||||
</List>
|
</List>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
import PermMediaIcon from "@mui/icons-material/PermMedia";
|
import PermMediaIcon from "@mui/icons-material/PermMedia";
|
||||||
import {
|
import {
|
||||||
Datagrid,
|
Datagrid,
|
||||||
|
DatagridConfigurable,
|
||||||
ExportButton,
|
ExportButton,
|
||||||
List,
|
List,
|
||||||
ListProps,
|
ListProps,
|
||||||
@@ -37,12 +38,12 @@ export const UserMediaStatsList = (props: ListProps) => (
|
|||||||
pagination={<UserMediaStatsPagination />}
|
pagination={<UserMediaStatsPagination />}
|
||||||
sort={{ field: "media_length", order: "DESC" }}
|
sort={{ field: "media_length", order: "DESC" }}
|
||||||
>
|
>
|
||||||
<Datagrid rowClick={id => "/users/" + id + "/media"} bulkActionButtons={false}>
|
<DatagridConfigurable rowClick={id => "/users/" + id + "/media"} bulkActionButtons={false}>
|
||||||
<TextField source="user_id" label="resources.users.fields.id" />
|
<TextField source="user_id" label="resources.users.fields.id" />
|
||||||
<TextField source="displayname" label="resources.users.fields.displayname" />
|
<TextField source="displayname" label="resources.users.fields.displayname" />
|
||||||
<NumberField source="media_count" />
|
<NumberField source="media_count" />
|
||||||
<NumberField source="media_length" />
|
<NumberField source="media_length" />
|
||||||
</Datagrid>
|
</DatagridConfigurable>
|
||||||
</List>
|
</List>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@ import {
|
|||||||
ArrayField,
|
ArrayField,
|
||||||
Button,
|
Button,
|
||||||
Datagrid,
|
Datagrid,
|
||||||
|
DatagridConfigurable,
|
||||||
DateField,
|
DateField,
|
||||||
Create,
|
Create,
|
||||||
CreateProps,
|
CreateProps,
|
||||||
@@ -156,7 +157,7 @@ export const UserList = (props: ListProps) => (
|
|||||||
actions={<UserListActions />}
|
actions={<UserListActions />}
|
||||||
pagination={<UserPagination />}
|
pagination={<UserPagination />}
|
||||||
>
|
>
|
||||||
<Datagrid
|
<DatagridConfigurable
|
||||||
rowClick={(id: Identifier, resource: string) => `/${resource}/${id}`}
|
rowClick={(id: Identifier, resource: string) => `/${resource}/${id}`}
|
||||||
bulkActionButtons={<UserBulkActionButtons />}
|
bulkActionButtons={<UserBulkActionButtons />}
|
||||||
>
|
>
|
||||||
@@ -169,7 +170,7 @@ export const UserList = (props: ListProps) => (
|
|||||||
<BooleanField source="locked" />
|
<BooleanField source="locked" />
|
||||||
<BooleanField source="erased" sortable={false} />
|
<BooleanField source="erased" sortable={false} />
|
||||||
<DateField source="creation_ts" label="resources.users.fields.creation_ts_ms" showTime options={DATE_FORMAT} />
|
<DateField source="creation_ts" label="resources.users.fields.creation_ts_ms" showTime options={DATE_FORMAT} />
|
||||||
</Datagrid>
|
</DatagridConfigurable>
|
||||||
</List>
|
</List>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user