Frameworks

React (Vite)

A React + Vite app with sign-in and database queries.

This page is available in Polish only for now. The commands, code and API calls below are the same in every language — an English translation is on its way. Open the Polish page

Instalacja

npm create vite@latest moja-apka -- --template react-ts
cd moja-apka
npm install @supabase/supabase-js

Konfiguracja

# .env
VITE_SUPABASE_URL=https://abcdefghijklmnopqrst.host.ulewicz.space
VITE_SUPABASE_ANON_KEY=eyJhbGciOi...
// src/supabase.ts
import { createClient } from "@supabase/supabase-js";

export const supabase = createClient(
  import.meta.env.VITE_SUPABASE_URL,
  import.meta.env.VITE_SUPABASE_ANON_KEY
);

Sesja użytkownika

import { useEffect, useState } from "react";
import type { Session } from "@supabase/supabase-js";
import { supabase } from "./supabase";

export function useSession() {
  const [session, setSession] = useState<Session | null>(null);
  useEffect(() => {
    supabase.auth.getSession().then(({ data }) => setSession(data.session));
    const { data: sub } = supabase.auth.onAuthStateChange((_e, s) => setSession(s));
    return () => sub.subscription.unsubscribe();
  }, []);
  return session;
}

Zapytania

const { data, error } = await supabase
  .from("todos")
  .insert({ task: "Kupić mleko" })
  .select()
  .single();

Pamiętaj: w aplikacji SPA używaj wyłącznie klucza anon i zabezpieczaj dane politykami RLS.