From 1177091cf0ac2dec85d9db139d90681cb0c8abe1 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Fri, 7 Apr 2023 22:42:22 +0200 Subject: [PATCH] add link all folders button --- assets/jsons/translations/de.json | 3 ++- assets/jsons/translations/en.json | 3 ++- assets/jsons/translations/es.json | 3 ++- assets/jsons/translations/fr.json | 3 ++- .../share-folders-modal.component.tsx | 20 +++++++++++++------ 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/assets/jsons/translations/de.json b/assets/jsons/translations/de.json index a11c8e15..d8d751af 100644 --- a/assets/jsons/translations/de.json +++ b/assets/jsons/translations/de.json @@ -586,7 +586,8 @@ "buttons": { "add-folder": "Ordner Hinzufügen", "link-folder": "Ordner Verknüpfen", - "unlink-folder": "Ordner Verknüpfung Aufheben" + "unlink-folder": "Ordner Verknüpfung Aufheben", + "link-all": "Alle verlinken" } } }, diff --git a/assets/jsons/translations/en.json b/assets/jsons/translations/en.json index 7e3da70c..d46dc2c1 100644 --- a/assets/jsons/translations/en.json +++ b/assets/jsons/translations/en.json @@ -586,7 +586,8 @@ "buttons": { "add-folder": "Add Folder", "link-folder": "Link Folder", - "unlink-folder": "Unlink Folder" + "unlink-folder": "Unlink Folder", + "link-all": "Link all" } } }, diff --git a/assets/jsons/translations/es.json b/assets/jsons/translations/es.json index c5d35860..ff8e5aaa 100644 --- a/assets/jsons/translations/es.json +++ b/assets/jsons/translations/es.json @@ -585,7 +585,8 @@ "buttons": { "add-folder": "Añadir Carpeta", "link-folder": "Enlazar Carpeta", - "unlink-folder": "Desenlazar Carpeta" + "unlink-folder": "Desenlazar Carpeta", + "link-all": "Enlazar todo" } } }, diff --git a/assets/jsons/translations/fr.json b/assets/jsons/translations/fr.json index e3519357..15966f7e 100644 --- a/assets/jsons/translations/fr.json +++ b/assets/jsons/translations/fr.json @@ -585,7 +585,8 @@ "buttons": { "add-folder": "Ajouter un dossier", "link-folder": "Lier le dossier", - "unlink-folder": "Délier le dossier" + "unlink-folder": "Délier le dossier", + "link-all": "Tout lier" } } }, diff --git a/src/renderer/components/modal/modal-types/share-folders-modal.component.tsx b/src/renderer/components/modal/modal-types/share-folders-modal.component.tsx index 2467c279..bed4e578 100644 --- a/src/renderer/components/modal/modal-types/share-folders-modal.component.tsx +++ b/src/renderer/components/modal/modal-types/share-folders-modal.component.tsx @@ -67,6 +67,10 @@ export const ShareFoldersModal: ModalComponent = ({ data }) => setFolders((prev) => prev.filter((_, i) => i !== index)); } + const linkAll = () => { + folders.forEach(relativeFolder => linker.linkVersionFolder({ version: data, relativeFolder, type: VersionLinkerActionType.Link })) + } + return (

{t("modals.shared-folders.title")}

@@ -76,14 +80,16 @@ export const ShareFoldersModal: ModalComponent = ({ data }) => {removeFolder(index)}}/> ))} -
- - {t("modals.shared-folders.buttons.add-folder")} +
+ +
) } +// -------- FOLDER ITEM -------- + type FolderProps = { version: BSVersion; relativeFolder: string; @@ -111,8 +117,9 @@ const FolderItem = ({version, relativeFolder, onDelete}: FolderProps) => { const [linked, setLinked] = useState(false); useEffect(() => { + if(pending){ return; } loadFolderIsLinked(); - }, [version, relativeFolder]); + }, [version, relativeFolder, pending]); const loadFolderIsLinked = () => { linker.isVersionFolderLinked(version, relativeFolder).toPromise().then(setLinked); @@ -124,13 +131,14 @@ const FolderItem = ({version, relativeFolder, onDelete}: FolderProps) => { version, relativeFolder, type: VersionLinkerActionType.Unlink, - }).then(loadFolderIsLinked); + }) } + return linker.linkVersionFolder({ version, relativeFolder, type: VersionLinkerActionType.Link, - }).then(loadFolderIsLinked); + }) } const cancelLink = () => {