기본 정보
목록과 상세 화면에 함께 노출됩니다.
@olundot/ui · Layout
긴 편집 화면을 제목, 상태, 섹션, 접기 영역, footer로 나누어 폼 흐름을 안정적으로 유지합니다.
목록과 상세 화면에 함께 노출됩니다.
공개일과 마감일을 확인합니다.
import { FormLayout, Input, PageHeader } from "@olundot/ui";
export function CourseForm() {
return (
<FormLayout surface="canvas"
header={<PageHeader title="강의 정보 편집" />}
status="자동 저장 켜짐"
sections={[
{
id: "basic",
title: "기본 정보",
description: "목록과 상세 화면에 함께 노출됩니다.",
columns: 2,
children: <><Input surface="canvas" label="강의명" name="title" /><Input surface="canvas" label="담당자" name="owner" /></>,
},
]}
/>
);
}응시 조건과 채점 기준을 설정합니다.
import { FormLayout, Input, Textarea } from "@olundot/ui";
export function PolicyForm() {
return (
<FormLayout surface="canvas"
header={<h2>평가 정책</h2>}
sections={[
{ id: "grade", title: "채점 기준", children: <Textarea surface="canvas" label="기준" name="grade" /> },
{ id: "advanced", title: "고급 설정", collapsible: true, defaultOpen: false, children: <Input surface="canvas" label="재응시 횟수" name="retry" /> },
]}
/>
);
}긴 편집 영역은 1열로 고정됩니다.
import { FormLayout, Textarea } from "@olundot/ui";
export function RubricEditor() {
return (
<FormLayout surface="canvas"
header={<h2>루브릭 편집</h2>}
editorSectionId="rubric"
sections={[
{ id: "rubric", title: "루브릭 본문", columns: 2, children: <Textarea surface="canvas" label="평가 기준" name="rubric" /> },
]}
/>
);
}