Adds a URL input + Subscribe button (dx-components Input/Button) to the UI, wired to a new subscribe_feed server function that upserts the feed row and does an immediate first fetch so the reader isn't empty until the next scheduled poll. feedsignal_feeds::fetch_feed now also returns the feed's title, used to replace the URL placeholder once fetched. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XJJQb2DWZZwQ1yPiaAQQoY
38 lines
1,009 B
CSS
38 lines
1,009 B
CSS
/* Input Styles */
|
|
.dx-input {
|
|
position: relative;
|
|
display: flex;
|
|
box-sizing: border-box;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0.25rem;
|
|
padding: 8px 12px;
|
|
border: none;
|
|
border-radius: 0.5rem;
|
|
border-radius: calc(0.5rem);
|
|
background: none;
|
|
background-color: var(--light, var(--primary-color)) var(--dark, color-mix(in oklab, #FFFFFF26 30%, transparent));
|
|
box-shadow: inset 0 0 0 1px var(--light, var(--primary-color-6))
|
|
var(--dark, var(--primary-color-7));
|
|
color: var(--secondary-color-4);
|
|
gap: 0.25rem;
|
|
transition: background-color 100ms ease-out;
|
|
}
|
|
|
|
.dx-input::placeholder {
|
|
color: var(--secondary-color-5);
|
|
}
|
|
|
|
.dx-input:disabled {
|
|
color: var(--secondary-color-5);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.dx-input:hover:not(:disabled),
|
|
.dx-input:focus-visible {
|
|
background: var(--light, var(--primary-color-4))
|
|
var(--dark, color-mix(in oklab, #FFFFFF26 50%, transparent));
|
|
color: var(--secondary-color-1);
|
|
outline: none;
|
|
}
|