diff --git a/backend/internal/handler/dto/settings.go b/backend/internal/handler/dto/settings.go index eba009a7e6..99cd4bd4f5 100644 --- a/backend/internal/handler/dto/settings.go +++ b/backend/internal/handler/dto/settings.go @@ -9,13 +9,14 @@ import ( // CustomMenuItem represents a user-configured custom menu entry. type CustomMenuItem struct { - ID string `json:"id"` - Label string `json:"label"` - IconSVG string `json:"icon_svg"` - URL string `json:"url"` - PageSlug string `json:"page_slug,omitempty"` - Visibility string `json:"visibility"` // "user" or "admin" - SortOrder int `json:"sort_order"` + ID string `json:"id"` + Label string `json:"label"` + IconSVG string `json:"icon_svg"` + URL string `json:"url"` + PageSlug string `json:"page_slug,omitempty"` + Visibility string `json:"visibility"` // "user" or "admin" + SortOrder int `json:"sort_order"` + HideOpenButton bool `json:"hide_open_button,omitempty"` } // CustomEndpoint represents an admin-configured API endpoint for quick copy. diff --git a/frontend/src/i18n/locales/en/admin/settings.ts b/frontend/src/i18n/locales/en/admin/settings.ts index da509a8251..eb5c74dfe3 100644 --- a/frontend/src/i18n/locales/en/admin/settings.ts +++ b/frontend/src/i18n/locales/en/admin/settings.ts @@ -677,6 +677,7 @@ export default { namePlaceholder: 'e.g. Help Center', url: 'Page URL', urlPlaceholder: 'https://example.com/page', + hideOpenButton: 'Hide the “Open in new tab” button', iconSvg: 'SVG Icon', iconSvgPlaceholder: '...', iconPreview: 'Icon Preview', diff --git a/frontend/src/i18n/locales/zh/admin/settings.ts b/frontend/src/i18n/locales/zh/admin/settings.ts index 5bdedb0104..5e0db540b0 100644 --- a/frontend/src/i18n/locales/zh/admin/settings.ts +++ b/frontend/src/i18n/locales/zh/admin/settings.ts @@ -672,6 +672,7 @@ export default { namePlaceholder: '如:帮助中心', url: '页面 URL', urlPlaceholder: 'https://example.com/page', + hideOpenButton: '隐藏“新窗口打开”按钮', iconSvg: 'SVG 图标', iconSvgPlaceholder: '...', iconPreview: '图标预览', diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts index 583f7e93dc..659ee1bb86 100644 --- a/frontend/src/types/index.ts +++ b/frontend/src/types/index.ts @@ -191,6 +191,7 @@ export interface CustomMenuItem { icon_svg: string url: string page_slug?: string + hide_open_button?: boolean visibility: 'user' | 'admin' sort_order: number } diff --git a/frontend/src/views/admin/SettingsView.vue b/frontend/src/views/admin/SettingsView.vue index 52e57ead51..ea994747ca 100644 --- a/frontend/src/views/admin/SettingsView.vue +++ b/frontend/src/views/admin/SettingsView.vue @@ -6763,6 +6763,17 @@ /> + +