refactor: use function to generate indent style in Folder and Tag component

This commit is contained in:
Xu Quan 2025-05-02 22:33:21 +08:00
parent 69be778319
commit aa97dfbd87
2 changed files with 20 additions and 18 deletions

View file

@ -122,7 +122,15 @@ const Folder = ({
return `${folder.name}\n${filesCountInfo}${PUNCTUATION_COPY.comma[language]}${foldersCountInfo}`;
};
const folderLevel = isRoot ? 0 : folder.path.split("/").length - 1;
const getIndentStyle = () => {
if (disableHoverIndent) return undefined;
const folderLevel = isRoot ? 0 : folder.path.split("/").length - 1;
return {
marginInlineStart: -17 * folderLevel,
paddingInlineStart: 24 + 17 * folderLevel,
};
};
return (
<div
className={classNames(
@ -135,14 +143,7 @@ const Folder = ({
)}
ref={setDropRef}
onClick={() => setFocusedFolder(folder)}
style={
disableHoverIndent
? undefined
: {
marginInlineStart: -17 * folderLevel,
paddingInlineStart: 24 + 17 * folderLevel,
}
}
style={getIndentStyle()}
data-tooltip-position="right"
aria-label={getAriaLabel()}
>

View file

@ -57,7 +57,15 @@ const Tag = ({
return `${tag.name}\n${filesCountInfo}${PUNCTUATION_COPY.comma[language]}${tagsCountInfo}`;
};
const tagLevel = tag.fullPath.split("/").length - 1;
const getIndentStyle = () => {
if (disableHoverIndent) return undefined;
const tagLevel = tag.fullPath.split("/").length - 1;
return {
marginInlineStart: -17 * tagLevel,
paddingInlineStart: 24 + 17 * tagLevel,
};
};
return (
<div
className={classNames(
@ -67,14 +75,7 @@ const Tag = ({
"is-active": isFocused,
}
)}
style={
disableHoverIndent
? undefined
: {
marginInlineStart: -17 * tagLevel,
paddingInlineStart: 24 + 17 * tagLevel,
}
}
style={getIndentStyle()}
onClick={() => setFocusedTag(tag)}
data-tooltip-position="right"
aria-label={getAriaLabel()}