Skip to content

Instantly share code, notes, and snippets.

View nickbreaton's full-sized avatar

Nick Breaton nickbreaton

View GitHub Profile
@nickbreaton
nickbreaton / createLazyRouteAction.ts
Last active July 5, 2023 03:42
A small abstract around Solid Start's createRouteAction function to code split action dependencies.
import { createRouteAction, ServerFunctionEvent } from "solid-start";
import { RouteAction } from "solid-start/data/createRouteAction";
interface ActionEvent extends ServerFunctionEvent {}
type Options = Parameters<typeof createRouteAction>[1];
export function createLazyRouteAction<T = void, R = void>(
loader: () => Promise<{
default: (arg: T, event: ActionEvent) => Promise<R> | R
import { supportsPdfs, getPdfBlob, openPdfObjectUrl } from '../utils/pdf'
import { isDesktopChrome, isNativeAndroid } from '../utils/browserChecker'
import { isEmbedded, showNativePdf } from '../utils/embedded'
import navigate from '../utils/navigate'
import Routes from '../routes'
const PdfOpener = ({ children, url, data, mimeType, title = '', fileName }) => {
const dataUrl = `data:${mimeType};base64,${data}`
const openPdf = () => {
if (isEmbedded()) {
@nickbreaton
nickbreaton / machine.js
Last active June 14, 2020 20:22
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions