diff --git a/web_src/js/modules/fomantic.js b/web_src/js/modules/fomantic.js index 3d4a66c1ea9dd..17d6a0af35d35 100644 --- a/web_src/js/modules/fomantic.js +++ b/web_src/js/modules/fomantic.js @@ -35,6 +35,7 @@ export function initGiteaFomantic() { const isIn = arg?.animation?.endsWith(' in'); const isOut = arg?.animation?.endsWith(' out'); + const isScale = arg?.animation?.includes('scale'); let ret; if (arg === 'show' || isIn) { @@ -57,8 +58,22 @@ export function initGiteaFomantic() { arg?.onHidden?.(this); }); arg?.onComplete?.(this); + } else if (isScale) { + arg?.onStart?.(this); + ret = this.each((_, el) => { + if (el.classList.contains('hidden')) { + el.classList.remove('hidden'); + el.classList.add('visible'); + arg?.onShow?.(this); + } else if (el.classList.contains('visible')) { + el.classList.remove('visible'); + el.classList.add('hidden'); + el.style.removeProperty('display'); + arg?.onHidden?.(this); + } + }); + arg.onComplete?.(this); } - return ret; };