mirror of
https://github.com/supabase/supabase.git
synced 2026-10-08 19:05:06 +03:00
## Context Related to Explorer/Notebooks - this PR adds the functionality to add / remove cells Separately - am thinking we can shift a lot of the "cell update" logic into notebook-state, mainly so that each UI component doesn't need to be aware of the notebook's `cells` but just its own cell. I'll do it separately though to prevent bloating this PR, already left comments where i think can be refactored <img width="250" alt="image" src="https://github.com/user-attachments/assets/91aae5f9-07b9-4327-8e21-8e9d71098aa6" /> <img width="250" alt="image" src="https://github.com/user-attachments/assets/677de208-5c52-4155-90c6-bc0879070693" /> <img width="250" alt="image" src="https://github.com/user-attachments/assets/17c3dae7-87bc-40bb-bfa0-15df101006ce" /> <img width="1091" height="262" alt="image" src="https://github.com/user-attachments/assets/a09c3d23-696a-4b55-a1f8-4602e56a60dc" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## New Features - Add query and Markdown cells directly within notebooks. - Move, remove, and reorder cells using drag-and-drop or cell controls. - Add cells from empty states and notebook toolbar actions. - Edit Markdown cells, mark edits as complete, and see placeholders for empty content. ## Improvements - Cell controls and hover interactions are more consistent and responsive. - Moving cells is disabled at the top or bottom of a notebook. - Sample cells now use standardized content and formatting. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
32 lines
698 B
TypeScript
32 lines
698 B
TypeScript
import { untrustedSql } from '@supabase/pg-meta'
|
|
|
|
import { generateUuid } from '@/lib/api/snippets.browser'
|
|
|
|
export const createQueryCellSkeleton = ({ sql }: { sql?: string } = {}) => {
|
|
return {
|
|
_tag: 'database_cell' as const,
|
|
id: generateUuid(),
|
|
view: 'table' as const,
|
|
chart: undefined,
|
|
unchecked_sql: untrustedSql(sql ?? ''),
|
|
row_limit: 100,
|
|
}
|
|
}
|
|
|
|
const DEFAULT_MARKDOWN_CONTENT = `
|
|
# New section
|
|
Add notes about your queries and results
|
|
`.trim()
|
|
|
|
export const createMarkdownCellSkeleton = ({
|
|
content = DEFAULT_MARKDOWN_CONTENT,
|
|
}: {
|
|
content?: string
|
|
} = {}) => {
|
|
return {
|
|
_tag: 'markdown_cell' as const,
|
|
id: generateUuid(),
|
|
text: content,
|
|
}
|
|
}
|