diff --git a/ui/public/android.svg b/ui/public/android.svg new file mode 100644 index 0000000..080c6a5 --- /dev/null +++ b/ui/public/android.svg @@ -0,0 +1,6 @@ + diff --git a/ui/public/apple.svg b/ui/public/apple.svg new file mode 100644 index 0000000..3f676bb --- /dev/null +++ b/ui/public/apple.svg @@ -0,0 +1,4 @@ + diff --git a/ui/public/assets/classic-1.webp b/ui/public/assets/classic-1.webp new file mode 100644 index 0000000..b7a3d97 Binary files /dev/null and b/ui/public/assets/classic-1.webp differ diff --git a/ui/public/assets/classic-2.webp b/ui/public/assets/classic-2.webp new file mode 100644 index 0000000..33b4a97 Binary files /dev/null and b/ui/public/assets/classic-2.webp differ diff --git a/ui/public/assets/classic-3.webp b/ui/public/assets/classic-3.webp new file mode 100644 index 0000000..1c6e4c8 Binary files /dev/null and b/ui/public/assets/classic-3.webp differ diff --git a/ui/public/assets/classic-4.webp b/ui/public/assets/classic-4.webp new file mode 100644 index 0000000..185a27f Binary files /dev/null and b/ui/public/assets/classic-4.webp differ diff --git a/ui/public/assets/classic-5.webp b/ui/public/assets/classic-5.webp new file mode 100644 index 0000000..9a58a3a Binary files /dev/null and b/ui/public/assets/classic-5.webp differ diff --git a/ui/public/assets/element-download-1.webp b/ui/public/assets/element-download-1.webp new file mode 100644 index 0000000..95bc40a Binary files /dev/null and b/ui/public/assets/element-download-1.webp differ diff --git a/ui/public/assets/element-download-2.webp b/ui/public/assets/element-download-2.webp new file mode 100644 index 0000000..904cbc2 Binary files /dev/null and b/ui/public/assets/element-download-2.webp differ diff --git a/ui/public/assets/element-download-3.webp b/ui/public/assets/element-download-3.webp new file mode 100644 index 0000000..0d74162 Binary files /dev/null and b/ui/public/assets/element-download-3.webp differ diff --git a/ui/public/assets/element-download-4.webp b/ui/public/assets/element-download-4.webp new file mode 100644 index 0000000..fcc094d Binary files /dev/null and b/ui/public/assets/element-download-4.webp differ diff --git a/ui/public/assets/element-download-5.webp b/ui/public/assets/element-download-5.webp new file mode 100644 index 0000000..929f21c Binary files /dev/null and b/ui/public/assets/element-download-5.webp differ diff --git a/ui/public/assets/matrix-credentials.webp b/ui/public/assets/matrix-credentials.webp new file mode 100644 index 0000000..244a241 Binary files /dev/null and b/ui/public/assets/matrix-credentials.webp differ diff --git a/ui/public/assets/matrix-intro.webp b/ui/public/assets/matrix-intro.webp new file mode 100644 index 0000000..1110474 Binary files /dev/null and b/ui/public/assets/matrix-intro.webp differ diff --git a/ui/public/linux.svg b/ui/public/linux.svg new file mode 100644 index 0000000..b61e8fb --- /dev/null +++ b/ui/public/linux.svg @@ -0,0 +1 @@ + diff --git a/ui/public/windows.svg b/ui/public/windows.svg new file mode 100644 index 0000000..4d92379 --- /dev/null +++ b/ui/public/windows.svg @@ -0,0 +1 @@ + diff --git a/ui/src/components/ElementDownload.tsx b/ui/src/components/ElementDownload.tsx new file mode 100644 index 0000000..82a083f --- /dev/null +++ b/ui/src/components/ElementDownload.tsx @@ -0,0 +1,21 @@ +import { PRODUCT_SHORTNAME } from "@/App"; +import { useTranslation } from "react-i18next"; +import { Button } from "./ui/button"; + +export function ElementDownload() { + const { t } = useTranslation(PRODUCT_SHORTNAME); + + return ( +
- {t("onboarding.step")} {currentStep + 1} {t("onboarding.of")}{" "} - {relevantSteps.length} -
++ {t("onboarding.step")} {currentStep + 1} / {relevantSteps.length} +
+- {t(step.description)} -
+ onLoad={() => setImageLoading(false)} + onError={(e) => { + const el = e.currentTarget as HTMLImageElement; + const filename = el.src.split("/").pop() || ""; + const fallback = `/assets/${filename}`; + if (!el.src.includes("/assets/")) { + el.src = fallback; + } else { + setImageError(true); + } + setImageLoading(false); + }} + /> +