From b68e7c6b9a32f7f5288aeca84991304f578739c8 Mon Sep 17 00:00:00 2001
From: Xavier Abad <77491413+xabg2@users.noreply.github.com>
Date: Wed, 4 Mar 2026 09:03:58 +0100
Subject: [PATCH 01/12] feat(auth): implement welcome page with auth
---
index.html | 1 +
package.json | 14 +-
src/App.css | 42 -
src/App.tsx | 1 -
src/assets/images/welcome/welcome-image.webp | Bin 0 -> 344690 bytes
src/assets/logos/small-logo.svg | 15 +
src/features/welcome/index.tsx | 62 +
src/hooks/useAuth.ts | 120 ++
src/i18n/locales/en.json | 16 +-
src/index.css | 217 ++-
src/routes/index.tsx | 13 +-
src/{ => routes}/layouts/RootLayout.tsx | 0
src/routes/paths.ts | 1 +
src/services/auth/auth.service.ts | 116 ++
src/services/auth/oauth.service.ts | 310 ++++
src/services/config/config.errors.ts | 7 +
src/services/config/config.service.ts | 33 +
src/services/crypto/crypto.service.ts | 163 ++
src/services/crypto/errors/keys.errors.ts | 39 +
src/services/crypto/keys.service.ts | 245 +++
src/services/crypto/pgp.service.ts | 35 +
src/services/local-storage.service.ts | 74 +
src/services/payments.service.ts | 23 +
src/services/sdk.service.ts | 77 +
src/types/index.ts | 56 +
tsconfig.app.json | 2 +-
vite.config.ts | 18 +-
yarn.lock | 1451 +++++++++++++++++-
28 files changed, 3031 insertions(+), 120 deletions(-)
delete mode 100644 src/App.css
create mode 100644 src/assets/images/welcome/welcome-image.webp
create mode 100644 src/assets/logos/small-logo.svg
create mode 100644 src/features/welcome/index.tsx
create mode 100644 src/hooks/useAuth.ts
rename src/{ => routes}/layouts/RootLayout.tsx (100%)
create mode 100644 src/services/auth/auth.service.ts
create mode 100644 src/services/auth/oauth.service.ts
create mode 100644 src/services/config/config.errors.ts
create mode 100644 src/services/config/config.service.ts
create mode 100644 src/services/crypto/crypto.service.ts
create mode 100644 src/services/crypto/errors/keys.errors.ts
create mode 100644 src/services/crypto/keys.service.ts
create mode 100644 src/services/crypto/pgp.service.ts
create mode 100644 src/services/local-storage.service.ts
create mode 100644 src/services/payments.service.ts
create mode 100644 src/services/sdk.service.ts
create mode 100644 src/types/index.ts
diff --git a/index.html b/index.html
index 327a4de..7aaf0fd 100644
--- a/index.html
+++ b/index.html
@@ -4,6 +4,7 @@
+
mail-web
diff --git a/package.json b/package.json
index 2f7eec4..c15d310 100644
--- a/package.json
+++ b/package.json
@@ -10,8 +10,13 @@
"preview": "vite preview"
},
"dependencies": {
+ "@dashlane/pqc-kem-kyber512-browser": "^1.0.0",
+ "@internxt/css-config": "^1.1.0",
+ "@internxt/lib": "^1.4.1",
+ "@internxt/sdk": "^1.15.1",
"@internxt/ui": "^0.1.6",
"@phosphor-icons/react": "^2.1.10",
+ "@tailwindcss/vite": "^4.2.1",
"@tiptap/extension-color": "^3.20.0",
"@tiptap/extension-font-family": "^3.20.0",
"@tiptap/extension-image": "^3.20.0",
@@ -23,14 +28,16 @@
"@tiptap/starter-kit": "^3.20.0",
"dayjs": "^1.11.19",
"i18next": "^25.8.13",
+ "openpgp": "^6.3.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react-i18next": "^16.5.4",
- "react-router-dom": "^7.13.1"
+ "react-router-dom": "^7.13.1",
+ "tailwindcss": "^4.2.1"
},
"devDependencies": {
"@eslint/js": "^9.39.1",
- "@types/node": "^24.10.1",
+ "@types/node": "^25.3.3",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.1",
@@ -40,6 +47,7 @@
"globals": "^16.5.0",
"typescript": "~5.9.3",
"typescript-eslint": "^8.48.0",
- "vite": "^7.3.1"
+ "vite": "^7.3.1",
+ "vite-plugin-node-polyfills": "^0.25.0"
}
}
diff --git a/src/App.css b/src/App.css
deleted file mode 100644
index b9d355d..0000000
--- a/src/App.css
+++ /dev/null
@@ -1,42 +0,0 @@
-#root {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
-}
-
-.logo {
- height: 6em;
- padding: 1.5em;
- will-change: filter;
- transition: filter 300ms;
-}
-.logo:hover {
- filter: drop-shadow(0 0 2em #646cffaa);
-}
-.logo.react:hover {
- filter: drop-shadow(0 0 2em #61dafbaa);
-}
-
-@keyframes logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- a:nth-of-type(2) .logo {
- animation: logo-spin infinite 20s linear;
- }
-}
-
-.card {
- padding: 2em;
-}
-
-.read-the-docs {
- color: #888;
-}
diff --git a/src/App.tsx b/src/App.tsx
index d6fc2f2..0bf4e87 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,6 +1,5 @@
import { RouterProvider, createBrowserRouter } from 'react-router-dom'
import { routes } from './routes'
-import './App.css'
const router = createBrowserRouter(routes)
diff --git a/src/assets/images/welcome/welcome-image.webp b/src/assets/images/welcome/welcome-image.webp
new file mode 100644
index 0000000000000000000000000000000000000000..745fb255b6b0836c7ff33109025235047966c5bb
GIT binary patch
literal 344690
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