summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-03-01 06:53:45 +0800
committerGitHub <noreply@github.com>2023-02-28 17:53:45 -0500
commitbb8ef28913fee650c4255c0d252e7c319e34a984 (patch)
treedc65d0a91ef7c7a9bc61ec32a8a57b61295c5744 /Makefile
parent13918ad344e197d547e49538c98641c4e9d68b64 (diff)
downloadgitea-bb8ef28913fee650c4255c0d252e7c319e34a984.tar.gz
gitea-bb8ef28913fee650c4255c0d252e7c319e34a984.zip
Fix Fomantic UI's `touchstart` fastclick, always use `click` for click events (#23065) (#23195)
Backport #23065 Using `touchstart` for `click` events is a black magic for mobile browsers (Google: `fastclick`). However, it causes many UX problems if the fastclick is used without careful design. Fomantic UI uses this fastclick for its `dimmer` and `dropdown`, it makes mobile users feel strange when they "touch" the dropdown menu. This PR uses a simple patch to fix that behavior. Then the Fomantic dropdown only uses `click` for click events. This PR is simple enough and won't cause hidden bugs even if the patch doesn't work. In the future, if there are more patches for Fomantic UI, the patches could be placed in a directory like `web_src/fomantic/patches/001-fix-click-touchstart`, etc. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile2
1 files changed, 2 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 717d7cafc6..8bfc7ddcaf 100644
--- a/Makefile
+++ b/Makefile
@@ -859,6 +859,8 @@ fomantic:
cp -f $(FOMANTIC_WORK_DIR)/theme.config.less $(FOMANTIC_WORK_DIR)/node_modules/fomantic-ui/src/theme.config
cp -rf $(FOMANTIC_WORK_DIR)/_site $(FOMANTIC_WORK_DIR)/node_modules/fomantic-ui/src/
cd $(FOMANTIC_WORK_DIR) && npx gulp -f node_modules/fomantic-ui/gulpfile.js build
+ # fomantic uses "touchstart" as click event for some browsers, it's not ideal, so we force fomantic to always use "click" as click event
+ $(SED_INPLACE) -e 's/clickEvent[ \t]*=/clickEvent = "click", unstableClickEvent =/g' $(FOMANTIC_WORK_DIR)/build/semantic.js
$(SED_INPLACE) -e 's/\r//g' $(FOMANTIC_WORK_DIR)/build/semantic.css $(FOMANTIC_WORK_DIR)/build/semantic.js
rm -f $(FOMANTIC_WORK_DIR)/build/*.min.*