Skip to content

Commit

Permalink
Add: Delete MealRequest button styles
Browse files Browse the repository at this point in the history
  • Loading branch information
RafaelMariscal committed Aug 22, 2023
1 parent c004200 commit ea7ff95
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 19 deletions.
14 changes: 13 additions & 1 deletion src/components/Button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { ComponentProps } from 'react'
import { twMerge } from 'tailwind-merge'

type ButtonRootProps = ComponentProps<'button'> & {
variant: 'light' | 'eden' | 'stroke'
variant: 'light' | 'eden' | 'stroke' | 'danger'
}

export default function Button({
Expand All @@ -16,6 +16,7 @@ export default function Button({
return (
<button
{...rest}
data-variant={variant}
className={twMerge(
'relative inline-block h-9 bg-salen-500 shadow-button outline-none',
'before:block before:h-2 before:w-2 before:bg-salen-500',
Expand All @@ -31,6 +32,15 @@ export default function Button({
'[&_div]:focus:bg-eden-700 [&_div]:focus:text-send-500',
'[&_*]:hover:fill-send-500 [&_*]:focus:fill-send-500',
'[&_*]:hover:border-salen-500 [&_*]:focus:border-salen-500',
'data-[variant=danger]:bg-terracotta-100',
'data-[variant=danger]:before:bg-terracotta-100',
'data-[variant=danger]:after:bg-terracotta-100',
'data-[variant=danger]:[&_div]:hover:bg-terracotta-500',
'data-[variant=danger]:[&_div]:hover:text-light',
'data-[variant=danger]:[&_div]:focus:text-light',
'data-[variant=danger]:[&_*]:hover:border-terracotta-300',
'data-[variant=danger]:[&_*]:focus:border-terracotta-300',

className,
)}
>
Expand All @@ -44,6 +54,8 @@ export default function Button({
'data-[variant=light]:bg-eden-100 data-[variant=light]:text-eden-700',
'data-[variant=stroke]:bg-eden-700 data-[variant=stroke]:text-eden-100',
'data-[variant=stroke]:border data-[variant=stroke]:border-eden-100',
'data-[variant=danger]:bg-terracotta-500 data-[variant=danger]:text-light',
'data-[variant=danger]:border data-[variant=danger]:border-light',
)}
>
{children}
Expand Down
30 changes: 24 additions & 6 deletions src/components/GetQuoteForm/MealRequestDialog/index.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
import { MealsProps } from '@/@types/MealTypes'
import * as Dialog from '@radix-ui/react-dialog'
import { ListPlus, X } from 'lucide-react'
import {
Delete,
ListMinus,
ListPlus,
ListX,
RemoveFormattingIcon,
X,
} from 'lucide-react'
import { ComponentProps, useState } from 'react'
import { twMerge } from 'tailwind-merge'
import Input from '../Input'
Expand Down Expand Up @@ -231,11 +238,22 @@ export default function MealRequestDialog({
? 'Máximo de caractéres atingido.'
: `Restam ${CharCouterValue} caracteres.`}
</Input.CharCounter>

<Button variant="stroke" className="mt-4 w-full">
{meal ? ' Confirmar Edição' : 'Adicionar à Solicitação'}
<ListPlus size={18} strokeWidth={2} fillOpacity={0} />
</Button>
<div className="flex gap-4">
{meal ? (
<Button
type="button"
variant="danger"
className="mt-4 w-max whitespace-nowrap"
>
Excluir Refeição
<Delete size={18} strokeWidth={2} fillOpacity={0} />
</Button>
) : null}
<Button type="submit" variant="stroke" className="mt-4 w-full">
{meal ? ' Confirmar Edição' : 'Adicionar à Solicitação'}
<ListPlus size={18} strokeWidth={2} fillOpacity={0} />
</Button>
</div>
</form>
</Dialog.Content>
</Dialog.Overlay>
Expand Down
17 changes: 5 additions & 12 deletions src/contexts/MealRequestFormContext/porvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,14 @@ export const mealRequestFormSchema = z.object({
.nonempty({ message: 'Campo obrigatório.' })
.min(3, { message: 'Mínimo de 3 caracteres.' })
.max(200, { message: 'Máximo de 200 caracteres.' }),
weekDaysQuantities: z
.string({ required_error: 'Campo obrigatório.' })
.nonempty({ message: 'Campo obrigatório.' })
.email({ message: 'Email inválido' }),
saturdayQuantities: z
.string({ required_error: 'Campo obrigatório.' })
.nonempty({ message: 'Campo obrigatório.' }),
sundaysQuantities: z
weekDaysQuantities: z.string({ required_error: 'Campo obrigatório.' }),
saturdayQuantities: z.string({ required_error: 'Campo obrigatório.' }),
sundaysQuantities: z.string({ required_error: 'Campo obrigatório.' }),
mealDescription: z
.string({ required_error: 'Campo obrigatório.' })
.nonempty({ message: 'Campo obrigatório.' })
.min(3, { message: 'Mínimo de 3 caracteres.' })
.max(200, { message: 'Máximo de 200 caracteres.' }),
mealDescription: z
.string({ required_error: 'Campo obrigatório.' })
.nonempty({ message: 'Campo obrigatório.' }),
.max(400, { message: 'Máximo de 400 caracteres.' }),
})
export type MealRequestFormData = z.infer<typeof mealRequestFormSchema>

Expand Down

0 comments on commit ea7ff95

Please sign in to comment.