From c11fbf87af848323356987a623e1403dc61f161f Mon Sep 17 00:00:00 2001 From: Murat Akdeniz Date: Sat, 28 Mar 2026 16:02:32 -0700 Subject: [PATCH] =?UTF-8?q?feat:=20add=20PWA=20support=20=E2=80=94=20manif?= =?UTF-8?q?est,=20service=20worker,=20install=20prompt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enables "Add to Home Screen" on mobile with standalone display, offline caching for static assets, and network-first for pages. Service worker skips API/RPC calls to ensure wallet interactions always hit the network. Co-Authored-By: Claude Opus 4.6 (1M context) --- public/icons/icon-192x192.png | Bin 0 -> 13544 bytes public/icons/icon-512x512.png | Bin 0 -> 69023 bytes public/manifest.json | 30 ++++++++ public/sw.js | 63 +++++++++++++++++ src/app/layout.tsx | 16 ++++- src/components/pwa/install-prompt.tsx | 65 ++++++++++++++++++ .../pwa/service-worker-register.tsx | 15 ++++ 7 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 public/icons/icon-192x192.png create mode 100644 public/icons/icon-512x512.png create mode 100644 public/manifest.json create mode 100644 public/sw.js create mode 100644 src/components/pwa/install-prompt.tsx create mode 100644 src/components/pwa/service-worker-register.tsx diff --git a/public/icons/icon-192x192.png b/public/icons/icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..948ad65861146056cf1a12386b0885d46fa792c6 GIT binary patch literal 13544 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 literal 0 HcmV?d00001 diff --git a/public/icons/icon-512x512.png b/public/icons/icon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..ae4672551eaa40d34f49584d3b50d9f0e4a5c2a9 GIT binary patch literal 69023 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 literal 0 HcmV?d00001 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 00000000..d3ad5596 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,30 @@ +{ + "name": "Fast Protocol", + "short_name": "Fast", + "description": "Sub-second swaps on Ethereum powered by preconfirmations", + "start_url": "/", + "display": "standalone", + "background_color": "#030a14", + "theme_color": "#3b8df8", + "orientation": "portrait-primary", + "icons": [ + { + "src": "/icons/icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/icons/icon-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/icons/icon-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/public/sw.js b/public/sw.js new file mode 100644 index 00000000..a38dea4d --- /dev/null +++ b/public/sw.js @@ -0,0 +1,63 @@ +const CACHE_NAME = "fast-protocol-v1"; + +const PRECACHE_URLS = ["/", "/icons/icon-192x192.png", "/icons/icon-512x512.png"]; + +self.addEventListener("install", (event) => { + event.waitUntil( + caches.open(CACHE_NAME).then((cache) => cache.addAll(PRECACHE_URLS)) + ); + self.skipWaiting(); +}); + +self.addEventListener("activate", (event) => { + event.waitUntil( + caches.keys().then((keys) => + Promise.all(keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k))) + ) + ); + self.clients.claim(); +}); + +self.addEventListener("fetch", (event) => { + const { request } = event; + + // Skip non-GET and cross-origin requests + if (request.method !== "GET" || !request.url.startsWith(self.location.origin)) return; + + // Skip API routes and wallet/RPC calls + if (request.url.includes("/api/") || request.url.includes("rpc")) return; + + // Network-first for navigation (HTML pages) + if (request.mode === "navigate") { + event.respondWith( + fetch(request) + .then((response) => { + const clone = response.clone(); + caches.open(CACHE_NAME).then((cache) => cache.put(request, clone)); + return response; + }) + .catch(() => caches.match(request)) + ); + return; + } + + // Cache-first for static assets + if ( + request.destination === "image" || + request.destination === "font" || + request.destination === "style" || + request.destination === "script" + ) { + event.respondWith( + caches.match(request).then( + (cached) => + cached || + fetch(request).then((response) => { + const clone = response.clone(); + caches.open(CACHE_NAME).then((cache) => cache.put(request, clone)); + return response; + }) + ) + ); + } +}); diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 3603da85..bb3123ff 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -5,10 +5,13 @@ import { Providers } from "@/components/providers" import { Analytics } from "@vercel/analytics/next" import { SpeedInsights } from "@vercel/speed-insights/next" import { getBaseUrl, SITE_URL } from "@/lib/site-config" +import { ServiceWorkerRegister } from "@/components/pwa/service-worker-register" +import { InstallPrompt } from "@/components/pwa/install-prompt" export const viewport: Viewport = { width: "device-width", initialScale: 1, + themeColor: "#3b8df8", } export const metadata: Metadata = { @@ -19,7 +22,11 @@ export const metadata: Metadata = { }, description: "Swap tokens on Ethereum with sub-second execution powered by preconfirmations. Earn tokenized mev rewards with every trade on Fast Protocol.", - icons: { icon: "/icon.png" }, + icons: { + icon: "/icon.png", + apple: "/icons/icon-192x192.png", + }, + manifest: "/manifest.json", keywords: [ "fast swaps", "ethereum swaps", @@ -81,12 +88,19 @@ const jsonLd = { export default function RootLayout({ children }: { children: React.ReactNode }) { return ( + + + + +