diff --git a/packages/client/public/locales/en/InfoPanel.json b/packages/client/public/locales/en/InfoPanel.json
index a1b5692fa8..dbe0e2891e 100644
--- a/packages/client/public/locales/en/InfoPanel.json
+++ b/packages/client/public/locales/en/InfoPanel.json
@@ -40,6 +40,7 @@
"RoomExternalLinkCreated": "Link created.",
"RoomExternalLinkDeleted": "Link <1>«{{linkTitle}}»1> deleted.",
"RoomExternalLinkRenamed": "Link <1>«{{oldLinkTitle}}»1> renamed to <1>«{{linkTitle}}»1>",
+ "RoomExternalLinkRevoked": "Previous link <1>«{{linkTitle}}»1> revoked New Link <1>«{{linkTitle}}»1> created",
"RoomGroupAdded": "Groups added.",
"RoomGroupRemove": "Group removed",
"RoomLogoCreated": "Icon changed",
diff --git a/packages/client/public/locales/ru/Settings.json b/packages/client/public/locales/ru/Settings.json
index a0f97f920f..c671d638fa 100644
--- a/packages/client/public/locales/ru/Settings.json
+++ b/packages/client/public/locales/ru/Settings.json
@@ -285,7 +285,7 @@
"TypesAndPrivileges": " <1>Типы учетных записей администратора и их права1>
<2>Администратор {{productName}}2> Настройка {{productName}}, создание и управление комнатами, возможность приглашать пользователей и управлять ими в {{productName}} и в виртуальных комнатах, возможность управления правами доступа.
<3>Администратор комнаты3> Администрирование и архивирование комнаты, приглашение пользователей и управление ими. К комнате можно назначить нескольких администраторов.
<4>Опытный пользователь4> Опытные пользователи могут создавать и редактировать файлы в комнате, но не могут создавать комнаты, управлять пользователями или получать доступ к настройкам.",
"UnsavedChangesBody": "Если вы закроете меню настроек ссылки прямо сейчас, изменения не сохранятся.",
"UnsupportedFilesDescription": "Некоторые резервные файлы не поддерживаются. Нажмите \"Проверьте неподдерживаемые файлы\", чтобы загрузить список неподдерживаемых элементов",
- "UnsupportedFilesWithUploadDesc": "Некоторые резервные файлы не поддерживаются. Нажмите \\\"Проверьте неподдерживаемые файлы\\\", чтобы загрузить список неподдерживаемых элементов, или нажмите \\\"Загрузить на сервер\\\", чтобы продолжить без них.",
+ "UnsupportedFilesWithUploadDesc": "Некоторые резервные файлы не поддерживаются. Нажмите \"Проверьте неподдерживаемые файлы\", чтобы загрузить список неподдерживаемых элементов, или нажмите \"Загрузить на сервер\", чтобы продолжить без них.",
"UpdatingStatistics": "Обновление статистики может занять много времени",
"UploadBackupData": "Загрузите резервную копию из нужного сервиса ниже, чтобы начать миграцию.",
"UploadToServer": "Загрузить на сервер",
diff --git a/packages/client/src/pages/Home/InfoPanel/Body/views/History/FeedInfo.ts b/packages/client/src/pages/Home/InfoPanel/Body/views/History/FeedInfo.ts
index 5324a0ca00..79533b08ff 100644
--- a/packages/client/src/pages/Home/InfoPanel/Body/views/History/FeedInfo.ts
+++ b/packages/client/src/pages/Home/InfoPanel/Body/views/History/FeedInfo.ts
@@ -7,6 +7,7 @@ enum FeedAction {
Rename = "rename",
Move = "move",
Copy = "copy",
+ Revoke = "revoke",
}
enum FeedTarget {
@@ -148,10 +149,15 @@ export const feedInfo = [
actionType: `${FeedAction.Rename}`,
},
{
- key: "RoomExternalLinkRevoked",
+ key: "RoomExternalLinkDeleted",
targetType: `${FeedTarget.RoomExternalLink}`,
actionType: `${FeedAction.Delete}`,
},
+ {
+ key: "RoomExternalLinkRevoked",
+ targetType: `${FeedTarget.RoomExternalLink}`,
+ actionType: `${FeedAction.Revoke}`,
+ },
//
// USER
{
diff --git a/packages/client/src/pages/Home/InfoPanel/Body/views/History/useFeedTranslation.tsx b/packages/client/src/pages/Home/InfoPanel/Body/views/History/useFeedTranslation.tsx
index 6ce3c834fe..76d2943e4f 100644
--- a/packages/client/src/pages/Home/InfoPanel/Body/views/History/useFeedTranslation.tsx
+++ b/packages/client/src/pages/Home/InfoPanel/Body/views/History/useFeedTranslation.tsx
@@ -89,7 +89,7 @@ export const useFeedTranslation = (
components={{ 1: }}
/>
);
- case "RoomExternalLinkRevoked":
+ case "RoomExternalLinkDeleted":
return (
}}
/>
);
+ case "RoomExternalLinkRevoked":
+ return (
+ }}
+ />
+ );
case "RoomCreateUser":
return t("InfoPanel:RoomCreateUser");
case "RoomUpdateAccessForUser":
diff --git a/packages/client/src/pages/PortalSettings/categories/common/Branding/whitelabel.js b/packages/client/src/pages/PortalSettings/categories/common/Branding/whitelabel.js
index ce16de94cd..ce2c009ddb 100644
--- a/packages/client/src/pages/PortalSettings/categories/common/Branding/whitelabel.js
+++ b/packages/client/src/pages/PortalSettings/categories/common/Branding/whitelabel.js
@@ -82,6 +82,7 @@ const WhiteLabel = (props) => {
const [logoTextWhiteLabel, setLogoTextWhiteLabel] = useState("");
const [isSaving, setIsSaving] = useState(false);
+ const [isEmpty, setIsEmpty] = useState(!logoText);
const isMobileView = deviceType === DeviceType.mobile;
@@ -122,6 +123,12 @@ const WhiteLabel = (props) => {
navigate(url);
};
+ useEffect(() => {
+ if (!isWhitelableLoaded) return;
+
+ setIsEmpty(!logoText);
+ }, [logoText]);
+
useEffect(() => {
const companyNameFromSessionStorage = getFromSessionStorage("companyName");
@@ -144,12 +151,18 @@ const WhiteLabel = (props) => {
const onChangeCompanyName = (e) => {
const value = e.target.value;
+ setIsEmpty(!value || value?.trim() === "");
setLogoTextWhiteLabel(value);
saveToSessionStorage("companyName", value);
};
const onUseTextAsLogo = () => {
+ if (!logoTextWhiteLabel) {
+ return;
+ }
+
let newLogos = logoUrlsWhiteLabel;
+
for (let i = 0; i < logoUrlsWhiteLabel.length; i++) {
const options = getLogoOptions(
i,
@@ -303,6 +316,7 @@ const WhiteLabel = (props) => {
labelText={t("Common:CompanyName")}
isVertical={true}
className="settings_unavailable"
+ hasError={isEmpty}
>
{
isAutoFocussed={!isMobile}
tabIndex={1}
maxLength={30}
+ hasError={isEmpty}
/>