mirror of
https://github.com/supabase/supabase.git
synced 2026-09-06 09:59:03 +08:00
## Context Sets up infinite loading for notebooks with the `InfiniteListDefault` component Also adds the notebook and chats count on the explorer home nav <img width="275" height="137" alt="image" src="https://github.com/user-attachments/assets/c3f16e8f-f520-4107-a188-43b1abcca043" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Explorer navigation now displays accurate notebook and chat counts. * Notebook lists support infinite scrolling, loading indicators, and improved active-state styling. * Notebook navigation remains available as additional items load. * **Bug Fixes** * Corrected default markdown cell formatting by removing unintended leading spaces from headings and notes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import { untrustedSql } from '@supabase/pg-meta'
|
|
|
|
import { DEFAULT_CELL_ROW_LIMIT } from './QueryCell/QueryCell.utils'
|
|
import { generateDraftId } from '@/data/content/notebooks/notebook-schema'
|
|
import { untrustedLogSql } from '@/data/logs/safe-analytics-sql'
|
|
import type { Notebooks } from '@/types'
|
|
|
|
export const createQueryCellSkeleton = ({ title, sql }: { title?: string; sql?: string } = {}) => {
|
|
return {
|
|
title,
|
|
_tag: 'database_cell' as const,
|
|
_id: generateDraftId(),
|
|
view: 'table' as const,
|
|
chart: undefined,
|
|
unchecked_sql: untrustedSql(sql ?? ''),
|
|
row_limit: DEFAULT_CELL_ROW_LIMIT,
|
|
}
|
|
}
|
|
|
|
const DEFAULT_LOG_TIME_RANGE: Notebooks.TimeRange = {
|
|
_tag: 'relative_time_range',
|
|
unit: 'hour',
|
|
amount: 1,
|
|
}
|
|
|
|
export const createLogCellSkeleton = ({
|
|
sql,
|
|
title,
|
|
time_range = DEFAULT_LOG_TIME_RANGE,
|
|
}: { sql?: string; title?: string; time_range?: Notebooks.TimeRange } = {}) => {
|
|
return {
|
|
title,
|
|
_tag: 'log_cell' as const,
|
|
_id: generateDraftId(),
|
|
view: 'table' as const,
|
|
chart: undefined,
|
|
unchecked_sql: untrustedLogSql(sql ?? ''),
|
|
time_range,
|
|
}
|
|
}
|
|
|
|
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: generateDraftId(),
|
|
text: content,
|
|
}
|
|
}
|