https://www.kikk.be/2017/en/home
http://www.espn.com/espn/feature/story/_/id/19742921/espn-body-issue-2017#!
'use server'; | |
import { signInSchema } from '@/schema'; | |
import { ZodType } from 'zod'; | |
export async function action<T>( | |
formData: FormData, | |
schema: ZodType<T> | |
): Promise<TFormState<T>> { | |
const data = Object.fromEntries(formData.entries()); |
import { useState } from 'react'; | |
import useValidation from './hooks/useValidation'; | |
import Joi from 'joi'; | |
const schema = Joi.object({ | |
email: Joi.string() | |
.email({ tlds: { allow: false } }) | |
.required(), | |
password: Joi.string().min(8).required(), | |
}); |
sass/ | |
| | |
|– abstracts/ | |
| |– _variables.scss # Sass Variables | |
| |– _functions.scss # Sass Functions | |
| |– _mixins.scss # Sass Mixins | |
| |– _placeholders.scss # Sass Placeholders | |
| | |
|– base/ | |
| |– _reset.scss # Reset/normalize |
var SELECTORS = { | |
state: [ | |
'inverse', | |
'toggled', | |
'switched', | |
'original', | |
'initial', | |
'identified', | |
'disabled', | |
'loading', |