import { Button, Column, Grid, Heading, LoadingButton, Row, Text, TextField, } from '@umami/react-zen'; import { IconLabel } from '@/components/common/IconLabel'; import { LinkButton } from '@/components/common/LinkButton'; import { PageHeader } from '@/components/common/PageHeader'; import { useBoard, useMessages, useNavigation, useWebsiteQuery } from '@/components/hooks'; import { Edit } from '@/components/icons'; import { WebsiteSelect } from '@/components/input/WebsiteSelect'; export function BoardHeader() { const { board, editing } = useBoard(); if (editing) { return ; } return ; } function BoardViewHeader() { const { board } = useBoard(); const { renderUrl } = useNavigation(); const { formatMessage, labels } = useMessages(); const { data: website } = useWebsiteQuery(board?.parameters?.websiteId); return ( {website?.name && {website.name}} }>{formatMessage(labels.edit)} ); } function BoardEditHeader() { const { board, updateBoard, saveBoard, isPending } = useBoard(); const { formatMessage, labels } = useMessages(); const { router, renderUrl } = useNavigation(); const defaultName = formatMessage(labels.untitled); const handleNameChange = (value: string) => { updateBoard({ name: value }); }; const handleDescriptionChange = (value: string) => { updateBoard({ description: value }); }; const handleWebsiteChange = (websiteId: string) => { updateBoard({ parameters: { ...board.parameters, websiteId } }); }; const handleSave = async () => { await saveBoard(); if (board.id) { router.push(renderUrl(`/boards/${board.id}`)); } }; const handleCancel = () => { if (board.id) { router.push(renderUrl(`/boards/${board.id}`)); } else { router.push(renderUrl('/boards')); } }; return ( {board?.name} {board?.description} {formatMessage(labels.website)} {formatMessage(labels.save)} ); }