From 0e61a9028adc155ed02b6937c5e7d9a1d684bf00 Mon Sep 17 00:00:00 2001 From: gopienkonikita Date: Thu, 23 Nov 2023 13:16:03 +0300 Subject: [PATCH] Web: Files: Fixed lifetime tooltip for FilesSelector --- .../client/src/components/FilesSelector/index.tsx | 3 +++ packages/components/selector/Selector.types.ts | 1 + packages/components/selector/index.tsx | 2 ++ .../selector/sub-components/Body/Body.types.ts | 1 + .../selector/sub-components/Body/index.tsx | 2 ++ .../selector/sub-components/Item/Item.types.ts | 1 + .../selector/sub-components/Item/index.tsx | 14 ++++++++++---- 7 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/client/src/components/FilesSelector/index.tsx b/packages/client/src/components/FilesSelector/index.tsx index b5248e85e3..4aa64da98f 100644 --- a/packages/client/src/components/FilesSelector/index.tsx +++ b/packages/client/src/components/FilesSelector/index.tsx @@ -498,6 +498,8 @@ const FilesSelector = ({ isRestore ); + const titleIconTooltip = t("Files:RoomFilesLifetime", { days: 12 }); // TODO: days + const SelectorBody = ( ); diff --git a/packages/components/selector/Selector.types.ts b/packages/components/selector/Selector.types.ts index 0e0b73e501..00ba61eab8 100644 --- a/packages/components/selector/Selector.types.ts +++ b/packages/components/selector/Selector.types.ts @@ -80,4 +80,5 @@ export type SelectorProps = { acceptButtonId?: string; cancelButtonId?: string; isChecked?: boolean; + titleIconTooltip?: string; }; diff --git a/packages/components/selector/index.tsx b/packages/components/selector/index.tsx index 0fe6e0b19c..a139d29f05 100644 --- a/packages/components/selector/index.tsx +++ b/packages/components/selector/index.tsx @@ -84,6 +84,7 @@ const Selector = ({ acceptButtonId, cancelButtonId, isChecked, + titleIconTooltip, }: SelectorProps) => { const [footerVisible, setFooterVisible] = React.useState(false); const [isSearch, setIsSearch] = React.useState(false); @@ -350,6 +351,7 @@ const Selector = ({ withFooterInput={withFooterInput} withFooterCheckbox={withFooterCheckbox} descriptionText={descriptionText} + titleIconTooltip={titleIconTooltip} /> {(footerVisible || alwaysShowFooter) && ( diff --git a/packages/components/selector/sub-components/Body/Body.types.ts b/packages/components/selector/sub-components/Body/Body.types.ts index 66c3a85955..6dcdb7c329 100644 --- a/packages/components/selector/sub-components/Body/Body.types.ts +++ b/packages/components/selector/sub-components/Body/Body.types.ts @@ -43,4 +43,5 @@ export type BodyProps = { withFooterCheckbox?: boolean; descriptionText?: string; + titleIconTooltip?: string; }; diff --git a/packages/components/selector/sub-components/Body/index.tsx b/packages/components/selector/sub-components/Body/index.tsx index 721fcf04a2..e875cdc0c6 100644 --- a/packages/components/selector/sub-components/Body/index.tsx +++ b/packages/components/selector/sub-components/Body/index.tsx @@ -66,6 +66,7 @@ const Body = ({ withFooterCheckbox, descriptionText, withHeader, + titleIconTooltip, }: BodyProps) => { const [bodyHeight, setBodyHeight] = React.useState(0); @@ -224,6 +225,7 @@ const Body = ({ isMultiSelect, rowLoader, isItemLoaded, + titleIconTooltip, }} itemSize={48} onItemsRendered={onItemsRendered} diff --git a/packages/components/selector/sub-components/Item/Item.types.ts b/packages/components/selector/sub-components/Item/Item.types.ts index 3c4af4abda..031b4dbdae 100644 --- a/packages/components/selector/sub-components/Item/Item.types.ts +++ b/packages/components/selector/sub-components/Item/Item.types.ts @@ -18,6 +18,7 @@ export type Data = { isMultiSelect: boolean; isItemLoaded: (index: number) => boolean; rowLoader: any; + titleIconTooltip?: string; }; export type ItemProps = { diff --git a/packages/components/selector/sub-components/Item/index.tsx b/packages/components/selector/sub-components/Item/index.tsx index 3a303db59e..00ad73fd64 100644 --- a/packages/components/selector/sub-components/Item/index.tsx +++ b/packages/components/selector/sub-components/Item/index.tsx @@ -31,8 +31,14 @@ const compareFunction = (prevProps: ItemProps, nextProps: ItemProps) => { }; const Item = React.memo(({ index, style, data }: ItemProps) => { - const { items, onSelect, isMultiSelect, isItemLoaded, rowLoader }: Data = - data; + const { + items, + onSelect, + isMultiSelect, + isItemLoaded, + rowLoader, + titleIconTooltip, + }: Data = data; const isLoaded = isItemLoaded(index); @@ -96,7 +102,7 @@ const Item = React.memo(({ index, style, data }: ItemProps) => { {label} - {true && ( + {titleIconTooltip && ( <> { place="bottom" getContent={() => ( - aaaaaaaaaa + {titleIconTooltip} )} maxWidth="300px"