Skip to content

Instantly share code, notes, and snippets.

@oranoran
oranoran / helper.ts
Last active January 17, 2023 13:31
Simplified version of axiom-next
import { GetServerSidePropsResult } from 'next'
import { IncomingMessage } from 'http'
import { nanoid } from 'nanoid'
import { ASLStore, generateRequestMetaSSR } from '.'
export function calcHttpStatusFromServerSideProps(result: GetServerSidePropsResult<unknown> | null): number {
if (!result) {
return 500
@oranoran
oranoran / markdown.tsx
Created January 10, 2022 15:39
Markdown custom field for Payload CMS
import React, {
useCallback,
useState,
useEffect,
FunctionComponent,
} from 'react'
import styled from 'styled-components'
import { useField } from 'payload/components/forms'
import { Field } from 'payload/types'
import Editor from 'rich-markdown-editor'
@oranoran
oranoran / MarkdownField.ts
Last active August 18, 2023 19:35
Payload CMS - alternative rich text editor using rich-markdown-editor
import React, { useCallback, FunctionComponent } from 'react'
import { useField } from 'payload/components/forms'
import { Field } from 'payload/types'
import Editor from 'rich-markdown-editor'
// Make sure to never re-render the editor, since it tracks the value on its own.
const MemorizedEditor = React.memo(Editor, (prev, next) => prev.id === next.id)
type FieldWithPath = Field & { path?: string }