From e766087a37dd23746ef3cbd47f7cde18383a028e Mon Sep 17 00:00:00 2001 From: Eric Doughty-Papassideris Date: Sun, 21 Apr 2024 22:10:38 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=F0=9F=8C=90=20front:=20fix?= =?UTF-8?q?=20access=20level=20labels,=20exposed=20size,=20added=20transla?= =?UTF-8?q?tions,=20deleted=20canRemove?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tdrive/frontend/public/locales/en.json | 3 +- tdrive/frontend/public/locales/fr.json | 3 +- tdrive/frontend/public/locales/ru.json | 9 +-- tdrive/frontend/public/locales/vn.json | 3 +- .../src/app/atoms/input/input-select.tsx | 4 +- .../components/access-level-dropdown.tsx | 55 +++++++++++++++++++ .../body/drive/modals/manage-users/common.tsx | 2 +- .../modals/public-link/public-link-access.tsx | 2 +- .../update-access/access-level-dropdown.tsx | 42 -------------- .../update-access/inherit-access-options.tsx | 4 +- .../modals/update-access/internal-access.tsx | 4 +- 11 files changed, 75 insertions(+), 56 deletions(-) create mode 100644 tdrive/frontend/src/app/views/client/body/drive/components/access-level-dropdown.tsx delete mode 100644 tdrive/frontend/src/app/views/client/body/drive/modals/update-access/access-level-dropdown.tsx diff --git a/tdrive/frontend/public/locales/en.json b/tdrive/frontend/public/locales/en.json index 938d00c8..33b0a1c6 100644 --- a/tdrive/frontend/public/locales/en.json +++ b/tdrive/frontend/public/locales/en.json @@ -221,10 +221,11 @@ "components.internal-access_specific_rules_you":"(you)", "components.internal-manage_root_users":"Shared drive access rules", "components.select-users_search_users":"Search users", - "common.access-level_full_acess":"Full access", + "common.access-level_full_access":"Full access", "common.access-level_read":"Read", "common.access-level_write":"Write", "common.access-level_no_access":"No access", + "common.access-level_remove":"Remove", "components.dragndrop_info_move_to":"move to", "components.SelectorModalContent_move_to":"Move to", "components.SelectorModalContent_no_items":"No item selected", diff --git a/tdrive/frontend/public/locales/fr.json b/tdrive/frontend/public/locales/fr.json index 83f7a82b..227697a4 100644 --- a/tdrive/frontend/public/locales/fr.json +++ b/tdrive/frontend/public/locales/fr.json @@ -194,10 +194,11 @@ "components.internal-access_specific_rules_you": "(Vous)", "components.internal-manage_root_users": "Règles d'accès à l'espace de travail partagé", "components.select-users_search_users": "Chercher un utilisateur", - "common.access-level_full_acess": "Accès Total", + "common.access-level_full_access": "Accès Total", "common.access-level_read": "Lecture", "common.access-level_write": "Ecriture", "common.access-level_no_access": "Pas d'accès", + "common.access-level_remove":"Retirer", "components.dragndrop_info_move_to": "déplacé vers", "components.SelectorModalContent_move_to": "Déplacer vers", "components.SelectorModalContent_no_items": "Pas de fichier sélectionné", diff --git a/tdrive/frontend/public/locales/ru.json b/tdrive/frontend/public/locales/ru.json index f6827743..ab5037b7 100644 --- a/tdrive/frontend/public/locales/ru.json +++ b/tdrive/frontend/public/locales/ru.json @@ -194,10 +194,11 @@ "components.internal-access_specific_rules_you":"(you)", "components.internal-manage_root_users":"Shared drive access rules", "components.select-users_search_users":"Search users", - "common.access-level_full_acess":"Full access", - "common.access-level_read":"Read", - "common.access-level_write":"Write", - "common.access-level_no_access":"No access", + "common.access-level_full_access":"полный контроль", + "common.access-level_read":"Умею читать", + "common.access-level_write":"Могу написать", + "common.access-level_no_access":"Нет доступа", + "common.access-level_remove":"Удалять", "components.dragndrop_info_move_to":"move to", "components.SelectorModalContent_move_to":"Move to", "components.SelectorModalContent_no_items":"No item selected", diff --git a/tdrive/frontend/public/locales/vn.json b/tdrive/frontend/public/locales/vn.json index 67bab2d2..f4d9045c 100644 --- a/tdrive/frontend/public/locales/vn.json +++ b/tdrive/frontend/public/locales/vn.json @@ -210,10 +210,11 @@ "components.internal-access_specific_rules_you": "(bạn)", "components.internal-manage_root_users": "Quy tắc truy cập ổ đĩa được chia sẻ", "components.select-users_search_users": "Tìm kiếm người dùng", - "common.access-level_full_acess": "Quyền truy cập đầy đủ", + "common.access-level_full_access": "Quyền truy cập đầy đủ", "common.access-level_read": "Đọc", "common.access-level_write": "Viết", "common.access-level_no_access": "Không có quyền truy cập", + "common.access-level_remove":"Di dời", "components.dragndrop_info_move_to": "di chuyển đến", "components.SelectorModalContent_move_to": "Di chuyển đến", "components.SelectorModalContent_no_items": "Không có mục nào được chọn", diff --git a/tdrive/frontend/src/app/atoms/input/input-select.tsx b/tdrive/frontend/src/app/atoms/input/input-select.tsx index 982626b6..0557c50a 100644 --- a/tdrive/frontend/src/app/atoms/input/input-select.tsx +++ b/tdrive/frontend/src/app/atoms/input/input-select.tsx @@ -1,10 +1,12 @@ import _ from 'lodash'; import { defaultInputClassName, errorInputClassName, ThemeName } from './input-text'; +export type SelectSize = 'md' | 'lg' | 'sm'; + interface InputProps extends Omit, 'size'> { theme?: ThemeName; hasError?: boolean; - size?: 'md' | 'lg' | 'sm'; + size?: SelectSize; className?: string; children?: React.ReactNode; } diff --git a/tdrive/frontend/src/app/views/client/body/drive/components/access-level-dropdown.tsx b/tdrive/frontend/src/app/views/client/body/drive/components/access-level-dropdown.tsx new file mode 100644 index 00000000..7a99c659 --- /dev/null +++ b/tdrive/frontend/src/app/views/client/body/drive/components/access-level-dropdown.tsx @@ -0,0 +1,55 @@ +import Select, { SelectSize } from '@atoms/input/input-select'; +import { DriveFileAccessLevel } from '@features/drive/types'; +import Languages from 'features/global/services/languages-service'; + +type DriveFileAccessLevelOrRemove = DriveFileAccessLevel | 'remove'; + +export function translateAccessLevel(level: DriveFileAccessLevelOrRemove) { + if (!level) return undefined; + const key = { + 'manage': 'common.access-level_full_access', + 'write': 'common.access-level_write', + 'read': 'common.access-level_read', + 'none': 'common.access-level_no_access', + 'remove': 'common.access-level_remove', + }[level]; + if (!key) throw new Error("Unknown level: " + JSON.stringify(level)); + return Languages.t(key); +} + +export const AccessLevelDropdown = ({ + disabled, + level, + onChange, + hiddenLevels, + labelOverrides, + className, + size, +}: { + disabled?: boolean; + level: DriveFileAccessLevel | null; + onChange: (level: DriveFileAccessLevel & 'remove') => void; + className?: string; + labelOverrides?: { [key: string]: string }; + hiddenLevels?: DriveFileAccessLevelOrRemove[] | string[]; + size?: SelectSize, +}) => { + const createOption = (level: DriveFileAccessLevelOrRemove) => + !hiddenLevels?.includes(level) && ; + return ( + + ); +}; diff --git a/tdrive/frontend/src/app/views/client/body/drive/modals/manage-users/common.tsx b/tdrive/frontend/src/app/views/client/body/drive/modals/manage-users/common.tsx index 88041b53..e4da7c1a 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/modals/manage-users/common.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/modals/manage-users/common.tsx @@ -26,7 +26,7 @@ export const AccessLevel = ({ value={level || 'read'} onChange={e => onChange(e.target.value as DriveFileAccessLevel & 'remove')} > - {!hiddenLevels?.includes('manage') && } + {!hiddenLevels?.includes('manage') && } {!hiddenLevels?.includes('read') && } ); diff --git a/tdrive/frontend/src/app/views/client/body/drive/modals/public-link/public-link-access.tsx b/tdrive/frontend/src/app/views/client/body/drive/modals/public-link/public-link-access.tsx index 9d4922e9..cd88a3b3 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/modals/public-link/public-link-access.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/modals/public-link/public-link-access.tsx @@ -3,7 +3,7 @@ import { useDriveItem, getPublicLink } from '@features/drive/hooks/use-drive-ite import { copyToClipboard } from '@features/global/utils/CopyClipboard'; import { Input } from 'app/atoms/input/input-text'; import { useState } from 'react'; -import { AccessLevelDropdown } from '../update-access/access-level-dropdown'; +import { AccessLevelDropdown } from '../../components/access-level-dropdown'; import Languages from 'features/global/services/languages-service'; import { Button } from '@atoms/button/button'; import { LinkIcon, UserGroupIcon, CheckCircleIcon } from '@heroicons/react/outline'; diff --git a/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/access-level-dropdown.tsx b/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/access-level-dropdown.tsx deleted file mode 100644 index 00afaa57..00000000 --- a/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/access-level-dropdown.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import Select from '@atoms/input/input-select'; -import { DriveFileAccessLevel } from '@features/drive/types'; -import Languages from 'features/global/services/languages-service'; - -export const AccessLevelDropdown = ({ - disabled, - level, - onChange, - canRemove, - hiddenLevels, - labelOverrides, - className, -}: { - disabled?: boolean; - level: DriveFileAccessLevel | null; - onChange: (level: DriveFileAccessLevel & 'remove') => void; - canRemove?: boolean; //TODO: use hiddenLevels - className?: string; - labelOverrides?: { [key: string]: string }; - hiddenLevels?: string[]; -}) => { - const createOption = (level: DriveFileAccessLevel, tKey: string) => - !hiddenLevels?.includes(level) && ; - return ( - - ); -}; diff --git a/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/inherit-access-options.tsx b/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/inherit-access-options.tsx index 8f489d10..eb7589fd 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/inherit-access-options.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/inherit-access-options.tsx @@ -12,7 +12,7 @@ import { import { Base, Info, Subtitle } from '@atoms/text'; import { Checkbox } from '@atoms/input/input-checkbox'; -import { AccessLevelDropdown } from './access-level-dropdown'; +import { AccessLevelDropdown } from '../../components/access-level-dropdown'; import AlertManager from '@features/global/services/alert-manager-service'; export const InheritAccessOptions = (props: { @@ -55,6 +55,7 @@ export const InheritAccessOptions = (props: {
{ props.item && props.onUpdate(changeCompanyAccessLevel(props.item, level === 'remove' ? false : level)); @@ -78,7 +79,6 @@ export const InheritAccessOptions = (props: { { if (level === 'remove') AlertManager.confirm( diff --git a/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/internal-access.tsx b/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/internal-access.tsx index dcf301a9..47f5d236 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/internal-access.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/modals/update-access/internal-access.tsx @@ -7,7 +7,7 @@ import { useUser } from '@features/users/hooks/use-user'; import { UserType } from '@features/users/types/user'; import { useState } from 'react'; import SelectUsers from '../../components/select-users'; -import { AccessLevelDropdown } from './access-level-dropdown'; +import { AccessLevelDropdown } from '../../components/access-level-dropdown'; import Languages from 'features/global/services/languages-service'; import { changeUserAccess, getUserAccessLevel, getAllUserAccesses } from '@features/files/utils/access-info-helpers'; @@ -53,6 +53,7 @@ const UserAccessSelector = ({ id, disabled }: { id: string; disabled: boolean }) setLevel(level)} /> @@ -82,7 +83,6 @@ const UserAccessLevel = ({ item && update(changeUserAccess(item, userId, level === 'remove' ? false : level))} /> }