'use client'; // Copyright 2026 Arctel.net // SPDX-License-Identifier: Apache-2.0 import * as React from 'react'; import { useTranslations } from 'next-intl'; import { Code } from 'lucide-react'; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '@/components/ui/card'; import { Label } from '@/components/ui/label'; import { Input } from '@/components/ui/input'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select'; import { Checkbox } from '@/components/ui/checkbox'; import { Button } from '@/components/ui/button'; export function ControlsTab() { const rt = useTranslations('runtime'); const t = useTranslations('admin.demo.controls'); const [formData, setFormData] = React.useState({ name: '', category: 'database', allowNotify: true, channel: 'all', }); return (
{/* 控件展示 */} {t('formDemoTitle')} {t('formDemoDesc')} {/* 输入框 */}
setFormData((prev) => ({ ...prev, name: e.target.value })) } placeholder={t('taskNamePlaceholder')} className='h-8 text-xs shadow-none bg-background focus-visible:ring-1' />

{t('taskNameHint')}

{/* 下拉框 */}
{/* 多选框 Checkbox */}
setFormData((prev) => ({ ...prev, allowNotify: checked === true, })) } className='mt-0.5' />

{t('allowNotifyDesc')}

{/* 按钮变体 */}
{t('buttonStyles')}
{/* 控件设计规范说明 */} {t('formDesignSpec')}

{t('spec.unifiedHeight')}

{rt('inputs_fabee312')} Input {rt('and_selectors_e4875cdf')} SelectTrigger {rt('should_share_the_compact_height_f1fe2218')}{' '} h-8 {rt('with_font_size_e7c29991')}{' '} text-xs {rt('and_use_ca398a12')}{' '} shadow-none {' '} {rt('to_remove_overlapping_native_shadows_dd65b475')}

{t('spec.checkboxAlignment')}

{rt('align_checkboxes_toward_the_top_left_using_092dcef0')}{' '} flex items-start gap-2.5 {' '} {rt('add_bf15da3a')}{' '} mt-0.5 {rt('to_the_checkbox_so_multiline_descriptions_stay_1bb85c4b')}

{t('spec.buttonStrategy')}

{rt('use_the_default_primary_or_secondary_db7513e5')}{' '} {'variant="secondary"'} {' '} {rt('button_for_forms_and_create_save_actions_a657dba8')}{' '} h-8 text-xs {rt('outline_buttons_must_include_the_66ace005')}{' '} border-dashed shadow-none {' '} {rt('class_43eff5ff')}

{rt('1_align_label_and_input_32d4558d')}
{rt.raw('div_classname_space_y_1_5_label_32230ad7')}
{rt('2_align_checkbox_to_the_top_bdf68ad8')}
{rt.raw('div_classname_flex_items_start_gap_2_ccf0d526')}
); }