Add basic tag management (#1175)

This commit is contained in:
Sascha Ißbrücker
2025-08-26 12:01:36 +02:00
committed by GitHub
parent d873342105
commit 82e5b7d9d5
32 changed files with 1475 additions and 112 deletions

View File

@@ -346,12 +346,6 @@ li[ld-bookmark-item] {
.bookmark-pagination {
margin-top: var(--unit-4);
/* Remove left padding from first pagination link */
& .page-item:first-child a {
padding-left: 0;
}
&.sticky {
position: sticky;
bottom: 0;

View File

@@ -1,20 +1,15 @@
.bundles-page {
h1 {
font-size: var(--font-size-lg);
margin-bottom: var(--unit-6);
}
.item-list {
.list-item .list-item-icon {
.crud-table {
svg {
cursor: grab;
}
.list-item.drag-start {
tr.drag-start {
--secondary-border-color: transparent;
}
.list-item.dragging > * {
visibility: hidden;
tr.dragging > * {
opacity: 0;
}
}
}

65
bookmarks/styles/crud.css Normal file
View File

@@ -0,0 +1,65 @@
.crud-page {
.crud-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--unit-6);
h1 {
font-size: var(--font-size-xl);
margin: 0;
}
}
.crud-filters {
background: var(--gray-50);
border-radius: var(--border-radius);
border: solid 1px var(--secondary-border-color);
padding: var(--unit-3);
margin-bottom: var(--unit-4);
form {
display: flex;
flex-wrap: wrap;
gap: var(--unit-4);
& .form-group {
margin: 0;
}
&.form-input,
&.form-select {
width: auto;
}
& .form-group:has(.form-checkbox) {
align-self: flex-end;
}
}
}
.crud-table {
.btn.btn-link {
padding: 0;
height: unset;
}
th,
td {
max-width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
th.actions,
td.actions {
width: 1%;
max-width: 150px;
*:not(:last-child) {
margin-right: var(--unit-2);
}
}
}
}

View File

@@ -0,0 +1,6 @@
.tags-editor-page {
main {
max-width: 550px;
margin: 0 auto;
}
}

View File

@@ -22,6 +22,7 @@
@import "responsive.css";
@import "layout.css";
@import "components.css";
@import "crud.css";
@import "bookmark-details.css";
@import "bookmark-form.css";
@import "bookmark-page.css";
@@ -29,3 +30,4 @@
@import "reader-mode.css";
@import "settings.css";
@import "bundles.css";
@import "tags.css";

View File

@@ -119,6 +119,12 @@
}
}
/* Button no border */
&.btn-noborder {
border-color: transparent;
box-shadow: none;
}
/* Button Link */
&.btn-link {

View File

@@ -430,13 +430,21 @@ textarea.form-input {
/* Form element: Input groups */
.input-group {
display: flex;
border-radius: var(--border-radius);
box-shadow: var(--input-box-shadow);
> * {
box-shadow: none !important;
}
.input-group-addon {
display: flex;
align-items: center;
background: var(--body-color);
border: var(--border-width) solid var(--input-border-color);
border-radius: var(--border-radius);
line-height: var(--line-height);
padding: var(--control-padding-y) var(--control-padding-x);
padding: 0 var(--control-padding-x);
white-space: nowrap;
&.addon-sm {

View File

@@ -80,17 +80,8 @@
}
& .close {
background: none;
border: none;
padding: 0;
line-height: 0;
cursor: pointer;
opacity: 0.85;
color: var(--secondary-text-color);
&:hover {
opacity: 1;
}
height: auto;
}
}

View File

@@ -33,6 +33,11 @@
}
}
&:first-child a {
/* Remove left padding from first pagination link */
padding-left: 0;
}
&.active {
& a {
background: var(--primary-color);

View File

@@ -5,22 +5,19 @@
width: 100%;
text-align: left;
/* Scrollable tables */
&.table-scroll {
display: block;
overflow-x: auto;
padding-bottom: 0.75rem;
white-space: nowrap;
td,
th {
border-bottom: var(--border-width) solid var(--secondary-border-color);
padding: var(--unit-2) var(--unit-2);
}
& td,
& th {
border-bottom: var(--border-width) solid var(--border-color);
padding: var(--unit-3) var(--unit-2);
th {
font-weight: 500;
border-bottom-color: var(--border-color);
}
& th {
border-bottom-width: var(--border-width-lg);
th:first-child,
td:first-child {
padding-left: 0;
}
}

View File

@@ -242,6 +242,36 @@
margin-top: var(--unit-4) !important;
}
.m-6 {
margin: var(--unit-6) !important;
}
.mb-6 {
margin-bottom: var(--unit-6) !important;
}
.ml-6 {
margin-left: var(--unit-6) !important;
}
.mr-6 {
margin-right: var(--unit-6) !important;
}
.mt-6 {
margin-top: var(--unit-6) !important;
}
.mx-6 {
margin-left: var(--unit-6) !important;
margin-right: var(--unit-6) !important;
}
.my-6 {
margin-bottom: var(--unit-6) !important;
margin-top: var(--unit-6) !important;
}
.ml-auto {
margin-left: auto;
}
@@ -291,6 +321,10 @@
}
/* Flex */
.flex-column {
flex-direction: column;
}
.align-baseline {
align-items: baseline;
}
@@ -302,3 +336,7 @@
.justify-between {
justify-content: space-between;
}
.gap-2 {
gap: var(--unit-2);
}