Files
Ricardo 2a98784381 fix: use upstream @indiekit/frontend form classes
Add .input, .select, .textarea, .label, .hint classes to all form
elements. Use input-button-group for discover URL. Replace custom
filter-select with upstream .select class. Remove duplicate CSS.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 20:14:49 +01:00

289 lines
5.4 KiB
CSS

/* Blogroll endpoint styles */
/* Stats grid */
.blogroll-stats {
display: grid;
gap: var(--space-s);
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
.blogroll-stat {
background: var(--color-background);
border-radius: var(--radius-s);
padding: var(--space-s);
text-align: center;
}
.blogroll-stat dt {
color: var(--color-text-secondary);
font-size: var(--step--1);
margin-block-end: var(--space-2xs);
}
.blogroll-stat dd {
font-size: var(--step-0);
font-weight: var(--font-weight-semibold);
margin: 0;
}
.blogroll-stat dd.blogroll-stat--error {
color: var(--color-error);
}
/* Quick links (button row) */
.blogroll-actions {
display: flex;
flex-wrap: wrap;
gap: var(--space-s);
margin-block-start: var(--space-m);
}
/* List (shared between blogs, sources, errors, dashboard lists) */
.blogroll-list {
display: flex;
flex-direction: column;
gap: var(--space-s);
list-style: none;
margin: 0;
padding: 0;
}
.blogroll-list__item {
align-items: flex-start;
background: var(--color-offset);
border-radius: var(--radius-m);
display: flex;
flex-wrap: wrap;
gap: var(--space-s);
justify-content: space-between;
padding: var(--space-m);
}
.blogroll-list__item--compact {
padding: var(--space-xs) var(--space-s);
}
.blogroll-list__item--pinned {
border-inline-start: 3px solid var(--color-accent);
}
.blogroll-list__item--hidden {
opacity: 0.6;
}
/* Item content (left side) */
.blogroll-item__info {
flex: 1;
min-inline-size: 200px;
}
.blogroll-item__title {
font-size: var(--step-0);
font-weight: var(--font-weight-semibold);
margin: 0 0 var(--space-2xs);
}
.blogroll-item__title a {
color: inherit;
text-decoration: none;
}
.blogroll-item__title a:hover {
text-decoration: underline;
}
.blogroll-item__meta {
align-items: center;
color: var(--color-text-secondary);
display: flex;
flex-wrap: wrap;
font-size: var(--step--1);
gap: var(--space-xs);
}
.blogroll-item__url {
color: var(--color-accent);
font-family: monospace;
font-size: var(--step--2);
margin-block-start: var(--space-2xs);
word-break: break-all;
}
.blogroll-item__error {
color: var(--color-error);
font-size: var(--step--1);
margin-block-start: var(--space-2xs);
}
/* Item actions (right side) */
.blogroll-item__actions {
display: flex;
flex-wrap: wrap;
gap: var(--space-xs);
}
/* Filters */
.blogroll-filters {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: var(--space-s);
}
/* Form fields */
.blogroll-form {
max-inline-size: 600px;
}
.blogroll-field {
display: flex;
flex-direction: column;
gap: var(--space-2xs);
margin-block-end: var(--space-m);
}
.blogroll-field .textarea {
min-block-size: 100px;
}
.blogroll-field--inline {
align-items: center;
flex-direction: row;
gap: var(--space-s);
}
.blogroll-field--inline input[type="checkbox"] {
appearance: auto;
cursor: pointer;
width: auto;
}
/* API list */
.blogroll-api-list {
display: flex;
flex-direction: column;
gap: var(--space-xs);
list-style: none;
margin: 0;
padding: 0;
}
.blogroll-api-list li {
background: var(--color-background);
border-radius: var(--radius-s);
font-size: var(--step--1);
padding: var(--space-xs) var(--space-s);
}
.blogroll-api-list code {
color: var(--color-accent);
font-weight: var(--font-weight-semibold);
}
/* Feed items (inside blog-edit) */
.blogroll-items-list {
display: flex;
flex-direction: column;
gap: var(--space-xs);
list-style: none;
margin: 0;
padding: 0;
}
.blogroll-items-list li {
background: var(--color-offset);
border-radius: var(--radius-s);
padding: var(--space-xs) var(--space-s);
}
.blogroll-items-list .blogroll-item__title {
font-size: var(--step--1);
margin: 0;
}
.blogroll-items-list .blogroll-item__meta {
font-size: var(--step--2);
}
/* Feed discovery (blog-edit new) */
.blogroll-discover {
background: var(--color-offset);
border-radius: var(--radius-m);
margin-block-end: var(--space-m);
padding: var(--space-m);
}
.blogroll-discover .blogroll-field {
margin-block-end: var(--space-s);
}
.blogroll-discover__result {
background: var(--color-background);
border-radius: var(--radius-s);
font-size: var(--step--1);
margin-block-start: var(--space-s);
padding: var(--space-s);
}
.blogroll-discover__result--error {
color: var(--color-error);
}
.blogroll-discover__result--success {
color: var(--color-success);
}
.blogroll-discover__feeds {
display: flex;
flex-direction: column;
gap: var(--space-xs);
list-style: none;
margin: var(--space-xs) 0 0;
padding: 0;
}
.blogroll-discover__feed {
align-items: center;
background: var(--color-offset);
border-radius: var(--radius-s);
cursor: pointer;
display: flex;
gap: var(--space-s);
padding: var(--space-xs);
}
.blogroll-discover__feed:hover {
opacity: 0.8;
}
.blogroll-discover__feed-url {
flex: 1;
font-family: monospace;
font-size: var(--step--2);
word-break: break-all;
}
.blogroll-discover__feed-type {
background: var(--color-accent);
border-radius: var(--radius-s);
color: var(--color-on-accent);
font-size: var(--step--2);
padding: var(--space-3xs) var(--space-2xs);
text-transform: uppercase;
}
/* Empty state */
.blogroll-empty {
color: var(--color-text-secondary);
font-size: var(--step--1);
padding: var(--space-m);
text-align: center;
}
/* Divider */
.blogroll-divider {
border: none;
border-block-start: 1px solid var(--color-border);
margin: var(--space-m) 0;
}