From 53eb052fe646393b34ac0ae6ae55074f58a0ccb5 Mon Sep 17 00:00:00 2001 From: wukko Date: Mon, 9 Sep 2024 00:10:21 +0600 Subject: [PATCH] web/SavingDialog: add ios saving tutorial --- web/i18n/en/a11y/save.json | 5 +- web/i18n/en/save.json | 11 +- web/src/components/dialog/SavingDialog.svelte | 23 ++- .../components/dialog/SavingTutorial.svelte | 160 ++++++++++++++++++ web/src/lib/env.ts | 7 +- 5 files changed, 194 insertions(+), 12 deletions(-) create mode 100644 web/src/components/dialog/SavingTutorial.svelte diff --git a/web/i18n/en/a11y/save.json b/web/i18n/en/a11y/save.json index deaf0fe1..3a92de64 100644 --- a/web/i18n/en/a11y/save.json +++ b/web/i18n/en/a11y/save.json @@ -5,5 +5,8 @@ "download.think": "processing the link...", "download.check": "verifying download...", "download.done": "downloading done", - "download.error": "downloading error" + "download.error": "downloading error", + + "tutorial.shortcut.photos": "add photos shortcut", + "tutorial.shortcut.files": "add files shortcut" } diff --git a/web/i18n/en/save.json b/web/i18n/en/save.json index fee6f9f1..79a65dfb 100644 --- a/web/i18n/en/save.json +++ b/web/i18n/en/save.json @@ -10,5 +10,14 @@ "services.title": "supported services", "services.title_show": "show supported services", "services.title_hide": "hide supported services", - "services.disclaimer": "cobalt is not affiliated with any of the services listed above." + "services.disclaimer": "cobalt is not affiliated with any of the services listed above.", + + "tutorial.title": "how to save on ios?", + "tutorial.intro": "to save media conveniently on ios, you'll need to use a companion siri shortcut from the share sheet.", + "tutorial.step.1": "add companion siri shortcuts:", + "tutorial.step.2": "press the \"share\" button in cobalt's saving dialog.", + "tutorial.step.3": "select the respective shortcut in the share sheet.", + "tutorial.outro": "these shortcuts will work only from the cobalt app, sharing links from other apps will not work.", + "tutorial.shortcut.photos": "to photos", + "tutorial.shortcut.files": "to files" } diff --git a/web/src/components/dialog/SavingDialog.svelte b/web/src/components/dialog/SavingDialog.svelte index e430bee9..16c57142 100644 --- a/web/src/components/dialog/SavingDialog.svelte +++ b/web/src/components/dialog/SavingDialog.svelte @@ -8,6 +8,7 @@ import Meowbalt from "$components/misc/Meowbalt.svelte"; import DialogButtons from "$components/dialog/DialogButtons.svelte"; + import SavingTutorial from "$components/dialog/SavingTutorial.svelte"; import VerticalActionButton from "$components/buttons/VerticalActionButton.svelte"; import IconShare2 from "@tabler/icons-svelte/IconShare2.svelte"; @@ -15,7 +16,6 @@ import IconFileDownload from "@tabler/icons-svelte/IconFileDownload.svelte"; import CopyIcon from "$components/misc/CopyIcon.svelte"; - export let id: string; export let url: string; export let bodyText: string = ""; @@ -37,6 +37,7 @@
+
-
- {#if bodyText} -
- {bodyText} -
- {/if} + {#if device.is.iOS} + + {/if} + + {#if bodyText} +
+ {bodyText} +
+ {/if} + + import { siriShortcuts } from "$lib/env"; + import { t } from "$lib/i18n/translations"; + + import IconPlus from "@tabler/icons-svelte/IconPlus.svelte"; + import IconFlower from "@tabler/icons-svelte/IconFlower.svelte"; + import IconFolder from "@tabler/icons-svelte/IconFolder.svelte"; + + let tutorialExpanded = false; + + +
+ + + {#if tutorialExpanded} +
+
+ {$t("save.tutorial.intro")} +
+ +
+
  • + {$t("save.tutorial.step.1")} + +
  • +
  • + {$t("save.tutorial.step.2")} +
  • +
  • + {$t("save.tutorial.step.3")} +
  • +
    + +
    + {$t("save.tutorial.outro")} +
    +
    + {/if} +
    + + diff --git a/web/src/lib/env.ts b/web/src/lib/env.ts index be24bb27..0f5a0970 100644 --- a/web/src/lib/env.ts +++ b/web/src/lib/env.ts @@ -43,7 +43,12 @@ const donate = { } }; +const siriShortcuts = { + photos: "https://www.icloud.com/shortcuts/14e9aebf04b24156acc34ceccf7e6fcd", + files: "https://www.icloud.com/shortcuts/2134cd9d4d6b41448b2201f933542b2e", +} + const apiURL = "https://api.cobalt.tools"; -export { donate, apiURL, contacts, partners }; +export { donate, apiURL, contacts, partners, siriShortcuts }; export default variables;