diff --git a/static/index.html b/static/index.html
index 6919cb3..00147e1 100644
--- a/static/index.html
+++ b/static/index.html
@@ -1,9 +1,11 @@
+
+
NashBoard
@@ -13,11 +15,23 @@
+
+
+
+
@@ -27,4 +41,7 @@
+
diff --git a/static/js/feather.min.js b/static/js/feather.min.js
new file mode 100644
index 0000000..2434b29
--- /dev/null
+++ b/static/js/feather.min.js
@@ -0,0 +1,2130 @@
+!(function (e, n) {
+ "object" == typeof exports && "object" == typeof module
+ ? (module.exports = n())
+ : "function" == typeof define && define.amd
+ ? define([], n)
+ : "object" == typeof exports
+ ? (exports.feather = n())
+ : (e.feather = n());
+})("undefined" != typeof self ? self : this, function () {
+ return (function (e) {
+ var n = {};
+ function i(t) {
+ if (n[t]) return n[t].exports;
+ var l = (n[t] = { i: t, l: !1, exports: {} });
+ return e[t].call(l.exports, l, l.exports, i), (l.l = !0), l.exports;
+ }
+ return (
+ (i.m = e),
+ (i.c = n),
+ (i.d = function (e, n, t) {
+ i.o(e, n) ||
+ Object.defineProperty(e, n, {
+ configurable: !1,
+ enumerable: !0,
+ get: t,
+ });
+ }),
+ (i.r = function (e) {
+ Object.defineProperty(e, "__esModule", { value: !0 });
+ }),
+ (i.n = function (e) {
+ var n =
+ e && e.__esModule
+ ? function () {
+ return e.default;
+ }
+ : function () {
+ return e;
+ };
+ return i.d(n, "a", n), n;
+ }),
+ (i.o = function (e, n) {
+ return Object.prototype.hasOwnProperty.call(e, n);
+ }),
+ (i.p = ""),
+ i((i.s = 80))
+ );
+ })([
+ function (e, n, i) {
+ (function (n) {
+ var i = "object",
+ t = function (e) {
+ return e && e.Math == Math && e;
+ };
+ e.exports =
+ t(typeof globalThis == i && globalThis) ||
+ t(typeof window == i && window) ||
+ t(typeof self == i && self) ||
+ t(typeof n == i && n) ||
+ Function("return this")();
+ }.call(this, i(75)));
+ },
+ function (e, n) {
+ var i = {}.hasOwnProperty;
+ e.exports = function (e, n) {
+ return i.call(e, n);
+ };
+ },
+ function (e, n, i) {
+ var t = i(0),
+ l = i(11),
+ r = i(33),
+ o = i(62),
+ a = t.Symbol,
+ c = l("wks");
+ e.exports = function (e) {
+ return c[e] || (c[e] = (o && a[e]) || (o ? a : r)("Symbol." + e));
+ };
+ },
+ function (e, n, i) {
+ var t = i(6);
+ e.exports = function (e) {
+ if (!t(e)) throw TypeError(String(e) + " is not an object");
+ return e;
+ };
+ },
+ function (e, n) {
+ e.exports = function (e) {
+ try {
+ return !!e();
+ } catch (e) {
+ return !0;
+ }
+ };
+ },
+ function (e, n, i) {
+ var t = i(8),
+ l = i(7),
+ r = i(10);
+ e.exports = t
+ ? function (e, n, i) {
+ return l.f(e, n, r(1, i));
+ }
+ : function (e, n, i) {
+ return (e[n] = i), e;
+ };
+ },
+ function (e, n) {
+ e.exports = function (e) {
+ return "object" == typeof e ? null !== e : "function" == typeof e;
+ };
+ },
+ function (e, n, i) {
+ var t = i(8),
+ l = i(35),
+ r = i(3),
+ o = i(18),
+ a = Object.defineProperty;
+ n.f = t
+ ? a
+ : function (e, n, i) {
+ if ((r(e), (n = o(n, !0)), r(i), l))
+ try {
+ return a(e, n, i);
+ } catch (e) {}
+ if ("get" in i || "set" in i)
+ throw TypeError("Accessors not supported");
+ return "value" in i && (e[n] = i.value), e;
+ };
+ },
+ function (e, n, i) {
+ var t = i(4);
+ e.exports = !t(function () {
+ return (
+ 7 !=
+ Object.defineProperty({}, "a", {
+ get: function () {
+ return 7;
+ },
+ }).a
+ );
+ });
+ },
+ function (e, n) {
+ e.exports = {};
+ },
+ function (e, n) {
+ e.exports = function (e, n) {
+ return {
+ enumerable: !(1 & e),
+ configurable: !(2 & e),
+ writable: !(4 & e),
+ value: n,
+ };
+ };
+ },
+ function (e, n, i) {
+ var t = i(0),
+ l = i(19),
+ r = i(17),
+ o = t["__core-js_shared__"] || l("__core-js_shared__", {});
+ (e.exports = function (e, n) {
+ return o[e] || (o[e] = void 0 !== n ? n : {});
+ })("versions", []).push({
+ version: "3.1.3",
+ mode: r ? "pure" : "global",
+ copyright: "© 2019 Denis Pushkarev (zloirock.ru)",
+ });
+ },
+ function (e, n, i) {
+ "use strict";
+ Object.defineProperty(n, "__esModule", { value: !0 });
+ var t = o(i(43)),
+ l = o(i(41)),
+ r = o(i(40));
+ function o(e) {
+ return e && e.__esModule ? e : { default: e };
+ }
+ n.default = Object.keys(l.default)
+ .map(function (e) {
+ return new t.default(e, l.default[e], r.default[e]);
+ })
+ .reduce(function (e, n) {
+ return (e[n.name] = n), e;
+ }, {});
+ },
+ function (e, n) {
+ e.exports = [
+ "constructor",
+ "hasOwnProperty",
+ "isPrototypeOf",
+ "propertyIsEnumerable",
+ "toLocaleString",
+ "toString",
+ "valueOf",
+ ];
+ },
+ function (e, n, i) {
+ var t = i(72),
+ l = i(20);
+ e.exports = function (e) {
+ return t(l(e));
+ };
+ },
+ function (e, n) {
+ e.exports = {};
+ },
+ function (e, n, i) {
+ var t = i(11),
+ l = i(33),
+ r = t("keys");
+ e.exports = function (e) {
+ return r[e] || (r[e] = l(e));
+ };
+ },
+ function (e, n) {
+ e.exports = !1;
+ },
+ function (e, n, i) {
+ var t = i(6);
+ e.exports = function (e, n) {
+ if (!t(e)) return e;
+ var i, l;
+ if (n && "function" == typeof (i = e.toString) && !t((l = i.call(e))))
+ return l;
+ if ("function" == typeof (i = e.valueOf) && !t((l = i.call(e))))
+ return l;
+ if (!n && "function" == typeof (i = e.toString) && !t((l = i.call(e))))
+ return l;
+ throw TypeError("Can't convert object to primitive value");
+ };
+ },
+ function (e, n, i) {
+ var t = i(0),
+ l = i(5);
+ e.exports = function (e, n) {
+ try {
+ l(t, e, n);
+ } catch (i) {
+ t[e] = n;
+ }
+ return n;
+ };
+ },
+ function (e, n) {
+ e.exports = function (e) {
+ if (void 0 == e) throw TypeError("Can't call method on " + e);
+ return e;
+ };
+ },
+ function (e, n) {
+ var i = Math.ceil,
+ t = Math.floor;
+ e.exports = function (e) {
+ return isNaN((e = +e)) ? 0 : (e > 0 ? t : i)(e);
+ };
+ },
+ function (e, n, i) {
+ var t;
+ /*!
+ Copyright (c) 2016 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+*/
+ /*!
+ Copyright (c) 2016 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+*/
+ !(function () {
+ "use strict";
+ var i = (function () {
+ function e() {}
+ function n(e, n) {
+ for (var i = n.length, t = 0; t < i; ++t) l(e, n[t]);
+ }
+ e.prototype = Object.create(null);
+ var i = {}.hasOwnProperty;
+ var t = /\s+/;
+ function l(e, l) {
+ if (l) {
+ var r = typeof l;
+ "string" === r
+ ? (function (e, n) {
+ for (var i = n.split(t), l = i.length, r = 0; r < l; ++r)
+ e[i[r]] = !0;
+ })(e, l)
+ : Array.isArray(l)
+ ? n(e, l)
+ : "object" === r
+ ? (function (e, n) {
+ for (var t in n) i.call(n, t) && (e[t] = !!n[t]);
+ })(e, l)
+ : "number" === r &&
+ (function (e, n) {
+ e[n] = !0;
+ })(e, l);
+ }
+ }
+ return function () {
+ for (var i = arguments.length, t = Array(i), l = 0; l < i; l++)
+ t[l] = arguments[l];
+ var r = new e();
+ n(r, t);
+ var o = [];
+ for (var a in r) r[a] && o.push(a);
+ return o.join(" ");
+ };
+ })();
+ void 0 !== e && e.exports
+ ? (e.exports = i)
+ : void 0 ===
+ (t = function () {
+ return i;
+ }.apply(n, [])) || (e.exports = t);
+ })();
+ },
+ function (e, n, i) {
+ var t = i(7).f,
+ l = i(1),
+ r = i(2)("toStringTag");
+ e.exports = function (e, n, i) {
+ e &&
+ !l((e = i ? e : e.prototype), r) &&
+ t(e, r, { configurable: !0, value: n });
+ };
+ },
+ function (e, n, i) {
+ var t = i(20);
+ e.exports = function (e) {
+ return Object(t(e));
+ };
+ },
+ function (e, n, i) {
+ var t = i(1),
+ l = i(24),
+ r = i(16),
+ o = i(63),
+ a = r("IE_PROTO"),
+ c = Object.prototype;
+ e.exports = o
+ ? Object.getPrototypeOf
+ : function (e) {
+ return (
+ (e = l(e)),
+ t(e, a)
+ ? e[a]
+ : "function" == typeof e.constructor &&
+ e instanceof e.constructor
+ ? e.constructor.prototype
+ : e instanceof Object
+ ? c
+ : null
+ );
+ };
+ },
+ function (e, n, i) {
+ "use strict";
+ var t,
+ l,
+ r,
+ o = i(25),
+ a = i(5),
+ c = i(1),
+ p = i(2),
+ y = i(17),
+ h = p("iterator"),
+ x = !1;
+ [].keys &&
+ ("next" in (r = [].keys())
+ ? (l = o(o(r))) !== Object.prototype && (t = l)
+ : (x = !0)),
+ void 0 == t && (t = {}),
+ y ||
+ c(t, h) ||
+ a(t, h, function () {
+ return this;
+ }),
+ (e.exports = { IteratorPrototype: t, BUGGY_SAFARI_ITERATORS: x });
+ },
+ function (e, n, i) {
+ var t = i(21),
+ l = Math.min;
+ e.exports = function (e) {
+ return e > 0 ? l(t(e), 9007199254740991) : 0;
+ };
+ },
+ function (e, n, i) {
+ var t = i(1),
+ l = i(14),
+ r = i(68),
+ o = i(15),
+ a = r(!1);
+ e.exports = function (e, n) {
+ var i,
+ r = l(e),
+ c = 0,
+ p = [];
+ for (i in r) !t(o, i) && t(r, i) && p.push(i);
+ for (; n.length > c; ) t(r, (i = n[c++])) && (~a(p, i) || p.push(i));
+ return p;
+ };
+ },
+ function (e, n, i) {
+ var t = i(0),
+ l = i(11),
+ r = i(5),
+ o = i(1),
+ a = i(19),
+ c = i(36),
+ p = i(37),
+ y = p.get,
+ h = p.enforce,
+ x = String(c).split("toString");
+ l("inspectSource", function (e) {
+ return c.call(e);
+ }),
+ (e.exports = function (e, n, i, l) {
+ var c = !!l && !!l.unsafe,
+ p = !!l && !!l.enumerable,
+ y = !!l && !!l.noTargetGet;
+ "function" == typeof i &&
+ ("string" != typeof n || o(i, "name") || r(i, "name", n),
+ (h(i).source = x.join("string" == typeof n ? n : ""))),
+ e !== t
+ ? (c ? !y && e[n] && (p = !0) : delete e[n],
+ p ? (e[n] = i) : r(e, n, i))
+ : p
+ ? (e[n] = i)
+ : a(n, i);
+ })(Function.prototype, "toString", function () {
+ return ("function" == typeof this && y(this).source) || c.call(this);
+ });
+ },
+ function (e, n) {
+ var i = {}.toString;
+ e.exports = function (e) {
+ return i.call(e).slice(8, -1);
+ };
+ },
+ function (e, n, i) {
+ var t = i(8),
+ l = i(73),
+ r = i(10),
+ o = i(14),
+ a = i(18),
+ c = i(1),
+ p = i(35),
+ y = Object.getOwnPropertyDescriptor;
+ n.f = t
+ ? y
+ : function (e, n) {
+ if (((e = o(e)), (n = a(n, !0)), p))
+ try {
+ return y(e, n);
+ } catch (e) {}
+ if (c(e, n)) return r(!l.f.call(e, n), e[n]);
+ };
+ },
+ function (e, n, i) {
+ var t = i(0),
+ l = i(31).f,
+ r = i(5),
+ o = i(29),
+ a = i(19),
+ c = i(71),
+ p = i(65);
+ e.exports = function (e, n) {
+ var i,
+ y,
+ h,
+ x,
+ s,
+ u = e.target,
+ d = e.global,
+ f = e.stat;
+ if ((i = d ? t : f ? t[u] || a(u, {}) : (t[u] || {}).prototype))
+ for (y in n) {
+ if (
+ ((x = n[y]),
+ (h = e.noTargetGet ? (s = l(i, y)) && s.value : i[y]),
+ !p(d ? y : u + (f ? "." : "#") + y, e.forced) && void 0 !== h)
+ ) {
+ if (typeof x == typeof h) continue;
+ c(x, h);
+ }
+ (e.sham || (h && h.sham)) && r(x, "sham", !0), o(i, y, x, e);
+ }
+ };
+ },
+ function (e, n) {
+ var i = 0,
+ t = Math.random();
+ e.exports = function (e) {
+ return "Symbol(".concat(
+ void 0 === e ? "" : e,
+ ")_",
+ (++i + t).toString(36)
+ );
+ };
+ },
+ function (e, n, i) {
+ var t = i(0),
+ l = i(6),
+ r = t.document,
+ o = l(r) && l(r.createElement);
+ e.exports = function (e) {
+ return o ? r.createElement(e) : {};
+ };
+ },
+ function (e, n, i) {
+ var t = i(8),
+ l = i(4),
+ r = i(34);
+ e.exports =
+ !t &&
+ !l(function () {
+ return (
+ 7 !=
+ Object.defineProperty(r("div"), "a", {
+ get: function () {
+ return 7;
+ },
+ }).a
+ );
+ });
+ },
+ function (e, n, i) {
+ var t = i(11);
+ e.exports = t("native-function-to-string", Function.toString);
+ },
+ function (e, n, i) {
+ var t,
+ l,
+ r,
+ o = i(76),
+ a = i(0),
+ c = i(6),
+ p = i(5),
+ y = i(1),
+ h = i(16),
+ x = i(15),
+ s = a.WeakMap;
+ if (o) {
+ var u = new s(),
+ d = u.get,
+ f = u.has,
+ g = u.set;
+ (t = function (e, n) {
+ return g.call(u, e, n), n;
+ }),
+ (l = function (e) {
+ return d.call(u, e) || {};
+ }),
+ (r = function (e) {
+ return f.call(u, e);
+ });
+ } else {
+ var v = h("state");
+ (x[v] = !0),
+ (t = function (e, n) {
+ return p(e, v, n), n;
+ }),
+ (l = function (e) {
+ return y(e, v) ? e[v] : {};
+ }),
+ (r = function (e) {
+ return y(e, v);
+ });
+ }
+ e.exports = {
+ set: t,
+ get: l,
+ has: r,
+ enforce: function (e) {
+ return r(e) ? l(e) : t(e, {});
+ },
+ getterFor: function (e) {
+ return function (n) {
+ var i;
+ if (!c(n) || (i = l(n)).type !== e)
+ throw TypeError("Incompatible receiver, " + e + " required");
+ return i;
+ };
+ },
+ };
+ },
+ function (e, n, i) {
+ "use strict";
+ Object.defineProperty(n, "__esModule", { value: !0 });
+ var t =
+ Object.assign ||
+ function (e) {
+ for (var n = 1; n < arguments.length; n++) {
+ var i = arguments[n];
+ for (var t in i)
+ Object.prototype.hasOwnProperty.call(i, t) && (e[t] = i[t]);
+ }
+ return e;
+ },
+ l = o(i(22)),
+ r = o(i(12));
+ function o(e) {
+ return e && e.__esModule ? e : { default: e };
+ }
+ n.default = function () {
+ var e =
+ arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+ if ("undefined" == typeof document)
+ throw new Error(
+ "`feather.replace()` only works in a browser environment."
+ );
+ var n = document.querySelectorAll("[data-feather]");
+ Array.from(n).forEach(function (n) {
+ return (function (e) {
+ var n =
+ arguments.length > 1 && void 0 !== arguments[1]
+ ? arguments[1]
+ : {},
+ i = (function (e) {
+ return Array.from(e.attributes).reduce(function (e, n) {
+ return (e[n.name] = n.value), e;
+ }, {});
+ })(e),
+ o = i["data-feather"];
+ delete i["data-feather"];
+ var a = r.default[o].toSvg(
+ t({}, n, i, { class: (0, l.default)(n.class, i.class) })
+ ),
+ c = new DOMParser()
+ .parseFromString(a, "image/svg+xml")
+ .querySelector("svg");
+ e.parentNode.replaceChild(c, e);
+ })(n, e);
+ });
+ };
+ },
+ function (e, n, i) {
+ "use strict";
+ Object.defineProperty(n, "__esModule", { value: !0 });
+ var t,
+ l = i(12),
+ r = (t = l) && t.__esModule ? t : { default: t };
+ n.default = function (e) {
+ var n =
+ arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
+ if (
+ (console.warn(
+ "feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."
+ ),
+ !e)
+ )
+ throw new Error(
+ "The required `key` (icon name) parameter is missing."
+ );
+ if (!r.default[e])
+ throw new Error(
+ "No icon matching '" +
+ e +
+ "'. See the complete list of icons at https://feathericons.com"
+ );
+ return r.default[e].toSvg(n);
+ };
+ },
+ function (e) {
+ e.exports = {
+ activity: ["pulse", "health", "action", "motion"],
+ airplay: ["stream", "cast", "mirroring"],
+ "alert-circle": ["warning", "alert", "danger"],
+ "alert-octagon": ["warning", "alert", "danger"],
+ "alert-triangle": ["warning", "alert", "danger"],
+ "align-center": ["text alignment", "center"],
+ "align-justify": ["text alignment", "justified"],
+ "align-left": ["text alignment", "left"],
+ "align-right": ["text alignment", "right"],
+ anchor: [],
+ archive: ["index", "box"],
+ "at-sign": ["mention", "at", "email", "message"],
+ award: ["achievement", "badge"],
+ aperture: ["camera", "photo"],
+ "bar-chart": ["statistics", "diagram", "graph"],
+ "bar-chart-2": ["statistics", "diagram", "graph"],
+ battery: ["power", "electricity"],
+ "battery-charging": ["power", "electricity"],
+ bell: ["alarm", "notification", "sound"],
+ "bell-off": ["alarm", "notification", "silent"],
+ bluetooth: ["wireless"],
+ "book-open": ["read", "library"],
+ book: ["read", "dictionary", "booklet", "magazine", "library"],
+ bookmark: ["read", "clip", "marker", "tag"],
+ box: ["cube"],
+ briefcase: ["work", "bag", "baggage", "folder"],
+ calendar: ["date"],
+ camera: ["photo"],
+ cast: ["chromecast", "airplay"],
+ "chevron-down": ["expand"],
+ "chevron-up": ["collapse"],
+ circle: ["off", "zero", "record"],
+ clipboard: ["copy"],
+ clock: ["time", "watch", "alarm"],
+ "cloud-drizzle": ["weather", "shower"],
+ "cloud-lightning": ["weather", "bolt"],
+ "cloud-rain": ["weather"],
+ "cloud-snow": ["weather", "blizzard"],
+ cloud: ["weather"],
+ codepen: ["logo"],
+ codesandbox: ["logo"],
+ code: ["source", "programming"],
+ coffee: ["drink", "cup", "mug", "tea", "cafe", "hot", "beverage"],
+ columns: ["layout"],
+ command: ["keyboard", "cmd", "terminal", "prompt"],
+ compass: ["navigation", "safari", "travel", "direction"],
+ copy: ["clone", "duplicate"],
+ "corner-down-left": ["arrow", "return"],
+ "corner-down-right": ["arrow"],
+ "corner-left-down": ["arrow"],
+ "corner-left-up": ["arrow"],
+ "corner-right-down": ["arrow"],
+ "corner-right-up": ["arrow"],
+ "corner-up-left": ["arrow"],
+ "corner-up-right": ["arrow"],
+ cpu: ["processor", "technology"],
+ "credit-card": ["purchase", "payment", "cc"],
+ crop: ["photo", "image"],
+ crosshair: ["aim", "target"],
+ database: ["storage", "memory"],
+ delete: ["remove"],
+ disc: ["album", "cd", "dvd", "music"],
+ "dollar-sign": ["currency", "money", "payment"],
+ droplet: ["water"],
+ edit: ["pencil", "change"],
+ "edit-2": ["pencil", "change"],
+ "edit-3": ["pencil", "change"],
+ eye: ["view", "watch"],
+ "eye-off": ["view", "watch", "hide", "hidden"],
+ "external-link": ["outbound"],
+ facebook: ["logo", "social"],
+ "fast-forward": ["music"],
+ figma: ["logo", "design", "tool"],
+ "file-minus": ["delete", "remove", "erase"],
+ "file-plus": ["add", "create", "new"],
+ "file-text": ["data", "txt", "pdf"],
+ film: ["movie", "video"],
+ filter: ["funnel", "hopper"],
+ flag: ["report"],
+ "folder-minus": ["directory"],
+ "folder-plus": ["directory"],
+ folder: ["directory"],
+ framer: ["logo", "design", "tool"],
+ frown: ["emoji", "face", "bad", "sad", "emotion"],
+ gift: ["present", "box", "birthday", "party"],
+ "git-branch": ["code", "version control"],
+ "git-commit": ["code", "version control"],
+ "git-merge": ["code", "version control"],
+ "git-pull-request": ["code", "version control"],
+ github: ["logo", "version control"],
+ gitlab: ["logo", "version control"],
+ globe: ["world", "browser", "language", "translate"],
+ "hard-drive": ["computer", "server", "memory", "data"],
+ hash: ["hashtag", "number", "pound"],
+ headphones: ["music", "audio", "sound"],
+ heart: ["like", "love", "emotion"],
+ "help-circle": ["question mark"],
+ hexagon: ["shape", "node.js", "logo"],
+ home: ["house", "living"],
+ image: ["picture"],
+ inbox: ["email"],
+ instagram: ["logo", "camera"],
+ key: ["password", "login", "authentication", "secure"],
+ layers: ["stack"],
+ layout: ["window", "webpage"],
+ "life-bouy": ["help", "life ring", "support"],
+ link: ["chain", "url"],
+ "link-2": ["chain", "url"],
+ linkedin: ["logo", "social media"],
+ list: ["options"],
+ lock: ["security", "password", "secure"],
+ "log-in": ["sign in", "arrow", "enter"],
+ "log-out": ["sign out", "arrow", "exit"],
+ mail: ["email", "message"],
+ "map-pin": ["location", "navigation", "travel", "marker"],
+ map: ["location", "navigation", "travel"],
+ maximize: ["fullscreen"],
+ "maximize-2": ["fullscreen", "arrows", "expand"],
+ meh: ["emoji", "face", "neutral", "emotion"],
+ menu: ["bars", "navigation", "hamburger"],
+ "message-circle": ["comment", "chat"],
+ "message-square": ["comment", "chat"],
+ "mic-off": ["record", "sound", "mute"],
+ mic: ["record", "sound", "listen"],
+ minimize: ["exit fullscreen", "close"],
+ "minimize-2": ["exit fullscreen", "arrows", "close"],
+ minus: ["subtract"],
+ monitor: ["tv", "screen", "display"],
+ moon: ["dark", "night"],
+ "more-horizontal": ["ellipsis"],
+ "more-vertical": ["ellipsis"],
+ "mouse-pointer": ["arrow", "cursor"],
+ move: ["arrows"],
+ music: ["note"],
+ navigation: ["location", "travel"],
+ "navigation-2": ["location", "travel"],
+ octagon: ["stop"],
+ package: ["box", "container"],
+ paperclip: ["attachment"],
+ pause: ["music", "stop"],
+ "pause-circle": ["music", "audio", "stop"],
+ "pen-tool": ["vector", "drawing"],
+ percent: ["discount"],
+ "phone-call": ["ring"],
+ "phone-forwarded": ["call"],
+ "phone-incoming": ["call"],
+ "phone-missed": ["call"],
+ "phone-off": ["call", "mute"],
+ "phone-outgoing": ["call"],
+ phone: ["call"],
+ play: ["music", "start"],
+ "pie-chart": ["statistics", "diagram"],
+ "play-circle": ["music", "start"],
+ plus: ["add", "new"],
+ "plus-circle": ["add", "new"],
+ "plus-square": ["add", "new"],
+ pocket: ["logo", "save"],
+ power: ["on", "off"],
+ printer: ["fax", "office", "device"],
+ radio: ["signal"],
+ "refresh-cw": ["synchronise", "arrows"],
+ "refresh-ccw": ["arrows"],
+ repeat: ["loop", "arrows"],
+ rewind: ["music"],
+ "rotate-ccw": ["arrow"],
+ "rotate-cw": ["arrow"],
+ rss: ["feed", "subscribe"],
+ save: ["floppy disk"],
+ scissors: ["cut"],
+ search: ["find", "magnifier", "magnifying glass"],
+ send: ["message", "mail", "email", "paper airplane", "paper aeroplane"],
+ settings: ["cog", "edit", "gear", "preferences"],
+ "share-2": ["network", "connections"],
+ shield: ["security", "secure"],
+ "shield-off": ["security", "insecure"],
+ "shopping-bag": ["ecommerce", "cart", "purchase", "store"],
+ "shopping-cart": ["ecommerce", "cart", "purchase", "store"],
+ shuffle: ["music"],
+ "skip-back": ["music"],
+ "skip-forward": ["music"],
+ slack: ["logo"],
+ slash: ["ban", "no"],
+ sliders: ["settings", "controls"],
+ smartphone: ["cellphone", "device"],
+ smile: ["emoji", "face", "happy", "good", "emotion"],
+ speaker: ["audio", "music"],
+ star: ["bookmark", "favorite", "like"],
+ "stop-circle": ["media", "music"],
+ sun: ["brightness", "weather", "light"],
+ sunrise: ["weather", "time", "morning", "day"],
+ sunset: ["weather", "time", "evening", "night"],
+ tablet: ["device"],
+ tag: ["label"],
+ target: ["logo", "bullseye"],
+ terminal: ["code", "command line", "prompt"],
+ thermometer: ["temperature", "celsius", "fahrenheit", "weather"],
+ "thumbs-down": ["dislike", "bad", "emotion"],
+ "thumbs-up": ["like", "good", "emotion"],
+ "toggle-left": ["on", "off", "switch"],
+ "toggle-right": ["on", "off", "switch"],
+ tool: ["settings", "spanner"],
+ trash: ["garbage", "delete", "remove", "bin"],
+ "trash-2": ["garbage", "delete", "remove", "bin"],
+ triangle: ["delta"],
+ truck: ["delivery", "van", "shipping", "transport", "lorry"],
+ tv: ["television", "stream"],
+ twitch: ["logo"],
+ twitter: ["logo", "social"],
+ type: ["text"],
+ umbrella: ["rain", "weather"],
+ unlock: ["security"],
+ "user-check": ["followed", "subscribed"],
+ "user-minus": ["delete", "remove", "unfollow", "unsubscribe"],
+ "user-plus": ["new", "add", "create", "follow", "subscribe"],
+ "user-x": [
+ "delete",
+ "remove",
+ "unfollow",
+ "unsubscribe",
+ "unavailable",
+ ],
+ user: ["person", "account"],
+ users: ["group"],
+ "video-off": ["camera", "movie", "film"],
+ video: ["camera", "movie", "film"],
+ voicemail: ["phone"],
+ volume: ["music", "sound", "mute"],
+ "volume-1": ["music", "sound"],
+ "volume-2": ["music", "sound"],
+ "volume-x": ["music", "sound", "mute"],
+ watch: ["clock", "time"],
+ "wifi-off": ["disabled"],
+ wifi: ["connection", "signal", "wireless"],
+ wind: ["weather", "air"],
+ "x-circle": ["cancel", "close", "delete", "remove", "times", "clear"],
+ "x-octagon": ["delete", "stop", "alert", "warning", "times", "clear"],
+ "x-square": ["cancel", "close", "delete", "remove", "times", "clear"],
+ x: ["cancel", "close", "delete", "remove", "times", "clear"],
+ youtube: ["logo", "video", "play"],
+ "zap-off": ["flash", "camera", "lightning"],
+ zap: ["flash", "camera", "lightning"],
+ "zoom-in": ["magnifying glass"],
+ "zoom-out": ["magnifying glass"],
+ };
+ },
+ function (e) {
+ e.exports = {
+ activity:
+ '',
+ airplay:
+ '',
+ "alert-circle":
+ '',
+ "alert-octagon":
+ '',
+ "alert-triangle":
+ '',
+ "align-center":
+ '',
+ "align-justify":
+ '',
+ "align-left":
+ '',
+ "align-right":
+ '',
+ anchor:
+ '',
+ aperture:
+ '',
+ archive:
+ '',
+ "arrow-down-circle":
+ '',
+ "arrow-down-left":
+ '',
+ "arrow-down-right":
+ '',
+ "arrow-down":
+ '',
+ "arrow-left-circle":
+ '',
+ "arrow-left":
+ '',
+ "arrow-right-circle":
+ '',
+ "arrow-right":
+ '',
+ "arrow-up-circle":
+ '',
+ "arrow-up-left":
+ '',
+ "arrow-up-right":
+ '',
+ "arrow-up":
+ '',
+ "at-sign":
+ '',
+ award:
+ '',
+ "bar-chart-2":
+ '',
+ "bar-chart":
+ '',
+ "battery-charging":
+ '',
+ battery:
+ '',
+ "bell-off":
+ '',
+ bell: '',
+ bluetooth:
+ '',
+ bold: '',
+ "book-open":
+ '',
+ book: '',
+ bookmark:
+ '',
+ box: '',
+ briefcase:
+ '',
+ calendar:
+ '',
+ "camera-off":
+ '',
+ camera:
+ '',
+ cast: '',
+ "check-circle":
+ '',
+ "check-square":
+ '',
+ check: '',
+ "chevron-down": '',
+ "chevron-left": '',
+ "chevron-right": '',
+ "chevron-up": '',
+ "chevrons-down":
+ '',
+ "chevrons-left":
+ '',
+ "chevrons-right":
+ '',
+ "chevrons-up":
+ '',
+ chrome:
+ '',
+ circle: '',
+ clipboard:
+ '',
+ clock:
+ '',
+ "cloud-drizzle":
+ '',
+ "cloud-lightning":
+ '',
+ "cloud-off":
+ '',
+ "cloud-rain":
+ '',
+ "cloud-snow":
+ '',
+ cloud:
+ '',
+ code: '',
+ codepen:
+ '',
+ codesandbox:
+ '',
+ coffee:
+ '',
+ columns:
+ '',
+ command:
+ '',
+ compass:
+ '',
+ copy: '',
+ "corner-down-left":
+ '',
+ "corner-down-right":
+ '',
+ "corner-left-down":
+ '',
+ "corner-left-up":
+ '',
+ "corner-right-down":
+ '',
+ "corner-right-up":
+ '',
+ "corner-up-left":
+ '',
+ "corner-up-right":
+ '',
+ cpu: '',
+ "credit-card":
+ '',
+ crop: '',
+ crosshair:
+ '',
+ database:
+ '',
+ delete:
+ '',
+ disc: '',
+ "divide-circle":
+ '',
+ "divide-square":
+ '',
+ divide:
+ '',
+ "dollar-sign":
+ '',
+ "download-cloud":
+ '',
+ download:
+ '',
+ dribbble:
+ '',
+ droplet: '',
+ "edit-2":
+ '',
+ "edit-3":
+ '',
+ edit: '',
+ "external-link":
+ '',
+ "eye-off":
+ '',
+ eye: '',
+ facebook:
+ '',
+ "fast-forward":
+ '',
+ feather:
+ '',
+ figma:
+ '',
+ "file-minus":
+ '',
+ "file-plus":
+ '',
+ "file-text":
+ '',
+ file: '',
+ film: '',
+ filter:
+ '',
+ flag: '',
+ "folder-minus":
+ '',
+ "folder-plus":
+ '',
+ folder:
+ '',
+ framer: '',
+ frown:
+ '',
+ gift: '',
+ "git-branch":
+ '',
+ "git-commit":
+ '',
+ "git-merge":
+ '',
+ "git-pull-request":
+ '',
+ github:
+ '',
+ gitlab:
+ '',
+ globe:
+ '',
+ grid: '',
+ "hard-drive":
+ '',
+ hash: '',
+ headphones:
+ '',
+ heart:
+ '',
+ "help-circle":
+ '',
+ hexagon:
+ '',
+ home: '',
+ image:
+ '',
+ inbox:
+ '',
+ info: '',
+ instagram:
+ '',
+ italic:
+ '',
+ key: '',
+ layers:
+ '',
+ layout:
+ '',
+ "life-buoy":
+ '',
+ "link-2":
+ '',
+ link: '',
+ linkedin:
+ '',
+ list: '',
+ loader:
+ '',
+ lock: '',
+ "log-in":
+ '',
+ "log-out":
+ '',
+ mail: '',
+ "map-pin":
+ '',
+ map: '',
+ "maximize-2":
+ '',
+ maximize:
+ '',
+ meh: '',
+ menu: '',
+ "message-circle":
+ '',
+ "message-square":
+ '',
+ "mic-off":
+ '',
+ mic: '',
+ "minimize-2":
+ '',
+ minimize:
+ '',
+ "minus-circle":
+ '',
+ "minus-square":
+ '',
+ minus: '',
+ monitor:
+ '',
+ moon: '',
+ "more-horizontal":
+ '',
+ "more-vertical":
+ '',
+ "mouse-pointer":
+ '',
+ move: '',
+ music:
+ '',
+ "navigation-2":
+ '',
+ navigation: '',
+ octagon:
+ '',
+ package:
+ '',
+ paperclip:
+ '',
+ "pause-circle":
+ '',
+ pause:
+ '',
+ "pen-tool":
+ '',
+ percent:
+ '',
+ "phone-call":
+ '',
+ "phone-forwarded":
+ '',
+ "phone-incoming":
+ '',
+ "phone-missed":
+ '',
+ "phone-off":
+ '',
+ "phone-outgoing":
+ '',
+ phone:
+ '',
+ "pie-chart":
+ '',
+ "play-circle":
+ '',
+ play: '',
+ "plus-circle":
+ '',
+ "plus-square":
+ '',
+ plus: '',
+ pocket:
+ '',
+ power:
+ '',
+ printer:
+ '',
+ radio:
+ '',
+ "refresh-ccw":
+ '',
+ "refresh-cw":
+ '',
+ repeat:
+ '',
+ rewind:
+ '',
+ "rotate-ccw":
+ '',
+ "rotate-cw":
+ '',
+ rss: '',
+ save: '',
+ scissors:
+ '',
+ search:
+ '',
+ send: '',
+ server:
+ '',
+ settings:
+ '',
+ "share-2":
+ '',
+ share:
+ '',
+ "shield-off":
+ '',
+ shield: '',
+ "shopping-bag":
+ '',
+ "shopping-cart":
+ '',
+ shuffle:
+ '',
+ sidebar:
+ '',
+ "skip-back":
+ '',
+ "skip-forward":
+ '',
+ slack:
+ '',
+ slash:
+ '',
+ sliders:
+ '',
+ smartphone:
+ '',
+ smile:
+ '',
+ speaker:
+ '',
+ square:
+ '',
+ star: '',
+ "stop-circle":
+ '',
+ sun: '',
+ sunrise:
+ '',
+ sunset:
+ '',
+ table:
+ '',
+ tablet:
+ '',
+ tag: '',
+ target:
+ '',
+ terminal:
+ '',
+ thermometer:
+ '',
+ "thumbs-down":
+ '',
+ "thumbs-up":
+ '',
+ "toggle-left":
+ '',
+ "toggle-right":
+ '',
+ tool: '',
+ "trash-2":
+ '',
+ trash:
+ '',
+ trello:
+ '',
+ "trending-down":
+ '',
+ "trending-up":
+ '',
+ triangle:
+ '',
+ truck:
+ '',
+ tv: '',
+ twitch: '',
+ twitter:
+ '',
+ type: '',
+ umbrella:
+ '',
+ underline:
+ '',
+ unlock:
+ '',
+ "upload-cloud":
+ '',
+ upload:
+ '',
+ "user-check":
+ '',
+ "user-minus":
+ '',
+ "user-plus":
+ '',
+ "user-x":
+ '',
+ user: '',
+ users:
+ '',
+ "video-off":
+ '',
+ video:
+ '',
+ voicemail:
+ '',
+ "volume-1":
+ '',
+ "volume-2":
+ '',
+ "volume-x":
+ '',
+ volume:
+ '',
+ watch:
+ '',
+ "wifi-off":
+ '',
+ wifi: '',
+ wind: '',
+ "x-circle":
+ '',
+ "x-octagon":
+ '',
+ "x-square":
+ '',
+ x: '',
+ youtube:
+ '',
+ "zap-off":
+ '',
+ zap: '',
+ "zoom-in":
+ '',
+ "zoom-out":
+ '',
+ };
+ },
+ function (e) {
+ e.exports = {
+ xmlns: "http://www.w3.org/2000/svg",
+ width: 24,
+ height: 24,
+ viewBox: "0 0 24 24",
+ fill: "none",
+ stroke: "currentColor",
+ "stroke-width": 2,
+ "stroke-linecap": "round",
+ "stroke-linejoin": "round",
+ };
+ },
+ function (e, n, i) {
+ "use strict";
+ Object.defineProperty(n, "__esModule", { value: !0 });
+ var t =
+ Object.assign ||
+ function (e) {
+ for (var n = 1; n < arguments.length; n++) {
+ var i = arguments[n];
+ for (var t in i)
+ Object.prototype.hasOwnProperty.call(i, t) && (e[t] = i[t]);
+ }
+ return e;
+ },
+ l = (function () {
+ function e(e, n) {
+ for (var i = 0; i < n.length; i++) {
+ var t = n[i];
+ (t.enumerable = t.enumerable || !1),
+ (t.configurable = !0),
+ "value" in t && (t.writable = !0),
+ Object.defineProperty(e, t.key, t);
+ }
+ }
+ return function (n, i, t) {
+ return i && e(n.prototype, i), t && e(n, t), n;
+ };
+ })(),
+ r = a(i(22)),
+ o = a(i(42));
+ function a(e) {
+ return e && e.__esModule ? e : { default: e };
+ }
+ var c = (function () {
+ function e(n, i) {
+ var l =
+ arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];
+ !(function (e, n) {
+ if (!(e instanceof n))
+ throw new TypeError("Cannot call a class as a function");
+ })(this, e),
+ (this.name = n),
+ (this.contents = i),
+ (this.tags = l),
+ (this.attrs = t({}, o.default, { class: "feather feather-" + n }));
+ }
+ return (
+ l(e, [
+ {
+ key: "toSvg",
+ value: function () {
+ var e =
+ arguments.length > 0 && void 0 !== arguments[0]
+ ? arguments[0]
+ : {};
+ return (
+ ""
+ );
+ },
+ },
+ {
+ key: "toString",
+ value: function () {
+ return this.contents;
+ },
+ },
+ ]),
+ e
+ );
+ })();
+ n.default = c;
+ },
+ function (e, n, i) {
+ "use strict";
+ var t = o(i(12)),
+ l = o(i(39)),
+ r = o(i(38));
+ function o(e) {
+ return e && e.__esModule ? e : { default: e };
+ }
+ e.exports = { icons: t.default, toSvg: l.default, replace: r.default };
+ },
+ function (e, n, i) {
+ e.exports = i(0);
+ },
+ function (e, n, i) {
+ var t = i(2)("iterator"),
+ l = !1;
+ try {
+ var r = 0,
+ o = {
+ next: function () {
+ return { done: !!r++ };
+ },
+ return: function () {
+ l = !0;
+ },
+ };
+ (o[t] = function () {
+ return this;
+ }),
+ Array.from(o, function () {
+ throw 2;
+ });
+ } catch (e) {}
+ e.exports = function (e, n) {
+ if (!n && !l) return !1;
+ var i = !1;
+ try {
+ var r = {};
+ (r[t] = function () {
+ return {
+ next: function () {
+ return { done: (i = !0) };
+ },
+ };
+ }),
+ e(r);
+ } catch (e) {}
+ return i;
+ };
+ },
+ function (e, n, i) {
+ var t = i(30),
+ l = i(2)("toStringTag"),
+ r =
+ "Arguments" ==
+ t(
+ (function () {
+ return arguments;
+ })()
+ );
+ e.exports = function (e) {
+ var n, i, o;
+ return void 0 === e
+ ? "Undefined"
+ : null === e
+ ? "Null"
+ : "string" ==
+ typeof (i = (function (e, n) {
+ try {
+ return e[n];
+ } catch (e) {}
+ })((n = Object(e)), l))
+ ? i
+ : r
+ ? t(n)
+ : "Object" == (o = t(n)) && "function" == typeof n.callee
+ ? "Arguments"
+ : o;
+ };
+ },
+ function (e, n, i) {
+ var t = i(47),
+ l = i(9),
+ r = i(2)("iterator");
+ e.exports = function (e) {
+ if (void 0 != e) return e[r] || e["@@iterator"] || l[t(e)];
+ };
+ },
+ function (e, n, i) {
+ "use strict";
+ var t = i(18),
+ l = i(7),
+ r = i(10);
+ e.exports = function (e, n, i) {
+ var o = t(n);
+ o in e ? l.f(e, o, r(0, i)) : (e[o] = i);
+ };
+ },
+ function (e, n, i) {
+ var t = i(2),
+ l = i(9),
+ r = t("iterator"),
+ o = Array.prototype;
+ e.exports = function (e) {
+ return void 0 !== e && (l.Array === e || o[r] === e);
+ };
+ },
+ function (e, n, i) {
+ var t = i(3);
+ e.exports = function (e, n, i, l) {
+ try {
+ return l ? n(t(i)[0], i[1]) : n(i);
+ } catch (n) {
+ var r = e.return;
+ throw (void 0 !== r && t(r.call(e)), n);
+ }
+ };
+ },
+ function (e, n) {
+ e.exports = function (e) {
+ if ("function" != typeof e)
+ throw TypeError(String(e) + " is not a function");
+ return e;
+ };
+ },
+ function (e, n, i) {
+ var t = i(52);
+ e.exports = function (e, n, i) {
+ if ((t(e), void 0 === n)) return e;
+ switch (i) {
+ case 0:
+ return function () {
+ return e.call(n);
+ };
+ case 1:
+ return function (i) {
+ return e.call(n, i);
+ };
+ case 2:
+ return function (i, t) {
+ return e.call(n, i, t);
+ };
+ case 3:
+ return function (i, t, l) {
+ return e.call(n, i, t, l);
+ };
+ }
+ return function () {
+ return e.apply(n, arguments);
+ };
+ };
+ },
+ function (e, n, i) {
+ "use strict";
+ var t = i(53),
+ l = i(24),
+ r = i(51),
+ o = i(50),
+ a = i(27),
+ c = i(49),
+ p = i(48);
+ e.exports = function (e) {
+ var n,
+ i,
+ y,
+ h,
+ x = l(e),
+ s = "function" == typeof this ? this : Array,
+ u = arguments.length,
+ d = u > 1 ? arguments[1] : void 0,
+ f = void 0 !== d,
+ g = 0,
+ v = p(x);
+ if (
+ (f && (d = t(d, u > 2 ? arguments[2] : void 0, 2)),
+ void 0 == v || (s == Array && o(v)))
+ )
+ for (i = new s((n = a(x.length))); n > g; g++)
+ c(i, g, f ? d(x[g], g) : x[g]);
+ else
+ for (h = v.call(x), i = new s(); !(y = h.next()).done; g++)
+ c(i, g, f ? r(h, d, [y.value, g], !0) : y.value);
+ return (i.length = g), i;
+ };
+ },
+ function (e, n, i) {
+ var t = i(32),
+ l = i(54);
+ t(
+ {
+ target: "Array",
+ stat: !0,
+ forced: !i(46)(function (e) {
+ Array.from(e);
+ }),
+ },
+ { from: l }
+ );
+ },
+ function (e, n, i) {
+ var t = i(6),
+ l = i(3);
+ e.exports = function (e, n) {
+ if ((l(e), !t(n) && null !== n))
+ throw TypeError("Can't set " + String(n) + " as a prototype");
+ };
+ },
+ function (e, n, i) {
+ var t = i(56);
+ e.exports =
+ Object.setPrototypeOf ||
+ ("__proto__" in {}
+ ? (function () {
+ var e,
+ n = !1,
+ i = {};
+ try {
+ (e = Object.getOwnPropertyDescriptor(
+ Object.prototype,
+ "__proto__"
+ ).set).call(i, []),
+ (n = i instanceof Array);
+ } catch (e) {}
+ return function (i, l) {
+ return t(i, l), n ? e.call(i, l) : (i.__proto__ = l), i;
+ };
+ })()
+ : void 0);
+ },
+ function (e, n, i) {
+ var t = i(0).document;
+ e.exports = t && t.documentElement;
+ },
+ function (e, n, i) {
+ var t = i(28),
+ l = i(13);
+ e.exports =
+ Object.keys ||
+ function (e) {
+ return t(e, l);
+ };
+ },
+ function (e, n, i) {
+ var t = i(8),
+ l = i(7),
+ r = i(3),
+ o = i(59);
+ e.exports = t
+ ? Object.defineProperties
+ : function (e, n) {
+ r(e);
+ for (var i, t = o(n), a = t.length, c = 0; a > c; )
+ l.f(e, (i = t[c++]), n[i]);
+ return e;
+ };
+ },
+ function (e, n, i) {
+ var t = i(3),
+ l = i(60),
+ r = i(13),
+ o = i(15),
+ a = i(58),
+ c = i(34),
+ p = i(16)("IE_PROTO"),
+ y = function () {},
+ h = function () {
+ var e,
+ n = c("iframe"),
+ i = r.length;
+ for (
+ n.style.display = "none",
+ a.appendChild(n),
+ n.src = String("javascript:"),
+ (e = n.contentWindow.document).open(),
+ e.write(""),
+ e.close(),
+ h = e.F;
+ i--;
+
+ )
+ delete h.prototype[r[i]];
+ return h();
+ };
+ (e.exports =
+ Object.create ||
+ function (e, n) {
+ var i;
+ return (
+ null !== e
+ ? ((y.prototype = t(e)),
+ (i = new y()),
+ (y.prototype = null),
+ (i[p] = e))
+ : (i = h()),
+ void 0 === n ? i : l(i, n)
+ );
+ }),
+ (o[p] = !0);
+ },
+ function (e, n, i) {
+ var t = i(4);
+ e.exports =
+ !!Object.getOwnPropertySymbols &&
+ !t(function () {
+ return !String(Symbol());
+ });
+ },
+ function (e, n, i) {
+ var t = i(4);
+ e.exports = !t(function () {
+ function e() {}
+ return (
+ (e.prototype.constructor = null),
+ Object.getPrototypeOf(new e()) !== e.prototype
+ );
+ });
+ },
+ function (e, n, i) {
+ "use strict";
+ var t = i(26).IteratorPrototype,
+ l = i(61),
+ r = i(10),
+ o = i(23),
+ a = i(9),
+ c = function () {
+ return this;
+ };
+ e.exports = function (e, n, i) {
+ var p = n + " Iterator";
+ return (
+ (e.prototype = l(t, { next: r(1, i) })),
+ o(e, p, !1, !0),
+ (a[p] = c),
+ e
+ );
+ };
+ },
+ function (e, n, i) {
+ var t = i(4),
+ l = /#|\.prototype\./,
+ r = function (e, n) {
+ var i = a[o(e)];
+ return i == p || (i != c && ("function" == typeof n ? t(n) : !!n));
+ },
+ o = (r.normalize = function (e) {
+ return String(e).replace(l, ".").toLowerCase();
+ }),
+ a = (r.data = {}),
+ c = (r.NATIVE = "N"),
+ p = (r.POLYFILL = "P");
+ e.exports = r;
+ },
+ function (e, n) {
+ n.f = Object.getOwnPropertySymbols;
+ },
+ function (e, n, i) {
+ var t = i(21),
+ l = Math.max,
+ r = Math.min;
+ e.exports = function (e, n) {
+ var i = t(e);
+ return i < 0 ? l(i + n, 0) : r(i, n);
+ };
+ },
+ function (e, n, i) {
+ var t = i(14),
+ l = i(27),
+ r = i(67);
+ e.exports = function (e) {
+ return function (n, i, o) {
+ var a,
+ c = t(n),
+ p = l(c.length),
+ y = r(o, p);
+ if (e && i != i) {
+ for (; p > y; ) if ((a = c[y++]) != a) return !0;
+ } else
+ for (; p > y; y++)
+ if ((e || y in c) && c[y] === i) return e || y || 0;
+ return !e && -1;
+ };
+ };
+ },
+ function (e, n, i) {
+ var t = i(28),
+ l = i(13).concat("length", "prototype");
+ n.f =
+ Object.getOwnPropertyNames ||
+ function (e) {
+ return t(e, l);
+ };
+ },
+ function (e, n, i) {
+ var t = i(0),
+ l = i(69),
+ r = i(66),
+ o = i(3),
+ a = t.Reflect;
+ e.exports =
+ (a && a.ownKeys) ||
+ function (e) {
+ var n = l.f(o(e)),
+ i = r.f;
+ return i ? n.concat(i(e)) : n;
+ };
+ },
+ function (e, n, i) {
+ var t = i(1),
+ l = i(70),
+ r = i(31),
+ o = i(7);
+ e.exports = function (e, n) {
+ for (var i = l(n), a = o.f, c = r.f, p = 0; p < i.length; p++) {
+ var y = i[p];
+ t(e, y) || a(e, y, c(n, y));
+ }
+ };
+ },
+ function (e, n, i) {
+ var t = i(4),
+ l = i(30),
+ r = "".split;
+ e.exports = t(function () {
+ return !Object("z").propertyIsEnumerable(0);
+ })
+ ? function (e) {
+ return "String" == l(e) ? r.call(e, "") : Object(e);
+ }
+ : Object;
+ },
+ function (e, n, i) {
+ "use strict";
+ var t = {}.propertyIsEnumerable,
+ l = Object.getOwnPropertyDescriptor,
+ r = l && !t.call({ 1: 2 }, 1);
+ n.f = r
+ ? function (e) {
+ var n = l(this, e);
+ return !!n && n.enumerable;
+ }
+ : t;
+ },
+ function (e, n, i) {
+ "use strict";
+ var t = i(32),
+ l = i(64),
+ r = i(25),
+ o = i(57),
+ a = i(23),
+ c = i(5),
+ p = i(29),
+ y = i(2),
+ h = i(17),
+ x = i(9),
+ s = i(26),
+ u = s.IteratorPrototype,
+ d = s.BUGGY_SAFARI_ITERATORS,
+ f = y("iterator"),
+ g = function () {
+ return this;
+ };
+ e.exports = function (e, n, i, y, s, v, m) {
+ l(i, n, y);
+ var w,
+ M,
+ b,
+ z = function (e) {
+ if (e === s && O) return O;
+ if (!d && e in H) return H[e];
+ switch (e) {
+ case "keys":
+ case "values":
+ case "entries":
+ return function () {
+ return new i(this, e);
+ };
+ }
+ return function () {
+ return new i(this);
+ };
+ },
+ A = n + " Iterator",
+ k = !1,
+ H = e.prototype,
+ V = H[f] || H["@@iterator"] || (s && H[s]),
+ O = (!d && V) || z(s),
+ j = ("Array" == n && H.entries) || V;
+ if (
+ (j &&
+ ((w = r(j.call(new e()))),
+ u !== Object.prototype &&
+ w.next &&
+ (h ||
+ r(w) === u ||
+ (o ? o(w, u) : "function" != typeof w[f] && c(w, f, g)),
+ a(w, A, !0, !0),
+ h && (x[A] = g))),
+ "values" == s &&
+ V &&
+ "values" !== V.name &&
+ ((k = !0),
+ (O = function () {
+ return V.call(this);
+ })),
+ (h && !m) || H[f] === O || c(H, f, O),
+ (x[n] = O),
+ s)
+ )
+ if (
+ ((M = {
+ values: z("values"),
+ keys: v ? O : z("keys"),
+ entries: z("entries"),
+ }),
+ m)
+ )
+ for (b in M) (!d && !k && b in H) || p(H, b, M[b]);
+ else t({ target: n, proto: !0, forced: d || k }, M);
+ return M;
+ };
+ },
+ function (e, n) {
+ var i;
+ i = (function () {
+ return this;
+ })();
+ try {
+ i = i || Function("return this")() || (0, eval)("this");
+ } catch (e) {
+ "object" == typeof window && (i = window);
+ }
+ e.exports = i;
+ },
+ function (e, n, i) {
+ var t = i(0),
+ l = i(36),
+ r = t.WeakMap;
+ e.exports = "function" == typeof r && /native code/.test(l.call(r));
+ },
+ function (e, n, i) {
+ var t = i(21),
+ l = i(20);
+ e.exports = function (e, n, i) {
+ var r,
+ o,
+ a = String(l(e)),
+ c = t(n),
+ p = a.length;
+ return c < 0 || c >= p
+ ? i
+ ? ""
+ : void 0
+ : (r = a.charCodeAt(c)) < 55296 ||
+ r > 56319 ||
+ c + 1 === p ||
+ (o = a.charCodeAt(c + 1)) < 56320 ||
+ o > 57343
+ ? i
+ ? a.charAt(c)
+ : r
+ : i
+ ? a.slice(c, c + 2)
+ : o - 56320 + ((r - 55296) << 10) + 65536;
+ };
+ },
+ function (e, n, i) {
+ "use strict";
+ var t = i(77),
+ l = i(37),
+ r = i(74),
+ o = l.set,
+ a = l.getterFor("String Iterator");
+ r(
+ String,
+ "String",
+ function (e) {
+ o(this, { type: "String Iterator", string: String(e), index: 0 });
+ },
+ function () {
+ var e,
+ n = a(this),
+ i = n.string,
+ l = n.index;
+ return l >= i.length
+ ? { value: void 0, done: !0 }
+ : ((e = t(i, l, !0)),
+ (n.index += e.length),
+ { value: e, done: !1 });
+ }
+ );
+ },
+ function (e, n, i) {
+ i(78), i(55);
+ var t = i(45);
+ e.exports = t.Array.from;
+ },
+ function (e, n, i) {
+ i(79), (e.exports = i(44));
+ },
+ ]);
+});
+//# sourceMappingURL=feather.min.js.map
diff --git a/static/js/mainpage.js b/static/js/mainpage.js
index 43ea1dc..a714e59 100644
--- a/static/js/mainpage.js
+++ b/static/js/mainpage.js
@@ -1,3 +1,7 @@
+if (!localStorage.getItem("SessionID")) {
+ window.location.href = "/login.html";
+}
+
window.addEventListener("load", async () => {
console.log("loading...");
const rootFolder = await getFolder();
@@ -6,25 +10,58 @@ window.addEventListener("load", async () => {
bm.textContent = "Нет закладок";
return;
}
- const template = document.querySelector("#bookmark");
- const tagtempl = document.querySelector("#booktag");
- if (!template) {
+ if (!bookmark || !folder) {
return;
}
- for (let b of rootFolder.folder.ChildBookmarks) {
- const clone = template.content.cloneNode(true);
- clone.querySelector("#bookmark_name").textContent = b.Name;
- const link = clone.querySelector("#bookmark_link");
- link.setAttribute("href", b.Url);
- link.textContent = b.Url;
- for (let tag of b.Tags) {
- const t = tagtempl.content.cloneNode(true);
- const el = t.querySelector("span");
- el.addEventListener("onclick", () => alert(tag));
- el.textContent = "#" + tag;
- clone.querySelector("#bookmark_tags").appendChild(t);
- }
-
+ for (let f of rootFolder.folder.ChildFolders) {
+ const clone = createFolderElement(f);
bm.appendChild(clone);
}
+ for (let b of rootFolder.folder.ChildBookmarks) {
+ const clone = createBookmarkElement(b);
+ bm.appendChild(clone);
+ }
+ feather.replace();
});
+
+function createFolderElement(folder) {
+ const template = document.querySelector("#folder");
+ const clone = template.content.firstElementChild.cloneNode(true);
+ clone.querySelector("#folder_name").textContent = folder.Name;
+ clone.addEventListener("click", () => {
+ alert(folder.Name);
+ });
+ for (let el of clone.querySelectorAll("[data-feather-t]")) {
+ el.setAttribute("data-feather", el.getAttribute("data-feather-t"));
+ }
+ clone.querySelector(".xmark").addEventListener("click", (e) => {
+ alert(`${folder.Name} was deleted`);
+ e.stopPropagation();
+ });
+ return clone;
+}
+
+function createBookmarkElement(bookmark) {
+ const template = document.querySelector("#bookmark");
+ const tagtempl = document.querySelector("#booktag");
+ const clone = template.content.firstElementChild.cloneNode(true);
+ clone.querySelector("#bookmark_name").textContent = bookmark.Name;
+ const link = clone.querySelector("#bookmark_link");
+ link.setAttribute("href", bookmark.Url);
+ link.textContent = bookmark.Url;
+ for (let tag of bookmark.Tags) {
+ const t = tagtempl.content.cloneNode(true);
+ const el = t.querySelector("span");
+ el.addEventListener("onclick", () => alert(tag));
+ el.textContent = "#" + tag;
+ clone.querySelector("#bookmark_tags").appendChild(t);
+ }
+ for (let el of clone.querySelectorAll("[data-feather-t]")) {
+ el.setAttribute("data-feather", el.getAttribute("data-feather-t"));
+ }
+ clone.querySelector(".xmark").addEventListener("click", (e) => {
+ alert(`${bookmark.Name} was deleted`);
+ e.stopPropagation();
+ });
+ return clone;
+}
diff --git a/static/styles/main.css b/static/styles/main.css
index 8605128..d2c52df 100644
--- a/static/styles/main.css
+++ b/static/styles/main.css
@@ -13,10 +13,25 @@
--col-acc-2: #f36d6d;
--col-acc-0: #993d3d;
+ --col-fg-1: var(--col-gr-100);
+ --col-fg-2: var(--col-gr-200);
+ --col-fg-3: var(--col-gr-300);
--col-bg-1: var(--col-gr-600);
--col-bg-2: var(--col-gr-700);
--col-bg-3: var(--col-gr-800);
}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --col-fg-1: var(--col-gr-800);
+ --col-fg-2: var(--col-gr-700);
+ --col-fg-3: var(--col-gr-600);
+ --col-bg-1: var(--col-gr-300);
+ --col-bg-2: var(--col-gr-200);
+ --col-bg-3: var(--col-gr-100);
+ }
+}
+
h1,
h2,
h3,
@@ -29,7 +44,7 @@ h6 {
body {
min-height: 100vh;
- color: var(--col-main);
+ color: var(--col-fg-2);
background-color: var(--col-bg-1);
font-family: "Iosevka Aile Web";
box-sizing: border-box;
@@ -50,11 +65,18 @@ body {
display: flex;
flex-direction: column;
border-radius: 1em;
+ color: var(--col-fg-1);
background-color: var(--col-bg-2);
box-shadow: 2px 2px 100px #1115;
+ padding: 1em;
text-align: center;
}
+a {
+ text-decoration: none;
+ color: var(--col-acc-1);
+}
+
#bookmarks {
display: flex;
flex-wrap: wrap;
@@ -68,8 +90,29 @@ body {
background-color: var(--col-bg-2);
box-shadow: 2px 2px 100px #1115;
text-align: left;
- padding: 1em;
+ padding: 1em 2.5em 1em 1em;
margin: 1em;
+ transition: all 200ms ease;
+ position: relative;
+ z-index: 0;
+}
+.card .xmark {
+ position: absolute;
+ display: block;
+ width: 0.8em;
+ height: 0.8em;
+ /* border: 1px solid red; */
+ right: 1em;
+ top: 1em;
+}
+.card:hover {
+ box-shadow: 2px 2px 50px var(--col-acc-2);
+ transform: scale(1.1);
+ z-index: 1;
+}
+.tags {
+ font-size: 0.8em;
+ color: var(--col-fg-3);
}
form {
@@ -80,13 +123,21 @@ form {
input {
background-color: var(--col-bg-3);
+ color: var(--col-fg-1);
border: none;
border-radius: 5px;
padding: 1em 1em;
font-size: 1em;
+ box-shadow: 2px 2px 50px #1115;
+ transition: all 200ms ease;
margin: 1em 0;
}
+input:hover,
+input:focus {
+ box-shadow: 2px 2px 50px var(--col-acc-2);
+}
+
input[type="submit"],
button,
.btn {