diff --git a/static/assets/app.js b/static/assets/app.js
index 6a2f255..4f17456 100644
--- a/static/assets/app.js
+++ b/static/assets/app.js
@@ -30,8 +30,6 @@ let charts = []
let showTopN = []
let resizeCount = 0
-//Chart.defaults.global.defaultFontColor = "#E2E8F0"
-//Chart.defaults.global.defaultColor = "#E2E8F0"
charts.color = "#E2E8F0"
charts.borderColor = "#E2E8F0"
charts.backgroundColor = "#E2E8F0"
@@ -114,15 +112,15 @@ function draw(subselection) {
options: {
indexAxis: 'y',
scales: {
- xAxes: [{
- scaleLabel: {
+ xAxes: {
+ title: {
display: true,
- labelString: 'Duration (hh:mm:ss)'
+ text: 'Duration (hh:mm:ss)'
},
ticks: {
- callback: (label) => label.toString().toHHMMSS()
+ callback: (label) => label.toString().toHHMMSS(),
}
- }]
+ }
},
plugins: {
legend: {
@@ -313,7 +311,12 @@ function draw(subselection) {
getTotal(wakapiData.operatingSystems)
- charts = [projectChart, osChart, editorChart, languageChart, machineChart, labelChart].filter(c => !!c)
+ charts[0] = projectChart ? projectChart : charts[0]
+ charts[1] = osChart ? osChart : charts[1]
+ charts[2] = editorChart ? editorChart : charts[2]
+ charts[3] = languageChart ? languageChart : charts[3]
+ charts[4] = machineChart ? machineChart : charts[4]
+ charts[5] = labelChart ? labelChart : charts[5]
if (!subselection) {
charts.forEach(c => c.options.onResize(c))
diff --git a/static/assets/vendor/Chart.bundle.min.js b/static/assets/vendor/chart.min.js
similarity index 100%
rename from static/assets/vendor/Chart.bundle.min.js
rename to static/assets/vendor/chart.min.js
diff --git a/static/assets/vendor/tailwind.dist.css b/static/assets/vendor/tailwind.dist.css
index acce175..362c85e 100644
--- a/static/assets/vendor/tailwind.dist.css
+++ b/static/assets/vendor/tailwind.dist.css
@@ -1,108 +1,97 @@
-/*! tailwindcss v2.2.8 | MIT License | https://tailwindcss.com */
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
-/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
-
-/*
-Document
-========
-*/
+/* Document
+ ========================================================================== */
/**
-Use a better box model (opinionated).
-*/
-
-*,
-::before,
-::after {
- box-sizing: border-box;
-}
-
-/**
-Use a more readable tab size (opinionated).
-*/
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
html {
- -moz-tab-size: 4;
- -o-tab-size: 4;
- tab-size: 4;
+ line-height: 1.15; /* 1 */
+ -webkit-text-size-adjust: 100%; /* 2 */
}
-/**
-1. Correct the line height in all browsers.
-2. Prevent adjustments of font size after orientation changes in iOS.
-*/
-
-html {
- line-height: 1.15;
- /* 1 */
- -webkit-text-size-adjust: 100%;
- /* 2 */
-}
-
-/*
-Sections
-========
-*/
+/* Sections
+ ========================================================================== */
/**
-Remove the margin in all browsers.
-*/
+ * Remove the margin in all browsers.
+ */
body {
margin: 0;
}
/**
-Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
-*/
+ * Render the `main` element consistently in IE.
+ */
-body {
- font-family:
- system-ui,
- -apple-system, /* Firefox supports this but not yet `system-ui` */
- 'Segoe UI',
- Roboto,
- Helvetica,
- Arial,
- sans-serif,
- 'Apple Color Emoji',
- 'Segoe UI Emoji';
+main {
+ display: block;
}
-/*
-Grouping content
-================
-*/
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/* Grouping content
+ ========================================================================== */
/**
-1. Add the correct height in Firefox.
-2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
-*/
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
hr {
- height: 0;
- /* 1 */
- color: inherit;
- /* 2 */
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
}
-/*
-Text-level semantics
-====================
-*/
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+ ========================================================================== */
/**
-Add the correct text decoration in Chrome, Edge, and Safari.
-*/
+ * Remove the gray background on active links in IE 10.
+ */
+
+a {
+ background-color: transparent;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
-webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
+ text-decoration: underline dotted; /* 2 */
}
/**
-Add the correct font weight in Edge and Safari.
-*/
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
b,
strong {
@@ -110,37 +99,29 @@ strong {
}
/**
-1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
-2. Correct the odd 'em' font sizing in all browsers.
-*/
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
code,
kbd,
-samp,
-pre {
- font-family:
- ui-monospace,
- SFMono-Regular,
- Consolas,
- 'Liberation Mono',
- Menlo,
- monospace;
- /* 1 */
- font-size: 1em;
- /* 2 */
+samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
}
/**
-Add the correct font size in all browsers.
-*/
+ * Add the correct font size in all browsers.
+ */
small {
font-size: 80%;
}
/**
-Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
-*/
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
sub,
sup {
@@ -158,130 +139,196 @@ sup {
top: -0.5em;
}
-/*
-Tabular data
-============
-*/
+/* Embedded content
+ ========================================================================== */
/**
-1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
-2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
-*/
+ * Remove the border on images inside links in IE 10.
+ */
-table {
- text-indent: 0;
- /* 1 */
- border-color: inherit;
- /* 2 */
+img {
+ border-style: none;
}
-/*
-Forms
-=====
-*/
+/* Forms
+ ========================================================================== */
/**
-1. Change the font styles in all browsers.
-2. Remove the margin in Firefox and Safari.
-*/
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
button,
input,
optgroup,
select,
textarea {
- font-family: inherit;
- /* 1 */
- font-size: 100%;
- /* 1 */
- line-height: 1.15;
- /* 1 */
- margin: 0;
- /* 2 */
+ font-family: inherit; /* 1 */
+ font-size: 100%; /* 1 */
+ line-height: 1.15; /* 1 */
+ margin: 0; /* 2 */
}
/**
-Remove the inheritance of text transform in Edge and Firefox.
-1. Remove the inheritance of text transform in Firefox.
-*/
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
button,
-select {
- /* 1 */
+input { /* 1 */
+ overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
text-transform: none;
}
/**
-Correct the inability to style clickable types in iOS and Safari.
-*/
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
button,
-[type='button'],
-[type='reset'],
-[type='submit'] {
+[type="button"],
+[type="reset"],
+[type="submit"] {
-webkit-appearance: button;
}
/**
-Remove the inner border and padding in Firefox.
-*/
+ * Remove the inner border and padding in Firefox.
+ */
-/**
-Restore the focus styles unset by the previous rule.
-*/
-
-/**
-Remove the additional ':invalid' styles in Firefox.
-See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
-*/
-
-/**
-Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
-*/
-
-legend {
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
padding: 0;
}
/**
-Add the correct vertical alignment in Chrome and Firefox.
-*/
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+
+legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
progress {
vertical-align: baseline;
}
/**
-Correct the cursor style of increment and decrement buttons in Safari.
-*/
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+
+textarea {
+ overflow: auto;
+}
/**
-1. Correct the odd appearance in Chrome and Safari.
-2. Correct the outline style in Safari.
-*/
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
/**
-Remove the inner padding in Chrome and Safari on macOS.
-*/
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
/**
-1. Correct the inability to style clickable types in iOS and Safari.
-2. Change font properties to 'inherit' in Safari.
-*/
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+/* Interactive
+ ========================================================================== */
/*
-Interactive
-===========
-*/
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+
+details {
+ display: block;
+}
/*
-Add the correct display in Chrome and Safari.
-*/
+ * Add the correct display in all browsers.
+ */
summary {
display: list-item;
}
+/* Misc
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+
+template {
+ display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+
+[hidden] {
+ display: none;
+}
+
/**
* Manually forked from SUIT CSS Base: https://github.com/suitcss/base
* A thin layer on top of normalize.css that provides a starting point more
@@ -313,6 +360,16 @@ button {
background-image: none;
}
+/**
+ * Work around a Firefox/IE bug where the transparent `button` background
+ * results in a loss of the default `button` focus styles.
+ */
+
+button:focus {
+ outline: 1px dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+}
+
fieldset {
margin: 0;
padding: 0;
@@ -337,20 +394,8 @@ ul {
*/
html {
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
- /* 1 */
- line-height: 1.5;
- /* 2 */
-}
-
-/**
- * Inherit font-family and line-height from `html` so users can set them as
- * a class directly on the `html` element.
- */
-
-body {
- font-family: inherit;
- line-height: inherit;
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */
+ line-height: 1.5; /* 2 */
}
/**
@@ -382,14 +427,10 @@ body {
*,
::before,
::after {
- box-sizing: border-box;
- /* 1 */
- border-width: 0;
- /* 2 */
- border-style: solid;
- /* 2 */
- border-color: currentColor;
- /* 2 */
+ box-sizing: border-box; /* 1 */
+ border-width: 0; /* 2 */
+ border-style: solid; /* 2 */
+ border-color: #e2e8f0; /* 2 */
}
/*
@@ -418,34 +459,23 @@ textarea {
resize: vertical;
}
-input::-moz-placeholder, textarea::-moz-placeholder {
- opacity: 1;
- color: #9ca3af;
+input:-ms-input-placeholder, textarea:-ms-input-placeholder {
+ color: #a0aec0;
}
-input:-ms-input-placeholder, textarea:-ms-input-placeholder {
- opacity: 1;
- color: #9ca3af;
+input::-moz-placeholder, textarea::-moz-placeholder {
+ color: #a0aec0;
}
input::placeholder,
textarea::placeholder {
- opacity: 1;
- color: #9ca3af;
+ color: #a0aec0;
}
button {
cursor: pointer;
}
-/**
- * Override legacy focus reset from Normalize with modern Firefox focus styles.
- *
- * This is actually an improvement over the new defaults in Firefox in our testing,
- * as it triggers the better focus styles even for links, which still use a dotted
- * outline in Firefox by default.
- */
-
table {
border-collapse: collapse;
}
@@ -499,24 +529,15 @@ pre,
code,
kbd,
samp {
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
/**
- * 1. Make replaced elements `display: block` by default as that's
- * the behavior you want almost all of the time. Inspired by
- * CSS Remedy, with `svg` added as well.
+ * Make replaced elements `display: block` by default as that's
+ * the behavior you want almost all of the time. Inspired by
+ * CSS Remedy, with `svg` added as well.
*
- * https://github.com/mozdevs/cssremedy/issues/14
- *
- * 2. Add `vertical-align: middle` to align replaced elements more
- * sensibly by default when overriding `display` by adding a
- * utility like `inline`.
- *
- * This can trigger a poorly considered linting error in some
- * tools but is included by design.
- *
- * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
+ * https://github.com/mozdevs/cssremedy/issues/14
*/
img,
@@ -528,14 +549,12 @@ iframe,
embed,
object {
display: block;
- /* 1 */
vertical-align: middle;
- /* 2 */
}
/**
* Constrain images and videos to the parent width and preserve
- * their intrinsic aspect ratio.
+ * their instrinsic aspect ratio.
*
* https://github.com/mozdevs/cssremedy/issues/14
*/
@@ -546,165 +565,186 @@ video {
height: auto;
}
-/**
- * Ensure the default browser behavior of the `hidden` attribute.
- */
-
-[hidden] {
- display: none;
+.space-x-1 > :not(template) ~ :not(template) {
+ --space-x-reverse: 0;
+ margin-right: calc(0.25rem * var(--space-x-reverse));
+ margin-left: calc(0.25rem * calc(1 - var(--space-x-reverse)));
}
-*, ::before, ::after {
- --tw-border-opacity: 1;
- border-color: rgba(229, 231, 235, var(--tw-border-opacity));
+.space-x-2 > :not(template) ~ :not(template) {
+ --space-x-reverse: 0;
+ margin-right: calc(0.5rem * var(--space-x-reverse));
+ margin-left: calc(0.5rem * calc(1 - var(--space-x-reverse)));
}
-.static {
- position: static;
+.space-y-4 > :not(template) ~ :not(template) {
+ --space-y-reverse: 0;
+ margin-top: calc(1rem * calc(1 - var(--space-y-reverse)));
+ margin-bottom: calc(1rem * var(--space-y-reverse));
}
-.absolute {
- position: absolute;
+.space-x-4 > :not(template) ~ :not(template) {
+ --space-x-reverse: 0;
+ margin-right: calc(1rem * var(--space-x-reverse));
+ margin-left: calc(1rem * calc(1 - var(--space-x-reverse)));
}
-.relative {
- position: relative;
+.space-y-8 > :not(template) ~ :not(template) {
+ --space-y-reverse: 0;
+ margin-top: calc(2rem * calc(1 - var(--space-y-reverse)));
+ margin-bottom: calc(2rem * var(--space-y-reverse));
}
-.top-0 {
- top: 0px;
+.space-x-8 > :not(template) ~ :not(template) {
+ --space-x-reverse: 0;
+ margin-right: calc(2rem * var(--space-x-reverse));
+ margin-left: calc(2rem * calc(1 - var(--space-x-reverse)));
}
-.right-0 {
- right: 0px;
+.appearance-none {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
}
-.z-10 {
- z-index: 10;
+.bg-transparent {
+ background-color: transparent;
}
-.float-right {
- float: right;
+.bg-gray-800 {
+ --bg-opacity: 1;
+ background-color: #2d3748;
+ background-color: rgba(45, 55, 72, var(--bg-opacity));
}
-.m-0 {
- margin: 0px;
+.bg-gray-900 {
+ --bg-opacity: 1;
+ background-color: #1a202c;
+ background-color: rgba(26, 32, 44, var(--bg-opacity));
}
-.m-2 {
- margin: 0.5rem;
+.bg-red-500 {
+ --bg-opacity: 1;
+ background-color: #f56565;
+ background-color: rgba(245, 101, 101, var(--bg-opacity));
}
-.mx-1 {
- margin-left: 0.25rem;
- margin-right: 0.25rem;
+.bg-green-500 {
+ --bg-opacity: 1;
+ background-color: #48bb78;
+ background-color: rgba(72, 187, 120, var(--bg-opacity));
}
-.mx-2 {
- margin-left: 0.5rem;
- margin-right: 0.5rem;
+.bg-green-700 {
+ --bg-opacity: 1;
+ background-color: #2f855a;
+ background-color: rgba(47, 133, 90, var(--bg-opacity));
}
-.mx-auto {
- margin-left: auto;
- margin-right: auto;
+.hover\:bg-gray-700:hover {
+ --bg-opacity: 1;
+ background-color: #4a5568;
+ background-color: rgba(74, 85, 104, var(--bg-opacity));
}
-.my-1 {
- margin-top: 0.25rem;
- margin-bottom: 0.25rem;
+.hover\:bg-red-600:hover {
+ --bg-opacity: 1;
+ background-color: #e53e3e;
+ background-color: rgba(229, 62, 62, var(--bg-opacity));
}
-.my-2 {
- margin-top: 0.5rem;
- margin-bottom: 0.5rem;
+.hover\:bg-green-700:hover {
+ --bg-opacity: 1;
+ background-color: #2f855a;
+ background-color: rgba(47, 133, 90, var(--bg-opacity));
}
-.my-3 {
- margin-top: 0.75rem;
- margin-bottom: 0.75rem;
+.hover\:bg-green-800:hover {
+ --bg-opacity: 1;
+ background-color: #276749;
+ background-color: rgba(39, 103, 73, var(--bg-opacity));
}
-.my-4 {
- margin-top: 1rem;
- margin-bottom: 1rem;
+.focus\:bg-gray-700:focus {
+ --bg-opacity: 1;
+ background-color: #4a5568;
+ background-color: rgba(74, 85, 104, var(--bg-opacity));
}
-.my-8 {
- margin-top: 2rem;
- margin-bottom: 2rem;
+.border-gray-700 {
+ --border-opacity: 1;
+ border-color: #4a5568;
+ border-color: rgba(74, 85, 104, var(--border-opacity));
}
-.mt-2 {
- margin-top: 0.5rem;
+.border-red-500 {
+ --border-opacity: 1;
+ border-color: #f56565;
+ border-color: rgba(245, 101, 101, var(--border-opacity));
}
-.mt-4 {
- margin-top: 1rem;
+.border-green-700 {
+ --border-opacity: 1;
+ border-color: #2f855a;
+ border-color: rgba(47, 133, 90, var(--border-opacity));
}
-.mt-6 {
- margin-top: 1.5rem;
+.border-green-800 {
+ --border-opacity: 1;
+ border-color: #276749;
+ border-color: rgba(39, 103, 73, var(--border-opacity));
}
-.mt-8 {
- margin-top: 2rem;
+.hover\:border-red-600:hover {
+ --border-opacity: 1;
+ border-color: #e53e3e;
+ border-color: rgba(229, 62, 62, var(--border-opacity));
}
-.mt-10 {
- margin-top: 2.5rem;
+.focus\:border-gray-500:focus {
+ --border-opacity: 1;
+ border-color: #a0aec0;
+ border-color: rgba(160, 174, 192, var(--border-opacity));
}
-.mt-12 {
- margin-top: 3rem;
+.rounded-sm {
+ border-radius: 0.125rem;
}
-.mt-16 {
- margin-top: 4rem;
+.rounded {
+ border-radius: 0.25rem;
}
-.mr-1 {
- margin-right: 0.25rem;
+.rounded-md {
+ border-radius: 0.375rem;
}
-.mr-2 {
- margin-right: 0.5rem;
+.rounded-full {
+ border-radius: 9999px;
}
-.mr-8 {
- margin-right: 2rem;
+.border {
+ border-width: 1px;
}
-.mb-1 {
- margin-bottom: 0.25rem;
+.border-b-2 {
+ border-bottom-width: 2px;
}
-.mb-2 {
- margin-bottom: 0.5rem;
+.border-b-4 {
+ border-bottom-width: 4px;
}
-.mb-4 {
- margin-bottom: 1rem;
+.border-b {
+ border-bottom-width: 1px;
}
-.mb-8 {
- margin-bottom: 2rem;
+.border-l {
+ border-left-width: 1px;
}
-.mb-10 {
- margin-bottom: 2.5rem;
-}
-
-.ml-1 {
- margin-left: 0.25rem;
-}
-
-.ml-2 {
- margin-left: 0.5rem;
-}
-
-.-ml-1 {
- margin-left: -0.25rem;
+.cursor-pointer {
+ cursor: pointer;
}
.block {
@@ -735,6 +775,66 @@ video {
display: none;
}
+.flex-col {
+ flex-direction: column;
+}
+
+.flex-wrap {
+ flex-wrap: wrap;
+}
+
+.items-center {
+ align-items: center;
+}
+
+.self-end {
+ align-self: flex-end;
+}
+
+.self-center {
+ align-self: center;
+}
+
+.justify-start {
+ justify-content: flex-start;
+}
+
+.justify-end {
+ justify-content: flex-end;
+}
+
+.justify-center {
+ justify-content: center;
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+
+.flex-1 {
+ flex: 1 1 0%;
+}
+
+.flex-grow {
+ flex-grow: 1;
+}
+
+.float-right {
+ float: right;
+}
+
+.font-mono {
+ font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+}
+
+.font-normal {
+ font-weight: 400;
+}
+
+.font-semibold {
+ font-weight: 600;
+}
+
.h-4 {
height: 1rem;
}
@@ -747,28 +847,160 @@ video {
height: 100%;
}
-.min-h-screen {
- min-height: 100vh;
+.text-xs {
+ font-size: 0.75rem;
}
-.w-4 {
- width: 1rem;
+.text-sm {
+ font-size: 0.875rem;
}
-.w-1\/2 {
- width: 50%;
+.text-lg {
+ font-size: 1.125rem;
}
-.w-1\/3 {
- width: 33.333333%;
+.text-xl {
+ font-size: 1.25rem;
}
-.w-1\/4 {
- width: 25%;
+.text-2xl {
+ font-size: 1.5rem;
}
-.w-full {
- width: 100%;
+.text-4xl {
+ font-size: 2.25rem;
+}
+
+.leading-none {
+ line-height: 1;
+}
+
+.list-inside {
+ list-style-position: inside;
+}
+
+.list-disc {
+ list-style-type: disc;
+}
+
+.m-0 {
+ margin: 0;
+}
+
+.m-2 {
+ margin: 0.5rem;
+}
+
+.my-1 {
+ margin-top: 0.25rem;
+ margin-bottom: 0.25rem;
+}
+
+.mx-1 {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem;
+}
+
+.my-2 {
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem;
+}
+
+.mx-2 {
+ margin-left: 0.5rem;
+ margin-right: 0.5rem;
+}
+
+.my-3 {
+ margin-top: 0.75rem;
+ margin-bottom: 0.75rem;
+}
+
+.my-4 {
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+}
+
+.my-8 {
+ margin-top: 2rem;
+ margin-bottom: 2rem;
+}
+
+.mx-auto {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.mr-1 {
+ margin-right: 0.25rem;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem;
+}
+
+.ml-1 {
+ margin-left: 0.25rem;
+}
+
+.mt-2 {
+ margin-top: 0.5rem;
+}
+
+.mr-2 {
+ margin-right: 0.5rem;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem;
+}
+
+.ml-2 {
+ margin-left: 0.5rem;
+}
+
+.mt-4 {
+ margin-top: 1rem;
+}
+
+.mb-4 {
+ margin-bottom: 1rem;
+}
+
+.mt-6 {
+ margin-top: 1.5rem;
+}
+
+.mt-8 {
+ margin-top: 2rem;
+}
+
+.mr-8 {
+ margin-right: 2rem;
+}
+
+.mb-8 {
+ margin-bottom: 2rem;
+}
+
+.mt-10 {
+ margin-top: 2.5rem;
+}
+
+.mb-10 {
+ margin-bottom: 2.5rem;
+}
+
+.mt-12 {
+ margin-top: 3rem;
+}
+
+.mt-16 {
+ margin-top: 4rem;
+}
+
+.-ml-1 {
+ margin-left: -0.25rem;
}
.max-w-lg {
@@ -799,12 +1031,205 @@ video {
max-width: 1280px;
}
-.flex-1 {
- flex: 1 1 0%;
+.min-h-screen {
+ min-height: 100vh;
}
-.flex-grow {
- flex-grow: 1;
+.overflow-auto {
+ overflow: auto;
+}
+
+.p-1 {
+ padding: 0.25rem;
+}
+
+.p-2 {
+ padding: 0.5rem;
+}
+
+.p-4 {
+ padding: 1rem;
+}
+
+.py-1 {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+}
+
+.px-1 {
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+}
+
+.py-2 {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.px-2 {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+}
+
+.px-3 {
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+}
+
+.py-4 {
+ padding-top: 1rem;
+ padding-bottom: 1rem;
+}
+
+.px-8 {
+ padding-left: 2rem;
+ padding-right: 2rem;
+}
+
+.pl-1 {
+ padding-left: 0.25rem;
+}
+
+.pt-4 {
+ padding-top: 1rem;
+}
+
+.pb-4 {
+ padding-bottom: 1rem;
+}
+
+.pb-8 {
+ padding-bottom: 2rem;
+}
+
+.pt-10 {
+ padding-top: 2.5rem;
+}
+
+.pb-10 {
+ padding-bottom: 2.5rem;
+}
+
+.static {
+ position: static;
+}
+
+.absolute {
+ position: absolute;
+}
+
+.relative {
+ position: relative;
+}
+
+.top-0 {
+ top: 0;
+}
+
+.right-0 {
+ right: 0;
+}
+
+.shadow {
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
+}
+
+.shadow-md {
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
+}
+
+.text-left {
+ text-align: left;
+}
+
+.text-center {
+ text-align: center;
+}
+
+.text-white {
+ --text-opacity: 1;
+ color: #fff;
+ color: rgba(255, 255, 255, var(--text-opacity));
+}
+
+.text-gray-300 {
+ --text-opacity: 1;
+ color: #e2e8f0;
+ color: rgba(226, 232, 240, var(--text-opacity));
+}
+
+.text-gray-400 {
+ --text-opacity: 1;
+ color: #cbd5e0;
+ color: rgba(203, 213, 224, var(--text-opacity));
+}
+
+.text-gray-500 {
+ --text-opacity: 1;
+ color: #a0aec0;
+ color: rgba(160, 174, 192, var(--text-opacity));
+}
+
+.text-gray-700 {
+ --text-opacity: 1;
+ color: #4a5568;
+ color: rgba(74, 85, 104, var(--text-opacity));
+}
+
+.text-green-700 {
+ --text-opacity: 1;
+ color: #2f855a;
+ color: rgba(47, 133, 90, var(--text-opacity));
+}
+
+.italic {
+ font-style: italic;
+}
+
+.capitalize {
+ text-transform: capitalize;
+}
+
+.underline {
+ text-decoration: underline;
+}
+
+.antialiased {
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.whitespace-no-wrap {
+ white-space: nowrap;
+}
+
+.break-words {
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+}
+
+.w-4 {
+ width: 1rem;
+}
+
+.w-1\/2 {
+ width: 50%;
+}
+
+.w-1\/3 {
+ width: 33.333333%;
+}
+
+.w-1\/4 {
+ width: 25%;
+}
+
+.w-full {
+ width: 100%;
+}
+
+.z-10 {
+ z-index: 10;
}
@-webkit-keyframes spin {
@@ -873,438 +1298,8 @@ video {
}
}
-.cursor-pointer {
- cursor: pointer;
-}
-
-.list-inside {
- list-style-position: inside;
-}
-
-.list-disc {
- list-style-type: disc;
-}
-
-.appearance-none {
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
-}
-
-.flex-col {
- flex-direction: column;
-}
-
-.flex-wrap {
- flex-wrap: wrap;
-}
-
-.flex-nowrap {
- flex-wrap: nowrap;
-}
-
-.items-center {
- align-items: center;
-}
-
-.justify-start {
- justify-content: flex-start;
-}
-
-.justify-end {
- justify-content: flex-end;
-}
-
-.justify-center {
- justify-content: center;
-}
-
-.justify-between {
- justify-content: space-between;
-}
-
-.space-x-1 > :not([hidden]) ~ :not([hidden]) {
- --tw-space-x-reverse: 0;
- margin-right: calc(0.25rem * var(--tw-space-x-reverse));
- margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
-}
-
-.space-x-2 > :not([hidden]) ~ :not([hidden]) {
- --tw-space-x-reverse: 0;
- margin-right: calc(0.5rem * var(--tw-space-x-reverse));
- margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
-}
-
-.space-x-4 > :not([hidden]) ~ :not([hidden]) {
- --tw-space-x-reverse: 0;
- margin-right: calc(1rem * var(--tw-space-x-reverse));
- margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
-}
-
-.space-x-8 > :not([hidden]) ~ :not([hidden]) {
- --tw-space-x-reverse: 0;
- margin-right: calc(2rem * var(--tw-space-x-reverse));
- margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
-}
-
-.space-y-4 > :not([hidden]) ~ :not([hidden]) {
- --tw-space-y-reverse: 0;
- margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
- margin-bottom: calc(1rem * var(--tw-space-y-reverse));
-}
-
-.space-y-8 > :not([hidden]) ~ :not([hidden]) {
- --tw-space-y-reverse: 0;
- margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
- margin-bottom: calc(2rem * var(--tw-space-y-reverse));
-}
-
-.self-end {
- align-self: flex-end;
-}
-
-.self-center {
- align-self: center;
-}
-
-.overflow-auto {
- overflow: auto;
-}
-
-.break-words {
- overflow-wrap: break-word;
-}
-
-.rounded-sm {
- border-radius: 0.125rem;
-}
-
-.rounded {
- border-radius: 0.25rem;
-}
-
-.rounded-md {
- border-radius: 0.375rem;
-}
-
-.rounded-full {
- border-radius: 9999px;
-}
-
-.border {
- border-width: 1px;
-}
-
-.border-b-2 {
- border-bottom-width: 2px;
-}
-
-.border-b-4 {
- border-bottom-width: 4px;
-}
-
-.border-b {
- border-bottom-width: 1px;
-}
-
-.border-l {
- border-left-width: 1px;
-}
-
-.border-gray-700 {
- --tw-border-opacity: 1;
- border-color: rgba(55, 65, 81, var(--tw-border-opacity));
-}
-
-.border-red-500 {
- --tw-border-opacity: 1;
- border-color: rgba(239, 68, 68, var(--tw-border-opacity));
-}
-
-.border-green-700 {
- --tw-border-opacity: 1;
- border-color: rgba(4, 120, 87, var(--tw-border-opacity));
-}
-
-.border-green-800 {
- --tw-border-opacity: 1;
- border-color: rgba(6, 95, 70, var(--tw-border-opacity));
-}
-
-.hover\:border-red-600:hover {
- --tw-border-opacity: 1;
- border-color: rgba(220, 38, 38, var(--tw-border-opacity));
-}
-
-.focus\:border-gray-500:focus {
- --tw-border-opacity: 1;
- border-color: rgba(107, 114, 128, var(--tw-border-opacity));
-}
-
-.bg-transparent {
- background-color: transparent;
-}
-
-.bg-gray-800 {
- --tw-bg-opacity: 1;
- background-color: rgba(31, 41, 55, var(--tw-bg-opacity));
-}
-
-.bg-gray-900 {
- --tw-bg-opacity: 1;
- background-color: rgba(17, 24, 39, var(--tw-bg-opacity));
-}
-
-.bg-red-500 {
- --tw-bg-opacity: 1;
- background-color: rgba(239, 68, 68, var(--tw-bg-opacity));
-}
-
-.bg-green-500 {
- --tw-bg-opacity: 1;
- background-color: rgba(16, 185, 129, var(--tw-bg-opacity));
-}
-
-.bg-green-700 {
- --tw-bg-opacity: 1;
- background-color: rgba(4, 120, 87, var(--tw-bg-opacity));
-}
-
-.hover\:bg-gray-700:hover {
- --tw-bg-opacity: 1;
- background-color: rgba(55, 65, 81, var(--tw-bg-opacity));
-}
-
-.hover\:bg-red-600:hover {
- --tw-bg-opacity: 1;
- background-color: rgba(220, 38, 38, var(--tw-bg-opacity));
-}
-
-.hover\:bg-green-700:hover {
- --tw-bg-opacity: 1;
- background-color: rgba(4, 120, 87, var(--tw-bg-opacity));
-}
-
-.hover\:bg-green-800:hover {
- --tw-bg-opacity: 1;
- background-color: rgba(6, 95, 70, var(--tw-bg-opacity));
-}
-
-.focus\:bg-gray-700:focus {
- --tw-bg-opacity: 1;
- background-color: rgba(55, 65, 81, var(--tw-bg-opacity));
-}
-
-.p-1 {
- padding: 0.25rem;
-}
-
-.p-2 {
- padding: 0.5rem;
-}
-
-.p-4 {
- padding: 1rem;
-}
-
-.px-1 {
- padding-left: 0.25rem;
- padding-right: 0.25rem;
-}
-
-.px-2 {
- padding-left: 0.5rem;
- padding-right: 0.5rem;
-}
-
-.px-3 {
- padding-left: 0.75rem;
- padding-right: 0.75rem;
-}
-
-.px-8 {
- padding-left: 2rem;
- padding-right: 2rem;
-}
-
-.py-1 {
- padding-top: 0.25rem;
- padding-bottom: 0.25rem;
-}
-
-.py-2 {
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
-}
-
-.py-4 {
- padding-top: 1rem;
- padding-bottom: 1rem;
-}
-
-.pt-4 {
- padding-top: 1rem;
-}
-
-.pt-10 {
- padding-top: 2.5rem;
-}
-
-.pb-4 {
- padding-bottom: 1rem;
-}
-
-.pb-8 {
- padding-bottom: 2rem;
-}
-
-.pb-10 {
- padding-bottom: 2.5rem;
-}
-
-.pl-1 {
- padding-left: 0.25rem;
-}
-
-.text-left {
- text-align: left;
-}
-
-.text-center {
- text-align: center;
-}
-
-.font-mono {
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
-}
-
-.text-xs {
- font-size: 0.75rem;
- line-height: 1rem;
-}
-
-.text-sm {
- font-size: 0.875rem;
- line-height: 1.25rem;
-}
-
-.text-lg {
- font-size: 1.125rem;
- line-height: 1.75rem;
-}
-
-.text-xl {
- font-size: 1.25rem;
- line-height: 1.75rem;
-}
-
-.text-2xl {
- font-size: 1.5rem;
- line-height: 2rem;
-}
-
-.text-4xl {
- font-size: 2.25rem;
- line-height: 2.5rem;
-}
-
-.font-normal {
- font-weight: 400;
-}
-
-.font-semibold {
- font-weight: 600;
-}
-
-.capitalize {
- text-transform: capitalize;
-}
-
-.italic {
- font-style: italic;
-}
-
-.leading-none {
- line-height: 1;
-}
-
-.text-white {
- --tw-text-opacity: 1;
- color: rgba(255, 255, 255, var(--tw-text-opacity));
-}
-
-.text-gray-300 {
- --tw-text-opacity: 1;
- color: rgba(209, 213, 219, var(--tw-text-opacity));
-}
-
-.text-gray-400 {
- --tw-text-opacity: 1;
- color: rgba(156, 163, 175, var(--tw-text-opacity));
-}
-
-.text-gray-500 {
- --tw-text-opacity: 1;
- color: rgba(107, 114, 128, var(--tw-text-opacity));
-}
-
-.text-gray-700 {
- --tw-text-opacity: 1;
- color: rgba(55, 65, 81, var(--tw-text-opacity));
-}
-
-.text-green-700 {
- --tw-text-opacity: 1;
- color: rgba(4, 120, 87, var(--tw-text-opacity));
-}
-
-.underline {
- text-decoration: underline;
-}
-
-.antialiased {
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-*, ::before, ::after {
- --tw-shadow: 0 0 #0000;
-}
-
-.shadow {
- --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-md {
- --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-*, ::before, ::after {
- --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
- --tw-ring-offset-width: 0px;
- --tw-ring-offset-color: #fff;
- --tw-ring-color: rgba(59, 130, 246, 0.5);
- --tw-ring-offset-shadow: 0 0 #0000;
- --tw-ring-shadow: 0 0 #0000;
-}
-
-.filter {
- --tw-blur: var(--tw-empty,/*!*/ /*!*/);
- --tw-brightness: var(--tw-empty,/*!*/ /*!*/);
- --tw-contrast: var(--tw-empty,/*!*/ /*!*/);
- --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
- --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
- --tw-invert: var(--tw-empty,/*!*/ /*!*/);
- --tw-saturate: var(--tw-empty,/*!*/ /*!*/);
- --tw-sepia: var(--tw-empty,/*!*/ /*!*/);
- --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
-}
-
@media (min-width: 1024px) {
.lg\:w-1\/2 {
width: 50%;
}
-}
\ No newline at end of file
+}
diff --git a/views/foot.tpl.html b/views/foot.tpl.html
index eefe1f8..390c34c 100644
--- a/views/foot.tpl.html
+++ b/views/foot.tpl.html
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file