diff --git a/src/components/DeleteRoomButton.tsx b/src/components/DeleteRoomButton.tsx index 6caa26a7..d21f13a3 100644 --- a/src/components/DeleteRoomButton.tsx +++ b/src/components/DeleteRoomButton.tsx @@ -1,7 +1,7 @@ import ActionCheck from "@mui/icons-material/CheckCircle"; import ActionDelete from "@mui/icons-material/Delete"; import AlertError from "@mui/icons-material/ErrorOutline"; -import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from "@mui/material"; +import { Button, Tooltip, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from "@mui/material"; import { Fragment, useState } from "react"; import { SimpleForm, @@ -61,22 +61,24 @@ const DeleteRoomButton: React.FC = props => { return ( - + + + {translate(props.confirmTitle)} diff --git a/src/components/DeleteUserButton.tsx b/src/components/DeleteUserButton.tsx index 65d1dc8e..5d492eac 100644 --- a/src/components/DeleteUserButton.tsx +++ b/src/components/DeleteUserButton.tsx @@ -1,7 +1,7 @@ import ActionCheck from "@mui/icons-material/CheckCircle"; import ActionDelete from "@mui/icons-material/Delete"; import AlertError from "@mui/icons-material/ErrorOutline"; -import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from "@mui/material"; +import { Tooltip, Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from "@mui/material"; import { Fragment, useState } from "react"; import { SimpleForm, @@ -67,22 +67,24 @@ const DeleteUserButton: React.FC = props => { return ( - + + + {translate(props.confirmTitle)} diff --git a/src/components/DeviceRemoveButton.tsx b/src/components/DeviceRemoveButton.tsx index daa613f7..6e2f8638 100644 --- a/src/components/DeviceRemoveButton.tsx +++ b/src/components/DeviceRemoveButton.tsx @@ -1,8 +1,11 @@ +import { Tooltip } from "@mui/material"; import { DeleteWithConfirmButton, DeleteWithConfirmButtonProps, useRecordContext } from "react-admin"; +import { useTranslate } from "react-admin"; import { isASManaged } from "../utils/mxid"; export const DeviceRemoveButton = (props: DeleteWithConfirmButtonProps) => { + const translate = useTranslate(); const record = useRecordContext(); if (!record) return null; @@ -12,19 +15,23 @@ export const DeviceRemoveButton = (props: DeleteWithConfirmButtonProps) => { } return ( - + + + ); }; diff --git a/src/components/ExperimentalFeatures.tsx b/src/components/ExperimentalFeatures.tsx index d922f7fc..89e8acf9 100644 --- a/src/components/ExperimentalFeatures.tsx +++ b/src/components/ExperimentalFeatures.tsx @@ -1,8 +1,6 @@ -import { Stack, Switch, Typography } from "@mui/material"; +import { Tooltip, Stack, Switch, Typography } from "@mui/material"; import { useState, useEffect } from "react"; -import { useRecordContext } from "react-admin"; -import { useNotify } from "react-admin"; -import { useDataProvider } from "react-admin"; +import { useRecordContext, useTranslate, useNotify, useDataProvider } from "react-admin"; import { ExperimentalFeaturesModel, SynapseDataProvider } from "../synapse/dataProvider"; @@ -15,6 +13,7 @@ const ExperimentalFeatureRow = (props: { featureValue: boolean; updateFeature: (feature_name: string, feature_value: boolean) => void; }) => { + const translate = useTranslate(); const featureKey = props.featureKey; const featureValue = props.featureValue; const featureDescription = experimentalFeaturesMap[featureKey] ?? ""; @@ -34,7 +33,9 @@ const ExperimentalFeatureRow = (props: { padding: 2, }} > - + + + { const DeleteMediaToolbar = (props: ToolbarProps) => ( - } /> - + + } /> + + + + ); @@ -54,9 +58,20 @@ const DeleteMediaDialog = ({ open, onClose, onSubmit }) => { {translate("delete_media.helper.send")} } onSubmit={onSubmit}> - - - + + + + + + + + + @@ -67,6 +82,7 @@ export const DeleteMediaButton = (props: ButtonProps) => { const theme = useTheme(); const [open, setOpen] = useState(false); const notify = useNotify(); + const translate = useTranslate(); const dataProvider = useDataProvider(); const { mutate: deleteMedia, isPending } = useMutation({ mutationFn: (values: DeleteMediaParams) => dataProvider.deleteMedia(values), @@ -86,24 +102,26 @@ export const DeleteMediaButton = (props: ButtonProps) => { return ( <> - + }} + > + + + ); @@ -114,10 +132,14 @@ const PurgeRemoteMediaDialog = ({ open, onClose, onSubmit }) => { const PurgeRemoteMediaToolbar = (props: ToolbarProps) => ( - } /> - + + } /> + + + + ); @@ -142,6 +164,7 @@ const PurgeRemoteMediaDialog = ({ open, onClose, onSubmit }) => { export const PurgeRemoteMediaButton = (props: ButtonProps) => { const [open, setOpen] = useState(false); const notify = useNotify(); + const translate = useTranslate(); const dataProvider = useDataProvider(); const { mutate: purgeRemoteMedia, isPending } = useMutation({ mutationFn: (values: DeleteMediaParams) => dataProvider.purgeRemoteMedia(values), @@ -161,22 +184,24 @@ export const PurgeRemoteMediaButton = (props: ButtonProps) => { return ( <> - + }} + > + + + ); @@ -452,6 +477,7 @@ export const ViewMediaButton = ({ mxcURL, label, uploadName, mimetype }) => { }; export const MediaIDField = ({ source }) => { + const translate = useTranslate(); const record = useRecordContext(); if (!record) { return null; @@ -474,10 +500,15 @@ export const MediaIDField = ({ source }) => { mxcURL = `mxc://${homeserver}/${mediaID}`; } - return ; + return ( + + + + ); }; export const ReportMediaContent = ({ source }) => { + const translate = useTranslate(); const record = useRecordContext(); if (!record) { return null; @@ -493,5 +524,9 @@ export const ReportMediaContent = ({ source }) => { uploadName = decodeURLComponent(get(record, "event_json.content.body")?.toString()); } - return ; + return ( + + + + ); };