Skip to content

Instantly share code, notes, and snippets.

View dev-xo's full-sized avatar
🪴

Daniel Kanem dev-xo

🪴
View GitHub Profile
@dev-xo
dev-xo / login.tsx
Last active April 1, 2024 23:42
Remix Auth TOTP - Single-Route Authentication
import type { LoaderFunctionArgs, ActionFunctionArgs } from '@remix-run/node'
import { Form, useLoaderData } from '@remix-run/react'
import { json } from '@remix-run/node'
// Authenticator / Email Templates:
// https://github.com/dev-xo/totp-starter-example/tree/main/app/modules
import { authenticator } from '~/modules/auth/auth.server.ts'
import { getSession, commitSession } from '~/modules/auth/auth-session.server.ts'
export async function loader({ request }: LoaderFunctionArgs) {
await authenticator.isAuthenticated(request, {
@dev-xo
dev-xo / stripe-payment.tsx
Last active June 29, 2024 15:26
Stripe Checkout - One time payments.
import type { DataFunctionArgs } from '@remix-run/node'
import { json, redirect } from '@remix-run/node'
import { Form } from '@remix-run/react'
import Stripe from 'stripe'
export async function loader({ request }: DataFunctionArgs) {
// Gets params from URL.
const url = new URL(request.url)
const userId = url.searchParams.get('userId')
const successPayment = url.searchParams.get('success')