Skip to content

Commit

Permalink
fixing main branch
Browse files Browse the repository at this point in the history
  • Loading branch information
Derick80 committed Jan 5, 2024
1 parent 399a695 commit 01a14e6
Show file tree
Hide file tree
Showing 8 changed files with 192 additions and 305 deletions.
14 changes: 7 additions & 7 deletions app/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ import { MetronomeLinks } from '@metronome-sh/react'
import { getEnv } from './server/env.server'
import { ThemeProvider } from './components/theme/theme-provider'
import { getThemeFromCookie } from './server/theme.server'
import { useOptionalUser } from './utilities'
import { getUserByEmail } from './server/user.server'

export const links: LinksFunction = () => [
{ rel: 'stylesheet', href: stylesheet, preload: 'true' }
Expand All @@ -51,22 +53,24 @@ export const meta: MetaFunction = () => {
// long story short I missed the if !toastMessage return so most of the time I was not returning my user because the message is blank. This way, I think I'm able to use toast and also not have it refresh every time I navigate.
export async function loader ({ request }: LoaderFunctionArgs) {
const theme = await getThemeFromCookie(request)
// const user = await getUserByEmail('wowbearwow80@gmail.com')
// console.log(user, 'user');

const user = await isAuthenticated(request)
const categories = await prisma.category.findMany()
const session = await getSession(request.headers.get('Cookie'))
const toastMessage = (await session.get('toastMessage')) as ToastMessage

if (!toastMessage) {
return json({ toastMessage: null, user, categories, theme })
return json({ toastMessage: null, categories, theme })
}

if (!toastMessage.type) {
throw new Error('Message should have a type')
}

return json(
{ toastMessage, user, categories, theme, ENV: getEnv() },
{ toastMessage, categories, theme, ENV: getEnv() },
{
headers: {
'Set-Cookie': await commitSession(session)
Expand All @@ -77,6 +81,7 @@ export async function loader ({ request }: LoaderFunctionArgs) {

export default function App () {
const { theme = 'system' } = useLoaderData<typeof loader>()
const user = useOptionalUser()

const data = useLoaderData<typeof loader>()
const { toastMessage } = data
Expand Down Expand Up @@ -205,13 +210,8 @@ export function ErrorBoundary () {
</head>
<body>
<div className='flex h-full w-full flex-col items-center justify-center text-center'>
<<<<<<< HEAD
<h1>uh Oh..</h1>
<h2>something went wrong</h2>
=======
<h1 className='text-2xl font-bold'>uh Oh..</h1>
<p className='text-xl'>something went wrong</p>
>>>>>>> main
<pre>{ errorMessage }</pre>
</div>{ ' ' }
<Scripts />
Expand Down
110 changes: 17 additions & 93 deletions app/routes/_admin.categories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import {
validateAction
} from '~/utilities'
// deleting a category doesn't work correctly it deletes the wrong category
export async function loader({ request, params }: LoaderFunctionArgs) {
export async function loader ({ request, params }: LoaderFunctionArgs) {
const categories = await prisma.category.findMany({
orderBy: {
value: 'asc'
Expand Down Expand Up @@ -57,7 +57,7 @@ export const schema = z.object({

type ActionInput = z.infer<typeof schema>

export async function action({ request, params }: ActionFunctionArgs) {
export async function action ({ request, params }: ActionFunctionArgs) {
// get the session from the request for toast messages
const session = await getSession(request.headers.get('Cookie'))
const user = await isAuthenticated(request)
Expand All @@ -70,20 +70,6 @@ export async function action({ request, params }: ActionFunctionArgs) {
schema
})

<<<<<<< HEAD:app/routes/_admin.categories.tsx
// Parse the form data
const payload = Object.fromEntries(formData)
const result = schema.safeParse(payload)

if (!result.success) {
return json({
error: result.error.flatten().fieldErrors,
success: false
})
}

switch (result.data.intent) {
=======
if (errors) {
return json({ errors })
}
Expand All @@ -92,7 +78,6 @@ export async function action({ request, params }: ActionFunctionArgs) {
// I"m type casting here for now because I am performing multiple actions in one route and my zod schema is not set up to handle that

switch (intent) {
>>>>>>> main:app/routes/categories.tsx
case 'create': {
const categoryExists = await prisma.category.findUnique({
where: {
Expand Down Expand Up @@ -136,26 +121,17 @@ export async function action({ request, params }: ActionFunctionArgs) {
}
}
}
export default function CategoriesRoute() {
export default function CategoriesRoute () {
const user = useOptionalUser()
<<<<<<< HEAD:app/routes/_admin.categories.tsx
const isAdmin = user?.role === 'ADMIN' ? true : false
console.log(isAdmin)
=======
const userRole = user?.role
>>>>>>> main:app/routes/categories.tsx

const data = useLoaderData<typeof loader>()
const actionData = useActionData<{ errors: Record<string, string> }>()
const navigation = useNavigation()
const formRef = React.useRef<HTMLFormElement>(null)

<<<<<<< HEAD:app/routes/_admin.categories.tsx
=======
const deleteFetcher = useFetcher()

>>>>>>> main:app/routes/categories.tsx
React.useEffect(() => {
if (navigation.state === 'submitting') {
formRef.current?.reset()
Expand All @@ -174,38 +150,22 @@ export default function CategoriesRoute() {
<h1>Categories</h1>
</div>
<div className='bg-violet flex w-full flex-row flex-wrap items-center gap-2'>
{data.categories.map((category) => (
<<<<<<< HEAD:app/routes/_admin.categories.tsx
<Form
key={category.id}
id='deleteCategory'
className={clsx(
'focus-ring dark:bg-violet3j_dark dark:hover:bg-violet4j_dark relative mb-4 mr-4 flex h-auto w-auto cursor-auto rounded-full bg-violet3 px-6 py-3 text-violet12 opacity-100 transition dark:bg-violet3_dark dark:text-slate-50'
)}
method='POST'
>
<p className='flex-1'>{category.label}</p>

<input type='hidden' name='categoryId' value={category.id} />
{isAdmin && (
<Button
=======
{ data.categories.map((category) => (
<>
<deleteFetcher.Form
key={category.id}
key={ category.id }
id='deleteCategory'
className={clsx(
className={ clsx(
'focus-ring dark:bg-violet3j_dark dark:hover:bg-violet4j_dark relative mb-4 mr-4 flex h-auto w-auto cursor-auto rounded-full bg-violet3 px-6 py-3 text-violet12 opacity-100 transition dark:bg-violet3_dark dark:text-slate-50'
)}
action={`/categories/${category.id}/`}
) }
action={ `/categories/${category.id}/` }
method='post'
>
<p className='flex-1'>{category.label}</p>
<p className='flex-1'>{ category.label }</p>

<input type='hidden' name='categoryId' value={category.id} />
<input type='hidden' name='categoryId' value={ category.id } />
<Button
disabled={userRole !== 'ADMIN'}
>>>>>>> main:app/routes/categories.tsx
disabled={ userRole !== 'ADMIN' }
variant='icon_unfilled'
size='small'
type='submit'
Expand All @@ -214,50 +174,15 @@ export default function CategoriesRoute() {
>
<Cross1Icon />
</Button>
<<<<<<< HEAD:app/routes/_admin.categories.tsx
)}
</Form>
=======
</deleteFetcher.Form>
</>
>>>>>>> main:app/routes/categories.tsx
))}
)) }
</div>
</div>

<<<<<<< HEAD:app/routes/_admin.categories.tsx
{isAdmin && (
<Form
id='createCategory'
ref={formRef}
className='flex flex-col items-center gap-2'
method='POST'
>
<label htmlFor='categoryName'>Add A Category</label>
<input
type='text'
className='rounded-md border text-sm text-black'
name='categoryName'
/>
{actionData?.errors?.categoryName && (
<div>{actionData.errors.categoryName}</div>
)}
<Button
form='createCategory'
variant='success_filled'
size='base'
type='submit'
name='intent'
value='create'
>
Save
</Button>
</Form>
)}
=======
<Form
id='createCategory'
ref={formRef}
ref={ formRef }
className='flex flex-col items-center gap-2'
method='POST'
action='/categories'
Expand All @@ -268,9 +193,9 @@ export default function CategoriesRoute() {
className='rounded-md border text-sm text-black'
name='categoryName'
/>
{actionData?.errors?.categoryName && (
<div>{actionData.errors.categoryName}</div>
)}
{ actionData?.errors?.categoryName && (
<div>{ actionData.errors.categoryName }</div>
) }
<Button
form='createCategory'
variant='success_filled'
Expand All @@ -280,8 +205,7 @@ export default function CategoriesRoute() {
Save
</Button>
</Form>
>>>>>>> main:app/routes/categories.tsx
<Outlet />
</div>
</div >
)
}
2 changes: 1 addition & 1 deletion app/routes/_auth.login.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export const action: ActionFunction = async ({ request }) => {
export default function Login () {
return (
<div className='grid gap-5 items-center'>
{/* <AuthForm authType='login' /> */ }
<AuthForm authType='login' />

<h3 className='text-center'>Or</h3>
<SocialLoginForm />
Expand Down
8 changes: 1 addition & 7 deletions app/routes/_index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -133,16 +133,10 @@ export default function Index () {
<Separator />{ ' ' }
<div className='mb-4 flex w-full flex-row items-center gap-2'>
<h6 className='text-left'>Want to </h6>
<<<<<<< HEAD
<p className='scroll-m-20 text-3xl font-extrabold tracking-tight lg:text-5xl'>
Connect with me?
</p>
=======
<h1>Connect with me?</h1>
>>>>>>> main
</div >
</div >
<ContactWidget />
<ContactWidget />
</div >
</div >
)
Expand Down
Loading

0 comments on commit 01a14e6

Please sign in to comment.