Add translations

This commit is contained in:
Nicola Benaglia
2025-05-10 11:39:59 +02:00
parent 5f602442e4
commit 88c7aed59a
3 changed files with 78 additions and 43 deletions

View File

@@ -43,7 +43,7 @@ const ListOfMembers = ({
const [isLoadingRemoveAdmin, setIsLoadingRemoveAdmin] = useState(false);
const theme = useTheme();
const { t } = useTranslation(['core', 'group']);
const listRef = useRef();
const listRef = useRef(null);
const handlePopoverOpen = (event, index) => {
setPopoverAnchor(event.currentTarget);
@@ -77,8 +77,9 @@ const ListOfMembers = ({
if (!response?.error) {
setInfoSnack({
type: 'success',
message:
'Successfully kicked member from group. It may take a couple of minutes for the changes to propagate',
message: t('group:message.success.group_kick', {
postProcess: 'capitalize',
}),
});
setOpenSnack(true);
handlePopoverClose();
@@ -95,7 +96,9 @@ const ListOfMembers = ({
.catch((error) => {
setInfoSnack({
type: 'error',
message: error.message || 'An error occurred',
message:
error.message ||
t('core:message.error.generic', { postProcess: 'capitalize' }),
});
setOpenSnack(true);
rej(error);
@@ -109,7 +112,8 @@ const ListOfMembers = ({
};
const handleBan = async (address) => {
try {
const fee = await getFee('GROUP_BAN'); // TODO translate
const fee = await getFee('GROUP_BAN');
await show({
message: t('group:question.perform_transaction', {
action: 'GROUP_BAN',
@@ -117,7 +121,9 @@ const ListOfMembers = ({
}),
publishFee: fee.fee + ' QORT',
});
setIsLoadingBan(true);
await new Promise((res, rej) => {
window
.sendMessage('banFromGroup', {
@@ -129,8 +135,9 @@ const ListOfMembers = ({
if (!response?.error) {
setInfoSnack({
type: 'success',
message:
'Successfully banned member from group. It may take a couple of minutes for the changes to propagate',
message: t('group:message.success.group_ban', {
postProcess: 'capitalize',
}),
});
setOpenSnack(true);
handlePopoverClose();
@@ -147,13 +154,16 @@ const ListOfMembers = ({
.catch((error) => {
setInfoSnack({
type: 'error',
message: error.message || 'An error occurred',
message:
error.message ||
t('core:message.error.generic', { postProcess: 'capitalize' }),
});
setOpenSnack(true);
rej(error);
});
});
} catch (error) {
console.log(error);
} finally {
setIsLoadingBan(false);
}
@@ -180,8 +190,9 @@ const ListOfMembers = ({
if (!response?.error) {
setInfoSnack({
type: 'success',
message:
'Successfully made member an admin. It may take a couple of minutes for the changes to propagate',
message: t('group:message.success.group_member_admin', {
postProcess: 'capitalize',
}),
});
setOpenSnack(true);
handlePopoverClose();
@@ -198,13 +209,16 @@ const ListOfMembers = ({
.catch((error) => {
setInfoSnack({
type: 'error',
message: error.message || 'An error occurred',
message:
error.message ||
t('core:message.error.generic', { postProcess: 'capitalize' }),
});
setOpenSnack(true);
rej(error);
});
});
} catch (error) {
console.log(error);
} finally {
setIsLoadingMakeAdmin(false);
}
@@ -231,8 +245,9 @@ const ListOfMembers = ({
if (!response?.error) {
setInfoSnack({
type: 'success',
message:
'Successfully removed member as an admin. It may take a couple of minutes for the changes to propagate',
message: t('group:message.success.group_remove_member', {
postProcess: 'capitalize',
}),
});
setOpenSnack(true);
handlePopoverClose();
@@ -249,13 +264,16 @@ const ListOfMembers = ({
.catch((error) => {
setInfoSnack({
type: 'error',
message: error.message || 'An error occurred',
message:
error.message ||
t('core:message.error.generic', { postProcess: 'capitalize' }),
});
setOpenSnack(true);
rej(error);
});
});
} catch (error) {
console.log(error);
} finally {
setIsLoadingRemoveAdmin(false);
}
@@ -290,13 +308,13 @@ const ListOfMembers = ({
>
<Box
sx={{
width: '325px',
height: '250px',
alignItems: 'center',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
gap: '10px',
height: '250px',
padding: '10px',
width: '325px',
}}
>
{isOwner && (
@@ -307,48 +325,49 @@ const ListOfMembers = ({
variant="contained"
onClick={() => handleKick(member?.member)}
>
Kick member from group
{t('group:action.kick_member', {
postProcess: 'capitalize',
})}
</LoadingButton>
<LoadingButton
loading={isLoadingBan}
loadingPosition="start"
variant="contained"
onClick={() => handleBan(member?.member)}
>
Ban member from group
{t('group:action.ban', {
postProcess: 'capitalize',
})}
</LoadingButton>
<LoadingButton
loading={isLoadingMakeAdmin}
loadingPosition="start"
variant="contained"
onClick={() => makeAdmin(member?.member)}
>
Make an admin
{t('group:action.make_admin', {
postProcess: 'capitalize',
})}
</LoadingButton>
<LoadingButton
loading={isLoadingRemoveAdmin}
loadingPosition="start"
variant="contained"
onClick={() => removeAdmin(member?.member)}
>
Remove as admin
{t('group:action.remove_admin', {
postProcess: 'capitalize',
})}
</LoadingButton>
</>
)}
</Box>
</Popover>
<ListItem
key={member?.member}
// secondaryAction={
// <Checkbox
// edge="end"
// onChange={handleToggle(value)}
// checked={checked.indexOf(value) !== -1}
// inputProps={{ 'aria-labelledby': labelId }}
// />
// }
disablePadding
>
<ListItem key={member?.member} disablePadding>
<ListItemButton
onClick={(event) => handlePopoverOpen(event, index)}
>
@@ -362,6 +381,7 @@ const ListOfMembers = ({
}
/>
</ListItemAvatar>
<ListItemText
id={''}
primary={member?.name || member?.member}
@@ -373,7 +393,9 @@ const ListOfMembers = ({
marginLeft: 'auto',
}}
>
Admin
{t('core:admin', {
postProcess: 'capitalize',
})}
</Typography>
)}
</ListItemButton>
@@ -386,28 +408,31 @@ const ListOfMembers = ({
return (
<div>
<p>Member list</p>
<p>
{t('core:list.member', {
postProcess: 'capitalize',
})}
</p>
<div
style={{
position: 'relative',
height: '500px',
width: '100%',
display: 'flex',
flexDirection: 'column',
flexShrink: 1,
height: '500px',
position: 'relative',
width: '100%',
}}
>
<AutoSizer>
{({ height, width }) => (
<List
ref={listRef}
width={width}
deferredMeasurementCache={cache}
height={height}
ref={listRef}
rowCount={members.length}
rowHeight={cache.rowHeight}
rowRenderer={rowRenderer}
// onScroll={handleScroll}
deferredMeasurementCache={cache}
width={width}
/>
)}
</AutoSizer>