From e19caf47bfa86e6c4d8e7720dee43ea48c41d4b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Tue, 9 Jul 2024 23:03:03 +0200 Subject: [PATCH] Make game overview more appealing --- CHANGELOG.md | 2 +- common/input.css | 27 +- games/static/base.css | 1273 +++++++++++++++-- .../fonts/IBMPlexSansCondensed-Regular.woff2 | Bin 0 -> 37672 bytes games/static/fonts/IBMPlexSerif-Bold.woff2 | Bin 0 -> 68940 bytes games/templates/base.html | 1 + games/templates/components.yml | 3 +- games/templates/components/popover.html | 9 + games/templates/view_game.html | 80 +- games/urls.py | 1 + games/views.py | 7 + package.json | 3 + tailwind.config.js | 30 +- 13 files changed, 1284 insertions(+), 152 deletions(-) create mode 100644 games/static/fonts/IBMPlexSansCondensed-Regular.woff2 create mode 100644 games/static/fonts/IBMPlexSerif-Bold.woff2 create mode 100644 games/templates/components/popover.html diff --git a/CHANGELOG.md b/CHANGELOG.md index 833d238..ff436bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ * increase session count on game overview when starting a new session * game overview: * sort purchases also by date purchased (on top of date released) - * improve header format + * improve header format, make it more appealing * ignore manual sessions when calculating session average * stats: improve purchase name consistency * session list: use display name instead of sort name diff --git a/common/input.css b/common/input.css index 415013d..113775c 100644 --- a/common/input.css +++ b/common/input.css @@ -23,6 +23,21 @@ font-style: normal; } +@font-face { + font-family: "IBM Plex Serif"; + src: url("fonts/IBMPlexSerif-Bold.woff2") format("woff2"); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: "IBM Plex Sans Condensed"; + src: url("fonts/IBMPlexSansCondensed-Regular.woff2") format("woff2"); + font-weight: 400; + font-style: normal; +} + + /* a:hover { text-decoration-color: #ff4400; color: rgb(254, 185, 160); @@ -149,12 +164,10 @@ th label { padding-left: 1em; } -.truncate-container { - @apply inline-block relative transition-all; +/* .truncate-container { + @apply inline-block relative; a { - @apply inline-block truncate max-w-20char; - &:hover { - @apply absolute max-w-none -top-8 -left-6 min-w-60 px-6 py-3.5 bg-purple-600 rounded-sm outline-dashed outline-purple-400 outline-4; - } + @apply inline-block truncate max-w-20char transition-all group-hover:absolute group-hover:max-w-none group-hover:-top-8 group-hover:-left-6 group-hover:min-w-60 group-hover:px-6 group-hover:py-3.5 group-hover:bg-purple-600 group-hover:rounded-sm group-hover:outline-dashed group-hover:outline-purple-400 group-hover:outline-4; + } -} \ No newline at end of file +} */ \ No newline at end of file diff --git a/games/static/base.css b/games/static/base.css index fbbeedf..e09485f 100644 --- a/games/static/base.css +++ b/games/static/base.css @@ -16,7 +16,7 @@ /* 2 */ border-style: solid; /* 2 */ - border-color: #e5e7eb; + border-color: #E5E7EB; /* 2 */ } @@ -381,7 +381,7 @@ textarea { input::-moz-placeholder, textarea::-moz-placeholder { opacity: 1; /* 1 */ - color: #9ca3af; + color: #9CA3AF; /* 2 */ } @@ -389,7 +389,7 @@ input::placeholder, textarea::placeholder { opacity: 1; /* 1 */ - color: #9ca3af; + color: #9CA3AF; /* 2 */ } @@ -451,7 +451,7 @@ video { -moz-appearance: none; appearance: none; background-color: #fff; - border-color: #6b7280; + border-color: #6B7280; border-width: 1px; border-radius: 0px; padding-top: 0.5rem; @@ -469,20 +469,20 @@ video { --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; + --tw-ring-color: #1C64F2; --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); - border-color: #2563eb; + border-color: #1C64F2; } input::-moz-placeholder, textarea::-moz-placeholder { - color: #6b7280; + color: #6B7280; opacity: 1; } input::placeholder,textarea::placeholder { - color: #6b7280; + color: #6B7280; opacity: 1; } @@ -505,7 +505,7 @@ input::placeholder,textarea::placeholder { } select { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); background-position: right 0.5rem center; background-repeat: no-repeat; background-size: 1.5em 1.5em; @@ -540,9 +540,9 @@ select { flex-shrink: 0; height: 1rem; width: 1rem; - color: #2563eb; + color: #1C64F2; background-color: #fff; - border-color: #6b7280; + border-color: #6B7280; border-width: 1px; --tw-shadow: 0 0 #0000; } @@ -561,7 +561,7 @@ select { --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); --tw-ring-offset-width: 2px; --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; + --tw-ring-color: #1C64F2; --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); @@ -641,6 +641,469 @@ select { outline: 1px auto -webkit-focus-ring-color; } +.tooltip-arrow,.tooltip-arrow:before { + position: absolute; + width: 8px; + height: 8px; + background: inherit; +} + +.tooltip-arrow { + visibility: hidden; +} + +.tooltip-arrow:before { + content: ""; + visibility: visible; + transform: rotate(45deg); +} + +[data-tooltip-style^='light'] + .tooltip > .tooltip-arrow:before { + border-style: solid; + border-color: #e5e7eb; +} + +[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='top'] > .tooltip-arrow:before { + border-bottom-width: 1px; + border-right-width: 1px; +} + +[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='right'] > .tooltip-arrow:before { + border-bottom-width: 1px; + border-left-width: 1px; +} + +[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='bottom'] > .tooltip-arrow:before { + border-top-width: 1px; + border-left-width: 1px; +} + +[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='left'] > .tooltip-arrow:before { + border-top-width: 1px; + border-right-width: 1px; +} + +.tooltip[data-popper-placement^='top'] > .tooltip-arrow { + bottom: -4px; +} + +.tooltip[data-popper-placement^='bottom'] > .tooltip-arrow { + top: -4px; +} + +.tooltip[data-popper-placement^='left'] > .tooltip-arrow { + right: -4px; +} + +.tooltip[data-popper-placement^='right'] > .tooltip-arrow { + left: -4px; +} + +.tooltip.invisible > .tooltip-arrow:before { + visibility: hidden; +} + +[data-popper-arrow],[data-popper-arrow]:before { + position: absolute; + width: 8px; + height: 8px; + background: inherit; +} + +[data-popper-arrow] { + visibility: hidden; +} + +[data-popper-arrow]:before { + content: ""; + visibility: visible; + transform: rotate(45deg); +} + +[data-popper-arrow]:after { + content: ""; + visibility: visible; + transform: rotate(45deg); + position: absolute; + width: 9px; + height: 9px; + background: inherit; +} + +[role="tooltip"] > [data-popper-arrow]:before { + border-style: solid; + border-color: #e5e7eb; +} + +.dark [role="tooltip"] > [data-popper-arrow]:before { + border-style: solid; + border-color: #4b5563; +} + +[role="tooltip"] > [data-popper-arrow]:after { + border-style: solid; + border-color: #e5e7eb; +} + +.dark [role="tooltip"] > [data-popper-arrow]:after { + border-style: solid; + border-color: #4b5563; +} + +[data-popover][role="tooltip"][data-popper-placement^='top'] > [data-popper-arrow]:before { + border-bottom-width: 1px; + border-right-width: 1px; +} + +[data-popover][role="tooltip"][data-popper-placement^='top'] > [data-popper-arrow]:after { + border-bottom-width: 1px; + border-right-width: 1px; +} + +[data-popover][role="tooltip"][data-popper-placement^='right'] > [data-popper-arrow]:before { + border-bottom-width: 1px; + border-left-width: 1px; +} + +[data-popover][role="tooltip"][data-popper-placement^='right'] > [data-popper-arrow]:after { + border-bottom-width: 1px; + border-left-width: 1px; +} + +[data-popover][role="tooltip"][data-popper-placement^='bottom'] > [data-popper-arrow]:before { + border-top-width: 1px; + border-left-width: 1px; +} + +[data-popover][role="tooltip"][data-popper-placement^='bottom'] > [data-popper-arrow]:after { + border-top-width: 1px; + border-left-width: 1px; +} + +[data-popover][role="tooltip"][data-popper-placement^='left'] > [data-popper-arrow]:before { + border-top-width: 1px; + border-right-width: 1px; +} + +[data-popover][role="tooltip"][data-popper-placement^='left'] > [data-popper-arrow]:after { + border-top-width: 1px; + border-right-width: 1px; +} + +[data-popover][role="tooltip"][data-popper-placement^='top'] > [data-popper-arrow] { + bottom: -5px; +} + +[data-popover][role="tooltip"][data-popper-placement^='bottom'] > [data-popper-arrow] { + top: -5px; +} + +[data-popover][role="tooltip"][data-popper-placement^='left'] > [data-popper-arrow] { + right: -5px; +} + +[data-popover][role="tooltip"][data-popper-placement^='right'] > [data-popper-arrow] { + left: -5px; +} + +[role="tooltip"].invisible > [data-popper-arrow]:before { + visibility: hidden; +} + +[role="tooltip"].invisible > [data-popper-arrow]:after { + visibility: hidden; +} + +[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #6B7280; + border-width: 1px; + border-radius: 0px; + padding-top: 0.5rem; + padding-right: 0.75rem; + padding-bottom: 0.5rem; + padding-left: 0.75rem; + font-size: 1rem; + line-height: 1.5rem; + --tw-shadow: 0 0 #0000; +} + +[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #1C64F2; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + border-color: #1C64F2; +} + +input::-moz-placeholder, textarea::-moz-placeholder { + color: #6B7280; + opacity: 1; +} + +input::placeholder,textarea::placeholder { + color: #6B7280; + opacity: 1; +} + +::-webkit-datetime-edit-fields-wrapper { + padding: 0; +} + +input[type="time"]::-webkit-calendar-picker-indicator { + background: none; +} + +select:not([size]) { + background-image: url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e"); + background-position: right 0.75rem center; + background-repeat: no-repeat; + background-size: 0.75em 0.75em; + padding-right: 2.5rem; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; +} + +:is([dir=rtl]) select:not([size]) { + background-position: left 0.75rem center; + padding-right: 0.75rem; + padding-left: 0; +} + +[multiple] { + background-image: initial; + background-position: initial; + background-repeat: unset; + background-size: initial; + padding-right: 0.75rem; + -webkit-print-color-adjust: unset; + print-color-adjust: unset; +} + +[type='checkbox'],[type='radio'] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding: 0; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + display: inline-block; + vertical-align: middle; + background-origin: border-box; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + flex-shrink: 0; + height: 1rem; + width: 1rem; + color: #1C64F2; + background-color: #fff; + border-color: #6B7280; + border-width: 1px; + --tw-shadow: 0 0 #0000; +} + +[type='checkbox'] { + border-radius: 0px; +} + +[type='radio'] { + border-radius: 100%; +} + +[type='checkbox']:focus,[type='radio']:focus { + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 2px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #1C64F2; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); +} + +[type='checkbox']:checked,[type='radio']:checked,.dark [type='checkbox']:checked,.dark [type='radio']:checked { + border-color: transparent; + background-color: currentColor; + background-size: 0.55em 0.55em; + background-position: center; + background-repeat: no-repeat; +} + +[type='checkbox']:checked { + background-image: url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e"); + background-repeat: no-repeat; + background-size: 0.55em 0.55em; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; +} + +[type='radio']:checked { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); + background-size: 1em 1em; +} + +.dark [type='radio']:checked { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); + background-size: 1em 1em; +} + +[type='checkbox']:indeterminate { + background-image: url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M0.5 6h14'/%3e %3c/svg%3e"); + background-color: currentColor; + border-color: transparent; + background-position: center; + background-repeat: no-repeat; + background-size: 0.55em 0.55em; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; +} + +[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { + border-color: transparent; + background-color: currentColor; +} + +[type='file'] { + background: unset; + border-color: inherit; + border-width: 0; + border-radius: 0; + padding: 0; + font-size: unset; + line-height: inherit; +} + +[type='file']:focus { + outline: 1px auto inherit; +} + +input[type=file]::file-selector-button { + color: white; + background: #1F2937; + border: 0; + font-weight: 500; + font-size: 0.875rem; + cursor: pointer; + padding-top: 0.625rem; + padding-bottom: 0.625rem; + padding-left: 2rem; + padding-right: 1rem; + margin-inline-start: -1rem; + margin-inline-end: 1rem; +} + +input[type=file]::file-selector-button:hover { + background: #374151; +} + +:is([dir=rtl]) input[type=file]::file-selector-button { + padding-right: 2rem; + padding-left: 1rem; +} + +.dark input[type=file]::file-selector-button { + color: white; + background: #4B5563; +} + +.dark input[type=file]::file-selector-button:hover { + background: #6B7280; +} + +input[type="range"]::-webkit-slider-thumb { + height: 1.25rem; + width: 1.25rem; + background: #1C64F2; + border-radius: 9999px; + border: 0; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + cursor: pointer; +} + +input[type="range"]:disabled::-webkit-slider-thumb { + background: #9CA3AF; +} + +.dark input[type="range"]:disabled::-webkit-slider-thumb { + background: #6B7280; +} + +input[type="range"]:focus::-webkit-slider-thumb { + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); + --tw-ring-opacity: 1px; + --tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity)); +} + +input[type="range"]::-moz-range-thumb { + height: 1.25rem; + width: 1.25rem; + background: #1C64F2; + border-radius: 9999px; + border: 0; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + cursor: pointer; +} + +input[type="range"]:disabled::-moz-range-thumb { + background: #9CA3AF; +} + +.dark input[type="range"]:disabled::-moz-range-thumb { + background: #6B7280; +} + +input[type="range"]::-moz-range-progress { + background: #3F83F8; +} + +input[type="range"]::-ms-fill-lower { + background: #3F83F8; +} + +.toggle-bg:after { + content: ""; + position: absolute; + top: 0.125rem; + left: 0.125rem; + background: white; + border-color: #D1D5DB; + border-width: 1px; + border-radius: 9999px; + height: 1.25rem; + width: 1.25rem; + transition-property: background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter; + transition-duration: .15s; + box-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); +} + +input:checked + .toggle-bg:after { + transform: translateX(100%);; + border-color: white; +} + +input:checked + .toggle-bg { + background: #1C64F2; + border-color: #1C64F2; +} + *, ::before, ::after { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; @@ -666,7 +1129,7 @@ select { --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-color: rgb(63 131 248 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; @@ -720,7 +1183,7 @@ select { --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-color: rgb(63 131 248 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; @@ -795,10 +1258,18 @@ select { border-width: 0; } +.visible { + visibility: visible; +} + .invisible { visibility: hidden; } +.collapse { + visibility: collapse; +} + .static { position: static; } @@ -815,28 +1286,64 @@ select { position: relative; } +.inset-0 { + inset: 0px; +} + +.bottom-0 { + bottom: 0px; +} + .bottom-2 { bottom: 0.5rem; } +.bottom-\[60px\] { + bottom: 60px; +} + +.left-0 { + left: 0px; +} + .left-2 { left: 0.5rem; } +.right-0 { + right: 0px; +} + .right-3 { right: 0.75rem; } +.top-0 { + top: 0px; +} + .top-3 { top: 0.75rem; } -.-left-6 { - left: -1.5rem; +.z-10 { + z-index: 10; } -.-top-\[31\.5px\] { - top: -31.5px; +.z-20 { + z-index: 20; +} + +.z-30 { + z-index: 30; +} + +.z-40 { + z-index: 40; +} + +.z-50 { + z-index: 50; } .mx-2 { @@ -849,11 +1356,6 @@ select { margin-right: auto; } -.my-2 { - margin-top: 0.5rem; - margin-bottom: 0.5rem; -} - .my-4 { margin-top: 1rem; margin-bottom: 1rem; @@ -876,6 +1378,10 @@ select { margin-bottom: 0.5rem; } +.mb-3 { + margin-bottom: 0.75rem; +} + .mb-8 { margin-bottom: 2rem; } @@ -888,14 +1394,14 @@ select { margin-left: 0.25rem; } -.ml-2 { - margin-left: 0.5rem; -} - .mr-4 { margin-right: 1rem; } +.mt-2 { + margin-top: 0.5rem; +} + .mt-4 { margin-top: 1rem; } @@ -924,10 +1430,19 @@ select { display: table; } +.grid { + display: grid; +} + .hidden { display: none; } +.size-6 { + width: 1.5rem; + height: 1.5rem; +} + .h-12 { height: 3rem; } @@ -948,14 +1463,26 @@ select { height: 1.5rem; } +.h-9 { + height: 2.25rem; +} + .min-h-screen { min-height: 100vh; } +.w-1\/2 { + width: 50%; +} + .w-24 { width: 6rem; } +.w-4 { + width: 1rem; +} + .w-5 { width: 1.25rem; } @@ -964,6 +1491,10 @@ select { width: 1.5rem; } +.w-64 { + width: 16rem; +} + .w-7 { width: 1.75rem; } @@ -976,8 +1507,16 @@ select { width: 100%; } -.min-w-60 { - min-width: 15rem; +.min-w-14 { + min-width: 3.5rem; +} + +.max-w-24 { + max-width: 6rem; +} + +.max-w-80 { + max-width: 20rem; } .max-w-screen-lg { @@ -996,6 +1535,48 @@ select { flex: 1 1 0%; } +.flex-shrink { + flex-shrink: 1; +} + +.-translate-x-full { + --tw-translate-x: -100%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-translate-y-full { + --tw-translate-y: -100%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-x-0 { + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-x-full { + --tw-translate-x: 100%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-y-full { + --tw-translate-y: 100%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.rotate-180 { + --tw-rotate: 180deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.transform-none { + transform: none; +} + @keyframes spin { to { transform: rotate(360deg); @@ -1006,6 +1587,30 @@ select { animation: spin 1s linear infinite; } +.cursor-default { + cursor: default; +} + +.cursor-not-allowed { + cursor: not-allowed; +} + +.cursor-pointer { + cursor: pointer; +} + +.resize { + resize: both; +} + +.grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); +} + +.grid-cols-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); +} + .flex-col { flex-direction: column; } @@ -1014,10 +1619,26 @@ select { flex-wrap: wrap; } +.items-start { + align-items: flex-start; +} + +.items-end { + align-items: flex-end; +} + .items-center { align-items: center; } +.justify-start { + justify-content: flex-start; +} + +.justify-end { + justify-content: flex-end; +} + .justify-center { justify-content: center; } @@ -1030,16 +1651,34 @@ select { gap: 0.5rem; } +.gap-4 { + gap: 1rem; +} + +.gap-5 { + gap: 1.25rem; +} + .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))); +} + .self-center { align-self: center; } +.overflow-hidden { + overflow: hidden; +} + .truncate { overflow: hidden; text-overflow: ellipsis; @@ -1050,6 +1689,10 @@ select { white-space: nowrap; } +.text-wrap { + text-wrap: wrap; +} + .rounded-full { border-radius: 9999px; } @@ -1058,23 +1701,80 @@ select { border-radius: 0.5rem; } +.rounded-md { + border-radius: 0.375rem; +} + .rounded-sm { border-radius: 0.125rem; } +.rounded-e-lg { + border-start-end-radius: 0.5rem; + border-end-end-radius: 0.5rem; +} + +.rounded-l-lg { + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} + +.rounded-r-lg { + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; +} + +.rounded-s-lg { + border-start-start-radius: 0.5rem; + border-end-start-radius: 0.5rem; +} + +.border { + border-width: 1px; +} + +.border-0 { + border-width: 0px; +} + +.border-blue-600 { + --tw-border-opacity: 1; + border-color: rgb(28 100 242 / var(--tw-border-opacity)); +} + +.border-blue-700 { + --tw-border-opacity: 1; + border-color: rgb(26 86 219 / var(--tw-border-opacity)); +} + +.border-gray-100 { + --tw-border-opacity: 1; + border-color: rgb(243 244 246 / var(--tw-border-opacity)); +} + .border-gray-200 { --tw-border-opacity: 1; border-color: rgb(229 231 235 / var(--tw-border-opacity)); } -.border-slate-500 { +.border-gray-300 { --tw-border-opacity: 1; - border-color: rgb(100 116 139 / var(--tw-border-opacity)); + border-color: rgb(209 213 219 / var(--tw-border-opacity)); +} + +.border-purple-200 { + --tw-border-opacity: 1; + border-color: rgb(220 215 254 / var(--tw-border-opacity)); } .bg-blue-700 { --tw-bg-opacity: 1; - background-color: rgb(29 78 216 / var(--tw-bg-opacity)); + background-color: rgb(26 86 219 / var(--tw-bg-opacity)); +} + +.bg-gray-100 { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); } .bg-gray-200 { @@ -1082,9 +1782,18 @@ select { background-color: rgb(229 231 235 / var(--tw-bg-opacity)); } +.bg-gray-800 { + --tw-bg-opacity: 1; + background-color: rgb(31 41 55 / var(--tw-bg-opacity)); +} + +.bg-gray-900\/50 { + background-color: rgb(17 24 39 / 0.5); +} + .bg-green-600 { --tw-bg-opacity: 1; - background-color: rgb(22 163 74 / var(--tw-bg-opacity)); + background-color: rgb(5 122 85 / var(--tw-bg-opacity)); } .bg-violet-600 { @@ -1092,6 +1801,19 @@ select { background-color: rgb(124 58 237 / var(--tw-bg-opacity)); } +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.bg-white\/50 { + background-color: rgb(255 255 255 / 0.5); +} + +.p-1 { + padding: 0.25rem; +} + .p-2 { padding: 0.5rem; } @@ -1109,11 +1831,21 @@ select { padding-right: 0.5rem; } +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + .px-4 { padding-left: 1rem; padding-right: 1rem; } +.px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} + .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; @@ -1124,14 +1856,14 @@ select { padding-bottom: 0.5rem; } -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; +.py-2\.5 { + padding-top: 0.625rem; + padding-bottom: 0.625rem; } -.py-\[13\.5px\] { - padding-top: 13.5px; - padding-bottom: 13.5px; +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; } .pb-16 { @@ -1150,6 +1882,10 @@ select { padding-top: 0.25rem; } +.pt-2 { + padding-top: 0.5rem; +} + .pt-8 { padding-top: 2rem; } @@ -1162,10 +1898,23 @@ select { vertical-align: top; } +.font-condensed { + font-family: IBM Plex Sans Condensed, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + .font-mono { font-family: IBM Plex Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } +.font-serif { + font-family: IBM Plex Serif, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + .text-3xl { font-size: 1.875rem; line-height: 2.25rem; @@ -1206,6 +1955,10 @@ select { line-height: 1rem; } +.font-bold { + font-weight: 700; +} + .font-medium { font-weight: 500; } @@ -1214,14 +1967,47 @@ select { font-weight: 600; } +.leading-6 { + line-height: 1.5rem; +} + +.leading-9 { + line-height: 2.25rem; +} + +.text-blue-600 { + --tw-text-opacity: 1; + color: rgb(28 100 242 / var(--tw-text-opacity)); +} + +.text-gray-400 { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.text-gray-500 { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + .text-gray-700 { --tw-text-opacity: 1; color: rgb(55 65 81 / var(--tw-text-opacity)); } +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity)); +} + +.text-gray-900 { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity)); +} + .text-red-600 { --tw-text-opacity: 1; - color: rgb(220 38 38 / var(--tw-text-opacity)); + color: rgb(224 36 36 / var(--tw-text-opacity)); } .text-slate-300 { @@ -1241,7 +2027,7 @@ select { .text-yellow-300 { --tw-text-opacity: 1; - color: rgb(253 224 71 / var(--tw-text-opacity)); + color: rgb(250 202 21 / var(--tw-text-opacity)); } .underline { @@ -1252,12 +2038,47 @@ select { text-decoration-color: #64748b; } +.opacity-0 { + opacity: 0; +} + +.opacity-100 { + opacity: 1; +} + +.shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-lg { + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + 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 rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.shadow-sm { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.outline { + outline-style: solid; +} + +.blur { + --tw-blur: blur(8px); + 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); +} + .filter { 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); } @@ -1270,14 +2091,34 @@ select { transition-duration: 150ms; } +.transition-opacity { + transition-property: opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-transform { + transition-property: transform; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + .duration-200 { transition-duration: 200ms; } +.duration-300 { + transition-duration: 300ms; +} + .ease-in { transition-timing-function: cubic-bezier(0.4, 0, 1, 1); } +.ease-out { + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); +} + .max-w-20char { max-width: 20ch; } @@ -1289,7 +2130,7 @@ select { @font-face { font-family: "IBM Plex Mono"; - src: url("fonts/IBMPlexMono-regular.woff2") format("woff2"); + src: url("fonts/IBMPlexMono-Regular.woff2") format("woff2"); font-weight: 400; @@ -1316,6 +2157,26 @@ select { font-style: normal; } +@font-face { + font-family: "IBM Plex Serif"; + + src: url("fonts/IBMPlexSerif-Bold.woff2") format("woff2"); + + font-weight: 700; + + font-style: normal; +} + +@font-face { + font-family: "IBM Plex Sans Condensed"; + + src: url("fonts/IBMPlexSansCondensed-Regular.woff2") format("woff2"); + + font-weight: 400; + + font-style: normal; +} + /* a:hover { text-decoration-color: #ff4400; color: rgb(254, 185, 160); @@ -1390,7 +2251,7 @@ textarea:disabled:is(.dark *) { margin-bottom: 0.25rem; width: 300px; --tw-bg-opacity: 1; - background-color: rgb(220 38 38 / var(--tw-bg-opacity)); + background-color: rgb(224 36 36 / var(--tw-bg-opacity)); padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 0.75rem; @@ -1442,7 +2303,7 @@ th label { display: inline-block; border-radius: 0.25rem; --tw-bg-opacity: 1; - background-color: rgb(37 99 235 / var(--tw-bg-opacity)); + background-color: rgb(28 100 242 / var(--tw-bg-opacity)); padding-left: 1.5rem; padding-right: 1.5rem; padding-top: 0.625rem; @@ -1466,7 +2327,7 @@ th label { .basic-button:hover { --tw-bg-opacity: 1; - background-color: rgb(29 78 216 / var(--tw-bg-opacity)); + background-color: rgb(26 86 219 / var(--tw-bg-opacity)); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); @@ -1474,7 +2335,7 @@ th label { .basic-button:focus { --tw-bg-opacity: 1; - background-color: rgb(29 78 216 / var(--tw-bg-opacity)); + background-color: rgb(26 86 219 / var(--tw-bg-opacity)); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); @@ -1487,7 +2348,7 @@ th label { .basic-button:active { --tw-bg-opacity: 1; - background-color: rgb(30 64 175 / var(--tw-bg-opacity)); + background-color: rgb(30 66 159 / var(--tw-bg-opacity)); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); @@ -1521,69 +2382,27 @@ th label { padding-left: 1em; } -.truncate-container { - position: relative; - display: inline-block; - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; +/* .truncate-container { + @apply inline-block relative; a { - display: inline-block; - } - a { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - a { - max-width: 20ch; - } - a { - &:hover { - position: absolute; - } - &:hover { - top: -2rem; - } - &:hover { - left: -1.5rem; - } - &:hover { - min-width: 15rem; - } - &:hover { - max-width: none; - } - &:hover { - border-radius: 0.125rem; - } - &:hover { - --tw-bg-opacity: 1; - background-color: rgb(147 51 234 / var(--tw-bg-opacity)); - } - &:hover { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - &:hover { - padding-top: 0.875rem; - padding-bottom: 0.875rem; - } - &:hover { - outline-style: dashed; - } - &:hover { - outline-width: 4px; - } - &:hover { - outline-color: #c084fc; - } - } + @apply inline-block truncate max-w-20char transition-all group-hover:absolute group-hover:max-w-none group-hover:-top-8 group-hover:-left-6 group-hover:min-w-60 group-hover:px-6 group-hover:py-3.5 group-hover:bg-purple-600 group-hover:rounded-sm group-hover:outline-dashed group-hover:outline-purple-400 group-hover:outline-4; + + } +} */ + +.hover\:border-gray-300:hover { + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity)); } .hover\:bg-blue-800:hover { --tw-bg-opacity: 1; - background-color: rgb(30 64 175 / var(--tw-bg-opacity)); + background-color: rgb(30 66 159 / var(--tw-bg-opacity)); +} + +.hover\:bg-gray-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); } .hover\:bg-gray-400:hover { @@ -1593,7 +2412,12 @@ th label { .hover\:bg-green-700:hover { --tw-bg-opacity: 1; - background-color: rgb(21 128 61 / var(--tw-bg-opacity)); + background-color: rgb(4 108 78 / var(--tw-bg-opacity)); +} + +.hover\:bg-red-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(253 232 232 / var(--tw-bg-opacity)); } .hover\:bg-violet-700:hover { @@ -1601,10 +2425,44 @@ th label { background-color: rgb(109 40 217 / var(--tw-bg-opacity)); } +.hover\:bg-white:hover { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.hover\:text-blue-600:hover { + --tw-text-opacity: 1; + color: rgb(28 100 242 / var(--tw-text-opacity)); +} + +.hover\:text-blue-700:hover { + --tw-text-opacity: 1; + color: rgb(26 86 219 / var(--tw-text-opacity)); +} + +.hover\:text-gray-600:hover { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)); +} + +.hover\:text-gray-900:hover { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity)); +} + .hover\:underline:hover { text-decoration-line: underline; } +.focus\:z-10:focus { + z-index: 10; +} + +.focus\:text-blue-700:focus { + --tw-text-opacity: 1; + color: rgb(26 86 219 / var(--tw-text-opacity)); +} + .focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; @@ -1624,12 +2482,22 @@ th label { .focus\:ring-blue-300:focus { --tw-ring-opacity: 1; - --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity)); + --tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity)); +} + +.focus\:ring-blue-700:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(26 86 219 / var(--tw-ring-opacity)); +} + +.focus\:ring-gray-200:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity)); } .focus\:ring-green-500:focus { --tw-ring-opacity: 1; - --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity)); + --tw-ring-color: rgb(14 159 110 / var(--tw-ring-opacity)); } .focus\:ring-violet-500:focus { @@ -1642,20 +2510,119 @@ th label { } .focus\:ring-offset-blue-200:focus { - --tw-ring-offset-color: #bfdbfe; + --tw-ring-offset-color: #C3DDFD; } .focus\:ring-offset-violet-200:focus { --tw-ring-offset-color: #ddd6fe; } +.group:hover .group-hover\:absolute { + position: absolute; +} + +.group:hover .group-hover\:-left-6 { + left: -1.5rem; +} + +.group:hover .group-hover\:-top-8 { + top: -2rem; +} + .group:hover .group-hover\:block { display: block; } +.group:hover .group-hover\:min-w-60 { + min-width: 15rem; +} + +.group:hover .group-hover\:max-w-none { + max-width: none; +} + +.group:hover .group-hover\:rounded-sm { + border-radius: 0.125rem; +} + +.group:hover .group-hover\:bg-purple-600 { + --tw-bg-opacity: 1; + background-color: rgb(126 58 242 / var(--tw-bg-opacity)); +} + +.group:hover .group-hover\:px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.group:hover .group-hover\:py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.group:hover .group-hover\:py-3\.5 { + padding-top: 0.875rem; + padding-bottom: 0.875rem; +} + +.group:hover .group-hover\:text-purple-100 { + --tw-text-opacity: 1; + color: rgb(237 235 254 / var(--tw-text-opacity)); +} + +.group:hover .group-hover\:decoration-purple-900 { + text-decoration-color: #4A1D96; +} + +.group:hover .group-hover\:outline-dashed { + outline-style: dashed; +} + +.group:hover .group-hover\:outline-4 { + outline-width: 4px; +} + +.group:hover .group-hover\:outline-purple-400 { + outline-color: #AC94FA; +} + +.dark\:border-blue-500:is(.dark *) { + --tw-border-opacity: 1; + border-color: rgb(63 131 248 / var(--tw-border-opacity)); +} + +.dark\:border-gray-600:is(.dark *) { + --tw-border-opacity: 1; + border-color: rgb(75 85 99 / var(--tw-border-opacity)); +} + +.dark\:border-gray-700:is(.dark *) { + --tw-border-opacity: 1; + border-color: rgb(55 65 81 / var(--tw-border-opacity)); +} + +.dark\:border-purple-600:is(.dark *) { + --tw-border-opacity: 1; + border-color: rgb(126 58 242 / var(--tw-border-opacity)); +} + +.dark\:border-transparent:is(.dark *) { + border-color: transparent; +} + .dark\:bg-blue-600:is(.dark *) { --tw-bg-opacity: 1; - background-color: rgb(37 99 235 / var(--tw-bg-opacity)); + background-color: rgb(28 100 242 / var(--tw-bg-opacity)); +} + +.dark\:bg-gray-600:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgb(75 85 99 / var(--tw-bg-opacity)); +} + +.dark\:bg-gray-700:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgb(55 65 81 / var(--tw-bg-opacity)); } .dark\:bg-gray-800:is(.dark *) { @@ -1663,11 +2630,39 @@ th label { background-color: rgb(31 41 55 / var(--tw-bg-opacity)); } +.dark\:bg-gray-800\/50:is(.dark *) { + background-color: rgb(31 41 55 / 0.5); +} + .dark\:bg-gray-900:is(.dark *) { --tw-bg-opacity: 1; background-color: rgb(17 24 39 / var(--tw-bg-opacity)); } +.dark\:bg-gray-900\/80:is(.dark *) { + background-color: rgb(17 24 39 / 0.8); +} + +.dark\:bg-purple-800:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgb(85 33 181 / var(--tw-bg-opacity)); +} + +.dark\:text-blue-500:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(63 131 248 / var(--tw-text-opacity)); +} + +.dark\:text-gray-400:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.dark\:text-gray-500:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + .dark\:text-slate-400:is(.dark *) { --tw-text-opacity: 1; color: rgb(148 163 184 / var(--tw-text-opacity)); @@ -1690,12 +2685,57 @@ th label { .dark\:hover\:bg-blue-700:hover:is(.dark *) { --tw-bg-opacity: 1; - background-color: rgb(29 78 216 / var(--tw-bg-opacity)); + background-color: rgb(26 86 219 / var(--tw-bg-opacity)); +} + +.dark\:hover\:bg-gray-600:hover:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgb(75 85 99 / var(--tw-bg-opacity)); +} + +.dark\:hover\:bg-gray-700:hover:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgb(55 65 81 / var(--tw-bg-opacity)); +} + +.dark\:hover\:bg-gray-800:hover:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgb(31 41 55 / var(--tw-bg-opacity)); +} + +.dark\:hover\:bg-red-700:hover:is(.dark *) { + --tw-bg-opacity: 1; + background-color: rgb(200 30 30 / var(--tw-bg-opacity)); +} + +.dark\:hover\:text-blue-500:hover:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(63 131 248 / var(--tw-text-opacity)); +} + +.dark\:hover\:text-gray-300:hover:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)); +} + +.dark\:hover\:text-white:hover:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.dark\:focus\:text-white:focus:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.dark\:focus\:ring-blue-500:focus:is(.dark *) { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity)); } .dark\:focus\:ring-blue-800:focus:is(.dark *) { --tw-ring-opacity: 1; - --tw-ring-color: rgb(30 64 175 / var(--tw-ring-opacity)); + --tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity)); } @media (min-width: 640px) { @@ -1777,4 +2817,13 @@ th label { .lg\:max-w-lg { max-width: 32rem; } +} + +.rtl\:rotate-180:where([dir="rtl"], [dir="rtl"] *) { + --tw-rotate: 180deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.rtl\:space-x-reverse:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 1; } \ No newline at end of file diff --git a/games/static/fonts/IBMPlexSansCondensed-Regular.woff2 b/games/static/fonts/IBMPlexSansCondensed-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..37be80edf1591796ab744039d2f6250d89bddb7d GIT binary patch literal 37672 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%0A?mY- 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 literal 0 HcmV?d00001 diff --git a/games/static/fonts/IBMPlexSerif-Bold.woff2 b/games/static/fonts/IBMPlexSerif-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2bc5622c6e852edf41c4c906ecf4610e54950366 GIT binary patch literal 68940 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 SAU;3WW&UR{wdmFV0002Kc`VNW literal 0 HcmV?d00001 diff --git a/games/templates/base.html b/games/templates/base.html index b5a9f1e..0e24d55 100644 --- a/games/templates/base.html +++ b/games/templates/base.html @@ -15,6 +15,7 @@ {% django_htmx_script %} + + + +

\ No newline at end of file diff --git a/games/templates/view_game.html b/games/templates/view_game.html index 00fa2e5..5c3850c 100644 --- a/games/templates/view_game.html +++ b/games/templates/view_game.html @@ -6,22 +6,68 @@ {% load markdown_extras %} {% block content %}
-

- {{ game.name }} - {% url 'edit_game' game.id as edit_url %} - {% include 'components/edit_button.html' with edit_url=edit_url %} -

-

First Released: {{ game.year_released }}

-

- Playtime: - {{ hours_sum }} hours over {{ session_count }} sessions ({{ session_average_without_manual }}/session) -

-

- Played in: - {{ playrange }} -

-
-

+ + +

Editions ({{ edition_count }}) and Purchases ({{ purchase_count }})

    @@ -59,7 +105,7 @@
{% endfor %} -

+

Sessions ({{ session_count }}) {% if latest_session_id %} diff --git a/games/urls.py b/games/urls.py index d65ab3b..7ea9411 100644 --- a/games/urls.py +++ b/games/urls.py @@ -15,6 +15,7 @@ urlpatterns = [ path("game/add", views.add_game, name="add_game"), path("game//edit", views.edit_game, name="edit_game"), path("game//view", views.view_game, name="view_game"), + path("game//delete", views.delete_game, name="delete_game"), path("platform/add", views.add_platform, name="add_platform"), path("platform//edit", views.edit_platform, name="edit_platform"), path("purchase/add", views.add_purchase, name="add_purchase"), diff --git a/games/views.py b/games/views.py index 89d6afa..bd2fb91 100644 --- a/games/views.py +++ b/games/views.py @@ -148,6 +148,13 @@ def edit_game(request, game_id=None): return render(request, "add.html", context) +@login_required +def delete_game(request, game_id=None): + game = get_object_or_404(Game, id=game_id) + game.delete() + return redirect("list_sessions") + + @login_required def view_game(request, game_id=None): game = Game.objects.get(id=game_id) diff --git a/package.json b/package.json index deb7d93..b83b477 100644 --- a/package.json +++ b/package.json @@ -5,5 +5,8 @@ "concurrently": "^8.2.2", "npm-check-updates": "^16.14.20", "tailwindcss": "^3.4.4" + }, + "dependencies": { + "flowbite": "^2.4.1" } } diff --git a/tailwind.config.js b/tailwind.config.js index 8047bc1..c141c1d 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,19 +1,21 @@ const defaultTheme = require('tailwindcss/defaultTheme') module.exports = { - darkMode: 'class', - content: ["./games/**/*.{html,js}"], - theme: { - extend: { - fontFamily: { - 'sans': ['IBM Plex Sans', ...defaultTheme.fontFamily.sans], - 'mono': ['IBM Plex Mono', ...defaultTheme.fontFamily.mono], - 'serif': ['IBM Plex Serif', ...defaultTheme.fontFamily.serif], - } - }, + darkMode: 'class', + content: ["./games/**/*.{html,js}", './node_modules/flowbite/**/*.js'], + theme: { + extend: { + fontFamily: { + 'sans': ['IBM Plex Sans', ...defaultTheme.fontFamily.sans], + 'mono': ['IBM Plex Mono', ...defaultTheme.fontFamily.mono], + 'serif': ['IBM Plex Serif', ...defaultTheme.fontFamily.serif], + 'condensed': ['IBM Plex Sans Condensed', ...defaultTheme.fontFamily.sans], + } }, - plugins: [ - require('@tailwindcss/typography'), - require('@tailwindcss/forms') - ], + }, + plugins: [ + require('@tailwindcss/typography'), + require('@tailwindcss/forms'), + require('flowbite/plugin') + ], }