검증게시판 기능 추가

This commit is contained in:
Macbook
2026-05-27 15:41:19 +09:00
parent 7a0af36b9b
commit 63693d47c0
57 changed files with 4480 additions and 14 deletions
+35 -1
View File
@@ -142,6 +142,8 @@ interface SettingsPageProps {
displayTimezone?: string;
onDisplayTimezoneChange?: (tz: string) => void;
menuPermissions?: Record<string, boolean>;
verificationIssueNotify?: boolean;
onVerificationIssueNotify?: (v: boolean) => void;
trendSearchSettings?: TrendSearchAppSettings;
onTrendSearchSettingsChange?: (s: TrendSearchAppSettings) => void;
}
@@ -534,7 +536,16 @@ const PaperPanel: React.FC<PaperPanelProps> = ({
const GeneralPanel: React.FC<{
displayTimezone: string;
onDisplayTimezoneChange: (tz: string) => void;
}> = ({ displayTimezone, onDisplayTimezoneChange }) => {
verificationIssueNotify?: boolean;
onVerificationIssueNotify?: (v: boolean) => void;
showVerificationNotify?: boolean;
}> = ({
displayTimezone,
onDisplayTimezoneChange,
verificationIssueNotify = true,
onVerificationIssueNotify,
showVerificationNotify = true,
}) => {
const [lang, setLang] = useState('ko');
const [dateFormat, setDateFmt] = useState('YYYY-MM-DD');
const [startPage, setStart] = useState('chart');
@@ -567,6 +578,24 @@ const GeneralPanel: React.FC<{
</SettingRow>
</SettingSection>
{showVerificationNotify && (
<SettingSection title="검증게시판">
<SettingRow
label="검증 이슈 등록 알림"
desc="검증 이슈가 등록되거나 단계가 변경될 때 팝업 알림을 표시합니다."
>
<label className="stg-toggle">
<input
type="checkbox"
checked={verificationIssueNotify}
onChange={e => onVerificationIssueNotify?.(e.target.checked)}
/>
<span className="stg-toggle-slider" />
</label>
</SettingRow>
</SettingSection>
)}
<SettingSection title="시작 화면">
<SettingRow label="시작 페이지" desc="앱 시작 시 표시될 기본 화면입니다.">
<select className="stg-select" value={startPage} onChange={e => setStart(e.target.value)}>
@@ -1458,6 +1487,8 @@ const SettingsPage: React.FC<SettingsPageProps> = ({
displayTimezone = 'Asia/Seoul',
onDisplayTimezoneChange,
menuPermissions,
verificationIssueNotify = true,
onVerificationIssueNotify,
trendSearchSettings,
onTrendSearchSettingsChange,
}) => {
@@ -1540,6 +1571,9 @@ const SettingsPage: React.FC<SettingsPageProps> = ({
<GeneralPanel
displayTimezone={displayTimezone}
onDisplayTimezoneChange={onDisplayTimezoneChange ?? (() => {})}
verificationIssueNotify={verificationIssueNotify}
onVerificationIssueNotify={onVerificationIssueNotify}
showVerificationNotify={menuPermissions == null || menuPermissions['verification-board'] === true}
/>
);
case 'admin': return (