+
+
+
+ {children}
+ {/* */}
+
+ ,
+
+
{children},
@@ -37,5 +53,9 @@ export function Layout({ children }: { children: ReactNode }) {
}
export default function App() {
- return
;
+ return (
+
+ ;
+
+ );
}
diff --git a/app/routes/_index.tsx b/app/routes/_index.tsx
index 2f45d32a..63785dc3 100644
--- a/app/routes/_index.tsx
+++ b/app/routes/_index.tsx
@@ -1,5 +1,20 @@
import type { MetaFunction } from "@remix-run/node";
+import { Link } from "@remix-run/react";
+
+import { useState } from "react";
+
+import AddUserModal from "~/components/addUserModel/addUserModal";
+import BlogPost from "~/components/BlogPost";
+import HeroSection from "~/components/HeroSection";
+import { Button } from "~/components/ui/button";
+import CardPlatform from "~/components/ui/card/card-platform";
+import Footer from "~/components/ui/footer";
+import Header from "~/components/ui/header";
+import OtpAuth from "~/components/ui/otp/OtpAuth";
+import { useModal } from "~/context/modalContext";
+
+import { Input } from "~/types/otpauth";
import FindSection from "~/components/pages/home/FindSection";
import HeroSection from "~/components/pages/home/HeroSection";
import HowSection from "~/components/pages/home/HowSection";
@@ -14,7 +29,87 @@ export const meta: MetaFunction = () => {
};
export default function Index() {
+ const [openModal, setOpenModal] = useState(false);
+ const { handleOpen } = useModal();
return (
+
+
+
Welcome to Remix
+
+
setOpenModal(!openModal)}
+ inputs={[
+ { name: "input1", value: "" },
+ { name: "input1", value: "" },
+ { name: "input1", value: "" },
+ { name: "input1", value: "" },
+ { name: "input1", value: "" },
+ { name: "input1", value: "" },
+ ]}
+ handleSubmit={handleSubmit}
+ />
+ {/* ADDED THE MODAL HERE FOR TESTING USER PAGE NOT AVAILABLE, REMOVE AND ASSIGN TO THE PROPER PAGE */}
+
+ {/* MODAL OPEN BUTTON< PLEASE REMOVE AND ASSIGN TO THE PROPER PAGE*/}
+
+
<>
diff --git a/package.json b/package.json
index f406b075..41420480 100644
--- a/package.json
+++ b/package.json
@@ -29,6 +29,7 @@
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.0",
"@radix-ui/react-tabs": "^1.1.0",
+ "@radix-ui/react-toast": "^1.2.1",
"@react-email/components": "^0.0.21",
"@remix-run/css-bundle": "^2.10.3",
"@remix-run/node": "^2.10.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 42d896a4..74e347f9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,6 +8,9 @@ importers:
.:
dependencies:
+ '@heroicons/react':
+ specifier: ^2.1.5
+ version: 2.1.5(react@18.3.1)
'@hookform/resolvers':
specifier: ^3.9.0
version: 3.9.0(react-hook-form@7.52.1(react@18.3.1))
@@ -38,6 +41,9 @@ importers:
'@radix-ui/react-tabs':
specifier: ^1.1.0
version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-toast':
+ specifier: ^1.2.1
+ version: 1.2.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@react-email/components':
specifier: ^0.0.21
version: 0.0.21(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -798,6 +804,11 @@ packages:
'@floating-ui/utils@0.2.4':
resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==}
+ '@heroicons/react@2.1.5':
+ resolution: {integrity: sha512-FuzFN+BsHa+7OxbvAERtgBTNeZpUjgM/MIizfVkSCL2/edriN0Hx/DWRCR//aPYwO5QX/YlgLGXk+E3PcfZwjA==}
+ peerDependencies:
+ react: '>= 16'
+
'@hookform/resolvers@3.9.0':
resolution: {integrity: sha512-bU0Gr4EepJ/EQsH/IwEzYLsT/PEj5C0ynLQ4m+GSHS+xKH4TfSelhluTgOaoc4kA5s7eCsQbM4wvZLzELmWzUg==}
peerDependencies:
@@ -1274,6 +1285,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-toast@1.2.1':
+ resolution: {integrity: sha512-5trl7piMXcZiCq7MW6r8YYmu0bK5qDpTWz+FdEPdKyft2UixkspheYbjbrLXVN5NGKHFbOP7lm8eD0biiSqZqg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-toggle-group@1.1.0':
resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==}
peerDependencies:
@@ -5781,6 +5805,10 @@ snapshots:
'@floating-ui/utils@0.2.4': {}
+ '@heroicons/react@2.1.5(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
'@hookform/resolvers@3.9.0(react-hook-form@7.52.1(react@18.3.1))':
dependencies:
react-hook-form: 7.52.1(react@18.3.1)
@@ -6443,6 +6471,26 @@ snapshots:
'@types/react': 18.3.3
'@types/react-dom': 18.3.0
+ '@radix-ui/react-toast@1.2.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.3
+ '@types/react-dom': 18.3.0
+
'@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.3.0)(@types/react@18.2.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
diff --git a/tailwind.config.js b/tailwind.config.js
index 1dd3769b..85d696e2 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -75,10 +75,20 @@ const tailwindConfig = {
from: { height: "var(--radix-accordion-content-height)" },
to: { height: "0" },
},
+ popIn: {
+ "0%": { transform: "scale(0.5)", opacity: "0" },
+ "100%": { transform: "scale(1)", opacity: "1" },
+ },
+ popOut: {
+ "0%": { transform: "scale(1)", opacity: "1" },
+ "100%": { transform: "scale(0.5)", opacity: "0" },
+ },
},
animation: {
"accordion-down": "accordion-down 0.2s ease-out",
"accordion-up": "accordion-up 0.2s ease-out",
+ "pop-in": "popIn 0.5s ease-out",
+ "pop-out": "popOut 0.5s ease-in",
},
},
},
diff --git a/tailwind.config.ts b/tailwind.config.ts
index 0869d646..0055d22f 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -14,6 +14,7 @@ const config = {
center: true,
padding: "2rem",
screens: {
+ "1sm": "368px",
"2xl": "1400px",
},
},
@@ -112,10 +113,23 @@ const config = {
from: { height: "var(--radix-accordion-content-height)" },
to: { height: "0" },
},
+ popIn: {
+ "0%": { transform: "scale(0.5)", opacity: "0" },
+ "100%": { transform: "scale(1)", opacity: "1" },
+ },
+ popOut: {
+ "0%": { transform: "scale(1)", opacity: "1" },
+ "100%": { transform: "scale(0.5)", opacity: "0" },
+ },
},
animation: {
"accordion-down": "accordion-down 0.2s ease-out",
"accordion-up": "accordion-up 0.2s ease-out",
+ "pop-in": "popIn 0.5s ease-out",
+ "pop-out": "popOut 0.5s ease-in",
+ },
+ fontFamily: {
+ inter: ["Inter", "sans-serif"],
},
},
},