Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
/packages/shared-data/plans.ts @supabase/billing
/packages/common/telemetry-constants.ts @supabase/growth-eng
/packages/pg-meta @supabase/postgres @avallete
/packages/ui-patterns @supabase/design

/apps/studio/ @supabase/Dashboard

Expand All @@ -19,4 +20,6 @@
/apps/studio/components/interfaces/Organization/Documents/ @supabase/security
/apps/studio/pages/new/index.tsx @supabase/security

/apps/studio/data/sql/queries/ @supabase/postgres @avallete
/apps/studio/data/sql/queries/ @supabase/postgres @avallete

/packages/shared-data/compute-disk-limits.ts @supabase/infra
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,6 @@ gcloud.json
**/.sentryclirc

keys.json

# Playwright MCP
.playwright-mcp/*
3 changes: 0 additions & 3 deletions CODEOWNERS

This file was deleted.

1 change: 1 addition & 0 deletions apps/cms/scripts/migrate.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import payload from 'payload'

// Use a minimal config for migrations to avoid importing the full app graph during build
import payloadConfig from '../src/payload.migrate.config.ts'

Expand Down
1 change: 1 addition & 0 deletions apps/cms/src/access/isAdmin.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { AccessArgs, FieldAccess } from 'payload'

import type { User } from '../payload-types'

type isAdmin = (args: AccessArgs<User>) => boolean
Expand Down
6 changes: 3 additions & 3 deletions apps/cms/src/blocks/Banner/Component.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type { BannerBlock as BannerBlockProps } from '@/payload-types'

import { cn } from '@/utilities/ui'
import React from 'react'

import RichText from '@/components/RichText'
import type { BannerBlock as BannerBlockProps } from '@/payload-types'
import { cn } from '@/utilities/ui'

type Props = {
className?: string
Expand Down
3 changes: 1 addition & 2 deletions apps/cms/src/blocks/Banner/config.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import type { Block } from 'payload'

import {
FixedToolbarFeature,
InlineToolbarFeature,
lexicalEditor,
} from '@payloadcms/richtext-lexical'
import type { Block } from 'payload'

export const Banner: Block = {
slug: 'banner',
Expand Down
2 changes: 2 additions & 0 deletions apps/cms/src/blocks/Code/Component.client.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
'use client'

import { Highlight, themes } from 'prism-react-renderer'
import React from 'react'

import { CopyButton } from './CopyButton'

type Props = {
Expand Down
4 changes: 3 additions & 1 deletion apps/cms/src/blocks/Code/CopyButton.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
'use client'
import { Button } from '@/components/ui/button'

import { CopyIcon } from '@payloadcms/ui/icons/Copy'
import { useState } from 'react'

import { Button } from '@/components/ui/button'

export function CopyButton({ code }: { code: string }) {
const [text, setText] = useState('Copy')

Expand Down
8 changes: 3 additions & 5 deletions apps/cms/src/blocks/MediaBlock/Component.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
import type { StaticImageData } from 'next/image'

import { cn } from '@/utilities/ui'
import React from 'react'
import RichText from '@/components/RichText'

import type { MediaBlock as MediaBlockProps } from '@/payload-types'

import { Media } from '../../components/Media'
import RichText from '@/components/RichText'
import type { MediaBlock as MediaBlockProps } from '@/payload-types'
import { cn } from '@/utilities/ui'

type Props = MediaBlockProps & {
breakout?: boolean
Expand Down
4 changes: 2 additions & 2 deletions apps/cms/src/blocks/Quote/Component.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { QuoteBlock as QuoteBlockProps } from '@/payload-types'

import React from 'react'

import type { QuoteBlock as QuoteBlockProps } from '@/payload-types'

type Props = {
className?: string
} & QuoteBlockProps
Expand Down
4 changes: 2 additions & 2 deletions apps/cms/src/blocks/YouTube/Component.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { YouTubeBlock as YouTubeBlockProps } from '@/payload-types'
import React from 'react'

import type { YouTubeBlock as YouTubeBlockProps } from '@/payload-types'
import { cn } from '@/utilities/ui'
import React from 'react'

type Props = {
className?: string
Expand Down
1 change: 1 addition & 0 deletions apps/cms/src/collections/Categories.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { CollectionConfig } from 'payload'

import { isAdmin } from '../access/isAdmin'

export const Categories: CollectionConfig = {
Expand Down
21 changes: 9 additions & 12 deletions apps/cms/src/collections/Customers/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import type { CollectionConfig } from 'payload'

import {
MetaDescriptionField,
MetaImageField,
MetaTitleField,
OverviewField,
PreviewField,
} from '@payloadcms/plugin-seo/fields'
import {
BlocksFeature,
FixedToolbarFeature,
Expand All @@ -8,26 +13,18 @@ import {
InlineToolbarFeature,
lexicalEditor,
} from '@payloadcms/richtext-lexical'
import type { CollectionConfig } from 'payload'

import { isAnyone } from '../../access/isAnyone.ts'
import { isAuthenticated } from '../../access/isAuthenticated.ts'

import { Banner } from '../../blocks/Banner/config.ts'
import { Code } from '../../blocks/Code/config.ts'
import { MediaBlock } from '../../blocks/MediaBlock/config.ts'
import { Quote } from '../../blocks/Quote/config.ts'
import { YouTube } from '../../blocks/YouTube/config.ts'
import { revalidateDelete, revalidateCustomer } from './hooks/revalidateCustomer.ts'

import {
MetaDescriptionField,
MetaImageField,
MetaTitleField,
OverviewField,
PreviewField,
} from '@payloadcms/plugin-seo/fields'
import { slugField } from '../../fields/slug/index.ts'
import { WWW_SITE_ORIGIN } from '../../utilities/constants.ts'
import { revalidateCustomer, revalidateDelete } from './hooks/revalidateCustomer.ts'

const industryOptions = [
{ label: 'Healthcare', value: 'healthcare' },
Expand Down
23 changes: 10 additions & 13 deletions apps/cms/src/collections/Events/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import type { CollectionConfig } from 'payload'

import {
MetaDescriptionField,
MetaImageField,
MetaTitleField,
OverviewField,
PreviewField,
} from '@payloadcms/plugin-seo/fields'
import {
BlocksFeature,
FixedToolbarFeature,
Expand All @@ -8,27 +13,19 @@ import {
InlineToolbarFeature,
lexicalEditor,
} from '@payloadcms/richtext-lexical'
import type { CollectionConfig } from 'payload'

import { isAnyone } from '../../access/isAnyone.ts'
import { isAuthenticated } from '../../access/isAuthenticated.ts'

import { Banner } from '../../blocks/Banner/config.ts'
import { Code } from '../../blocks/Code/config.ts'
import { MediaBlock } from '../../blocks/MediaBlock/config.ts'
import { Quote } from '../../blocks/Quote/config.ts'
import { YouTube } from '../../blocks/YouTube/config.ts'
import { revalidateDelete, revalidateEvent } from './hooks/revalidateEvent.ts'

import {
MetaDescriptionField,
MetaImageField,
MetaTitleField,
OverviewField,
PreviewField,
} from '@payloadcms/plugin-seo/fields'
import { slugField } from '../../fields/slug/index.ts'
import { timezoneOptions } from '../../utilities/timezones.ts'
import { WWW_SITE_ORIGIN } from '../../utilities/constants.ts'
import { timezoneOptions } from '../../utilities/timezones.ts'
import { revalidateDelete, revalidateEvent } from './hooks/revalidateEvent.ts'

const eventTypeOptions = [
{ label: 'Conference', value: 'conference' },
Expand Down
2 changes: 1 addition & 1 deletion apps/cms/src/collections/Media.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import type { CollectionConfig } from 'payload'
import {
FixedToolbarFeature,
InlineToolbarFeature,
lexicalEditor,
} from '@payloadcms/richtext-lexical'
import type { CollectionConfig } from 'payload'

import { isAnyone } from '../access/isAnyone.ts'
import { isAuthenticated } from '../access/isAuthenticated.ts'
Expand Down
1 change: 1 addition & 0 deletions apps/cms/src/collections/Posts/hooks/populateAuthors.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { CollectionAfterReadHook } from 'payload'

import type { Author } from '../../../payload-types'

export const populateAuthors: CollectionAfterReadHook = async ({ doc, req: { payload } }) => {
Expand Down
23 changes: 10 additions & 13 deletions apps/cms/src/collections/Posts/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import type { CollectionConfig } from 'payload'

import {
MetaDescriptionField,
MetaImageField,
MetaTitleField,
OverviewField,
PreviewField,
} from '@payloadcms/plugin-seo/fields'
import {
BlocksFeature,
FixedToolbarFeature,
Expand All @@ -8,27 +13,19 @@ import {
InlineToolbarFeature,
lexicalEditor,
} from '@payloadcms/richtext-lexical'
import type { CollectionConfig } from 'payload'

import { isAnyone } from '../../access/isAnyone.ts'
import { isAuthenticated } from '../../access/isAuthenticated.ts'

import { Banner } from '../../blocks/Banner/config.ts'
import { Code } from '../../blocks/Code/config.ts'
import { MediaBlock } from '../../blocks/MediaBlock/config.ts'
import { Quote } from '../../blocks/Quote/config.ts'
import { YouTube } from '../../blocks/YouTube/config.ts'
import { populateAuthors } from './hooks/populateAuthors.ts'
import { revalidateDelete, revalidatePost } from './hooks/revalidatePost.ts'

import {
MetaDescriptionField,
MetaImageField,
MetaTitleField,
OverviewField,
PreviewField,
} from '@payloadcms/plugin-seo/fields'
import { slugField } from '../../fields/slug/index.ts'
import { WWW_SITE_ORIGIN } from '../../utilities/constants.ts'
import { populateAuthors } from './hooks/populateAuthors.ts'
import { revalidateDelete, revalidatePost } from './hooks/revalidatePost.ts'

const launchweekOptions = [
{ label: '6', value: '6' },
Expand Down
1 change: 1 addition & 0 deletions apps/cms/src/collections/Users.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { CollectionConfig } from 'payload'

import { isAdmin, isAdminFieldLevel } from '../access/isAdmin.ts'
import { isAdminOrSelf } from '../access/isAdminOrSelf.ts'

Expand Down
7 changes: 3 additions & 4 deletions apps/cms/src/components/AdminBar/index.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
'use client'

import type { PayloadAdminBarProps, PayloadMeUser } from '@payloadcms/admin-bar'

import { cn } from '@/utilities/ui'
import { useSelectedLayoutSegments } from 'next/navigation'
import { PayloadAdminBar } from '@payloadcms/admin-bar'
import { useRouter, useSelectedLayoutSegments } from 'next/navigation'
import React, { useState } from 'react'
import { useRouter } from 'next/navigation'

import { cn } from '@/utilities/ui'

import './index.scss'

Expand Down
8 changes: 4 additions & 4 deletions apps/cms/src/components/Card/index.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
'use client'
import { cn } from '@/utilities/ui'
import useClickableCard from '@/utilities/useClickableCard'

import Link from 'next/link'
import React, { Fragment } from 'react'

import type { Post } from '@/payload-types'

import { Media } from '@/components/Media'
import type { Post } from '@/payload-types'
import { cn } from '@/utilities/ui'
import useClickableCard from '@/utilities/useClickableCard'

export type CardPostData = Pick<Post, 'slug' | 'categories' | 'meta' | 'title'>

Expand Down
2 changes: 1 addition & 1 deletion apps/cms/src/components/CollectionArchive/index.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { cn } from '@/utilities/ui'
import React from 'react'

import { Card, CardPostData } from '@/components/Card'
import { cn } from '@/utilities/ui'

export type Props = {
posts: CardPostData[]
Expand Down
4 changes: 2 additions & 2 deletions apps/cms/src/components/Link/index.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Button, type ButtonProps } from '@/components/ui/button'
import { cn } from '@/utilities/ui'
import Link from 'next/link'
import React from 'react'

import { Button, type ButtonProps } from '@/components/ui/button'
import type { Post } from '@/payload-types'
import { cn } from '@/utilities/ui'

type CMSLinkType = {
appearance?: 'inline' | ButtonProps['variant']
Expand Down
4 changes: 3 additions & 1 deletion apps/cms/src/components/LivePreviewListener/index.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
'use client'
import { getClientSideURL } from '@/utilities/getURL'

import { RefreshRouteOnSave as PayloadLivePreview } from '@payloadcms/live-preview-react'
import { useRouter } from 'next/navigation'
import React from 'react'

import { getClientSideURL } from '@/utilities/getURL'

export const LivePreviewListener: React.FC = () => {
const router = useRouter()
return <PayloadLivePreview refresh={router.refresh} serverURL={getClientSideURL()} />
Expand Down
4 changes: 1 addition & 3 deletions apps/cms/src/components/Media/ImageMedia/index.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
'use client'

import type { StaticImageData } from 'next/image'

import { cn } from '@/utilities/ui'
import NextImage from 'next/image'
import React from 'react'

import type { Props as MediaProps } from '../types'

import { cssVariables } from '@/cssVariables'
import { getClientSideURL } from '@/utilities/getURL'
import { cn } from '@/utilities/ui'

const { breakpoints } = cssVariables

Expand Down
3 changes: 1 addition & 2 deletions apps/cms/src/components/Media/VideoMedia/index.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
'use client'

import { cn } from '@/utilities/ui'
import React, { useEffect, useRef } from 'react'

import type { Props as MediaProps } from '../types'

import { getClientSideURL } from '@/utilities/getURL'
import { cn } from '@/utilities/ui'

export const VideoMedia: React.FC<MediaProps> = (props) => {
const { onClick, resource, videoClassName } = props
Expand Down
3 changes: 1 addition & 2 deletions apps/cms/src/components/Media/index.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import React, { Fragment } from 'react'

import type { Props } from './types'

import { ImageMedia } from './ImageMedia'
import type { Props } from './types'
import { VideoMedia } from './VideoMedia'

export const Media: React.FC<Props> = (props) => {
Expand Down
Loading
Loading