From 446aee3d1a34888b45632fd222d5cc8a5970f261 Mon Sep 17 00:00:00 2001 From: Kieran Date: Tue, 13 May 2025 20:32:49 +0100 Subject: [PATCH] feat: download app banner --- ...e_App_Store_Badge_US-UK_RGB_blk_092917.svg | 46 ++++++++++++++++++ ...ItOnGooglePlay_Badge_Web_color_English.png | Bin 0 -> 4698 bytes src/images/badge_obtainium.png | Bin 0 -> 17992 bytes src/index.tsx | 5 ++ src/pages/download.tsx | 39 +++++++++++++++ src/pages/root.tsx | 6 +++ 6 files changed, 96 insertions(+) create mode 100755 src/images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg create mode 100644 src/images/GetItOnGooglePlay_Badge_Web_color_English.png create mode 100644 src/images/badge_obtainium.png create mode 100644 src/pages/download.tsx diff --git a/src/images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg b/src/images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg new file mode 100755 index 0000000..072b425 --- /dev/null +++ b/src/images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg @@ -0,0 +1,46 @@ + + Download_on_the_App_Store_Badge_US-UK_RGB_blk_4SVG_092917 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/images/GetItOnGooglePlay_Badge_Web_color_English.png b/src/images/GetItOnGooglePlay_Badge_Web_color_English.png new file mode 100644 index 0000000000000000000000000000000000000000..7a06997a57236e18b5bd2a152435911b72371a89 GIT binary patch literal 4698 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≻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 literal 0 HcmV?d00001 diff --git a/src/index.tsx b/src/index.tsx index 7d45950..ce00d70 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -42,6 +42,7 @@ import { LinkHandler } from "./pages/link-handler"; import { UploadPage } from "./pages/upload"; import { DebugPage } from "./pages/debug"; import { ShortsPage } from "./pages/shorts"; +import { DownloadAppPage } from "./pages/download"; const hasWasm = "WebAssembly" in globalThis; const workerRelay = new WorkerRelayInterface( @@ -92,6 +93,10 @@ const router = createBrowserRouter([ path: "/debug", element: , }, + { + path: "/app", + element: , + }, { path: "/", element: , diff --git a/src/pages/download.tsx b/src/pages/download.tsx new file mode 100644 index 0000000..f083b1e --- /dev/null +++ b/src/pages/download.tsx @@ -0,0 +1,39 @@ +import { FormattedMessage } from "react-intl"; + +import PlayStore from "../images/GetItOnGooglePlay_Badge_Web_color_English.png"; +//import AppStore from "../images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg"; +import Obtanium from "../images/badge_obtainium.png"; +import QrCode from "@/element/qr-code"; + +export function DownloadAppPage() { + const obtaniumLink = "https://github.com/nostrlabs-io/zap-stream-flutter" + const playStoreLink = "https://play.google.com/store/apps/details?id=io.nostrlabs.zap_stream_flutter"; + //const appStoreLink = "#"; + + return
+

+ +

+ +
+
+ + + + +
+ {/*
+ + + + +
*/} +
+ + + + +
+
+
+} \ No newline at end of file diff --git a/src/pages/root.tsx b/src/pages/root.tsx index b94c2b7..358f852 100644 --- a/src/pages/root.tsx +++ b/src/pages/root.tsx @@ -2,11 +2,17 @@ import { useStreamsFeed } from "@/hooks/live-streams"; import CategoryLink from "@/element/category/category-link"; import VideoGridSorted from "@/element/video-grid-sorted"; import { AllCategories } from "./category"; +import { Icon } from "@/element/icon"; +import { Link } from "react-router-dom"; export function RootPage() { const streams = useStreamsFeed(); return (
+ + + Get the new zap.stream app! +
{AllCategories.filter(a => a.priority === 0).map(a => (