mirror of
https://github.com/supabase/supabase.git
synced 2026-10-15 22:29:11 +03:00
* Fix the v0 button. Add some more docs. (+13 squashed commits) Squashed commits: [cc5954779e] Add success state to the forgot-password form. [258bfb1015] Simplify the tanstack auth block. [1ba5c223d9] Add missing pages to the nextjs auth. [b842e4acec] Fix the env vars in the React client. [2a2bcc5356] Fix the command URL. [a26a2d36c2] Add a tanstack block for password-based auth. [d68881f0d5] Fix the tanstack client. [1fd2e16d96] Add missing deps to satisfy TS build. [9797d745df] Various fixes. [3e9b676e99] Fix the registryBlock component. [540a5d600b] Set the supabase project for testing. [3eba892c92] Regenerate the llms.txt file. [bf526a0ecb] Regenerate the registry files. * Add current user avatar. * Add RealtimeAvatarStack. * Use the fields which are populated by Auth. * Regenerate the registry files. * Fix the imports. * Rebuild the registry files. Add a github login to the supabase config. * Minor fixes for the components. * Minor fix to the avatar stack. * Remove peekCode, show showCode prop to component preview. * Add examples for avatar stack and current user avatar. * Use the new generatenames function in the cursors. * Add documentation for avatar stack and avatar. * Switch the profile images. * Fix a type error. * More fixes.
35 lines
3.0 KiB
JSON
35 lines
3.0 KiB
JSON
{
|
|
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
"name": "current-user-avatar-react",
|
|
"type": "registry:component",
|
|
"title": "Current User Avatar",
|
|
"description": "Component which renders the current user's avatar.",
|
|
"dependencies": [
|
|
"@supabase/supabase-js@latest"
|
|
],
|
|
"registryDependencies": [
|
|
"avatar"
|
|
],
|
|
"files": [
|
|
{
|
|
"path": "registry/default/blocks/current-user-avatar/components/current-user-avatar.tsx",
|
|
"content": "'use client'\n\nimport { useCurrentUserImage } from '@/registry/default/blocks/current-user-avatar/hooks/use-current-user-image'\nimport { useCurrentUserName } from '@/registry/default/blocks/current-user-avatar/hooks/use-current-user-name'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/registry/default/components/ui/avatar'\n\nexport const CurrentUserAvatar = () => {\n const profileImage = useCurrentUserImage()\n const name = useCurrentUserName()\n const initials = name\n ?.split(' ')\n ?.map((word) => word[0])\n ?.join('')\n ?.toUpperCase()\n\n return (\n <Avatar>\n {profileImage && <AvatarImage src={profileImage} alt={initials} />}\n <AvatarFallback>{initials}</AvatarFallback>\n </Avatar>\n )\n}\n",
|
|
"type": "registry:component"
|
|
},
|
|
{
|
|
"path": "registry/default/blocks/current-user-avatar/hooks/use-current-user-name.ts",
|
|
"content": "import { createClient } from '@/registry/default/clients/nextjs/lib/supabase/client'\nimport { useEffect, useState } from 'react'\n\nexport const useCurrentUserName = () => {\n const [name, setName] = useState<string | null>(null)\n\n useEffect(() => {\n const fetchProfileName = async () => {\n const { data, error } = await createClient().auth.getSession()\n if (error) {\n console.error(error)\n }\n\n setName(data.session?.user.user_metadata.full_name ?? '?')\n }\n\n fetchProfileName()\n }, [])\n\n return name || '?'\n}\n",
|
|
"type": "registry:hook"
|
|
},
|
|
{
|
|
"path": "registry/default/blocks/current-user-avatar/hooks/use-current-user-image.ts",
|
|
"content": "import { createClient } from '@/registry/default/clients/nextjs/lib/supabase/client'\nimport { useEffect, useState } from 'react'\n\nexport const useCurrentUserImage = () => {\n const [image, setImage] = useState<string | null>(null)\n\n useEffect(() => {\n const fetchUserImage = async () => {\n const { data, error } = await createClient().auth.getSession()\n if (error) {\n console.error(error)\n }\n\n setImage(data.session?.user.user_metadata.avatar_url ?? null)\n }\n fetchUserImage()\n }, [])\n\n return image\n}\n",
|
|
"type": "registry:hook"
|
|
},
|
|
{
|
|
"path": "registry/default/clients/react/lib/supabase/client.ts",
|
|
"content": "import { createClient as createSupabaseClient } from '@supabase/supabase-js'\n\nexport function createClient() {\n return createSupabaseClient(\n import.meta.env.VITE_SUPABASE_URL!,\n import.meta.env.VITE_SUPABASE_ANON_KEY!\n )\n}\n",
|
|
"type": "registry:lib"
|
|
}
|
|
]
|
|
} |