summaryrefslogtreecommitdiff
path: root/source/features/easy-toggle-commit-messages.tsx
diff options
context:
space:
mode:
authorGravatar Florent <cheap.glitch@gmail.com> 2022-02-10 13:13:16 +0100
committerGravatar GitHub <noreply@github.com> 2022-02-10 13:13:16 +0100
commit06818a4d57c39871827101f3ae37303dc62a4f3c (patch)
treec771933a16a13e993e460456954154c862c14dfe /source/features/easy-toggle-commit-messages.tsx
parent510644cab76e7d4853d2d29f8ab20e788903db25 (diff)
downloadrefined-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.tsx29
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,
+});