No prettier

This commit is contained in:
Alyssa X 2022-01-11 22:31:08 +01:00
parent d1da226748
commit f52f9b4787
8 changed files with 728 additions and 7169 deletions

View file

@ -1,119 +1,4 @@
/* jQuery Nice Select - v1.0
https://github.com/hernansartorio/jquery-nice-select
Made by Hernán Sartorio */
!(function (e) {
e.fn.niceSelect = function (t) {
function s(t) {
t.after(
e("<div></div>")
.addClass("nice-select")
.addClass(t.attr("class") || "")
.addClass(t.attr("disabled") ? "disabled" : "")
.attr("tabindex", t.attr("disabled") ? null : "0")
.html('<span class="current"></span><ul class="list"></ul>')
);
var s = t.next(),
n = t.find("option"),
i = t.find("option:selected");
s.find(".current").html(i.data("display") || i.text()),
n.each(function (t) {
var n = e(this),
i = n.data("display");
s.find("ul").append(
e("<li></li>")
.attr("data-value", n.val())
.attr("data-display", i || null)
.addClass(
"option" +
(n.is(":selected") ? " selected" : "") +
(n.is(":disabled") ? " disabled" : "")
)
.html(n.text())
);
});
}
if ("string" == typeof t)
return (
"update" == t
? this.each(function () {
var t = e(this),
n = e(this).next(".nice-select"),
i = n.hasClass("open");
n.length && (n.remove(), s(t), i && t.next().trigger("click"));
})
: "destroy" == t
? (this.each(function () {
var t = e(this),
s = e(this).next(".nice-select");
s.length && (s.remove(), t.css("display", ""));
}),
0 == e(".nice-select").length && e(document).off(".nice_select"))
: console.log('Method "' + t + '" does not exist.'),
this
);
this.hide(),
this.each(function () {
var t = e(this);
t.next().hasClass("nice-select") || s(t);
}),
e(document).off(".nice_select"),
e(document).on("click.nice_select", ".nice-select", function (t) {
var s = e(this);
e(".nice-select").not(s).removeClass("open"),
s.toggleClass("open"),
s.hasClass("open")
? (s.find(".option"),
s.find(".focus").removeClass("focus"),
s.find(".selected").addClass("focus"))
: s.focus();
}),
e(document).on("click.nice_select", function (t) {
0 === e(t.target).closest(".nice-select").length &&
e(".nice-select").removeClass("open").find(".option");
}),
e(document).on(
"click.nice_select",
".nice-select .option:not(.disabled)",
function (t) {
var s = e(this),
n = s.closest(".nice-select");
n.find(".selected").removeClass("selected"), s.addClass("selected");
var i = s.data("display") || s.text();
n.find(".current").text(i),
n.prev("select").val(s.data("value")).trigger("change");
}
),
e(document).on("keydown.nice_select", ".nice-select", function (t) {
var s = e(this),
n = e(s.find(".focus") || s.find(".list .option.selected"));
if (32 == t.keyCode || 13 == t.keyCode)
return (
s.hasClass("open") ? n.trigger("click") : s.trigger("click"), !1
);
if (40 == t.keyCode) {
if (s.hasClass("open")) {
var i = n.nextAll(".option:not(.disabled)").first();
i.length > 0 &&
(s.find(".focus").removeClass("focus"), i.addClass("focus"));
} else s.trigger("click");
return !1;
}
if (38 == t.keyCode) {
if (s.hasClass("open")) {
var l = n.prevAll(".option:not(.disabled)").first();
l.length > 0 &&
(s.find(".focus").removeClass("focus"), l.addClass("focus"));
} else s.trigger("click");
return !1;
}
if (27 == t.keyCode) s.hasClass("open") && s.trigger("click");
else if (9 == t.keyCode && s.hasClass("open")) return !1;
});
var n = document.createElement("a").style;
return (
(n.cssText = "pointer-events:auto"),
"auto" !== n.pointerEvents && e("html").addClass("no-csspointerevents"),
this
);
};
})(jQuery);
!function(e){e.fn.niceSelect=function(t){function s(t){t.after(e("<div></div>").addClass("nice-select").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html('<span class="current"></span><ul class="list"></ul>'));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("<li></li>").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e(document).off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e(document).off(".nice_select"),e(document).on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e(document).on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e(document).on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.text();n.find(".current").text(i),n.prev("select").val(s.data("value")).trigger("change")}),e(document).on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}}(jQuery);

View file

@ -21,146 +21,118 @@
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: auto;
}
.nice-select:hover {
border-color: #dbdbdb;
}
.nice-select:active,
.nice-select.open,
.nice-select:focus {
border-color: #999;
}
.nice-select:after {
border-bottom: 2px solid #999;
border-right: 2px solid #999;
content: "";
display: block;
height: 5px;
margin-top: -4px;
pointer-events: none;
position: absolute;
right: 12px;
top: 50%;
-webkit-transform-origin: 66% 66%;
-ms-transform-origin: 66% 66%;
transform-origin: 66% 66%;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transition: all 0.15s ease-in-out;
transition: all 0.15s ease-in-out;
width: 5px;
}
.nice-select.open:after {
-webkit-transform: rotate(-135deg);
-ms-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.nice-select.open .list {
opacity: 1;
pointer-events: auto;
-webkit-transform: scale(1) translateY(0);
-ms-transform: scale(1) translateY(0);
transform: scale(1) translateY(0);
}
.nice-select.disabled {
border-color: #ededed;
color: #999;
pointer-events: none;
}
.nice-select.disabled:after {
border-color: #cccccc;
}
.nice-select.wide {
width: 100%;
}
.nice-select.wide .list {
left: 0 !important;
right: 0 !important;
}
.nice-select.right {
float: right;
}
.nice-select.right .list {
left: auto;
right: 0;
}
.nice-select.small {
font-size: 12px;
height: 36px;
line-height: 34px;
}
.nice-select.small:after {
height: 4px;
width: 4px;
}
.nice-select.small .option {
line-height: 34px;
min-height: 34px;
}
.nice-select .list {
background-color: #fff;
border-radius: 5px;
box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
box-sizing: border-box;
margin-top: 4px;
opacity: 0;
overflow: hidden;
padding: 0;
pointer-events: none;
position: absolute;
top: 100%;
left: 0;
-webkit-transform-origin: 50% 0;
-ms-transform-origin: 50% 0;
transform-origin: 50% 0;
-webkit-transform: scale(0.75) translateY(-21px);
-ms-transform: scale(0.75) translateY(-21px);
transform: scale(0.75) translateY(-21px);
-webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25),
opacity 0.15s ease-out;
transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
z-index: 9;
}
.nice-select .list:hover .option:not(:hover) {
background-color: transparent !important;
}
.nice-select .option {
cursor: pointer;
font-weight: 400;
line-height: 40px;
list-style: none;
min-height: 40px;
outline: none;
padding-left: 18px;
padding-right: 29px;
text-align: left;
-webkit-transition: all 0.2s;
transition: all 0.2s;
}
.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
background-color: #f6f6f6;
}
.nice-select .option.selected {
font-weight: bold;
}
.nice-select .option.disabled {
background-color: transparent;
color: #999;
cursor: default;
}
width: auto; }
.nice-select:hover {
border-color: #dbdbdb; }
.nice-select:active, .nice-select.open, .nice-select:focus {
border-color: #999; }
.nice-select:after {
border-bottom: 2px solid #999;
border-right: 2px solid #999;
content: '';
display: block;
height: 5px;
margin-top: -4px;
pointer-events: none;
position: absolute;
right: 12px;
top: 50%;
-webkit-transform-origin: 66% 66%;
-ms-transform-origin: 66% 66%;
transform-origin: 66% 66%;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transition: all 0.15s ease-in-out;
transition: all 0.15s ease-in-out;
width: 5px; }
.nice-select.open:after {
-webkit-transform: rotate(-135deg);
-ms-transform: rotate(-135deg);
transform: rotate(-135deg); }
.nice-select.open .list {
opacity: 1;
pointer-events: auto;
-webkit-transform: scale(1) translateY(0);
-ms-transform: scale(1) translateY(0);
transform: scale(1) translateY(0); }
.nice-select.disabled {
border-color: #ededed;
color: #999;
pointer-events: none; }
.nice-select.disabled:after {
border-color: #cccccc; }
.nice-select.wide {
width: 100%; }
.nice-select.wide .list {
left: 0 !important;
right: 0 !important; }
.nice-select.right {
float: right; }
.nice-select.right .list {
left: auto;
right: 0; }
.nice-select.small {
font-size: 12px;
height: 36px;
line-height: 34px; }
.nice-select.small:after {
height: 4px;
width: 4px; }
.nice-select.small .option {
line-height: 34px;
min-height: 34px; }
.nice-select .list {
background-color: #fff;
border-radius: 5px;
box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
box-sizing: border-box;
margin-top: 4px;
opacity: 0;
overflow: hidden;
padding: 0;
pointer-events: none;
position: absolute;
top: 100%;
left: 0;
-webkit-transform-origin: 50% 0;
-ms-transform-origin: 50% 0;
transform-origin: 50% 0;
-webkit-transform: scale(0.75) translateY(-21px);
-ms-transform: scale(0.75) translateY(-21px);
transform: scale(0.75) translateY(-21px);
-webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
z-index: 9; }
.nice-select .list:hover .option:not(:hover) {
background-color: transparent !important; }
.nice-select .option {
cursor: pointer;
font-weight: 400;
line-height: 40px;
list-style: none;
min-height: 40px;
outline: none;
padding-left: 18px;
padding-right: 29px;
text-align: left;
-webkit-transition: all 0.2s;
transition: all 0.2s; }
.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
background-color: #f6f6f6; }
.nice-select .option.selected {
font-weight: bold; }
.nice-select .option.disabled {
background-color: transparent;
color: #999;
cursor: default; }
.no-csspointerevents .nice-select .list {
display: none;
}
display: none; }
.no-csspointerevents .nice-select.open .list {
display: block;
}
display: block; }

File diff suppressed because it is too large Load diff

View file

@ -1,67 +1,67 @@
@media (prefers-color-scheme: dark) {
:root {
--background: #1e2128;
--border: #35373e;
--text: #f1f1f1;
--text-2: #c5c6ca;
--text-3: #a5a5ae;
--select: #17191e;
--accent: #6068d2;
--accent-hover: #484fac;
--shortcut: #383e4a;
--placeholder: #63687b;
--background-2: #292d36;
}
:root {
--background: #1E2128;
--border: #35373E;
--text: #F1F1F1;
--text-2: #C5C6CA;
--text-3: #A5A5AE;
--select: #17191E;
--accent: #6068D2;
--accent-hover: #484FAC;
--shortcut: #383E4A;
--placeholder: #63687B;
--background-2: #292D36;
}
}
@media (prefers-color-scheme: light) {
:root {
--background: #fafcff;
--border: #f2f3fb;
--text: #2b2d41;
--text-2: #2b2d41;
--text-3: #929db2;
--select: #eff3f9;
--accent: #6068d2;
--accent-hover: #484fac;
--shortcut: #dadeea;
--placeholder: #bac2d1;
--background-2: #292d36;
}
:root {
--background: #FAFCFF;
--border: #F2F3FB;
--text: #2B2D41;
--text-2: #2B2D41;
--text-3: #929DB2;
--select: #EFF3F9;
--accent: #6068D2;
--accent-hover: #484FAC;
--shortcut: #DADEEA;
--placeholder: #BAC2D1;
--background-2: #292D36;
}
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 400;
src: url("chrome-extension://__MSG_@@extension_id__/assets/Inter-Regular.ttf");
font-family: 'Inter';
font-style: normal;
font-weight: 400;
src: url('chrome-extension://__MSG_@@extension_id__/assets/Inter-Regular.ttf');
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 500;
src: url("chrome-extension://__MSG_@@extension_id__/assets/Inter-Medium.ttf");
font-family: 'Inter';
font-style: normal;
font-weight: 500;
src: url('chrome-extension://__MSG_@@extension_id__/assets/Inter-Medium.ttf');
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 600;
src: url("chrome-extension://__MSG_@@extension_id__/assets/Inter-SemiBold.ttf");
font-family: 'Inter';
font-style: normal;
font-weight: 600;
src: url('chrome-extension://__MSG_@@extension_id__/assets/Inter-SemiBold.ttf');
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 700;
src: url("chrome-extension://__MSG_@@extension_id__/assets/Inter-Bold.ttf");
font-family: 'Inter';
font-style: normal;
font-weight: 700;
src: url('chrome-extension://__MSG_@@extension_id__/assets/Inter-Bold.ttf');
}
.omni-extension .omni-item-details * {
line-height: normal;
line-height: normal;
}
.omni-extension {
font-family: Inter !important;
z-index: 99999999999;
font-family: Inter!important;
z-index: 99999999999;
}
.omni-extension #omni-wrap {
position: fixed;
position: fixed;
width: 700px;
border: 1px solid transparent;
border-radius: 5px;
@ -72,7 +72,7 @@
left: 0px;
z-index: 9999999999;
height: 540px;
transition: all 0.2s cubic-bezier(0.05, 0.03, 0.35, 1);
transition: all .2s cubic-bezier(.05,.03,.35,1);
}
.omni-extension #omni {
position: absolute;
@ -84,16 +84,16 @@
left: 0px;
z-index: 9999999998;
height: fit-content;
transition: all 0.2s cubic-bezier(0.05, 0.03, 0.35, 1);
display: block;
transition: all .2s cubic-bezier(.05,.03,.35,1);
display: block;
}
.omni-closing #omni {
transform: scale(0.9);
transform: scale(.9);
opacity: 0;
display: none !important;
display: none!important;
}
.omni-closing {
pointer-events: none;
pointer-events: none;
}
.omni-extension #omni-overlay {
height: 100%;
@ -103,11 +103,11 @@
left: 0px;
background-color: #000;
z-index: 9999;
opacity: 0.6;
transition: all 0.1s cubic-bezier(0.05, 0.03, 0.35, 1);
opacity: .6;
transition: all .1s cubic-bezier(.05,.03,.35,1);
}
.omni-closing #omni-overlay {
opacity: 0 !important;
opacity: 0!important;
}
.omni-extension #omni-head {
height: 50px;
@ -134,7 +134,7 @@
}
.omni-extension .omni-shortcut {
display: inline-block;
font-size: 13px;
font-size: 13px;
border-radius: 5px;
background-color: var(--shortcut);
color: var(--text);
@ -158,7 +158,7 @@
display: block;
color: var(--text);
caret-color: var(--accent);
font-family: Inter !important;
font-family: Inter!important;
margin-top: 5px;
margin-bottom: 5px;
box-sizing: border-box;
@ -214,7 +214,7 @@
margin-left: 3px;
}
.omni-extension .omni-item-active .omni-select {
display: block !important;
display: block!important;
}
.omni-extension .omni-icon {
width: 20px;
@ -225,14 +225,14 @@
margin-top: -12px;
}
.omni-extension .omni-emoji-action {
display: inline-block;
vertical-align: middle;
margin-top: -12px;
width: 20px;
height: 20px;
text-align: center;
margin-left: 5%;
font-size: 18px;
display: inline-block;
vertical-align: middle;
margin-top: -12px;
width: 20px;
height: 20px;
text-align: center;
margin-left: 5%;
font-size: 18px;
}
.omni-extension .omni-item-details {
display: inline-block;
@ -250,12 +250,12 @@
width: 450px;
}
.omni-extension .omni-item-active .omni-item-name {
color: var(--text) !important;
color: var(--text)!important;
}
.omni-extension .omni-item-desc {
color: var(--text-3);
margin-top: 5px;
font-size: 14px;
font-size: 14px;
}
.omni-extension #omni-footer {
height: 45px;
@ -289,7 +289,7 @@
margin-right: 5%;
}
.omni-extension .omni-item-active .omni-keys {
display: none !important;
display: none!important;
}
.omni-extension .omni-keys span {
margin-left: 3px;
@ -300,4 +300,4 @@
position: absolute;
top: 0px;
left: 0px;
}
}

View file

@ -1,22 +1,21 @@
<html>
<head> </head>
<head>
</head>
<body>
<div id="omni-extension" class="omni-closing omni-extension">
<div id="omni-wrap">
<div id="omni">
<div id="omni-search">
<input placeholder="Type a command or search" />
</div>
<div id="omni-list"></div>
<div id="omni-footer">
<div id="omni-results">153 results</div>
<div id="omni-arrows">
Use arrow keys <span class="omni-shortcut"></span
><span class="omni-shortcut"></span> to navigate
</div>
</div>
</div>
</div>
<div id="omni-wrap">
<div id="omni">
<div id="omni-search">
<input placeholder="Type a command or search">
</div>
<div id="omni-list">
</div>
<div id="omni-footer">
<div id="omni-results">153 results</div>
<div id="omni-arrows">Use arrow keys <span class="omni-shortcut"></span><span class="omni-shortcut"></span> to navigate</div>
</div>
</div>
</div>
<div id="omni-overlay"></div>
</div>
</body>

View file

@ -1,425 +1,268 @@
$(document).ready(function () {
var isOpen = false;
$(document).ready(function(){
var isOpen = false;
var actions = [];
// Append the omni into the current page
$.get(chrome.runtime.getURL("/content.html"), function (data) {
$(data).appendTo("body");
// Append the omni into the current page
$.get(chrome.runtime.getURL('/content.html'), function(data) {
$(data).appendTo('body');
});
// Request actions from the background
chrome.runtime.sendMessage({ request: "get-actions" }, function (response) {
// Request actions from the background
chrome.runtime.sendMessage({request:"get-actions"}, function(response) {
actions = response.actions;
populateOmni();
populateOmni();
});
// Add actions to the omni
function populateOmni() {
$("#omni-extension #list").html("");
actions.forEach(function (action, index) {
var keys = "";
if (action.keycheck) {
keys = "<div class='omni-keys'>";
action.keys.forEach(function (key) {
keys += "<span class='omni-shortcut'>" + key + "</span>";
});
keys += "</div>";
}
var img =
"<img src='" +
action.favIconUrl +
"' alt='favicon' onerror='this.src=&quot;" +
chrome.runtime.getURL("/assets/globe.svg") +
"&quot;' class='omni-icon'>";
if (action.emoji) {
img = "<span class='omni-emoji-action'>" + action.emojiChar + "</span>";
}
if (index != 0) {
$("#omni-extension #omni-list").append(
"<div class='omni-item' data-type='" +
action.type +
"'>" +
img +
"<div class='omni-item-details'><div class='omni-item-name'>" +
action.title +
"</div><div class='omni-item-desc'>" +
action.desc +
"</div></div>" +
keys +
"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>"
);
} else {
$("#omni-extension #omni-list").append(
"<div class='omni-item omni-item-active' data-type='" +
action.type +
"'>" +
img +
"<div class='omni-item-details'><div class='omni-item-name'>" +
action.title +
"</div><div class='omni-item-desc'>" +
action.desc +
"</div></div>" +
keys +
"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>"
);
}
});
$(".omni-extension #omni-results").html(actions.length + " results");
}
// Add actions to the omni
function populateOmni() {
$("#omni-extension #list").html("");
actions.forEach(function(action, index){
var keys = "";
if (action.keycheck) {
keys = "<div class='omni-keys'>";
action.keys.forEach(function(key){
keys += "<span class='omni-shortcut'>"+key+"</span>";
});
keys += "</div>";
}
var img = "<img src='"+action.favIconUrl+"' alt='favicon' onerror='this.src=&quot;"+chrome.runtime.getURL("/assets/globe.svg")+"&quot;' class='omni-icon'>";
if (action.emoji) {
img = "<span class='omni-emoji-action'>"+action.emojiChar+"</span>"
}
if (index != 0) {
$("#omni-extension #omni-list").append("<div class='omni-item' data-type='"+action.type+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.desc+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
} else {
$("#omni-extension #omni-list").append("<div class='omni-item omni-item-active' data-type='"+action.type+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.desc+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
}
})
$(".omni-extension #omni-results").html(actions.length+" results");
}
// Add actions to the omni
function populateOmniHistory(actions) {
$("#omni-extension #omni-list").html("");
actions.forEach(function (action, index) {
var keys = "";
if (action.keycheck) {
keys = "<div class='omni-keys'>";
action.keys.forEach(function (key) {
keys += "<span class='omni-shortcut'>" + key + "</span>";
});
keys += "</div>";
}
var img =
"<img src='" +
action.favIconUrl +
"' alt='favicon' onerror='this.src=&quot;" +
chrome.runtime.getURL("/assets/globe.svg") +
"&quot;' class='omni-icon'>";
if (action.emoji) {
img = "<span class='omni-emoji-action'>" + action.emojiChar + "</span>";
}
if (index != 0) {
$("#omni-extension #omni-list").append(
"<div class='omni-item' data-type='" +
action.type +
"' data-url='" +
action.url +
"'>" +
img +
"<div class='omni-item-details'><div class='omni-item-name'>" +
action.title +
"</div><div class='omni-item-desc'>" +
action.desc +
"</div></div>" +
keys +
"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>"
);
} else {
$("#omni-extension #omni-list").append(
"<div class='omni-item omni-item-active' data-type='" +
action.type +
"' data-url='" +
action.url +
"'>" +
img +
"<div class='omni-item-details'><div class='omni-item-name'>" +
action.title +
"</div><div class='omni-item-desc'>" +
action.desc +
"</div></div>" +
keys +
"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>"
);
}
});
$(".omni-extension #omni-results").html(actions.length + " results");
}
// Add actions to the omni
function populateOmniHistory(actions) {
$("#omni-extension #omni-list").html("");
actions.forEach(function(action, index){
var keys = "";
if (action.keycheck) {
keys = "<div class='omni-keys'>";
action.keys.forEach(function(key){
keys += "<span class='omni-shortcut'>"+key+"</span>";
});
keys += "</div>";
}
var img = "<img src='"+action.favIconUrl+"' alt='favicon' onerror='this.src=&quot;"+chrome.runtime.getURL("/assets/globe.svg")+"&quot;' class='omni-icon'>";
if (action.emoji) {
img = "<span class='omni-emoji-action'>"+action.emojiChar+"</span>"
}
if (index != 0) {
$("#omni-extension #omni-list").append("<div class='omni-item' data-type='"+action.type+"' data-url='"+action.url+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.desc+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
} else {
$("#omni-extension #omni-list").append("<div class='omni-item omni-item-active' data-type='"+action.type+"' data-url='"+action.url+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.desc+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
}
})
$(".omni-extension #omni-results").html(actions.length+" results");
}
// Open the omni
// Open the omni
function openOmni() {
chrome.runtime.sendMessage({ request: "get-actions" }, function (response) {
isOpen = true;
actions = response.actions;
populateOmni();
$("#omni-extension input").val("");
$("html, body").stop();
$("#omni-extension").removeClass("omni-closing");
window.setTimeout(function () {
$("#omni-extension input").focus();
}, 100);
});
chrome.runtime.sendMessage({request:"get-actions"}, function(response) {
isOpen = true;
actions = response.actions;
populateOmni();
$("#omni-extension input").val("");
$("html, body").stop();
$("#omni-extension").removeClass("omni-closing");
window.setTimeout(function(){
$("#omni-extension input").focus();
}, 100);
});
}
// Close the omni
// Close the omni
function closeOmni() {
isOpen = false;
isOpen = false;
$("#omni-extension").addClass("omni-closing");
}
// Hover over an action in the omni
// Hover over an action in the omni
function hoverItem() {
$(".omni-item-active").removeClass("omni-item-active");
$(this).addClass("omni-item-active");
}
// Search for an action in the omni
// Search for an action in the omni
function search() {
var value = $(this).val().toLowerCase();
if (value.startsWith("/history")) {
var tempvalue = value.replace("/tabs ", "");
var query = "";
if (tempvalue != "/history") {
query = value.replace("/history ", "");
}
chrome.runtime.sendMessage(
{ request: "search-history", query: query },
function (response) {
populateOmniHistory(response.history);
}
);
} else {
populateOmni();
$("#omni-extension #omni-list .omni-item").filter(function () {
if (value.startsWith("/tabs")) {
var tempvalue = value.replace("/tabs ", "");
if (tempvalue == "/tabs") {
$(this).toggle($(this).attr("data-type") == "tab");
} else {
tempvalue = value.replace("/tabs ", "");
$(this).toggle(
($(this)
.find(".omni-item-name")
.text()
.toLowerCase()
.indexOf(tempvalue) > -1 ||
$(this)
.find(".omni-item-desc")
.text()
.toLowerCase()
.indexOf(tempvalue) > -1) &&
$(this).attr("data-type") == "tab"
);
}
} else if (value.startsWith("/bookmarks")) {
var tempvalue = value.replace("/bookmarks ", "");
if (tempvalue == "/bookmarks") {
$(this).toggle($(this).attr("data-type") == "bookmark");
} else {
tempvalue = value.replace("/bookmarks ", "");
$(this).toggle(
($(this)
.find(".omni-item-name")
.text()
.toLowerCase()
.indexOf(tempvalue) > -1 ||
$(this)
.find(".omni-item-desc")
.text()
.toLowerCase()
.indexOf(tempvalue) > -1) &&
$(this).attr("data-type") == "bookmark"
);
}
} else if (value.startsWith("/remove")) {
var tempvalue = value.replace("/remove ", "");
if (tempvalue == "/remove") {
$(this).toggle(
$(this).attr("data-type") == "bookmark" ||
$(this).attr("data-type") == "tab"
);
} else {
tempvalue = value.replace("/remove ", "");
$(this).toggle(
($(this)
.find(".omni-item-name")
.text()
.toLowerCase()
.indexOf(tempvalue) > -1 ||
$(this)
.find(".omni-item-desc")
.text()
.toLowerCase()
.indexOf(tempvalue) > -1) &&
($(this).attr("data-type") == "bookmark" ||
$(this).attr("data-type") == "tab")
);
}
} else if (value.startsWith("/actions")) {
var tempvalue = value.replace("/actions ", "");
if (tempvalue == "/actions") {
$(this).toggle($(this).attr("data-type") == "action");
} else {
tempvalue = value.replace("/actions ", "");
$(this).toggle(
($(this)
.find(".omni-item-name")
.text()
.toLowerCase()
.indexOf(tempvalue) > -1 ||
$(this)
.find(".omni-item-desc")
.text()
.toLowerCase()
.indexOf(tempvalue) > -1) &&
$(this).attr("data-type") == "action"
);
}
} else {
$(this).toggle(
$(this)
.find(".omni-item-name")
.text()
.toLowerCase()
.indexOf(value) > -1 ||
$(this)
.find(".omni-item-desc")
.text()
.toLowerCase()
.indexOf(value) > -1
);
}
});
}
$(".omni-extension #omni-results").html(
$("#omni-extension #omni-list .omni-item:visible").length + " results"
);
if (value.startsWith("/history")) {
var tempvalue = value.replace("/tabs ", "");
var query = "";
if (tempvalue != "/history") {
query = value.replace("/history ", "");
}
chrome.runtime.sendMessage({request:"search-history", query:query}, function(response){
populateOmniHistory(response.history);
});
} else {
populateOmni();
$("#omni-extension #omni-list .omni-item").filter(function(){
if (value.startsWith("/tabs")) {
var tempvalue = value.replace("/tabs ", "");
if (tempvalue == "/tabs") {
$(this).toggle($(this).attr("data-type") == "tab");
} else {
tempvalue = value.replace("/tabs ", "");
$(this).toggle(($(this).find(".omni-item-name").text().toLowerCase().indexOf(tempvalue) > -1 || $(this).find(".omni-item-desc").text().toLowerCase().indexOf(tempvalue) > -1) && $(this).attr("data-type") == "tab");
}
} else if (value.startsWith("/bookmarks")) {
var tempvalue = value.replace("/bookmarks ", "");
if (tempvalue == "/bookmarks") {
$(this).toggle($(this).attr("data-type") == "bookmark");
} else {
tempvalue = value.replace("/bookmarks ", "");
$(this).toggle(($(this).find(".omni-item-name").text().toLowerCase().indexOf(tempvalue) > -1 || $(this).find(".omni-item-desc").text().toLowerCase().indexOf(tempvalue) > -1) && $(this).attr("data-type") == "bookmark");
}
} else if (value.startsWith("/remove")) {
var tempvalue = value.replace("/remove ", "");
if (tempvalue == "/remove") {
$(this).toggle($(this).attr("data-type") == "bookmark" || $(this).attr("data-type") == "tab");
} else {
tempvalue = value.replace("/remove ", "");
$(this).toggle(($(this).find(".omni-item-name").text().toLowerCase().indexOf(tempvalue) > -1 || $(this).find(".omni-item-desc").text().toLowerCase().indexOf(tempvalue) > -1) && ($(this).attr("data-type") == "bookmark" || $(this).attr("data-type") == "tab"));
}
} else if (value.startsWith("/actions")) {
var tempvalue = value.replace("/actions ", "");
if (tempvalue == "/actions") {
$(this).toggle($(this).attr("data-type") == "action");
} else {
tempvalue = value.replace("/actions ", "");
$(this).toggle(($(this).find(".omni-item-name").text().toLowerCase().indexOf(tempvalue) > -1 || $(this).find(".omni-item-desc").text().toLowerCase().indexOf(tempvalue) > -1) && $(this).attr("data-type") == "action");
}
} else {
$(this).toggle($(this).find(".omni-item-name").text().toLowerCase().indexOf(value) > -1 || $(this).find(".omni-item-desc").text().toLowerCase().indexOf(value) > -1);
}
});
}
$(".omni-extension #omni-results").html($("#omni-extension #omni-list .omni-item:visible").length+" results");
}
// Handle actions from the omni
function handleAction() {
var action = actions.find(
(x) => x.title == $(".omni-item-active .omni-item-name").text()
);
closeOmni();
if ($(".omni-extension input").val().toLowerCase().startsWith("/remove")) {
chrome.runtime.sendMessage({
request: "remove",
type: action.type,
action: action,
});
} else if (
$(".omni-extension input").val().toLowerCase().startsWith("/history")
) {
window.open($(".item-active").attr("data-url"), "_self");
} else {
chrome.runtime.sendMessage({ request: action.action, tab: action });
if (action.action == "bookmark") {
window.open(action.url, "_self");
} else if (action.action == "scroll-bottom") {
window.scrollTo(0, document.body.scrollHeight);
} else if (action.action == "scroll-top") {
window.scrollTo(0, 0);
} else if (action.action == "close-tab") {
window.close();
} else if (action.action == "navigation") {
window.open(action.url, "_self");
} else if (action.action == "fullscreen") {
var elem = document.documentElement;
elem.requestFullscreen();
} else if (action.action == "new-tab") {
window.open("");
} else if (action.action == "email") {
window.open("mailto:");
} else if (action.action == "url") {
window.open(action.url, "_self");
}
}
// Handle actions from the omni
function handleAction() {
var action = actions.find(x => x.title == $(".omni-item-active .omni-item-name").text());
closeOmni();
if ($(".omni-extension input").val().toLowerCase().startsWith("/remove")) {
chrome.runtime.sendMessage({request:"remove", type:action.type, action:action});
} else if ($(".omni-extension input").val().toLowerCase().startsWith("/history")) {
window.open($(".item-active").attr("data-url"), "_self");
} else {
chrome.runtime.sendMessage({request:action.action, tab:action});
if (action.action == "bookmark") {
window.open(action.url, "_self");
} else if (action.action == "scroll-bottom") {
window.scrollTo(0,document.body.scrollHeight);
} else if (action.action == "scroll-top") {
window.scrollTo(0,0);
} else if (action.action == "close-tab") {
window.close();
} else if (action.action == "navigation") {
window.open(action.url, "_self");
} else if (action.action == "fullscreen") {
var elem = document.documentElement;
elem.requestFullscreen();
} else if (action.action == "new-tab") {
window.open("");
} else if (action.action == "email") {
window.open("mailto:");
} else if (action.action == "url") {
window.open(action.url, "_self");
}
}
// Fetch actions again
chrome.runtime.sendMessage({ request: "get-actions" }, function (response) {
actions = response.actions;
populateOmni();
});
}
// Fetch actions again
chrome.runtime.sendMessage({request:"get-actions"}, function(response) {
actions = response.actions;
populateOmni();
});
}
// Customize the shortcut to open the Omni box
function openShortcuts() {
chrome.runtime.sendMessage({ request: "extensions/shortcuts" });
}
// Customize the shortcut to open the Omni box
function openShortcuts() {
chrome.runtime.sendMessage({request:"extensions/shortcuts"});
}
// Check which keys are down
var down = [];
$(document)
.keydown(function (e) {
down[e.keyCode] = true;
})
.keyup(function (e) {
if (down[18] && down[16] && down[80]) {
if (actions.find((x) => x.action == "pin") != undefined) {
chrome.runtime.sendMessage({ request: "pin-tab" });
} else {
chrome.runtime.sendMessage({ request: "unpin-tab" });
}
chrome.runtime.sendMessage(
{ request: "get-actions" },
function (response) {
actions = response.actions;
populateOmni();
}
);
} else if (down[18] && down[16] && down[77]) {
if (actions.find((x) => x.action == "mute") != undefined) {
chrome.runtime.sendMessage({ request: "mute-tab" });
} else {
chrome.runtime.sendMessage({ request: "unmute-tab" });
}
chrome.runtime.sendMessage(
{ request: "get-actions" },
function (response) {
actions = response.actions;
populateOmni();
}
);
} else if (down[18] && down[16] && down[67]) {
window.open("mailto:");
// Check which keys are down
var down = [];
$(document).keydown(function(e) {
down[e.keyCode] = true;
}).keyup(function(e) {
if (down[18] && down[16] && down[80]) {
if (actions.find(x => x.action == "pin") != undefined) {
chrome.runtime.sendMessage({request:"pin-tab"});
} else {
chrome.runtime.sendMessage({request:"unpin-tab"});
}
chrome.runtime.sendMessage({request:"get-actions"}, function(response) {
actions = response.actions;
populateOmni();
});
} else if (down[18] && down[16] && down[77]) {
if (actions.find(x => x.action == "mute") != undefined) {
chrome.runtime.sendMessage({request:"mute-tab"});
} else {
chrome.runtime.sendMessage({request:"unmute-tab"});
}
chrome.runtime.sendMessage({request:"get-actions"}, function(response) {
actions = response.actions;
populateOmni();
});
} else if (down[18] && down[16] && down[67]) {
window.open("mailto:");
}
if (down[38]) {
// Up key
if ($(".omni-item-active").prevAll("div").not(":hidden").first().length) {
var previous = $(".omni-item-active").prevAll("div").not(":hidden").first();
$(".omni-item-active").removeClass("item-active");
previous.addClass("omni-item-active");
previous[0].scrollIntoView({block:"nearest", inline:"nearest"});
}
if (down[38]) {
// Up key
if (
$(".omni-item-active").prevAll("div").not(":hidden").first().length
) {
var previous = $(".omni-item-active")
.prevAll("div")
.not(":hidden")
.first();
$(".omni-item-active").removeClass("item-active");
previous.addClass("omni-item-active");
previous[0].scrollIntoView({ block: "nearest", inline: "nearest" });
}
} else if (down[40]) {
// Down key
if (
$(".omni-item-active").nextAll("div").not(":hidden").first().length
) {
var next = $(".omni-item-active")
.nextAll("div")
.not(":hidden")
.first();
$(".omni-item-active").removeClass("omni-item-active");
next.addClass("omni-item-active");
next[0].scrollIntoView({ block: "nearest", inline: "nearest" });
}
} else if (down[27] && isOpen) {
// Esc key
closeOmni();
} else if (down[13] && isOpen) {
// Enter key
handleAction();
} else if (down[40]) {
// Down key
if ($(".omni-item-active").nextAll("div").not(":hidden").first().length) {
var next = $(".omni-item-active").nextAll("div").not(":hidden").first();
$(".omni-item-active").removeClass("omni-item-active");
next.addClass("omni-item-active");
next[0].scrollIntoView({block:"nearest", inline:"nearest"});
}
} else if (down[27] && isOpen) {
// Esc key
closeOmni();
} else if (down[13] && isOpen) {
// Enter key
handleAction();
}
down = [];
});
down = [];
});
// Recieve messages from background
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.request == "open-omni") {
if (isOpen) {
closeOmni();
} else {
openOmni();
}
}
});
// Recieve messages from background
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.request == "open-omni") {
if (isOpen) {
closeOmni();
} else {
openOmni();
}
}
});
// Events
$(document).on("click", "#open-page-omni-extension-thing", openShortcuts);
$(document).on(
"mouseover",
".omni-extension .omni-item:not(.omni-item-active)",
hoverItem
);
$(document).on("click", "#open-page-omni-extension-thing", openShortcuts);
$(document).on("mouseover", ".omni-extension .omni-item:not(.omni-item-active)", hoverItem);
$(document).on("input", ".omni-extension input", search);
$(document).on("click", ".omni-item-active", handleAction);
$(document).on("click", ".omni-extension #omni-overlay", closeOmni);
$(document).on("click", ".omni-item-active", handleAction);
$(document).on("click", ".omni-extension #omni-overlay", closeOmni);
});

5574
src/jquery.js vendored

File diff suppressed because one or more lines are too long

View file

@ -5,54 +5,49 @@
"version": "1.0.3",
"manifest_version": 3,
"action": {
"icons": {
"16": "assets/logo-16.png",
"48": "assets/logo-48.png",
"128": "assets/logo-128.png"
}
"icons": {
"16": "assets/logo-16.png",
"48": "assets/logo-48.png",
"128": "assets/logo-128.png"
}
},
"icons": {
"16": "assets/logo-16.png",
"48": "assets/logo-48.png",
"128": "assets/logo-128.png"
},
"commands": {
"open-omni": {
"suggested_key": {
"icons": {
"16": "assets/logo-16.png",
"48": "assets/logo-48.png",
"128": "assets/logo-128.png"
},
"commands": {
"open-omni": {
"suggested_key": {
"default": "Ctrl+K",
"mac": "Command+K"
},
"description": "Open command menu"
}
},
"description": "Open command menu"
}
},
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"run_at": "document_end",
"js": ["jquery.js", "assets/jquery.nice-select.min.js", "content.js"],
"css": ["assets/nice-select.css", "content.css"]
}
{
"matches": [
"<all_urls>"
],
"run_at": "document_end",
"js": ["jquery.js", "assets/jquery.nice-select.min.js", "content.js"],
"css": ["assets/nice-select.css", "content.css"]
}
],
"web_accessible_resources": [
{
"resources": ["content.html", "assets/*", "popup.css", "popup.js"],
"resources": ["content.html", "assets/*", "popup.css", "popup.js"],
"matches": ["<all_urls>"]
}
],
"permissions": [
"tabs",
"activeTab",
"bookmarks",
"browsingData",
"history",
"scripting"
"tabs", "activeTab", "bookmarks", "browsingData", "history", "scripting"
],
"host_permissions": [
"https://www.googleapis.com/*",
"https://gstatic.com/*",
"*://*/*"
"https://www.googleapis.com/*", "https://gstatic.com/*", "*://*/*"
]
}