update login

This commit is contained in:
2025-12-19 09:02:49 -03:00
parent 3d8961f1f5
commit 3be296f1ac
6 changed files with 13 additions and 12 deletions

View File

@@ -17,9 +17,9 @@ import {
AlertTriangleIcon,
UserIcon
} from 'lucide-react'
import { Link, useParams, useFetcher } from 'react-router'
import { redirect, Link, useParams, useFetcher } from 'react-router'
import { Controller, useFieldArray, useForm } from 'react-hook-form'
import { Fragment, use, useEffect, useMemo, useRef, useState } from 'react'
import { Fragment, use, useMemo, useState } from 'react'
import { format } from 'date-fns'
import { ptBR } from 'react-day-picker/locale'
import { zodResolver } from '@hookform/resolvers/zod'
@@ -75,7 +75,6 @@ import { cloudflareContext } from '@repo/auth/context'
import { SearchFilter } from '@repo/ui/components/search-filter'
import { formSchema, type Schema, MAX_ITEMS } from './data'
import { redirect } from 'react-router'
export function meta({}: Route.MetaArgs) {
return [{ title: 'Adicionar matrícula' }]
@@ -284,6 +283,7 @@ export default function Route({
<InputGroupInput
readOnly
value={value?.name || ''}
autoFocus={true}
placeholder="Colaborador"
className="cursor-pointer"
autoComplete="off"
@@ -320,7 +320,6 @@ export default function Route({
</InputGroup>
)}
</SearchFilter>
<ErrorMessage
errors={formState.errors}
name={name}
@@ -455,7 +454,6 @@ function FacetedFilter({
const [open, { set }] = useToggle()
const [sort, { toggle }] = useToggle('a-z', 'z-a')
const { hits } = use(options)
const listRef = useRef<HTMLDivElement | null>(null)
const fuse = useMemo(() => {
return new Fuse(hits, {
keys: ['name'],
@@ -506,6 +504,7 @@ function FacetedFilter({
<Button
variant="link"
size="icon-sm"
tabIndex={-1}
className="cursor-pointer text-muted-foreground"
onClick={toggle}
>
@@ -571,7 +570,7 @@ function ScheduledForInput({ value, onChange }: ScheduledForInputProps) {
tomorrow.setDate(today.getDate() + 1)
const [open, { set }] = useToggle()
const [selected, setDate] = useState<Date | undefined>(value)
const displayValue = selected ? format(selected, 'dd/MM/yyyy') : ''
const display = selected ? format(selected, 'dd/MM/yyyy') : ''
return (
<Popover open={open} onOpenChange={set}>
@@ -580,7 +579,7 @@ function ScheduledForInput({ value, onChange }: ScheduledForInputProps) {
<InputGroupInput
readOnly
placeholder="Imediatamente"
value={displayValue}
value={display}
/>
<InputGroupAddon>

View File

@@ -9,9 +9,9 @@ import { createSessionStorage } from '@repo/auth/session'
export async function loader({ request, context }: Route.LoaderArgs) {
const url = new URL(request.url)
const cloudflare = context.get(cloudflareContext)
const requestId = context.get(requestIdContext)
const sessionStorage = createSessionStorage(cloudflare.env)
const session = await sessionStorage.getSession(request.headers.get('cookie'))
const requestId = context.get(requestIdContext)
const user = session.get('user')
const returnTo = (session.get('returnTo') as string | undefined) ?? '/'
@@ -26,6 +26,7 @@ export async function loader({ request, context }: Route.LoaderArgs) {
request
)) as User
session.set('user', authenticatedUser)
session.unset('returnTo')
console.log(`[${requestId}] Redirecting the user to ${returnTo}`)

View File

@@ -9,9 +9,9 @@ import { createSessionStorage } from '@repo/auth/session'
export async function loader({ request, context }: Route.LoaderArgs) {
const url = new URL(request.url)
const cloudflare = context.get(cloudflareContext)
const requestId = context.get(requestIdContext)
const sessionStorage = createSessionStorage(cloudflare.env)
const session = await sessionStorage.getSession(request.headers.get('cookie'))
const requestId = context.get(requestIdContext)
const user = session.get('user')
const returnTo = (session.get('returnTo') as string | undefined) ?? '/'
@@ -26,6 +26,7 @@ export async function loader({ request, context }: Route.LoaderArgs) {
request
)) as User
session.set('user', authenticatedUser)
session.unset('returnTo')
console.log(`[${requestId}] Redirecting the user to ${returnTo}`)

View File

@@ -1,6 +1,5 @@
import type { Route } from './+types/route'
import type { User } from '@repo/auth/auth'
import { userContext, cloudflareContext } from '@repo/auth/context'
import { authMiddleware } from '@repo/auth/middleware/auth'

View File

@@ -19,7 +19,7 @@ export const authMiddleware = async (
let user = session.get('user')
if (!user) {
console.log('There is no user logged in')
console.log(`[${requestId}] There is no user logged in`)
session.set('returnTo', new URL(request.url).toString())

View File

@@ -73,7 +73,8 @@ export function SearchFilter<T>({
<Command
shouldFilter={false}
className={cn(
!searched && '**:data-[slot=command-input-wrapper]:border-b-0'
!searched && '**:data-[slot=command-input-wrapper]:border-b-0',
data.length > 0 && 'rounded-b-none'
)}
>
<CommandInput