mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-28 00:12:25 +00:00
Replace UI grid and notify with Tailwind components
This commit is contained in:
1 parent
8506b76004
commit
c3ba160ef8
14 files changed
+555
-687
No files matched your search
+13
-550
@@ -1155,566 +1155,29 @@
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Angular UI Grid theming */
|
||||
.ui-grid {
|
||||
@apply relative w-full rounded-xl border border-border-translucent bg-surface text-sm text-text shadow-sm;
|
||||
box-sizing: content-box;
|
||||
transform: translateZ(0);
|
||||
border-width: var(--grid-border-width);
|
||||
.torrent-toast-motion {
|
||||
transition-property: opacity, transform;
|
||||
will-change: opacity, transform;
|
||||
}
|
||||
|
||||
.ui-grid-render-container {
|
||||
position: relative;
|
||||
.torrent-toast {
|
||||
@apply pointer-events-auto w-full max-w-md rounded-lg px-4 py-3 text-sm font-medium tracking-tight shadow-lg ring-1 ring-inset;
|
||||
}
|
||||
|
||||
.ui-grid-render-container:focus,
|
||||
.ui-grid-viewport:focus {
|
||||
outline: none;
|
||||
.torrent-toast--info {
|
||||
@apply border border-border-translucent bg-surface text-text;
|
||||
}
|
||||
|
||||
.ui-grid-vertical-bar {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: 0;
|
||||
.torrent-toast--success {
|
||||
@apply border border-info border-opacity-60 bg-info text-white;
|
||||
}
|
||||
|
||||
.ui-grid-header-cell:not(:last-child) .ui-grid-vertical-bar,
|
||||
.ui-grid-cell:not(:last-child) .ui-grid-vertical-bar {
|
||||
width: var(--grid-border-width);
|
||||
background-color: var(--color-border-translucent-medium);
|
||||
.torrent-toast--error {
|
||||
@apply border border-critical border-opacity-60 bg-critical text-white;
|
||||
}
|
||||
|
||||
.ui-grid-contents-wrapper {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ui-grid-top-panel-background,
|
||||
.ui-grid-footer-panel-background {
|
||||
background-color: var(--color-surface-alt);
|
||||
}
|
||||
|
||||
.ui-grid-header {
|
||||
border-bottom: var(--grid-border-width) solid var(--color-border-translucent-medium);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ui-grid-top-panel {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
font-weight: 600;
|
||||
background-color: var(--color-surface-alt);
|
||||
color: var(--color-muted-strong);
|
||||
}
|
||||
|
||||
.ui-grid-header-viewport,
|
||||
.ui-grid-footer-viewport {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ui-grid-header-canvas,
|
||||
.ui-grid-footer-canvas {
|
||||
display: table;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ui-grid-header-cell-wrapper,
|
||||
.ui-grid-footer-cell-wrapper {
|
||||
position: relative;
|
||||
display: table;
|
||||
box-sizing: border-box;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ui-grid-header-cell-row,
|
||||
.ui-grid-footer-cell-row {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.ui-grid-header-cell,
|
||||
.ui-grid-footer-cell {
|
||||
position: relative;
|
||||
display: table-cell;
|
||||
box-sizing: border-box;
|
||||
border-right: var(--grid-border-width) solid var(--color-border-translucent-medium);
|
||||
background-color: inherit;
|
||||
font-size: var(--grid-header-font-size);
|
||||
letter-spacing: var(--grid-header-letter-spacing);
|
||||
text-transform: uppercase;
|
||||
padding-block: var(--grid-cell-padding-block);
|
||||
}
|
||||
|
||||
.ui-grid-header-cell {
|
||||
padding-inline: calc(var(--grid-cell-padding-inline) + var(--grid-sort-indicator-size));
|
||||
}
|
||||
|
||||
.ui-grid-footer-cell {
|
||||
padding-inline: var(--grid-cell-padding-inline);
|
||||
}
|
||||
|
||||
.ui-grid-header-cell:last-child,
|
||||
.ui-grid-footer-cell:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
.ui-grid-header-cell .sortable {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ui-grid-header-cell .ui-grid-sort-priority-number {
|
||||
margin-left: calc(var(--space-xs) * -1);
|
||||
}
|
||||
|
||||
.ui-grid-sortarrow {
|
||||
position: absolute;
|
||||
inset-block: 0;
|
||||
inset-inline-end: var(--grid-sort-indicator-offset);
|
||||
width: var(--grid-sort-indicator-size);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.ui-grid-sortarrow::before {
|
||||
content: "";
|
||||
border-style: solid;
|
||||
border-width: 0 var(--grid-sort-indicator-stroke) var(--grid-sort-indicator-stroke)
|
||||
var(--grid-sort-indicator-stroke);
|
||||
border-color: transparent transparent var(--color-muted-strong) transparent;
|
||||
transition: transform var(--motion-duration-base) var(--motion-ease-out);
|
||||
transform-origin: center;
|
||||
}
|
||||
|
||||
.ui-grid-sortarrow.down::before {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.ui-grid-viewport {
|
||||
min-height: var(--grid-viewport-min-height);
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.ui-grid-canvas {
|
||||
position: relative;
|
||||
padding-top: var(--grid-canvas-padding-top);
|
||||
}
|
||||
|
||||
.ui-grid-row {
|
||||
border-bottom: var(--grid-border-width) solid var(--color-border-translucent);
|
||||
}
|
||||
|
||||
.ui-grid-row:nth-child(odd) .ui-grid-cell {
|
||||
background-color: var(--color-surface);
|
||||
}
|
||||
|
||||
.ui-grid-row:nth-child(even) .ui-grid-cell {
|
||||
background-color: var(--color-surface-alt);
|
||||
}
|
||||
|
||||
.ui-grid-row:last-child .ui-grid-cell {
|
||||
border-bottom: var(--grid-border-width) solid var(--color-border-translucent-medium);
|
||||
}
|
||||
|
||||
.ui-grid-row:hover .ui-grid-cell {
|
||||
background-color: var(--color-panel-hover);
|
||||
}
|
||||
|
||||
.ui-grid-row-selected > [ui-grid-row] > .ui-grid-cell {
|
||||
background-color: var(--color-info-glass);
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.ui-grid-cell {
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
border-right: var(--grid-border-width) solid var(--color-border-translucent-medium);
|
||||
}
|
||||
|
||||
.ui-grid-cell:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
.ui-grid-cell-contents {
|
||||
box-sizing: border-box;
|
||||
padding: var(--grid-cell-padding-block) var(--grid-cell-padding-inline);
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.ui-grid-cell-contents-hidden {
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.ui-grid-cell-focus {
|
||||
outline: none;
|
||||
background-color: var(--color-info-glass);
|
||||
}
|
||||
|
||||
.ui-grid-focuser {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: -1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.ui-grid-focuser:focus {
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 var(--grid-border-width) var(--color-info-glass);
|
||||
}
|
||||
|
||||
.ui-grid-offscreen {
|
||||
position: absolute;
|
||||
width: var(--grid-border-width);
|
||||
height: var(--grid-border-width);
|
||||
margin: calc(var(--grid-border-width) * -1);
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ui-grid-no-row-overlay {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
margin: var(--grid-overlay-margin);
|
||||
padding: var(--grid-overlay-padding-block) var(--grid-overlay-padding-inline);
|
||||
display: grid;
|
||||
place-items: center;
|
||||
background-color: var(--color-surface-alt);
|
||||
border-radius: var(--grid-overlay-radius);
|
||||
border: var(--grid-border-width) solid var(--color-border-translucent-medium);
|
||||
font-size: var(--grid-overlay-font-size);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.ui-grid-no-row-overlay > * {
|
||||
opacity: var(--grid-overlay-text-opacity);
|
||||
}
|
||||
|
||||
.ui-grid-menu-button {
|
||||
z-index: 2;
|
||||
position: absolute;
|
||||
inset-inline-end: 0;
|
||||
inset-block-start: 0;
|
||||
background-color: var(--color-surface-alt);
|
||||
border: var(--grid-border-width) solid var(--color-border-translucent-medium);
|
||||
cursor: pointer;
|
||||
height: calc(var(--space-xl) + var(--space-xs));
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.ui-grid-menu {
|
||||
z-index: 2;
|
||||
position: absolute;
|
||||
padding: var(--space-xs) var(--space-sm) var(--space-md);
|
||||
box-sizing: border-box;
|
||||
background-color: var(--color-surface-alt);
|
||||
border: var(--grid-border-width) solid var(--color-border-translucent-medium);
|
||||
border-radius: var(--radius-md);
|
||||
box-shadow: var(--shadow-lg);
|
||||
}
|
||||
|
||||
.ui-grid-column-resizer {
|
||||
position: absolute;
|
||||
inset-block: 0;
|
||||
width: var(--grid-resizer-width);
|
||||
cursor: col-resize;
|
||||
}
|
||||
|
||||
.ui-grid-column-resizer.left {
|
||||
inset-inline-start: 0;
|
||||
}
|
||||
|
||||
.ui-grid-column-resizer.right {
|
||||
inset-inline-end: 0;
|
||||
}
|
||||
|
||||
.ui-grid.column-resizing {
|
||||
cursor: col-resize;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.ui-grid.column-resizing .ui-grid-resize-overlay {
|
||||
position: absolute;
|
||||
inset-block: 0;
|
||||
width: var(--grid-resize-overlay-width);
|
||||
background-color: var(--color-border-translucent-bright);
|
||||
}
|
||||
|
||||
.ui-grid-row-saving .ui-grid-cell {
|
||||
color: var(--color-muted-strong);
|
||||
}
|
||||
|
||||
.ui-grid-row-dirty .ui-grid-cell {
|
||||
color: var(--color-warning-strong);
|
||||
}
|
||||
|
||||
.ui-grid-row-error .ui-grid-cell {
|
||||
color: var(--color-critical-strong);
|
||||
}
|
||||
|
||||
.ui-grid-disable-selection {
|
||||
user-select: none;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.ui-grid-animate-spin {
|
||||
display: inline-block;
|
||||
animation: ui-grid-spin var(--motion-duration-slow) linear infinite;
|
||||
}
|
||||
|
||||
@keyframes ui-grid-spin {
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/* ng-notify overrides */
|
||||
.ngn {
|
||||
pointer-events: none;
|
||||
position: fixed;
|
||||
inset-inline: 0;
|
||||
display: none;
|
||||
z-index: var(--z-notify);
|
||||
padding: var(--notify-padding-block) var(--notify-padding-inline);
|
||||
text-align: center;
|
||||
font-size: var(--notify-font-size);
|
||||
font-weight: 600;
|
||||
color: var(--color-text);
|
||||
text-shadow: none;
|
||||
user-select: none;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.ngn.ngn-visible,
|
||||
.ngn.ngn-enter-active,
|
||||
.ngn.ngn-leave-active {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.ngn-component {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ngn-top {
|
||||
inset-block-start: 0;
|
||||
}
|
||||
|
||||
.ngn-bottom {
|
||||
inset-block-end: 0;
|
||||
}
|
||||
|
||||
.ngn-dismiss {
|
||||
pointer-events: auto;
|
||||
display: none;
|
||||
margin-left: auto;
|
||||
margin-right: var(--space-md);
|
||||
border-radius: var(--notify-dismiss-radius);
|
||||
border: 0;
|
||||
background-color: var(--notify-dismiss-background);
|
||||
color: var(--notify-dismiss-color);
|
||||
font-size: var(--notify-dismiss-font-size);
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
width: var(--notify-dismiss-size);
|
||||
height: var(--notify-dismiss-size);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: background-color var(--motion-duration-base) var(--motion-ease-out);
|
||||
}
|
||||
|
||||
.ngn-sticky .ngn-dismiss {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.ngn-dismiss:hover {
|
||||
background-color: var(--notify-dismiss-background-hover);
|
||||
}
|
||||
|
||||
.ngn-dismiss:active {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--notify-dismiss-background-hover) 80%,
|
||||
var(--color-panel) 20%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-info {
|
||||
background-color: var(--color-info-strong);
|
||||
}
|
||||
|
||||
.ngn-error {
|
||||
background-color: var(--color-critical-strong);
|
||||
}
|
||||
|
||||
.ngn-success {
|
||||
background-color: var(--color-info);
|
||||
}
|
||||
|
||||
.ngn-warn {
|
||||
background-color: var(--color-warning-strong);
|
||||
color: var(--color-text-strong);
|
||||
}
|
||||
|
||||
.ngn-grimace {
|
||||
background-color: var(--color-secondary);
|
||||
}
|
||||
|
||||
.ngn-prime {
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.ngn-prime.ngn-info {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-info-strong) 85%,
|
||||
var(--color-surface-alt) 15%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-prime.ngn-error {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-critical-strong) 85%,
|
||||
var(--color-surface-alt) 15%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-prime.ngn-success {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-info) 85%,
|
||||
var(--color-surface-alt) 15%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-prime.ngn-warn {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-warning-strong) 85%,
|
||||
var(--color-surface-alt) 15%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-prime.ngn-grimace {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-secondary) 85%,
|
||||
var(--color-surface-alt) 15%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pastel {
|
||||
color: var(--color-text-strong);
|
||||
}
|
||||
|
||||
.ngn-pastel.ngn-info {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-info) 45%,
|
||||
var(--color-surface) 55%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pastel.ngn-error {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-critical-strong) 45%,
|
||||
var(--color-surface) 55%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pastel.ngn-success {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-info) 45%,
|
||||
var(--color-surface) 55%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pastel.ngn-warn {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-warning-strong) 45%,
|
||||
var(--color-surface) 55%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pastel.ngn-grimace {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-secondary) 45%,
|
||||
var(--color-surface) 55%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pitchy {
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.ngn-pitchy.ngn-info {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-info-pressed) 75%,
|
||||
var(--color-surface-alt) 25%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pitchy.ngn-error {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-critical-strong) 75%,
|
||||
var(--color-surface-alt) 25%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pitchy.ngn-success {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-info) 75%,
|
||||
var(--color-surface-alt) 25%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pitchy.ngn-warn {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-warning-strong) 75%,
|
||||
var(--color-surface-alt) 25%
|
||||
);
|
||||
}
|
||||
|
||||
.ngn-pitchy.ngn-grimace {
|
||||
background-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-secondary) 75%,
|
||||
var(--color-surface-alt) 25%
|
||||
);
|
||||
}
|
||||
|
||||
@media (max-width: 30rem) {
|
||||
.ngn {
|
||||
font-size: var(--font-size-sm);
|
||||
padding: var(--space-sm) var(--space-lg);
|
||||
}
|
||||
|
||||
.ngn-dismiss {
|
||||
width: var(--notify-dismiss-size-compact);
|
||||
height: var(--notify-dismiss-size-compact);
|
||||
font-size: var(--font-size-xs);
|
||||
}
|
||||
.torrent-toast--warn {
|
||||
@apply border border-warning-strong border-opacity-70 bg-warning-strong text-warning-strong;
|
||||
}
|
||||
|
||||
.profile-switcher {
|
||||
|
||||
Reference in new issue
Block a user