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