This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Added match_24h_format option which changes the plugin behaviour to b… - #4

Open
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master
Open

Added match_24h_format option which changes the plugin behaviour to b…#4
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master

Conversation

@dimalama

Copy link
Copy Markdown

Added match_24h_format option which changes the plugin behaviour to be consistent with 24h format when it works with am/pm time format. If match_24h_format is true the plugin behaves next way: when an user enters 12, it becomes 12PM, because this would be consistent with the 24h time format. Also the plugin accepts 0 as 12AM.

…e consistent with 24h format when it works with am/pm time format.
@jboesch

Copy link
Copy Markdown
Contributor

Not exactly sure what this does. Can you amend with some tests? Existing ones to add to can be found in /tests

@dimalama

Copy link
Copy Markdown
Author

Basically when match_24h_format option is true then the plugin works the next way for example if an user enters 12 the plugin makes next select suggestion ["12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM", "12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM"] instead of ["12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM", "12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM"]. If the user enters 1223 the plugin will convert it to 12:23 PM instead of 12:23 AM, if user enters 0 the plugin converts it to 12:00 AM instead of entering 00.

I'm using the current plugin for a project and QA made the next request "When user enters 12, it becomes 12AM. It should become 12PM, because this would be consistent with military time. System should accept 0 as 12AM."

The match_24h_format plugin option will cover that use case when there is need for it by set it to true by default it is false.

@Squazz

Copy link
Copy Markdown

@dlukianenko from what I see, when this is enabled, the suggestions in the dropdown still starts with 12:00AM, if you then tab out it is counter-intuiative that the first selected element (with AM) is then turned into PM

@jboesch

Copy link
Copy Markdown
Contributor

Please provide tests to help get this sucker merged. I do appreciate your help!

@dimalama

Copy link
Copy Markdown
Author

Sorry folks, I was busy with work. I will write the tests during upcoming weekends

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dimalama@jboesch@Squazz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Added match_24h_format option which changes the plugin behaviour to b… - #4

Open
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master
Open

Added match_24h_format option which changes the plugin behaviour to b…#4
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master

Conversation

@dimalama

Copy link
Copy Markdown

Added match_24h_format option which changes the plugin behaviour to be consistent with 24h format when it works with am/pm time format. If match_24h_format is true the plugin behaves next way: when an user enters 12, it becomes 12PM, because this would be consistent with the 24h time format. Also the plugin accepts 0 as 12AM.

…e consistent with 24h format when it works with am/pm time format.
@jboesch

Copy link
Copy Markdown
Contributor

Not exactly sure what this does. Can you amend with some tests? Existing ones to add to can be found in /tests

@dimalama

Copy link
Copy Markdown
Author

Basically when match_24h_format option is true then the plugin works the next way for example if an user enters 12 the plugin makes next select suggestion ["12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM", "12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM"] instead of ["12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM", "12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM"]. If the user enters 1223 the plugin will convert it to 12:23 PM instead of 12:23 AM, if user enters 0 the plugin converts it to 12:00 AM instead of entering 00.

I'm using the current plugin for a project and QA made the next request "When user enters 12, it becomes 12AM. It should become 12PM, because this would be consistent with military time. System should accept 0 as 12AM."

The match_24h_format plugin option will cover that use case when there is need for it by set it to true by default it is false.

@Squazz

Copy link
Copy Markdown

@dlukianenko from what I see, when this is enabled, the suggestions in the dropdown still starts with 12:00AM, if you then tab out it is counter-intuiative that the first selected element (with AM) is then turned into PM

@jboesch

Copy link
Copy Markdown
Contributor

Please provide tests to help get this sucker merged. I do appreciate your help!

@dimalama

Copy link
Copy Markdown
Author

Sorry folks, I was busy with work. I will write the tests during upcoming weekends

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dimalama@jboesch@Squazz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Added match_24h_format option which changes the plugin behaviour to b… - #4

Open
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master
Open

Added match_24h_format option which changes the plugin behaviour to b…#4
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master

Conversation

@dimalama

Copy link
Copy Markdown

Added match_24h_format option which changes the plugin behaviour to be consistent with 24h format when it works with am/pm time format. If match_24h_format is true the plugin behaves next way: when an user enters 12, it becomes 12PM, because this would be consistent with the 24h time format. Also the plugin accepts 0 as 12AM.

…e consistent with 24h format when it works with am/pm time format.
@jboesch

Copy link
Copy Markdown
Contributor

Not exactly sure what this does. Can you amend with some tests? Existing ones to add to can be found in /tests

@dimalama

Copy link
Copy Markdown
Author

Basically when match_24h_format option is true then the plugin works the next way for example if an user enters 12 the plugin makes next select suggestion ["12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM", "12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM"] instead of ["12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM", "12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM"]. If the user enters 1223 the plugin will convert it to 12:23 PM instead of 12:23 AM, if user enters 0 the plugin converts it to 12:00 AM instead of entering 00.

I'm using the current plugin for a project and QA made the next request "When user enters 12, it becomes 12AM. It should become 12PM, because this would be consistent with military time. System should accept 0 as 12AM."

The match_24h_format plugin option will cover that use case when there is need for it by set it to true by default it is false.

@Squazz

Copy link
Copy Markdown

@dlukianenko from what I see, when this is enabled, the suggestions in the dropdown still starts with 12:00AM, if you then tab out it is counter-intuiative that the first selected element (with AM) is then turned into PM

@jboesch

Copy link
Copy Markdown
Contributor

Please provide tests to help get this sucker merged. I do appreciate your help!

@dimalama

Copy link
Copy Markdown
Author

Sorry folks, I was busy with work. I will write the tests during upcoming weekends

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dimalama@jboesch@Squazz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Added match_24h_format option which changes the plugin behaviour to b… - #4

Open
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master
Open

Added match_24h_format option which changes the plugin behaviour to b…#4
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master

Conversation

@dimalama

Copy link
Copy Markdown

Added match_24h_format option which changes the plugin behaviour to be consistent with 24h format when it works with am/pm time format. If match_24h_format is true the plugin behaves next way: when an user enters 12, it becomes 12PM, because this would be consistent with the 24h time format. Also the plugin accepts 0 as 12AM.

…e consistent with 24h format when it works with am/pm time format.
@jboesch

Copy link
Copy Markdown
Contributor

Not exactly sure what this does. Can you amend with some tests? Existing ones to add to can be found in /tests

@dimalama

Copy link
Copy Markdown
Author

Basically when match_24h_format option is true then the plugin works the next way for example if an user enters 12 the plugin makes next select suggestion ["12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM", "12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM"] instead of ["12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM", "12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM"]. If the user enters 1223 the plugin will convert it to 12:23 PM instead of 12:23 AM, if user enters 0 the plugin converts it to 12:00 AM instead of entering 00.

I'm using the current plugin for a project and QA made the next request "When user enters 12, it becomes 12AM. It should become 12PM, because this would be consistent with military time. System should accept 0 as 12AM."

The match_24h_format plugin option will cover that use case when there is need for it by set it to true by default it is false.

@Squazz

Copy link
Copy Markdown

@dlukianenko from what I see, when this is enabled, the suggestions in the dropdown still starts with 12:00AM, if you then tab out it is counter-intuiative that the first selected element (with AM) is then turned into PM

@jboesch

Copy link
Copy Markdown
Contributor

Please provide tests to help get this sucker merged. I do appreciate your help!

@dimalama

Copy link
Copy Markdown
Author

Sorry folks, I was busy with work. I will write the tests during upcoming weekends

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dimalama@jboesch@Squazz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Added match_24h_format option which changes the plugin behaviour to b… - #4

Open
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master
Open

Added match_24h_format option which changes the plugin behaviour to b…#4
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master

Conversation

@dimalama

Copy link
Copy Markdown

Added match_24h_format option which changes the plugin behaviour to be consistent with 24h format when it works with am/pm time format. If match_24h_format is true the plugin behaves next way: when an user enters 12, it becomes 12PM, because this would be consistent with the 24h time format. Also the plugin accepts 0 as 12AM.

…e consistent with 24h format when it works with am/pm time format.
@jboesch

Copy link
Copy Markdown
Contributor

Not exactly sure what this does. Can you amend with some tests? Existing ones to add to can be found in /tests

@dimalama

Copy link
Copy Markdown
Author

Basically when match_24h_format option is true then the plugin works the next way for example if an user enters 12 the plugin makes next select suggestion ["12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM", "12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM"] instead of ["12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM", "12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM"]. If the user enters 1223 the plugin will convert it to 12:23 PM instead of 12:23 AM, if user enters 0 the plugin converts it to 12:00 AM instead of entering 00.

I'm using the current plugin for a project and QA made the next request "When user enters 12, it becomes 12AM. It should become 12PM, because this would be consistent with military time. System should accept 0 as 12AM."

The match_24h_format plugin option will cover that use case when there is need for it by set it to true by default it is false.

@Squazz

Copy link
Copy Markdown

@dlukianenko from what I see, when this is enabled, the suggestions in the dropdown still starts with 12:00AM, if you then tab out it is counter-intuiative that the first selected element (with AM) is then turned into PM

@jboesch

Copy link
Copy Markdown
Contributor

Please provide tests to help get this sucker merged. I do appreciate your help!

@dimalama

Copy link
Copy Markdown
Author

Sorry folks, I was busy with work. I will write the tests during upcoming weekends

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dimalama@jboesch@Squazz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Added match_24h_format option which changes the plugin behaviour to b… - #4

Open
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master
Open

Added match_24h_format option which changes the plugin behaviour to b…#4
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master

Conversation

@dimalama

Copy link
Copy Markdown

Added match_24h_format option which changes the plugin behaviour to be consistent with 24h format when it works with am/pm time format. If match_24h_format is true the plugin behaves next way: when an user enters 12, it becomes 12PM, because this would be consistent with the 24h time format. Also the plugin accepts 0 as 12AM.

…e consistent with 24h format when it works with am/pm time format.
@jboesch

Copy link
Copy Markdown
Contributor

Not exactly sure what this does. Can you amend with some tests? Existing ones to add to can be found in /tests

@dimalama

Copy link
Copy Markdown
Author

Basically when match_24h_format option is true then the plugin works the next way for example if an user enters 12 the plugin makes next select suggestion ["12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM", "12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM"] instead of ["12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM", "12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM"]. If the user enters 1223 the plugin will convert it to 12:23 PM instead of 12:23 AM, if user enters 0 the plugin converts it to 12:00 AM instead of entering 00.

I'm using the current plugin for a project and QA made the next request "When user enters 12, it becomes 12AM. It should become 12PM, because this would be consistent with military time. System should accept 0 as 12AM."

The match_24h_format plugin option will cover that use case when there is need for it by set it to true by default it is false.

@Squazz

Copy link
Copy Markdown

@dlukianenko from what I see, when this is enabled, the suggestions in the dropdown still starts with 12:00AM, if you then tab out it is counter-intuiative that the first selected element (with AM) is then turned into PM

@jboesch

Copy link
Copy Markdown
Contributor

Please provide tests to help get this sucker merged. I do appreciate your help!

@dimalama

Copy link
Copy Markdown
Author

Sorry folks, I was busy with work. I will write the tests during upcoming weekends

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dimalama@jboesch@Squazz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Added match_24h_format option which changes the plugin behaviour to b… - #4

Open
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master
Open

Added match_24h_format option which changes the plugin behaviour to b…#4
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master

Conversation

@dimalama

Copy link
Copy Markdown

Added match_24h_format option which changes the plugin behaviour to be consistent with 24h format when it works with am/pm time format. If match_24h_format is true the plugin behaves next way: when an user enters 12, it becomes 12PM, because this would be consistent with the 24h time format. Also the plugin accepts 0 as 12AM.

…e consistent with 24h format when it works with am/pm time format.
@jboesch

Copy link
Copy Markdown
Contributor

Not exactly sure what this does. Can you amend with some tests? Existing ones to add to can be found in /tests

@dimalama

Copy link
Copy Markdown
Author

Basically when match_24h_format option is true then the plugin works the next way for example if an user enters 12 the plugin makes next select suggestion ["12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM", "12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM"] instead of ["12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM", "12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM"]. If the user enters 1223 the plugin will convert it to 12:23 PM instead of 12:23 AM, if user enters 0 the plugin converts it to 12:00 AM instead of entering 00.

I'm using the current plugin for a project and QA made the next request "When user enters 12, it becomes 12AM. It should become 12PM, because this would be consistent with military time. System should accept 0 as 12AM."

The match_24h_format plugin option will cover that use case when there is need for it by set it to true by default it is false.

@Squazz

Copy link
Copy Markdown

@dlukianenko from what I see, when this is enabled, the suggestions in the dropdown still starts with 12:00AM, if you then tab out it is counter-intuiative that the first selected element (with AM) is then turned into PM

@jboesch

Copy link
Copy Markdown
Contributor

Please provide tests to help get this sucker merged. I do appreciate your help!

@dimalama

Copy link
Copy Markdown
Author

Sorry folks, I was busy with work. I will write the tests during upcoming weekends

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dimalama@jboesch@Squazz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Added match_24h_format option which changes the plugin behaviour to b… - #4

Open
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master
Open

Added match_24h_format option which changes the plugin behaviour to b…#4
dimalama wants to merge 1 commit into
7shifts:masterfrom
dimalama:master

Conversation

@dimalama

Copy link
Copy Markdown

Added match_24h_format option which changes the plugin behaviour to be consistent with 24h format when it works with am/pm time format. If match_24h_format is true the plugin behaves next way: when an user enters 12, it becomes 12PM, because this would be consistent with the 24h time format. Also the plugin accepts 0 as 12AM.

…e consistent with 24h format when it works with am/pm time format.
@jboesch

Copy link
Copy Markdown
Contributor

Not exactly sure what this does. Can you amend with some tests? Existing ones to add to can be found in /tests

@dimalama

Copy link
Copy Markdown
Author

Basically when match_24h_format option is true then the plugin works the next way for example if an user enters 12 the plugin makes next select suggestion ["12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM", "12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM"] instead of ["12:00 AM", "12:15 Am", "12:30 AM", "12:45 AM", "12:00 PM", "12:15 PM", "12:30 PM", "12:45 PM"]. If the user enters 1223 the plugin will convert it to 12:23 PM instead of 12:23 AM, if user enters 0 the plugin converts it to 12:00 AM instead of entering 00.

I'm using the current plugin for a project and QA made the next request "When user enters 12, it becomes 12AM. It should become 12PM, because this would be consistent with military time. System should accept 0 as 12AM."

The match_24h_format plugin option will cover that use case when there is need for it by set it to true by default it is false.

@Squazz

Copy link
Copy Markdown

@dlukianenko from what I see, when this is enabled, the suggestions in the dropdown still starts with 12:00AM, if you then tab out it is counter-intuiative that the first selected element (with AM) is then turned into PM

@jboesch

Copy link
Copy Markdown
Contributor

Please provide tests to help get this sucker merged. I do appreciate your help!

@dimalama

Copy link
Copy Markdown
Author

Sorry folks, I was busy with work. I will write the tests during upcoming weekends

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@dimalama@jboesch@Squazz