From 89ddd7f6914c4b42dcdd5ed14f486026029019eb Mon Sep 17 00:00:00 2001 From: mortezaei Date: Sat, 5 Sep 2026 09:54:44 +0330 Subject: [PATCH] perf(deps): replace google-libphonenumber with lightweight calling code map Replace the heavy `google-libphonenumber` dependency with a custom, ultra-lightweight (~3KB) mapping of country calling codes to reduce bundle size. - Remove `google-libphonenumber` and `react-icons` from dependencies - Add `src/data/country-calling-codes.ts` for efficient lookup - Update `src/lib/geo-region.ts` to use the new lookup utility - Add font preloading for Faminela and YekanX in `src/app/layout.tsx` to improve perceived performance - Improve cookie parsing robustness in `auth-bridge` and add tests for URI-encoded Persian text support - Add new test suite for marriage cookie encoding/decoding strategies --- package.json | 3 +- src/app/layout.tsx | 14 ++ src/data/country-calling-codes.ts | 255 ++++++++++++++++++++++++++++++ src/lib/auth-bridge.test.ts | 37 +++++ src/lib/geo-region.ts | 16 +- src/lib/marriage-cookie.test.ts | 119 ++++++++++++++ 6 files changed, 431 insertions(+), 13 deletions(-) create mode 100644 src/data/country-calling-codes.ts create mode 100644 src/lib/marriage-cookie.test.ts diff --git a/package.json b/package.json index d7d54d1..6bfa70e 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,7 @@ "google-libphonenumber": "^3.2.44", "next": "^16.2.10", "react": "19.2.4", - "react-dom": "19.2.4", - "react-icons": "^5.6.0" + "react-dom": "19.2.4" }, "devDependencies": { "@babel/core": "^8.0.1", diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 98c21d6..ce81bfa 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -102,6 +102,20 @@ export default async function RootLayout({ /> + + {initialMarriageJson && (