mirror of
https://github.com/supabase/supabase.git
synced 2026-10-16 06:39:09 +03:00
83 lines
2.5 KiB
TypeScript
83 lines
2.5 KiB
TypeScript
import type { ContentFileProps } from 'components/interfaces/Connect/Connect.types'
|
|
|
|
import {
|
|
ConnectTabs,
|
|
ConnectTabTriggers,
|
|
ConnectTabTrigger,
|
|
ConnectTabContent,
|
|
} from 'components/interfaces/Connect/ConnectTabs'
|
|
import { SimpleCodeBlock } from 'ui'
|
|
|
|
const ContentFile = ({ projectKeys }: ContentFileProps) => {
|
|
return (
|
|
<ConnectTabs>
|
|
<ConnectTabTriggers>
|
|
<ConnectTabTrigger value=".env.local" />
|
|
<ConnectTabTrigger value="src/lib/supabaseClient.js" />
|
|
<ConnectTabTrigger value="src/routes/+page.server.js" />
|
|
<ConnectTabTrigger value="src/routes/+page.svelte" />
|
|
</ConnectTabTriggers>
|
|
|
|
<ConnectTabContent value=".env.local">
|
|
<SimpleCodeBlock className="bash" parentClassName="min-h-72">
|
|
{[
|
|
'',
|
|
`PUBLIC_SUPABASE_URL=${projectKeys.apiUrl ?? 'your-project-url'}`,
|
|
projectKeys?.publishableKey
|
|
? `PUBLIC_SUPABASE_PUBLISHABLE_DEFAULT_KEY=${projectKeys.publishableKey}`
|
|
: `PUBLIC_SUPABASE_ANON_KEY=${projectKeys.anonKey ?? 'your-anon-key'}`,
|
|
'',
|
|
].join('\n')}
|
|
</SimpleCodeBlock>
|
|
</ConnectTabContent>
|
|
|
|
<ConnectTabContent value="src/lib/supabaseClient.js">
|
|
<SimpleCodeBlock className="js" parentClassName="min-h-72">
|
|
{`
|
|
import { createClient } from "@supabase/supabase-js";
|
|
import { PUBLIC_SUPABASE_URL, ${projectKeys.publishableKey ? 'PUBLIC_SUPABASE_PUBLISHABLE_DEFAULT_KEY' : 'PUBLIC_SUPABASE_ANON_KEY'} } from "$env/static/public"
|
|
|
|
const supabaseUrl = PUBLIC_SUPABASE_URL;
|
|
const supabaseKey = ${projectKeys.publishableKey ? 'PUBLIC_SUPABASE_PUBLISHABLE_DEFAULT_KEY' : 'PUBLIC_SUPABASE_ANON_KEY'};
|
|
|
|
export const supabase = createClient(supabaseUrl, supabaseKey);
|
|
`}
|
|
</SimpleCodeBlock>
|
|
</ConnectTabContent>
|
|
|
|
<ConnectTabContent value="src/routes/+page.server.js">
|
|
<SimpleCodeBlock className="js" parentClassName="min-h-72">
|
|
{`
|
|
import { supabase } from "$lib/supabaseClient";
|
|
|
|
export async function load() {
|
|
const { data } = await supabase.from("countries").select();
|
|
return {
|
|
countries: data ?? [],
|
|
};
|
|
}
|
|
`}
|
|
</SimpleCodeBlock>
|
|
</ConnectTabContent>
|
|
|
|
<ConnectTabContent value="src/routes/+page.svelte">
|
|
<SimpleCodeBlock className="html" parentClassName="min-h-72">
|
|
{`
|
|
<script>
|
|
export let data;
|
|
</script>
|
|
|
|
<ul>
|
|
{#each data.countries as country}
|
|
<li>{country.name}</li>
|
|
{/each}
|
|
</ul>
|
|
`}
|
|
</SimpleCodeBlock>
|
|
</ConnectTabContent>
|
|
</ConnectTabs>
|
|
)
|
|
}
|
|
|
|
export default ContentFile
|