diff options
author | 2022-02-10 13:13:16 +0100 | |
---|---|---|
committer | 2022-02-10 13:13:16 +0100 | |
commit | 06818a4d57c39871827101f3ae37303dc62a4f3c (patch) | |
tree | c771933a16a13e993e460456954154c862c14dfe /source/features/easy-toggle-commit-messages.tsx | |
parent | 510644cab76e7d4853d2d29f8ab20e788903db25 (diff) | |
download | refined-github-06818a4d57c39871827101f3ae37303dc62a4f3c.tar.gz refined-github-06818a4d57c39871827101f3ae37303dc62a4f3c.tar.zst refined-github-06818a4d57c39871827101f3ae37303dc62a4f3c.zip |
Add `easy-toggle-commit-messages` feature (#5352)
Co-authored-by: Federico Brigante <me@fregante.com>
Diffstat (limited to 'source/features/easy-toggle-commit-messages.tsx')
-rw-r--r-- | source/features/easy-toggle-commit-messages.tsx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/source/features/easy-toggle-commit-messages.tsx b/source/features/easy-toggle-commit-messages.tsx new file mode 100644 index 00000000..1021e425 --- /dev/null +++ b/source/features/easy-toggle-commit-messages.tsx @@ -0,0 +1,29 @@ +import select from 'select-dom'; +import delegate from 'delegate-it'; +import * as pageDetect from 'github-url-detection'; + +import features from '.'; + +function toggleCommitMessage(event: delegate.Event<MouseEvent>): void { + const elementClicked = event.target as HTMLElement; + // The clicked element is not a button, a link or a popup ("Verified" badge, CI details, etc.) + if (!elementClicked.closest('a, button, clipboard-copy, details')) { + select('.ellipsis-expander', event.delegateTarget)?.dispatchEvent( + new MouseEvent('click', {bubbles: true, altKey: event.altKey}), + ); + } +} + +async function init(): Promise<void> { + delegate(document, '.js-commits-list-item', 'click', toggleCommitMessage); +} + +void features.add(import.meta.url, { + include: [ + pageDetect.isCommitList, + pageDetect.isCompare, + ], + awaitDomReady: false, + deduplicate: 'has-rgh-inner', + init, +}); |