diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-02-21 21:36:53 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-21 21:36:53 +0800 |
commit | 1fcf96ad0166420cbdb013365ecae42e3537b42a (patch) | |
tree | 98ffceb52a082da7985f97dee42462a1805898f3 /web_src/js | |
parent | 9ebf6424eedce94b1f5ab3ff34b41198e51e36f8 (diff) | |
download | gitea-1fcf96ad0166420cbdb013365ecae42e3537b42a.tar.gz gitea-1fcf96ad0166420cbdb013365ecae42e3537b42a.zip |
Improve PR Review Box UI (#22986)
This PR follows:
* #22950
### Before
The Review Box has many problems:
* It doesn't work for small screens.
* It has an anonying animation which makes the UI laggy.
* It uses "custom dropdown menu" which is very difficult to fine tune.
* `$().toggle('visible')` is not a correct call
* jQuery just accepts any invalid `duration` argument:
`$().toggle('anyting')`
* The button is not a button.
<details>
![image](https://user-images.githubusercontent.com/2114189/219948865-6da3f39c-6fde-4c86-9e42-da5020f3d0c3.png)
</details>
### After
These problems are fixed, and eliminate many `!important` games.
<details>
![image](https://user-images.githubusercontent.com/2114189/219952744-8862fe1a-7ef1-49e4-bf92-2d0c1f104ee4.png)
![image](https://user-images.githubusercontent.com/2114189/219952771-be169a76-45fd-47a8-8f9c-b447d064f4ca.png)
![image](https://user-images.githubusercontent.com/2114189/219952784-3f52e9b7-64ce-4ad1-9553-64c33fb83042.png)
</details>
And most dropdown icons still looks good:
<details>
![image](https://user-images.githubusercontent.com/2114189/219952942-52866a00-e0f9-4af7-8fb5-eb1a8cad1ff3.png)
![image](https://user-images.githubusercontent.com/2114189/219948909-b3bfb844-f84e-4b79-ab1f-382ec66dec31.png)
</details>
Co-authored-by: delvh <leon@kske.dev>
Diffstat (limited to 'web_src/js')
-rw-r--r-- | web_src/js/features/common-global.js | 1 | ||||
-rw-r--r-- | web_src/js/features/repo-issue.js | 10 |
2 files changed, 6 insertions, 5 deletions
diff --git a/web_src/js/features/common-global.js b/web_src/js/features/common-global.js index 57a429ed9f..4fa6942467 100644 --- a/web_src/js/features/common-global.js +++ b/web_src/js/features/common-global.js @@ -60,6 +60,7 @@ export function initGlobalEnterQuickSubmit() { export function initGlobalButtonClickOnEnter() { $(document).on('keypress', '.ui.button', (e) => { if (e.keyCode === 13 || e.keyCode === 32) { // enter key or space bar + if (e.target.nodeName === 'BUTTON') return; // button already handles space&enter correctly $(e.target).trigger('click'); e.preventDefault(); } diff --git a/web_src/js/features/repo-issue.js b/web_src/js/features/repo-issue.js index 7b8705ad2c..4fc8bb5e62 100644 --- a/web_src/js/features/repo-issue.js +++ b/web_src/js/features/repo-issue.js @@ -470,7 +470,7 @@ export function initRepoPullRequestReview() { assignMenuAttributes(form.find('.menu')); }); - const $reviewBox = $('.review-box'); + const $reviewBox = $('.review-box-panel'); if ($reviewBox.length === 1) { (async () => { // the editor's height is too large in some cases, and the panel cannot be scrolled with page now because there is `.repository .diff-detail-box.sticky { position: sticky; }` @@ -487,12 +487,12 @@ export function initRepoPullRequestReview() { return; } - $('.btn-review').on('click', function (e) { + $('.js-btn-review').on('click', function (e) { e.preventDefault(); - $(this).closest('.dropdown').find('.menu').toggle('visible'); // eslint-disable-line - }).closest('.dropdown').find('.close').on('click', function (e) { + toggleElem($(this).parent().find('.review-box-panel')); + }).parent().find('.review-box-panel .close').on('click', function (e) { e.preventDefault(); - $(this).closest('.menu').toggle('visible'); // eslint-disable-line + hideElem($(this).closest('.review-box-panel')); }); $(document).on('click', 'a.add-code-comment', async function (e) { |