Skip to content

Instantly share code, notes, and snippets.

View Joeldorne's full-sized avatar

Joel Dorne Joeldorne

  • storealign
  • London
View GitHub Profile
@Joeldorne
Joeldorne / server-action.js
Created June 28, 2024 12:36
Supabase Server Action
"use server"
import { createClient } from '@supabase/supabase-js'
// Make sure to set these environment variables
const supabase = createClient(process.env.SUPABASE_URL!, process.env.SUPABASE_SERVICE_ROLE_KEY!)
export async function submitForm(data: { name: string, email: string }) {
const { data: result, error } = await supabase
.from('your_table_name') // Replace with your actual table name
@Joeldorne
Joeldorne / form.js
Created June 28, 2024 12:35
Client Side Component - TanStack Form
"use client"
import { useForm } from "@tanstack/react-form"
import { zodValidator } from "@tanstack/zod-form-adapter"
import { z } from "zod"
import { submitForm } from "./actions" // Make sure to create this file with the server action
import { useState } from "react"
const formSchema = z.object({
name: z.string().min(2, "Name must be at least 2 characters"),
//{schema.fields.map((field) => (
"use client";
import { zodValidator } from "@tanstack/zod-form-adapter";
import { z } from "zod";
import type { FieldApi } from "@tanstack/react-form";
import { useForm, formOptions } from "@tanstack/react-form";
function FieldInfo({ field }: { field: FieldApi<any, any, any, any> }) {
return (
import React from 'react';
import { useForm } from 'react-hook-form';
import { zodResolver } from '@hookform/resolvers/zod';
import { z } from 'zod';
// Example JSON schema for form fields
const jsonSchema = {
fields: [
{
name: 'name',
import React from 'react';
import { Formik, Form, Field, ErrorMessage } from 'formik';
import { z } from 'zod';
// Example JSON schema for form fields
const jsonSchema = {
fields: [
{
name: 'name',
type: 'text',