Skip to content

Commit

Permalink
Merge pull request #43 from Derick80/typings
Browse files Browse the repository at this point in the history
Typings
  • Loading branch information
Derick80 authored Jan 10, 2024
2 parents 4bfd55c + 9f76464 commit e191855
Show file tree
Hide file tree
Showing 8 changed files with 11,819 additions and 7,059 deletions.
6 changes: 5 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
/** @type {import('eslint').Linter.Config} */
module.exports = {
extends: ["@remix-run/eslint-config", "@remix-run/eslint-config/node"],
extends: [ "@remix-run/eslint-config", "@remix-run/eslint-config/node" ],
"import/resolver": {
typescript: {},
},

};
52 changes: 26 additions & 26 deletions app/entry.server.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { PassThrough } from "node:stream";
import type { AppLoadContext, EntryContext } from "@remix-run/node";
import { createReadableStreamFromReadable } from "@remix-run/node";
import { RemixServer } from "@remix-run/react";
import isbot from "isbot";
import { isbot } from "isbot";
import { renderToPipeableStream } from "react-dom/server";
import { getEnv, init } from "./server/env.server";

Expand All @@ -18,7 +18,7 @@ init()
global.ENV = getEnv()
const ABORT_DELAY = 5_000;

export default function handleRequest(
export default function handleRequest (
request: Request,
responseStatusCode: number,
responseHeaders: Headers,
Expand All @@ -27,20 +27,20 @@ export default function handleRequest(
) {
return isbot(request.headers.get("user-agent"))
? handleBotRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
)
request,
responseStatusCode,
responseHeaders,
remixContext
)
: handleBrowserRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
);
request,
responseStatusCode,
responseHeaders,
remixContext
);
}

function handleBotRequest(
function handleBotRequest (
request: Request,
responseStatusCode: number,
responseHeaders: Headers,
Expand All @@ -50,12 +50,12 @@ function handleBotRequest(
let shellRendered = false;
const { pipe, abort } = renderToPipeableStream(
<RemixServer
context={remixContext}
url={request.url}
abortDelay={ABORT_DELAY}
context={ remixContext }
url={ request.url }
abortDelay={ ABORT_DELAY }
/>,
{
onAllReady() {
onAllReady () {
shellRendered = true;
const body = new PassThrough();
const stream = createReadableStreamFromReadable(body);
Expand All @@ -71,10 +71,10 @@ function handleBotRequest(

pipe(body);
},
onShellError(error: unknown) {
onShellError (error: unknown) {
reject(error);
},
onError(error: unknown) {
onError (error: unknown) {
responseStatusCode = 500;
// Log streaming rendering errors from inside the shell. Don't log
// errors encountered during initial shell rendering since they'll
Expand All @@ -90,7 +90,7 @@ function handleBotRequest(
});
}

function handleBrowserRequest(
function handleBrowserRequest (
request: Request,
responseStatusCode: number,
responseHeaders: Headers,
Expand All @@ -100,12 +100,12 @@ function handleBrowserRequest(
let shellRendered = false;
const { pipe, abort } = renderToPipeableStream(
<RemixServer
context={remixContext}
url={request.url}
abortDelay={ABORT_DELAY}
context={ remixContext }
url={ request.url }
abortDelay={ ABORT_DELAY }
/>,
{
onShellReady() {
onShellReady () {
shellRendered = true;
const body = new PassThrough();
const stream = createReadableStreamFromReadable(body);
Expand All @@ -121,10 +121,10 @@ function handleBrowserRequest(

pipe(body);
},
onShellError(error: unknown) {
onShellError (error: unknown) {
reject(error);
},
onError(error: unknown) {
onError (error: unknown) {
responseStatusCode = 500;
// Log streaming rendering errors from inside the shell. Don't log
// errors encountered during initial shell rendering since they'll
Expand Down
2 changes: 0 additions & 2 deletions app/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import React from 'react'
import { Toaster, toast } from 'react-hot-toast'
import { prisma } from './server/prisma.server'
import { AnimatePresence, motion } from 'framer-motion'
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'
Expand Down Expand Up @@ -120,7 +119,6 @@ export default function App () {
<meta name='viewport' content='width=device-width,initial-scale=1' />
<Meta />
<Links />
<MetronomeLinks />
</head>
<body
id='body'
Expand Down
7 changes: 3 additions & 4 deletions app/routes/beta.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
// export async function action({ request, params }: ActionFunctionArgs) {
// const formData = await request.formData()

import { LoaderFunctionArgs, json } from '@remix-run/node'
import { redirect } from 'remix-typedjson'
import { LoaderFunctionArgs, json, redirect } from '@remix-run/node'
import { isAuthenticated } from '~/server/auth/auth.server'
import { getPostsVersionTwo } from '~/server/post.server'
import React, { useContext } from 'react'
import { useLoaderData } from '@remix-run/react'
// return json({ message: 'success' })
// }

export async function loader({ request, params }: LoaderFunctionArgs) {
export async function loader ({ request, params }: LoaderFunctionArgs) {
const user = await isAuthenticated(request)
if (!user) {
return redirect('/login')
Expand All @@ -22,7 +21,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) {
return json({ posts })
}

export default function Beta() {
export default function Beta () {
const { posts } = useLoaderData<typeof loader>()

return (
Expand Down
59 changes: 29 additions & 30 deletions app/routes/documentation_.task.$taskId.edit.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,13 @@ import {
} from '~/server/session.server'
import type { Task } from '~/server/task.server'
import { getTask, getTaskCategories, updateTask } from '~/server/task.server'
import { Form, useActionData } from '@remix-run/react'
import { Form, useActionData, useLoaderData } from '@remix-run/react'
import Button from '~/components/button'
import { FilePlusIcon } from '@radix-ui/react-icons'
import { validateAction } from '~/utilities'
import CustomSelectBox from '~/components/v2-components/custom-select'
import { typedjson, useTypedLoaderData } from 'remix-typedjson'

export async function loader({ request, params }: LoaderFunctionArgs) {
export async function loader ({ request, params }: LoaderFunctionArgs) {
const user = await isAuthenticated(request)
if (!user) {
return redirect('/login')
Expand All @@ -40,7 +39,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) {
const categoryArray = categories.map((category) => category.value)
console.log(categoryArray, 'categoryArray')

return typedjson({ task, categories: categoryArray })
return json({ task, categories: categoryArray })
}

const statusOptions = [`📆 To Do`, `⏩ In Progress`, `✅ Completed`, `💡 Idea`]
Expand Down Expand Up @@ -69,7 +68,7 @@ const schema = z.object({
})

type ActionInput = z.infer<typeof schema>
export async function action({ request, params }: ActionFunctionArgs) {
export async function action ({ request, params }: ActionFunctionArgs) {
const user = await isAuthenticated(request)
if (!user) {
return redirect('/login')
Expand Down Expand Up @@ -118,9 +117,9 @@ export async function action({ request, params }: ActionFunctionArgs) {
//
}

export default function EditDocsIndex() {
export default function EditDocsIndex () {
// const data = useLoaderData<{ task: Task; categories: string[] }>()
const data = useTypedLoaderData<{ task: Task; categories: string[] }>()
const data = useLoaderData<{ task: Task; categories: string[] }>()
const ActionData = useActionData<{ errors: ActionInput }>()
console.log(data.task, 'data.task')

Expand All @@ -140,11 +139,11 @@ export default function EditDocsIndex() {
type='text'
name='title'
id='title'
defaultValue={data.task.title}
defaultValue={ data.task.title }
/>
{ActionData?.errors?.title && (
<span className='text-red-500'>{ActionData.errors.title}</span>
)}
{ ActionData?.errors?.title && (
<span className='text-red-500'>{ ActionData.errors.title }</span>
) }
<label className='text-slate-900' htmlFor='description'>
Description
</label>
Expand All @@ -153,22 +152,22 @@ export default function EditDocsIndex() {
type='text'
name='description'
id='description'
defaultValue={data.task.description}
defaultValue={ data.task.description }
/>
{ActionData?.errors?.description && (
<span className='text-red-500'>{ActionData.errors.description}</span>
)}
{ ActionData?.errors?.description && (
<span className='text-red-500'>{ ActionData.errors.description }</span>
) }
<label className='text-slate-900' htmlFor='status'>
Status
</label>
<CustomSelectBox
name='status'
options={statusOptions}
picked={[data.task.status]}
options={ statusOptions }
picked={ [data.task.status] }
/>
{ActionData?.errors?.status && (
<span className='text-red-500'>{ActionData.errors.status}</span>
)}
{ ActionData?.errors?.status && (
<span className='text-red-500'>{ ActionData.errors.status }</span>
) }
<label className='text-slate-900' htmlFor='section'>
Section
</label>
Expand All @@ -177,25 +176,25 @@ export default function EditDocsIndex() {
type='text'
name='section'
id='section'
defaultValue={data.task.section}
defaultValue={ data.task.section }
/>
{ActionData?.errors?.section && (
<span className='text-red-500'>{ActionData.errors.section}</span>
)}
{ ActionData?.errors?.section && (
<span className='text-red-500'>{ ActionData.errors.section }</span>
) }
<label className='text-slate-900' htmlFor='taskCategory'>
Task Category
</label>
<CustomSelectBox
name='taskCategory'
picked={pickedCategories}
options={data.categories}
creatable={true}
picked={ pickedCategories }
options={ data.categories }
creatable={ true }
actionPath='/documentation/task/taskCategory/new/'
/>

{ActionData?.errors?.taskCategory && (
<span className='text-red-500'>{ActionData.errors.taskCategory}</span>
)}
{ ActionData?.errors?.taskCategory && (
<span className='text-red-500'>{ ActionData.errors.taskCategory }</span>
) }

<Button variant='primary' type='submit'>
<FilePlusIcon />
Expand Down
8 changes: 0 additions & 8 deletions metronome.config.js

This file was deleted.

Loading

0 comments on commit e191855

Please sign in to comment.