From 56bfaa02cc29906dfce523fbe74f0832ba8b92db Mon Sep 17 00:00:00 2001 From: fede Date: Mon, 12 Jan 2026 21:51:54 -0300 Subject: [PATCH] =?UTF-8?q?primera=20ui=20de=20la=20pagina=20para=20recupe?= =?UTF-8?q?rar=20contrase=C3=B1a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/breadcrumb/breadcrumb-ellipsis.svelte | 23 +++++++ .../ui/breadcrumb/breadcrumb-item.svelte | 20 ++++++ .../ui/breadcrumb/breadcrumb-link.svelte | 31 +++++++++ .../ui/breadcrumb/breadcrumb-list.svelte | 23 +++++++ .../ui/breadcrumb/breadcrumb-page.svelte | 23 +++++++ .../ui/breadcrumb/breadcrumb-separator.svelte | 27 ++++++++ .../ui/breadcrumb/breadcrumb.svelte | 21 +++++++ src/lib/components/ui/breadcrumb/index.ts | 25 ++++++++ src/lib/components/ui/input-otp/index.ts | 15 +++++ .../ui/input-otp/input-otp-group.svelte | 20 ++++++ .../ui/input-otp/input-otp-separator.svelte | 19 ++++++ .../ui/input-otp/input-otp-slot.svelte | 31 +++++++++ .../components/ui/input-otp/input-otp.svelte | 22 +++++++ .../ui/login-form/login-form.svelte | 2 +- src/routes/password-reset/+page.svelte | 32 ++++++++++ .../password-reset/IngresarEmail.svelte | 63 +++++++++++++++++++ src/routes/password-reset/NuevaPass.svelte | 41 ++++++++++++ src/routes/password-reset/Otp.svelte | 46 ++++++++++++++ src/routes/password-reset/Pasos.svelte | 30 +++++++++ 19 files changed, 513 insertions(+), 1 deletion(-) create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-item.svelte create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-link.svelte create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-list.svelte create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-page.svelte create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte create mode 100644 src/lib/components/ui/breadcrumb/breadcrumb.svelte create mode 100644 src/lib/components/ui/breadcrumb/index.ts create mode 100644 src/lib/components/ui/input-otp/index.ts create mode 100644 src/lib/components/ui/input-otp/input-otp-group.svelte create mode 100644 src/lib/components/ui/input-otp/input-otp-separator.svelte create mode 100644 src/lib/components/ui/input-otp/input-otp-slot.svelte create mode 100644 src/lib/components/ui/input-otp/input-otp.svelte create mode 100644 src/routes/password-reset/+page.svelte create mode 100644 src/routes/password-reset/IngresarEmail.svelte create mode 100644 src/routes/password-reset/NuevaPass.svelte create mode 100644 src/routes/password-reset/Otp.svelte create mode 100644 src/routes/password-reset/Pasos.svelte diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte new file mode 100644 index 0000000..a178cf5 --- /dev/null +++ b/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte @@ -0,0 +1,23 @@ + + + diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte new file mode 100644 index 0000000..1a84c4c --- /dev/null +++ b/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte @@ -0,0 +1,20 @@ + + +
  • + {@render children?.()} +
  • diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte new file mode 100644 index 0000000..e6bc17d --- /dev/null +++ b/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte @@ -0,0 +1,31 @@ + + +{#if child} + {@render child({ props: attrs })} +{:else} + + {@render children?.()} + +{/if} diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte new file mode 100644 index 0000000..1272a37 --- /dev/null +++ b/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte @@ -0,0 +1,23 @@ + + +
      + {@render children?.()} +
    diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte new file mode 100644 index 0000000..5fb6979 --- /dev/null +++ b/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte @@ -0,0 +1,23 @@ + + + + {@render children?.()} + diff --git a/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte b/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte new file mode 100644 index 0000000..84106a1 --- /dev/null +++ b/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte @@ -0,0 +1,27 @@ + + + diff --git a/src/lib/components/ui/breadcrumb/breadcrumb.svelte b/src/lib/components/ui/breadcrumb/breadcrumb.svelte new file mode 100644 index 0000000..8f8a3e6 --- /dev/null +++ b/src/lib/components/ui/breadcrumb/breadcrumb.svelte @@ -0,0 +1,21 @@ + + + diff --git a/src/lib/components/ui/breadcrumb/index.ts b/src/lib/components/ui/breadcrumb/index.ts new file mode 100644 index 0000000..dc914ec --- /dev/null +++ b/src/lib/components/ui/breadcrumb/index.ts @@ -0,0 +1,25 @@ +import Root from "./breadcrumb.svelte"; +import Ellipsis from "./breadcrumb-ellipsis.svelte"; +import Item from "./breadcrumb-item.svelte"; +import Separator from "./breadcrumb-separator.svelte"; +import Link from "./breadcrumb-link.svelte"; +import List from "./breadcrumb-list.svelte"; +import Page from "./breadcrumb-page.svelte"; + +export { + Root, + Ellipsis, + Item, + Separator, + Link, + List, + Page, + // + Root as Breadcrumb, + Ellipsis as BreadcrumbEllipsis, + Item as BreadcrumbItem, + Separator as BreadcrumbSeparator, + Link as BreadcrumbLink, + List as BreadcrumbList, + Page as BreadcrumbPage, +}; diff --git a/src/lib/components/ui/input-otp/index.ts b/src/lib/components/ui/input-otp/index.ts new file mode 100644 index 0000000..e9ae273 --- /dev/null +++ b/src/lib/components/ui/input-otp/index.ts @@ -0,0 +1,15 @@ +import Root from "./input-otp.svelte"; +import Group from "./input-otp-group.svelte"; +import Slot from "./input-otp-slot.svelte"; +import Separator from "./input-otp-separator.svelte"; + +export { + Root, + Group, + Slot, + Separator, + Root as InputOTP, + Group as InputOTPGroup, + Slot as InputOTPSlot, + Separator as InputOTPSeparator, +}; diff --git a/src/lib/components/ui/input-otp/input-otp-group.svelte b/src/lib/components/ui/input-otp/input-otp-group.svelte new file mode 100644 index 0000000..9b311bc --- /dev/null +++ b/src/lib/components/ui/input-otp/input-otp-group.svelte @@ -0,0 +1,20 @@ + + +
    + {@render children?.()} +
    diff --git a/src/lib/components/ui/input-otp/input-otp-separator.svelte b/src/lib/components/ui/input-otp/input-otp-separator.svelte new file mode 100644 index 0000000..2c4fb4a --- /dev/null +++ b/src/lib/components/ui/input-otp/input-otp-separator.svelte @@ -0,0 +1,19 @@ + + +
    + {#if children} + {@render children?.()} + {:else} + + {/if} +
    diff --git a/src/lib/components/ui/input-otp/input-otp-slot.svelte b/src/lib/components/ui/input-otp/input-otp-slot.svelte new file mode 100644 index 0000000..9d45382 --- /dev/null +++ b/src/lib/components/ui/input-otp/input-otp-slot.svelte @@ -0,0 +1,31 @@ + + + + {cell.char} + {#if cell.hasFakeCaret} +
    + +
    + {/if} +
    diff --git a/src/lib/components/ui/input-otp/input-otp.svelte b/src/lib/components/ui/input-otp/input-otp.svelte new file mode 100644 index 0000000..a9de2c4 --- /dev/null +++ b/src/lib/components/ui/input-otp/input-otp.svelte @@ -0,0 +1,22 @@ + + + diff --git a/src/lib/components/ui/login-form/login-form.svelte b/src/lib/components/ui/login-form/login-form.svelte index 52f83e7..6ddf3dc 100644 --- a/src/lib/components/ui/login-form/login-form.svelte +++ b/src/lib/components/ui/login-form/login-form.svelte @@ -36,7 +36,7 @@ diff --git a/src/routes/password-reset/+page.svelte b/src/routes/password-reset/+page.svelte new file mode 100644 index 0000000..e60079b --- /dev/null +++ b/src/routes/password-reset/+page.svelte @@ -0,0 +1,32 @@ + + +
    +
    + +
    + {#if estado === 'email'} + + {:else if estado === 'otp'} + + {:else if estado === 'nuevapass'} + + {/if} +
    +
    +
    diff --git a/src/routes/password-reset/IngresarEmail.svelte b/src/routes/password-reset/IngresarEmail.svelte new file mode 100644 index 0000000..61d370e --- /dev/null +++ b/src/routes/password-reset/IngresarEmail.svelte @@ -0,0 +1,63 @@ + + +
    + + +
    +

    + Ingresa tu correo electrónico + {#if checkeado == null} + + {:else if checkeado == true} + + {:else if esEmailExistente} + + {:else} + + {/if} +

    + + +
    +
    +
    +
    diff --git a/src/routes/password-reset/NuevaPass.svelte b/src/routes/password-reset/NuevaPass.svelte new file mode 100644 index 0000000..7cf9f6b --- /dev/null +++ b/src/routes/password-reset/NuevaPass.svelte @@ -0,0 +1,41 @@ + + +
    + + +

    Crear una Nueva Contraseña

    +
    {}}> +
    +
    + + +
    +
    + + +
    + +
    +
    +
    +
    +
    diff --git a/src/routes/password-reset/Otp.svelte b/src/routes/password-reset/Otp.svelte new file mode 100644 index 0000000..ab14abc --- /dev/null +++ b/src/routes/password-reset/Otp.svelte @@ -0,0 +1,46 @@ + + +
    + + +
    +

    Verificación de correo

    +

    + Hemos enviado un código de verificación a tu correo electrónico. +

    + +
    +
    + + {#snippet children({ cells })} + + {#each cells as cell, i} + + {/each} + + {/snippet} + +
    + +
    + + + +
    +
    +
    +
    +
    +
    diff --git a/src/routes/password-reset/Pasos.svelte b/src/routes/password-reset/Pasos.svelte new file mode 100644 index 0000000..329ef5d --- /dev/null +++ b/src/routes/password-reset/Pasos.svelte @@ -0,0 +1,30 @@ + + +
    + + + +

    + Ingrese Email +

    +
    + + +

    Ingresar OTP

    +
    + + +

    + Nueva Contraseña +

    +
    +
    +
    +