예외: <PageContainer fullBleed>로 명시.{' '}
-m-4, -mx-4 같은 negative margin 해킹 금지.
w-48, flex-1 등)
허용:{' '}
<Badge intent="info" className="w-full justify-center">
금지:{' '}
<Badge className="bg-red-500 text-white">{' '}
— intent prop을 대체하려 하지 말 것
style={`{{ background: role.colorHex }}`}{' '}
인라인 허용
getAlertLevelHex(level) 같은 카탈로그 API에서 hex 조회
!important prefix (!bg-red-500)className="bg-X text-Y"로 Badge 스타일을 재정의<button className="bg-blue-600 ..."> — Button 컴포넌트 사용 필수<input className="bg-surface ..."> — Input 컴포넌트 사용 필수p-4 space-y-5 같은 제각각 padding — PageContainer size 사용-m-4, -mx-4 negative margin 해킹 — fullBleed 사용const STATUS_COLORS = {`{...}`} 로컬 상수 정의 — shared/constants 카탈로그 사용date.toLocaleString('ko-KR', ...) 직접 호출 — formatDateTime 사용
{`import { PageContainer, PageHeader, Section } from '@shared/components/layout';
import { Button } from '@shared/components/ui/button';
import { Input } from '@shared/components/ui/input';
import { Badge } from '@shared/components/ui/badge';
import { getAlertLevelIntent, getAlertLevelLabel } from '@shared/constants/alertLevels';
import { formatDateTime } from '@shared/utils/dateFormat';
import { Shield, Plus } from 'lucide-react';
import { useTranslation } from 'react-i18next';
export function MyNewPage() {
const { t, i18n } = useTranslation('common');
const lang = i18n.language as 'ko' | 'en';
return (
}>
추가
}
/>
{getAlertLevelLabel('HIGH', t, lang)}
{formatDateTime(row.createdAt)}
);
}`}