mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 03:18:24 +00:00 
			
		
		
		
	Add monospace toggle button to textarea (#24034)
- Add new button to textarea to switch font. State is persisted in localStorage. - Change markdown-switch-easymde button from `<span>` to `<button>` - Slightly increased monospace font globally by 5% as I think it fits better. For hover effect on these buttons I'm deferring to https://github.com/go-gitea/gitea/pull/23896.  --------- Co-authored-by: delvh <dev.lh@web.de>
This commit is contained in:
		| @@ -73,8 +73,25 @@ class ComboMarkdownEditor { | ||||
|       // upstream bug: The role code is never executed in base MarkdownButtonElement https://github.com/github/markdown-toolbar-element/issues/70 | ||||
|       el.setAttribute('role', 'button'); | ||||
|     } | ||||
|     this.switchToEasyMDEButton = this.container.querySelector('.markdown-switch-easymde'); | ||||
|     this.switchToEasyMDEButton?.addEventListener('click', async (e) => { | ||||
|  | ||||
|     const monospaceButton = this.container.querySelector('.markdown-switch-monospace'); | ||||
|     const monospaceEnabled = localStorage?.getItem('markdown-editor-monospace') === 'true'; | ||||
|     const monospaceText = monospaceButton.getAttribute(monospaceEnabled ? 'data-disable-text' : 'data-enable-text'); | ||||
|     monospaceButton.setAttribute('data-tooltip-content', monospaceText); | ||||
|     monospaceButton.setAttribute('aria-checked', String(monospaceEnabled)); | ||||
|  | ||||
|     monospaceButton?.addEventListener('click', (e) => { | ||||
|       e.preventDefault(); | ||||
|       const enabled = localStorage?.getItem('markdown-editor-monospace') !== 'true'; | ||||
|       localStorage.setItem('markdown-editor-monospace', String(enabled)); | ||||
|       this.textarea.classList.toggle('gt-mono', enabled); | ||||
|       const text = monospaceButton.getAttribute(enabled ? 'data-disable-text' : 'data-enable-text'); | ||||
|       monospaceButton.setAttribute('data-tooltip-content', text); | ||||
|       monospaceButton.setAttribute('aria-checked', String(enabled)); | ||||
|     }); | ||||
|  | ||||
|     const easymdeButton = this.container.querySelector('.markdown-switch-easymde'); | ||||
|     easymdeButton?.addEventListener('click', async (e) => { | ||||
|       e.preventDefault(); | ||||
|       this.userPreferredEditor = 'easymde'; | ||||
|       await this.switchToEasyMDE(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user