diff --git a/packages/app/config/iris.json b/packages/app/config/iris.json index f1c6ab75..01cfba56 100644 --- a/packages/app/config/iris.json +++ b/packages/app/config/iris.json @@ -3,5 +3,5 @@ "appNameCapitalized": "Iris", "appTitle": "iris", "nip05Domain": "iris.to", - "favicon": "public/iris.ico" + "favicon": "public/iris/favicon.ico" } diff --git a/packages/app/public/iris/.well-known/assetlinks.json b/packages/app/public/iris/.well-known/assetlinks.json new file mode 100644 index 00000000..4e7bd17c --- /dev/null +++ b/packages/app/public/iris/.well-known/assetlinks.json @@ -0,0 +1,12 @@ +[ + { + "relation": ["delegate_permission/common.handle_all_urls"], + "target": { + "namespace": "android_app", + "package_name": "to.iris.twa", + "sha256_cert_fingerprints": [ + "63:B5:70:E8:F1:75:7E:D6:EF:81:11:66:F4:9D:47:AB:49:3C:2E:00:B9:67:92:40:89:A5:03:0B:96:B9:40:09" + ] + } + } +] diff --git a/packages/app/public/iris.ico b/packages/app/public/iris/favicon.ico similarity index 100% rename from packages/app/public/iris.ico rename to packages/app/public/iris/favicon.ico diff --git a/packages/app/public/iris/img/android-chrome-192x192.png b/packages/app/public/iris/img/android-chrome-192x192.png new file mode 100644 index 00000000..056676f3 Binary files /dev/null and b/packages/app/public/iris/img/android-chrome-192x192.png differ diff --git a/packages/app/public/iris/img/android-chrome-512x512.png b/packages/app/public/iris/img/android-chrome-512x512.png new file mode 100644 index 00000000..4dbc118a Binary files /dev/null and b/packages/app/public/iris/img/android-chrome-512x512.png differ diff --git a/packages/app/public/iris/img/irisconnects.png b/packages/app/public/iris/img/irisconnects.png new file mode 100644 index 00000000..2c7286ef Binary files /dev/null and b/packages/app/public/iris/img/irisconnects.png differ diff --git a/packages/app/public/iris/img/maskable_icon.png b/packages/app/public/iris/img/maskable_icon.png new file mode 100644 index 00000000..962ab22f Binary files /dev/null and b/packages/app/public/iris/img/maskable_icon.png differ diff --git a/packages/app/public/iris/img/maskable_icon_x192.png b/packages/app/public/iris/img/maskable_icon_x192.png new file mode 100644 index 00000000..8ac4cb21 Binary files /dev/null and b/packages/app/public/iris/img/maskable_icon_x192.png differ diff --git a/packages/app/public/iris/manifest_iris.json b/packages/app/public/iris/manifest_iris.json new file mode 100644 index 00000000..199223ac --- /dev/null +++ b/packages/app/public/iris/manifest_iris.json @@ -0,0 +1,41 @@ +{ + "short_name": "Iris", + "name": "Iris", + "description": "Fast nostr web ui", + "id": "/", + "icons": [ + { + "src": "/public/iris/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/public/iris/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/public/iris/maskable_icon.png", + "sizes": "640x640", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/public/iris/maskable_icon_x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + } + ], + "start_url": "/", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#000000", + "protocol_handlers": [ + { + "protocol": "web+nostr", + "url": "/%s" + } + ] +} diff --git a/packages/app/webpack.config.js b/packages/app/webpack.config.js index fa0d3d7e..2de9987d 100644 --- a/packages/app/webpack.config.js +++ b/packages/app/webpack.config.js @@ -14,6 +14,23 @@ const appConfig = require("config"); const isProduction = process.env.NODE_ENV == "production"; +const appTitle = appConfig.get("appTitle"); + +const copyPatterns = [ + { from: "public/robots.txt" }, + { from: "public/nostrich_512.png" }, + { from: "public/nostrich_256.png" }, + { from: "_headers" }, +]; + +if (appTitle === "iris") { + copyPatterns.push({ from: "public/iris/manifest_iris.json", to: "manifest.json" }); + copyPatterns.push({ from: "public/iris/img", to: "img" }); + copyPatterns.push({ from: "public/iris/.well-known", to: ".well-known" }); +} else { + copyPatterns.push({ from: "public/manifest.json" }); +} + const config = { entry: { main: "./src/index.tsx", @@ -39,20 +56,14 @@ const config = { }, plugins: [ new CopyPlugin({ - patterns: [ - { from: "public/manifest.json" }, - { from: "public/robots.txt" }, - { from: "public/nostrich_512.png" }, - { from: "public/nostrich_256.png" }, - { from: "_headers" }, - ], + patterns: copyPatterns, }), new HtmlWebpackPlugin({ template: "public/index.html", favicon: appConfig.get("favicon"), excludeChunks: ["pow", "bench"], templateParameters: { - appTitle: appConfig.get("appTitle"), + appTitle, }, }), new HtmlWebpackPlugin({