Files
WebDrop/web/src/features/home/QuickShare.module.css
T
justme d0aefb3d6e feat(web): split the home page into quick share and spaces zones
Two side-by-side zones (stacked on narrow screens) with an icon and a
one-line positioning each: quick share is temporary, read-only and needs
no account; spaces are long-lived, multi-user and need a login. Shorter
copy, my shares listed under the share input, and an empty state for
spaces.
2026-10-14 22:42:06 +08:00

157 lines
2.5 KiB
CSS

.card {
display: flex;
flex-direction: column;
gap: var(--space-3);
padding: var(--space-4);
border: 1px solid var(--line-strong);
border-radius: var(--radius-md);
background: var(--surface);
transition: border-color 0.15s;
}
.dragging {
border-color: var(--accent);
background: var(--busy-soft);
}
.editor {
width: 100%;
min-height: 112px;
padding: var(--space-3);
border: 1px solid var(--line-strong);
border-radius: var(--radius-sm);
background: var(--bg);
color: var(--text);
font: inherit;
line-height: 1.6;
resize: vertical;
}
.editor:focus-visible {
outline: none;
}
.editor::placeholder {
color: var(--text-dim);
}
.files {
display: flex;
flex-direction: column;
margin: 0;
padding: 0;
border-top: 1px solid var(--line);
list-style: none;
}
.file {
display: flex;
align-items: center;
gap: var(--space-2);
min-height: 40px;
border-bottom: 1px solid var(--line);
}
.file > span {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.file button {
display: grid;
width: 36px;
height: 36px;
place-items: center;
border: 0;
border-radius: var(--radius-sm);
background: transparent;
color: var(--text-dim);
cursor: pointer;
}
.footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-3);
}
.buttons {
display: flex;
flex-wrap: wrap;
gap: var(--space-2);
}
.btn,
.submit {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--space-2);
min-height: 42px;
padding: 0 var(--space-3);
border: 1px solid var(--line-strong);
border-radius: var(--radius-sm);
background: var(--surface);
color: var(--text);
cursor: pointer;
font: inherit;
font-weight: 600;
}
.submit {
flex: 0 0 auto;
min-width: 160px;
background: var(--accent);
color: var(--on-accent);
}
.btn:disabled,
.submit:disabled,
.file button:disabled {
opacity: 0.5;
cursor: default;
}
.btn:focus-visible,
.submit:focus-visible,
.file button:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 2px;
}
.file button:hover:not(:disabled) {
background: var(--accent-soft);
color: var(--text);
}
.btn:hover:not(:disabled) {
background: var(--accent-soft);
}
.submit:hover:not(:disabled) {
opacity: 0.86;
}
@media (width <= 600px) {
.head,
.footer {
align-items: stretch;
flex-direction: column;
}
.tag {
align-self: flex-start;
}
.buttons > * {
flex: 1 1 110px;
}
.submit {
width: 100%;
}
}