feat(resume): clear-all option in initialize dialog (structure kept, content emptied)
This commit is contained in:
@@ -165,6 +165,23 @@ export function ResumePage() {
|
||||
.then(() => { setInitOpen(false); toast('success', '简历已初始化为默认模板'); })
|
||||
.catch(e => toast('error', e.message));
|
||||
};
|
||||
// 彻底清空:板块结构保留,内容全部置空(不填充示例)
|
||||
const clearResume = () => {
|
||||
const fresh = defaultResumeConfig();
|
||||
fresh.sections = fresh.sections.map(x => ({
|
||||
...x,
|
||||
text: x.kind === 'text' ? '' : x.text,
|
||||
items: x.kind === 'list' ? [] : x.items,
|
||||
overrides: {}, excluded: [], itemOrder: [], hiddenFields: [],
|
||||
}));
|
||||
setConfig(fresh);
|
||||
setOpenEditors(new Set());
|
||||
void profileUpsert({ info: { ...profile, selfIntro }, resume: fresh })
|
||||
.then(() => profileQ.refetch())
|
||||
.then(() => { setInitOpen(false); toast('success', '简历数据已彻底清空'); })
|
||||
.catch(e => toast('error', e.message));
|
||||
};
|
||||
|
||||
// 重新载入:从服务器拉最新记录与配置,丢弃本地未保存状态
|
||||
const reloadAll = async () => {
|
||||
try {
|
||||
@@ -496,13 +513,15 @@ export function ResumePage() {
|
||||
title="初始化简历"
|
||||
footer={<>
|
||||
<Button variant="ghost" onClick={() => setInitOpen(false)}>取消</Button>
|
||||
<Button variant="primary" className="!bg-danger !text-white" disabled={false} onClick={resetResume}>
|
||||
<RotateCcw size={13} /> 确认初始化
|
||||
<Button variant="secondary" onClick={clearResume}>彻底清空</Button>
|
||||
<Button variant="primary" onClick={resetResume}>
|
||||
<RotateCcw size={13} /> 恢复默认模板
|
||||
</Button>
|
||||
</>}>
|
||||
<div className="text-[12.5px] leading-relaxed text-ink-2">
|
||||
将清除全部个性化修改(板块调整、自定义条目、文字覆盖、样式设置),
|
||||
恢复为默认模板与示例内容。
|
||||
<b>恢复默认模板</b>:清除个性化修改,恢复默认板块与示例内容。
|
||||
<div className="mt-1"><b>彻底清空</b>:保留板块结构,内容全部置空,从零开始。</div>
|
||||
<div className="mt-2 text-ink-3">两种操作都不影响记录数据与个人信息。</div>
|
||||
<div className="mt-2 text-ink-3">记录数据与个人信息不受影响,随时可重新修改。</div>
|
||||
</div>
|
||||
</Dialog>
|
||||
|
||||
Reference in New Issue
Block a user