diff --git a/package.json b/package.json index 43dde4d..12d1796 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.69.0", + "@tanstack/react-table": "^8.21.2", "axios": "^1.8.4", + "clsx": "^2.1.1", "jwt-decode": "^4.0.0", "next": "15.2.3", "next-auth": "^4.24.11", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 205c184..5dea9ef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,9 +11,15 @@ importers: '@tanstack/react-query': specifier: ^5.69.0 version: 5.69.0(react@19.0.0) + '@tanstack/react-table': + specifier: ^8.21.2 + version: 8.21.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) axios: specifier: ^1.8.4 version: 1.8.4 + clsx: + specifier: ^2.1.1 + version: 2.1.1 jwt-decode: specifier: ^4.0.0 version: 4.0.0 @@ -509,6 +515,17 @@ packages: peerDependencies: react: ^18 || ^19 + '@tanstack/react-table@8.21.2': + resolution: {integrity: sha512-11tNlEDTdIhMJba2RBH+ecJ9l1zgS2kjmexDPAraulc8jeNA4xocSNeyzextT0XJyASil4XsCYlJmf5jEWAtYg==} + engines: {node: '>=12'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + + '@tanstack/table-core@8.21.2': + resolution: {integrity: sha512-uvXk/U4cBiFMxt+p9/G7yUWI/UbHYbyghLCjlpWZ3mLeIZiUBSKcUnw9UnKkdRz7Z/N4UBuFLWQdJCjUe7HjvA==} + engines: {node: '>=12'} + '@tybys/wasm-util@0.9.0': resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} @@ -762,6 +779,10 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -2300,6 +2321,14 @@ snapshots: '@tanstack/query-core': 5.69.0 react: 19.0.0 + '@tanstack/react-table@8.21.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@tanstack/table-core': 8.21.2 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@tanstack/table-core@8.21.2': {} + '@tybys/wasm-util@0.9.0': dependencies: tslib: 2.8.1 @@ -2594,6 +2623,8 @@ snapshots: client-only@0.0.1: {} + clsx@2.1.1: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 diff --git a/src/app/(auth)/login/page.tsx b/src/app/(auth)/login/page.tsx index bb0ce8a..f7ecaea 100644 --- a/src/app/(auth)/login/page.tsx +++ b/src/app/(auth)/login/page.tsx @@ -1,4 +1,7 @@ +"use client"; + import Form from "#/components/form/form" +import { loginSchema } from "#/schema/loginSchema" export default function LoginPage() { return( @@ -17,10 +20,12 @@ export default function LoginPage() { label: "Password", name: "password", type: "password", - placeholder: "Enter votre mot de passe" + placeholder: "Enter votre mot de passe", + showPasswordToggle: true } ]} submit={undefined} + schema={loginSchema} child={} /> diff --git a/src/app/globals.css b/src/app/globals.css index c20f360..e681eda 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -31,6 +31,7 @@ body { padding: 12px; border: 1px solid #d1d5dc; border-radius: 9999px; + color: black; &:focus { outline-color: none; @@ -59,4 +60,9 @@ body { color: white; width: 100%; padding: 8px; + cursor: pointer; + + &:hover { + background-color: rgb(22, 77, 185); + } } \ No newline at end of file diff --git a/src/components/floatingLabelInput.tsx b/src/components/floatingLabelInput.tsx index 63cd2d0..ca2d750 100644 --- a/src/components/floatingLabelInput.tsx +++ b/src/components/floatingLabelInput.tsx @@ -2,8 +2,8 @@ import { FloatingLabelInputProps } from '#/types'; import React, { useState } from 'react'; - - +import Image from 'next/image'; +import { icons } from '#/assets/icons'; export default function FloatingLabelInput({ label, @@ -47,19 +47,29 @@ export default function FloatingLabelInput({ defaultValue={defaultValue} required /> - {/* {showPasswordToggle && ( + {showPasswordToggle && ( - )} */} + )} ); @@ -81,7 +91,7 @@ export default function FloatingLabelInput({ }; return ( -