diff --git a/routers/common/pagetmpl.go b/routers/common/pagetmpl.go
index c14d4f851e..79267a76be 100644
--- a/routers/common/pagetmpl.go
+++ b/routers/common/pagetmpl.go
@@ -78,22 +78,7 @@ type pageGlobalDataType struct {
}
type InstanceNoticeBannerTmplInfo struct {
- Message string
- Level string
- IconName string
-}
-
-func instanceNoticeIconName(level string) string {
- switch level {
- case setting.InstanceNoticeLevelSuccess:
- return "octicon-check"
- case setting.InstanceNoticeLevelWarning:
- return "octicon-alert"
- case setting.InstanceNoticeLevelDanger:
- return "octicon-alert"
- default:
- return "octicon-info"
- }
+ Message string
}
func getInstanceNoticeBanner(ctx *context.Context) *InstanceNoticeBannerTmplInfo {
@@ -102,9 +87,7 @@ func getInstanceNoticeBanner(ctx *context.Context) *InstanceNoticeBannerTmplInfo
return nil
}
return &InstanceNoticeBannerTmplInfo{
- Message: notice.Message,
- Level: notice.Level,
- IconName: instanceNoticeIconName(notice.Level),
+ Message: notice.Message,
}
}
diff --git a/templates/admin/config.tmpl b/templates/admin/config.tmpl
index 8e78bcc887..c9a40e7daa 100644
--- a/templates/admin/config.tmpl
+++ b/templates/admin/config.tmpl
@@ -283,15 +283,6 @@
-
-
-
-
@@ -304,20 +295,11 @@
-
-
-
- {{if eq .InstanceNotice.Level "success"}}{{svg "octicon-check"}}{{else if eq .InstanceNotice.Level "warning"}}{{svg "octicon-alert"}}{{else if eq .InstanceNotice.Level "danger"}}{{svg "octicon-alert"}}{{else}}{{svg "octicon-info"}}{{end}}
-
+
+
{{ctx.RenderUtils.MarkdownToHtml .InstanceNotice.Message}}
-
- {{svg "octicon-info"}}
- {{svg "octicon-check"}}
- {{svg "octicon-alert"}}
- {{svg "octicon-alert"}}
-
diff --git a/templates/base/head_navbar.tmpl b/templates/base/head_navbar.tmpl
index 5a8c6d251f..ac31c957eb 100644
--- a/templates/base/head_navbar.tmpl
+++ b/templates/base/head_navbar.tmpl
@@ -178,9 +178,8 @@
{{if and .PageGlobalData .PageGlobalData.InstanceNoticeBanner}}
{{$banner := .PageGlobalData.InstanceNoticeBanner}}
-
-
-
{{svg $banner.IconName}}
+
+
{{ctx.RenderUtils.MarkdownToHtml $banner.Message}}
{{if .PageGlobalData.IsSiteAdmin}}
diff --git a/web_src/js/features/admin/config.test.ts b/web_src/js/features/admin/config.test.ts
index d5a86e0704..22a5dd5922 100644
--- a/web_src/js/features/admin/config.test.ts
+++ b/web_src/js/features/admin/config.test.ts
@@ -15,23 +15,10 @@ function createPreviewDOM() {
`;
}
@@ -68,19 +55,6 @@ describe('Admin Instance Notice Preview', () => {
expect(previewContent.innerHTML).toContain('Rendered message');
});
- test('updates preview class and icon when level changes', () => {
- initAdminConfigs();
-
- const levelSelect = document.querySelector
('select[name="level"]')!;
- const preview = document.querySelector('#instance-notice-preview')!;
- const previewIcon = document.querySelector('#instance-notice-preview-icon')!;
-
- levelSelect.value = 'danger';
- levelSelect.dispatchEvent(new Event('change'));
- expect(preview.classList.contains('negative')).toBe(true);
- expect(previewIcon.innerHTML).toContain('data-icon="warning"');
- });
-
test('queues a second render while first request is in flight and re-renders with latest text', async () => {
let firstResolve: ((value: Response) => void) | undefined;
const firstPending = new Promise((resolve) => {
diff --git a/web_src/js/features/admin/config.ts b/web_src/js/features/admin/config.ts
index 6c02c5a585..8d36ec6e45 100644
--- a/web_src/js/features/admin/config.ts
+++ b/web_src/js/features/admin/config.ts
@@ -9,30 +9,8 @@ function initInstanceNoticePreview(elAdminConfig: HTMLDivElement): void {
if (!form) return;
const inputMessage = form.querySelector('textarea[name="message"]');
- const selectLevel = form.querySelector('select[name="level"]');
- const preview = elAdminConfig.querySelector('#instance-notice-preview');
- const previewIcon = elAdminConfig.querySelector('#instance-notice-preview-icon');
const previewContent = elAdminConfig.querySelector('#instance-notice-preview-content');
- const iconContainer = elAdminConfig.querySelector('#instance-notice-preview-icons');
- if (!inputMessage || !selectLevel || !preview || !previewIcon || !previewContent || !iconContainer) return;
-
- const iconHTMLByLevel = new Map();
- for (const el of iconContainer.querySelectorAll('[data-level]')) {
- iconHTMLByLevel.set(el.getAttribute('data-level')!, el.innerHTML);
- }
-
- const classByLevel: Record = {
- info: 'info',
- success: 'positive',
- warning: 'warning',
- danger: 'negative',
- };
-
- const updateStyle = () => {
- preview.classList.remove('info', 'positive', 'warning', 'negative');
- preview.classList.add(classByLevel[selectLevel.value] || 'info');
- previewIcon.innerHTML = iconHTMLByLevel.get(selectLevel.value) || iconHTMLByLevel.get('info') || '';
- };
+ if (!inputMessage || !previewContent) return;
let renderRequesting = false;
let pendingRender = false;
@@ -65,9 +43,6 @@ function initInstanceNoticePreview(elAdminConfig: HTMLDivElement): void {
inputMessage.addEventListener('input', () => {
renderPreviewMarkdown();
});
- selectLevel.addEventListener('change', updateStyle);
-
- updateStyle();
}
export function initAdminConfigs(): void {