diff --git a/android/app/build.gradle b/android/app/build.gradle index bea3c213..7510869c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "com.mutinywallet.mutinywallet" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 39 - versionName "0.4.38" + versionCode 40 + versionName "0.4.39" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index a963132f..90cd8c0c 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -360,7 +360,7 @@ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance"; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 1.4.38; + MARKETING_VERSION = 1.4.39; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; PRODUCT_BUNDLE_IDENTIFIER = com.mutinywallet.mutiny; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -387,7 +387,7 @@ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance"; IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 1.4.38; + MARKETING_VERSION = 1.4.39; PRODUCT_BUNDLE_IDENTIFIER = com.mutinywallet.mutiny; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/manifest.ts b/manifest.ts index e0548c5a..f2534cea 100644 --- a/manifest.ts +++ b/manifest.ts @@ -2,6 +2,7 @@ import { ManifestOptions } from "vite-plugin-pwa"; const manifest: Partial = { name: "Mutiny Wallet", + orientation: "portrait", short_name: "Mutiny", description: "A lightning wallet", theme_color: "#000", @@ -489,7 +490,7 @@ const manifest: Partial = { src: "/images/send.png", sizes: "192x192", type: "image/png" - }, + } ] }, { @@ -501,7 +502,7 @@ const manifest: Partial = { src: "/images/receive.png", sizes: "192x192", type: "image/png" - }, + } ] }, { @@ -513,7 +514,7 @@ const manifest: Partial = { src: "/images/activity.png", sizes: "192x192", type: "image/png" - }, + } ] } ] diff --git a/package.json b/package.json index becb30cd..47e3ec7d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mutiny-wallet", - "version": "0.4.38", + "version": "0.4.39", "license": "MIT", "packageManager": "pnpm@8.6.6", "scripts": { @@ -34,10 +34,10 @@ "tailwindcss": "^3.3.5", "typescript": "^5.2.2", "vite": "^4.5.0", - "vite-plugin-pwa": "^0.14.7", + "vite-plugin-pwa": "^0.16.7", "vite-plugin-solid": "^2.7.0", "vite-plugin-wasm": "^3.2.2", - "workbox-window": "^6.6.0" + "workbox-window": "^7.0.0" }, "dependencies": { "@capacitor-mlkit/barcode-scanning": "^5.3.0", @@ -55,8 +55,8 @@ "@kobalte/core": "^0.9.8", "@kobalte/tailwindcss": "^0.5.0", "@modular-forms/solid": "^0.18.1", - "@mutinywallet/mutiny-wasm": "0.4.38", - "@mutinywallet/waila-wasm": "^0.2.4", + "@mutinywallet/mutiny-wasm": "0.4.39", + "@mutinywallet/waila-wasm": "^0.2.6", "@solid-primitives/upload": "^0.0.111", "@solid-primitives/websocket": "^1.2.0", "@solidjs/meta": "^0.29.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4047ceae..4a5dd767 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,11 +54,11 @@ importers: specifier: ^0.18.1 version: 0.18.1(solid-js@1.8.5) '@mutinywallet/mutiny-wasm': - specifier: 0.4.38 - version: 0.4.38 + specifier: 0.4.39 + version: 0.4.39 '@mutinywallet/waila-wasm': - specifier: ^0.2.4 - version: 0.2.4 + specifier: ^0.2.6 + version: 0.2.6 '@solid-primitives/upload': specifier: ^0.0.111 version: 0.0.111(solid-js@1.8.5) @@ -154,8 +154,8 @@ importers: specifier: ^4.5.0 version: 4.5.0(@types/node@20.8.10) vite-plugin-pwa: - specifier: ^0.14.7 - version: 0.14.7(vite@4.5.0)(workbox-build@6.6.0)(workbox-window@6.6.0) + specifier: ^0.16.7 + version: 0.16.7(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0) vite-plugin-solid: specifier: ^2.7.0 version: 2.7.0(solid-js@1.8.5)(vite@4.5.0) @@ -163,8 +163,8 @@ importers: specifier: ^3.2.2 version: 3.2.2(vite@4.5.0) workbox-window: - specifier: ^6.6.0 - version: 6.6.0 + specifier: ^7.0.0 + version: 7.0.0 packages/ui: dependencies: @@ -2584,12 +2584,12 @@ packages: solid-js: 1.8.5 dev: false - /@mutinywallet/mutiny-wasm@0.4.38: - resolution: {integrity: sha512-OaYwKLYwKYT0QrjNhn1muKWTIH0TVTjiBeWTLuwepabSJbAZ+hCxuPXxDiXzYJArLm9Xvvmq3RVjDktdt0jOwA==} + /@mutinywallet/mutiny-wasm@0.4.39: + resolution: {integrity: sha512-7vMgwteU0lCzMdX/INIIlsrq5jvEJA2aXuJmqHzGb6Bgty2jOfuWVvW54c2SZ3HQvuFHDPxjrrDB2QHabdBhMw==} dev: false - /@mutinywallet/waila-wasm@0.2.4: - resolution: {integrity: sha512-wd4+Pht5GFP7jHFYA6T6Q9lZFOKfAFjEW2n6HPa6cqOK+SFbUTbrDn4GHwLQm6vDvQ48m0rV08CkyFvGFCWiOw==} + /@mutinywallet/waila-wasm@0.2.6: + resolution: {integrity: sha512-qiyhaWX/zDKuh23VXIzeWGlmXne9IdRIx+ldGdse15JwEiC97OjATXMECX3Xo0tc3RTOo50cKyMlouKKRbLYpQ==} dev: false /@ndelangen/get-tarball@3.0.9: @@ -3283,20 +3283,6 @@ packages: rollup: 2.79.1 dev: true - /@rollup/plugin-replace@5.0.2(rollup@3.28.0): - resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.0) - magic-string: 0.27.0 - rollup: 3.28.0 - dev: true - /@rollup/plugin-terser@0.1.0(rollup@3.28.0): resolution: {integrity: sha512-N2KK+qUfHX2hBzVzM41UWGLrEmcjVC37spC8R3c9mt3oEDFKh3N2e12/lLp9aVSt86veR0TQiCNQXrm8C6aiUQ==} engines: {node: '>=14.0.0'} @@ -13276,21 +13262,20 @@ packages: - rollup - supports-color - /vite-plugin-pwa@0.14.7(vite@4.5.0)(workbox-build@6.6.0)(workbox-window@6.6.0): - resolution: {integrity: sha512-dNJaf0fYOWncmjxv9HiSa2xrSjipjff7IkYE5oIUJ2x5HKu3cXgA8LRgzOwTc5MhwyFYRSU0xyN0Phbx3NsQYw==} + /vite-plugin-pwa@0.16.7(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0): + resolution: {integrity: sha512-4WMA5unuKlHs+koNoykeuCfTcqEGbiTRr8sVYUQMhc6tWxZpSRnv9Ojk4LKmqVhoPGHfBVCdGaMo8t9Qidkc1Q==} + engines: {node: '>=16.0.0'} peerDependencies: - vite: ^3.1.0 || ^4.0.0 - workbox-build: ^6.5.4 - workbox-window: ^6.5.4 + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + workbox-build: ^7.0.0 + workbox-window: ^7.0.0 dependencies: - '@rollup/plugin-replace': 5.0.2(rollup@3.28.0) debug: 4.3.4 fast-glob: 3.3.1 pretty-bytes: 6.1.1 - rollup: 3.28.0 vite: 4.5.0(@types/node@20.8.10) - workbox-build: 6.6.0 - workbox-window: 6.6.0 + workbox-build: 7.0.0 + workbox-window: 7.0.0 transitivePeerDependencies: - supports-color dev: true @@ -13618,22 +13603,22 @@ packages: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true - /workbox-background-sync@6.6.0: - resolution: {integrity: sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==} + /workbox-background-sync@7.0.0: + resolution: {integrity: sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==} dependencies: idb: 7.1.1 - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true - /workbox-broadcast-update@6.6.0: - resolution: {integrity: sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==} + /workbox-broadcast-update@7.0.0: + resolution: {integrity: sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==} dependencies: - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true - /workbox-build@6.6.0: - resolution: {integrity: sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==} - engines: {node: '>=10.0.0'} + /workbox-build@7.0.0: + resolution: {integrity: sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==} + engines: {node: '>=16.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) '@babel/core': 7.22.10 @@ -13657,112 +13642,111 @@ packages: strip-comments: 2.0.1 tempy: 0.6.0 upath: 1.2.0 - workbox-background-sync: 6.6.0 - workbox-broadcast-update: 6.6.0 - workbox-cacheable-response: 6.6.0 - workbox-core: 6.6.0 - workbox-expiration: 6.6.0 - workbox-google-analytics: 6.6.0 - workbox-navigation-preload: 6.6.0 - workbox-precaching: 6.6.0 - workbox-range-requests: 6.6.0 - workbox-recipes: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 - workbox-streams: 6.6.0 - workbox-sw: 6.6.0 - workbox-window: 6.6.0 + workbox-background-sync: 7.0.0 + workbox-broadcast-update: 7.0.0 + workbox-cacheable-response: 7.0.0 + workbox-core: 7.0.0 + workbox-expiration: 7.0.0 + workbox-google-analytics: 7.0.0 + workbox-navigation-preload: 7.0.0 + workbox-precaching: 7.0.0 + workbox-range-requests: 7.0.0 + workbox-recipes: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + workbox-streams: 7.0.0 + workbox-sw: 7.0.0 + workbox-window: 7.0.0 transitivePeerDependencies: - '@types/babel__core' - supports-color dev: true - /workbox-cacheable-response@6.6.0: - resolution: {integrity: sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==} - deprecated: workbox-background-sync@6.6.0 + /workbox-cacheable-response@7.0.0: + resolution: {integrity: sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==} dependencies: - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true - /workbox-core@6.6.0: - resolution: {integrity: sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==} + /workbox-core@7.0.0: + resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==} dev: true - /workbox-expiration@6.6.0: - resolution: {integrity: sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==} + /workbox-expiration@7.0.0: + resolution: {integrity: sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==} dependencies: idb: 7.1.1 - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true - /workbox-google-analytics@6.6.0: - resolution: {integrity: sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==} + /workbox-google-analytics@7.0.0: + resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==} dependencies: - workbox-background-sync: 6.6.0 - workbox-core: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 + workbox-background-sync: 7.0.0 + workbox-core: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 dev: true - /workbox-navigation-preload@6.6.0: - resolution: {integrity: sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==} + /workbox-navigation-preload@7.0.0: + resolution: {integrity: sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==} dependencies: - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true - /workbox-precaching@6.6.0: - resolution: {integrity: sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==} + /workbox-precaching@7.0.0: + resolution: {integrity: sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==} dependencies: - workbox-core: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 + workbox-core: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 dev: true - /workbox-range-requests@6.6.0: - resolution: {integrity: sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==} + /workbox-range-requests@7.0.0: + resolution: {integrity: sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==} dependencies: - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true - /workbox-recipes@6.6.0: - resolution: {integrity: sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==} + /workbox-recipes@7.0.0: + resolution: {integrity: sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==} dependencies: - workbox-cacheable-response: 6.6.0 - workbox-core: 6.6.0 - workbox-expiration: 6.6.0 - workbox-precaching: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 + workbox-cacheable-response: 7.0.0 + workbox-core: 7.0.0 + workbox-expiration: 7.0.0 + workbox-precaching: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 dev: true - /workbox-routing@6.6.0: - resolution: {integrity: sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==} + /workbox-routing@7.0.0: + resolution: {integrity: sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==} dependencies: - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true - /workbox-strategies@6.6.0: - resolution: {integrity: sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==} + /workbox-strategies@7.0.0: + resolution: {integrity: sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==} dependencies: - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true - /workbox-streams@6.6.0: - resolution: {integrity: sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==} + /workbox-streams@7.0.0: + resolution: {integrity: sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==} dependencies: - workbox-core: 6.6.0 - workbox-routing: 6.6.0 + workbox-core: 7.0.0 + workbox-routing: 7.0.0 dev: true - /workbox-sw@6.6.0: - resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==} + /workbox-sw@7.0.0: + resolution: {integrity: sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==} dev: true - /workbox-window@6.6.0: - resolution: {integrity: sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==} + /workbox-window@7.0.0: + resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==} dependencies: '@types/trusted-types': 2.0.3 - workbox-core: 6.6.0 + workbox-core: 7.0.0 dev: true /wrap-ansi@6.2.0: diff --git a/src/assets/icons/refresh.svg b/src/assets/icons/refresh.svg new file mode 100644 index 00000000..ea1c5d18 --- /dev/null +++ b/src/assets/icons/refresh.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/components/ActivityDetailsModal.tsx b/src/components/ActivityDetailsModal.tsx index e17f11f9..80d5afd5 100644 --- a/src/components/ActivityDetailsModal.tsx +++ b/src/components/ActivityDetailsModal.tsx @@ -499,11 +499,11 @@ export function ActivityDetailsModal(props: { ) { try { // find if there's just one for now - const contacts = state.mutiny_wallet?.get_contact( + const tags = state.mutiny_wallet?.get_tag_item( data().labels[0] ); - if (contacts) { - return contacts; + if (tags) { + return tags; } else { return; } diff --git a/src/components/Reload.tsx b/src/components/Reload.tsx index 1af8a80e..30e995ba 100644 --- a/src/components/Reload.tsx +++ b/src/components/Reload.tsx @@ -2,11 +2,20 @@ import { Show } from "solid-js"; // eslint-disable-next-line import/no-unresolved import { useRegisterSW } from "virtual:pwa-register/solid"; +import close from "~/assets/icons/close.svg"; +import refresh from "~/assets/icons/refresh.svg"; +import { useI18n } from "~/i18n/context"; + +import { SmallHeader } from "./layout"; +import { Button } from "./layout/Button"; + export function ReloadPrompt() { + const i18n = useI18n(); + + // useRegisterSW can also return an offlineReady thingy const { - offlineReady: [offlineReady, _setOfflineReady], - needRefresh: [needRefresh, _setNeedRefresh], - updateServiceWorker: _update + needRefresh: [needRefresh, setNeedRefresh], + updateServiceWorker } = useRegisterSW({ immediate: true, onRegisteredSW(swUrl, r) { @@ -17,27 +26,48 @@ export function ReloadPrompt() { } }); - // const close = () => { - // setOfflineReady(false) - // setNeedRefresh(false) - // } + const dismissPrompt = () => { + setNeedRefresh(false); + }; + + async function updateSw() { + await updateServiceWorker(); + } return ( - - {/* -
- New content available, click on reload button to update.} - when={offlineReady()} - > - App ready to work offline - + +
+
+ refresh +
+
+
+ + {i18n.t("reload.mutiny_update")} + +

+ {i18n.t("reload.new_version_description")} +

+
+
+ +
- - - - - */} + +
); } diff --git a/src/i18n/en/translations.ts b/src/i18n/en/translations.ts index e0735d8a..b1f4b85a 100644 --- a/src/i18n/en/translations.ts +++ b/src/i18n/en/translations.ts @@ -580,6 +580,12 @@ export default { connecting: "Connecting...", confirm_swap: "Confirm Swap" }, + reload: { + mutiny_update: "Mutiny Update", + new_version_description: + "New version of Mutiny has been cached, reload to start using it.", + reload: "Reload" + }, error: { title: "Error", emergency_link: "emergency kit.", diff --git a/src/routes/settings/Connections.tsx b/src/routes/settings/Connections.tsx index cac2d5c7..67101740 100644 --- a/src/routes/settings/Connections.tsx +++ b/src/routes/settings/Connections.tsx @@ -133,10 +133,10 @@ function NwcDetails(props: { return ( - = 1000}> + = 1000 && props.profile.nwc_uri}>
@@ -179,7 +179,8 @@ function NwcDetails(props: {