Browse Source

fix: restore login widget bundle and guard custom nav link

master
fengsilin 2 weeks ago
parent
commit
d32050d081
2 changed files with 27 additions and 1 deletions
  1. +5
    -1
      web/src/hooks/common/useNavigation.js
  2. +22
    -0
      web/src/pages/Setting/Operation/SettingsHeaderNavModules.jsx

+ 5
- 1
web/src/hooks/common/useNavigation.js View File

@@ -65,7 +65,11 @@ export const useNavigation = (t, headerNavModules) => {
: modules.pricing; : modules.pricing;
} }
if (link.itemKey === 'customLink') { if (link.itemKey === 'customLink') {
return modules.customLink?.enabled === true && modules.customLink?.text;
return (
modules.customLink?.enabled === true &&
modules.customLink?.text &&
modules.customLink?.url
);
} }
return modules[link.itemKey] === true; return modules[link.itemKey] === true;
}); });


+ 22
- 0
web/src/pages/Setting/Operation/SettingsHeaderNavModules.jsx View File

@@ -129,6 +129,15 @@ export default function SettingsHeaderNavModules(props) {


// 保存配置 // 保存配置
async function onSubmit() { async function onSubmit() {
const customLinkText = (headerNavModules.customLink?.text || '').trim();
const customLinkUrl = (headerNavModules.customLink?.url || '').trim();
if (
headerNavModules.customLink?.enabled &&
(!customLinkText || !customLinkUrl)
) {
showError(t('启用自定义链接前请先填写完整的导航文案和跳转链接'));
return;
}
setLoading(true); setLoading(true);
try { try {
const res = await API.put('/api/option/', { const res = await API.put('/api/option/', {
@@ -410,6 +419,19 @@ export default function SettingsHeaderNavModules(props) {
placeholder={t('如 https://example.com 或 /docs')} placeholder={t('如 https://example.com 或 /docs')}
size='small' size='small'
/> />
<Text
type='tertiary'
size='small'
style={{
fontSize: '11px',
color: 'var(--semi-color-text-2)',
lineHeight: '1.4',
display: 'block',
marginTop: '4px',
}}
>
{t('未填写跳转链接时,自定义链接不会在前台显示')}
</Text>
</div> </div>
</div> </div>
)} )}


Loading…
Cancel
Save