Skip to content

Instantly share code, notes, and snippets.

export const supabaseAuthErrors = {
anonymous_provider_disabled: '匿名サインインが無効です。',
bad_code_verifier:
'提供されたコード検証値が正しいものと一致しません。クライアントライブラリの実装にバグがあります。',
bad_json: 'リクエストのHTTPボディが無効なJSONです。',
bad_jwt: 'Authorizationヘッダーに送信されたJWTが無効です。',
bad_oauth_callback:
'OAuthプロバイダーからAuthへのコールバックに必要な属性が不足しています。OAuthプロバイダーやクライアントライブラリの実装に問題があります。',
bad_oauth_state:
'OAuthプロバイダーからSupabase Authに戻されたOAuth状態が正しい形式ではありません。OAuthプロバイダーの統合に問題があります。',
@dninomiya
dninomiya / package.json
Created April 28, 2024 11:45
supabase-local-scripts
"supabase:generate-types": "bunx supabase gen types typescript --local --schema public > types/database.ts",
"supabase:generate-migration": "bunx supabase db diff | bunx supabase migration new",
"supabase:generate-seed": "bunx supabase db dump --data-only -f supabase/seed.sql",
@dninomiya
dninomiya / package.json
Last active May 10, 2024 08:29
supabase-commands
"supabase:start": "bunx supabase start",
"supabase:stop": "bunx supabase stop",
"supabase:status": "bunx supabase status",
"supabase:restart": "npm run supabase:stop && npm run supabase:start",
"supabase:reset": "bunx supabase reset",
"supabase:link": "bunx supabase link",
"supabase:generate-types": "bunx supabase gen types typescript --local --schema public > types/database.ts",
"supabase:generate-migration": "bunx supabase db diff | bunx supabase migration new",
"supabase:generate-seed": "bunx supabase db dump --local --data-only -f supabase/seed.sql",
"supabase:push": "bunx supabase db push",
git checkout --orphan temp_branch && git add -A && git commit -am "Initial commit" && git branch -D main && git branch -m main
'use client';
import { Controller, useFieldArray, useForm } from 'react-hook-form';
export default function Job() {
const { control } = useForm({
defaultValues: {
emails: [
{
value: '',
@dninomiya
dninomiya / form.tsx
Last active December 6, 2023 09:31
'use client';
import * as z from 'zod';
import { zodResolver } from '@hookform/resolvers/zod';
import { useForm } from 'react-hook-form';
import { Button } from '@/app/components/ui/button';
import {
Form,
FormControl,
FormField,
<DropdownMenuTrigger asChild>
<Button variant="ghost" className="rounded-full w-10 h-10">
<Avatar className="bg-none">
{profile?.image && <AvatarImage src={profile.image} alt="" />}
{profile?.image ? (
<AvatarFallback className="animate-pulse" />
) : (
<AvatarFallback>
<User2 size={20} className="text-muted-foreground" />
</AvatarFallback>
import { PrismaClient } from '@prisma/client';
declare global {
var prisma: PrismaClient | undefined;
}
const prisma = global.prisma || new PrismaClient();
if (process.env.NODE_ENV === 'development') global.prisma = prisma;