mirror of
https://github.com/supabase/supabase.git
synced 2026-10-14 05:39:11 +03:00
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? This PR is the final PR for Supabase UI Vue&Nuxt with the Realtime Chat and Infinite Query. ## Additional context Initiative by Terry <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Realtime Chat now available for Vue and Nuxt.js frameworks with full documentation and composables * Added Infinite Query composable for Vue with comprehensive guides * **Documentation** * New Realtime Chat documentation pages for Vue and Nuxt.js * New Infinite Query documentation for Vue * Updated framework support in documentation navigation <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Terry Sutton <saltcod@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
155 lines
4.0 KiB
TypeScript
155 lines
4.0 KiB
TypeScript
import { SidebarNavGroup } from '@/types/nav'
|
|
|
|
export const gettingStarted: SidebarNavGroup = {
|
|
title: 'Getting Started',
|
|
items: [
|
|
{
|
|
title: 'Introduction',
|
|
href: '/docs/getting-started/introduction',
|
|
items: [],
|
|
commandItemLabel: 'Introduction',
|
|
},
|
|
{
|
|
title: 'Quick Start',
|
|
href: '/docs/getting-started/quickstart',
|
|
items: [],
|
|
commandItemLabel: 'Quick Start',
|
|
},
|
|
{
|
|
title: 'FAQ',
|
|
href: '/docs/getting-started/faq',
|
|
items: [],
|
|
commandItemLabel: 'FAQ',
|
|
},
|
|
],
|
|
}
|
|
|
|
export const aiEditorsRules: SidebarNavGroup = {
|
|
title: 'AI Skills',
|
|
items: [
|
|
{
|
|
title: 'Skills',
|
|
href: '/docs/ai-editors-rules/skills',
|
|
items: [],
|
|
new: true,
|
|
commandItemLabel: 'AI Skills',
|
|
},
|
|
],
|
|
}
|
|
|
|
export const platformBlocks: SidebarNavGroup = {
|
|
title: 'Platform',
|
|
items: [
|
|
{
|
|
title: 'Platform Kit',
|
|
href: '/docs/platform/platform-kit',
|
|
items: [],
|
|
commandItemLabel: 'Platform Kit',
|
|
},
|
|
],
|
|
}
|
|
|
|
// Component definitions with supported frameworks
|
|
export const componentPages: SidebarNavGroup = {
|
|
title: 'Components',
|
|
items: [
|
|
{
|
|
title: 'Client',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react', 'vue', 'nuxtjs'],
|
|
href: '/docs/nextjs/client',
|
|
items: [],
|
|
commandItemLabel: 'Supabase Client',
|
|
},
|
|
{
|
|
title: 'Password-Based Auth',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react', 'vue', 'nuxtjs'],
|
|
href: '/docs/nextjs/password-based-auth',
|
|
items: [],
|
|
commandItemLabel: 'Password-Based Auth',
|
|
},
|
|
{
|
|
title: 'Social Auth',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react', 'vue', 'nuxtjs'],
|
|
href: '/docs/nextjs/social-auth',
|
|
items: [],
|
|
new: true,
|
|
commandItemLabel: 'Social Auth',
|
|
},
|
|
{
|
|
title: 'Dropzone',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react', 'vue', 'nuxtjs'],
|
|
href: '/docs/nextjs/dropzone',
|
|
items: [],
|
|
commandItemLabel: 'Dropzone (File Upload)',
|
|
},
|
|
{
|
|
title: 'Realtime Cursor',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react', 'vue', 'nuxtjs'],
|
|
href: '/docs/nextjs/realtime-cursor',
|
|
items: [],
|
|
commandItemLabel: 'Realtime Cursor',
|
|
},
|
|
{
|
|
title: 'Realtime Monaco',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react'],
|
|
href: '/docs/nextjs/realtime-monaco',
|
|
items: [],
|
|
commandItemLabel: 'Realtime Monaco',
|
|
},
|
|
{
|
|
title: 'Current User Avatar',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react', 'vue', 'nuxtjs'],
|
|
href: '/docs/nextjs/current-user-avatar',
|
|
items: [],
|
|
commandItemLabel: 'Current User Avatar',
|
|
},
|
|
{
|
|
title: 'Realtime Avatar Stack',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react', 'vue', 'nuxtjs'],
|
|
href: '/docs/nextjs/realtime-avatar-stack',
|
|
items: [],
|
|
commandItemLabel: 'Realtime Avatar Stack',
|
|
},
|
|
{
|
|
title: 'Realtime Chat',
|
|
supportedFrameworks: ['nextjs', 'react-router', 'tanstack', 'react', 'vue', 'nuxtjs'],
|
|
href: '/docs/nextjs/realtime-chat',
|
|
items: [],
|
|
commandItemLabel: 'Realtime Chat',
|
|
},
|
|
{
|
|
title: 'Infinite Query',
|
|
supportedFrameworks: ['react', 'vue'],
|
|
href: '/docs/react/infinite-query',
|
|
new: true,
|
|
items: [],
|
|
commandItemLabel: 'Infinite Query',
|
|
},
|
|
],
|
|
}
|
|
|
|
export const COMMAND_ITEMS = [
|
|
...gettingStarted.items.map((item) => ({
|
|
label: item.commandItemLabel,
|
|
href: item.href,
|
|
})),
|
|
...aiEditorsRules.items.map((item) => ({
|
|
label: item.commandItemLabel,
|
|
href: item.href,
|
|
})),
|
|
...componentPages.items.map((item) => ({
|
|
label: item.commandItemLabel,
|
|
href: item.href,
|
|
})),
|
|
]
|
|
|
|
// Framework titles for display
|
|
export const frameworkTitles: Record<string, string> = {
|
|
nextjs: 'Next.js',
|
|
'react-router': 'React Router',
|
|
tanstack: 'TanStack Start',
|
|
react: 'React SPA',
|
|
vue: 'Vue',
|
|
nuxtjs: 'Nuxt.js',
|
|
}
|