chore: 初始提交 - 移除所有硬编码凭据,统一从环境变量读取
This commit is contained in:
@@ -0,0 +1,205 @@
|
||||
.root, :root { --card-title-size: 32px; --card-list-size: 24px; --card-padding: 24px }
|
||||
.html, body { height: 100%; overflow: hidden }
|
||||
.wall { display: grid; gap: 12px; padding: 8px; min-height: calc(100vh - 60px); height: 100vh; box-sizing: border-box }
|
||||
.cards { display: grid; grid-template-columns: 1fr; grid-auto-rows: 1fr; height: 100%; gap: 0; align-content: stretch; overflow: hidden }
|
||||
.cards-inner { display: flex; height: 100%; gap: 12px; will-change: transform; transition: transform 300ms ease }
|
||||
.cards-inner .card { flex: 0 0 calc(50% - 6px) }
|
||||
.cards { position: relative }
|
||||
.card { border: 2px solid #111; border-radius: 16px; padding: var(--card-padding); background: rgba(255,255,255,0.96) }
|
||||
.card { height: 100%; display: flex; flex-direction: column; position: relative; z-index: 1; overflow: hidden }
|
||||
.card::before { content: ""; position: absolute; inset: 0; border-radius: 16px; background-image: var(--card-bg-image, none); background-repeat: var(--card-bg-repeat, repeat); background-size: var(--card-bg-size, 120px 120px); background-position: center; opacity: var(--card-bg-opacity, 0.08); z-index: 0 }
|
||||
.card > * { position: relative; z-index: 1 }
|
||||
.card .list { flex: 1; font-size: var(--card-list-size) }
|
||||
.card .lines { flex: 1; font-size: var(--card-list-size); line-height: 1.5 }
|
||||
.card .lines div { margin: 6px 0 }
|
||||
.card .title { font-size: var(--card-title-size) }
|
||||
.card .title { font-size: 32px; font-weight: 700; margin-bottom: 12px }
|
||||
.card .list { font-size: 24px; line-height: 1.5 }
|
||||
.card .list li { margin: 6px 0 }
|
||||
.card .meta { margin-top: 8px; font-size: 16px; color: #666 }
|
||||
.status { margin: 8px 0; padding: 8px; border: 1px solid #ffd666; background: #fffbe6; color: #a87000; border-radius: 8px }
|
||||
.controls { display: flex; gap: 8px; align-items: center }
|
||||
.preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); gap: 6px; max-height: 100%; overflow-y: auto }
|
||||
.thumb { border: 1px solid #bbb; border-radius: 10px; padding: 6px; background: #fff; cursor: pointer }
|
||||
.thumb .title { font-size: 12px; font-weight: 600; margin-bottom: 4px }
|
||||
.preview .title { display: block; max-width: 6em; word-break: break-all; overflow-wrap: anywhere; white-space: normal }
|
||||
.thumb .list { display: none }
|
||||
.thumb.active { border-color: #1677ff }
|
||||
.debug { margin: 12px 0; padding: 8px; border: 1px dashed #aaa; }
|
||||
.debug-actions { display: flex; gap: 8px; margin-bottom: 8px }
|
||||
.debug-output { height: 240px; overflow: auto; background: #fafafa; padding: 8px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 12px; white-space: pre-wrap }
|
||||
|
||||
/* Landscape preference */
|
||||
@media (orientation: landscape) {
|
||||
.wall {
|
||||
grid-template-columns: 1fr auto;
|
||||
grid-template-rows: 1fr auto;
|
||||
grid-template-areas:
|
||||
"cards preview"
|
||||
"controls controls";
|
||||
align-items: start;
|
||||
}
|
||||
.preview { display: grid; grid-template-columns: 1fr; grid-auto-rows: min-content; gap: 6px; overflow: auto; width: 8em; box-sizing: border-box }
|
||||
.thumb { min-width: unset; width: 100% }
|
||||
.preview .title { max-width: 8em }
|
||||
.weather { grid-column: 1 / -1 !important }
|
||||
.controls { grid-column: 1 / -1 !important; width: 100% }
|
||||
}
|
||||
|
||||
/* Portrait phones (iPhone 14/Pro/Max widths ~393–430px) */
|
||||
@media (max-width: 480px) {
|
||||
.wall { gap: 8px; padding: 6px; min-height: 100vh }
|
||||
.cards { gap: 8px }
|
||||
.card { padding: var(--card-padding) }
|
||||
.card .title { font-size: var(--card-title-size) }
|
||||
.card .list { font-size: var(--card-list-size) }
|
||||
.preview { display: flex; gap: 6px; overflow: hidden; flex-wrap: nowrap }
|
||||
.thumb { min-width: 90px; padding: 4px }
|
||||
.thumb .title { font-size: 11px }
|
||||
.thumb .list { font-size: 9px; line-height: 1.25 }
|
||||
.controls { gap: 6px }
|
||||
}
|
||||
|
||||
/* Portrait mobile: allow vertical scroll */
|
||||
@media (max-width: 480px) and (orientation: portrait) {
|
||||
html, body { overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch }
|
||||
.wall { min-height: auto }
|
||||
}
|
||||
|
||||
/* Mobile iPad/iPhone friendly */
|
||||
@media (max-width: 800px) {
|
||||
.card .title { font-size: 28px }
|
||||
.card .list { font-size: 20px }
|
||||
.debug-output { height: 160px }
|
||||
.controls { flex-wrap: wrap }
|
||||
}
|
||||
/* Portrait strict sizing for preview and weather */
|
||||
@media (orientation: portrait) {
|
||||
.preview { height: 4em; display: flex; gap: 6px; overflow-x: auto; overflow-y: hidden; align-items: center }
|
||||
.thumb { height: 3.6em; padding: 4px 6px; display: flex; align-items: center }
|
||||
.preview .title { line-height: 1em; max-width: 8em; max-height: 4em; word-break: break-all; overflow: hidden; white-space: normal }
|
||||
}
|
||||
|
||||
.wall-settings-modal {
|
||||
max-width: 640px;
|
||||
width: 90vw;
|
||||
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
|
||||
border-radius: 14px;
|
||||
padding: 20px;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.wall-settings-modal h3 {
|
||||
margin: 0 0 8px 0;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.wall-settings-modal label {
|
||||
display: block;
|
||||
margin-bottom: 4px;
|
||||
font-size: 13px;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.wall-settings-modal input,
|
||||
.wall-settings-modal select {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.wall-cards-modal {
|
||||
width: 80vw;
|
||||
max-width: 80vw;
|
||||
max-height: 80vh;
|
||||
height: 80vh;
|
||||
padding: 20px;
|
||||
border-radius: 14px;
|
||||
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
|
||||
display: grid;
|
||||
grid-template-rows: auto auto 1fr auto;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.wall-cards-modal h3 {
|
||||
margin: 0;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.cards-modal-toolbar {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.cards-modal-main {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
|
||||
gap: 12px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.cards-modal-list {
|
||||
border: 1px solid #e5e5e5;
|
||||
border-radius: 8px;
|
||||
padding: 8px;
|
||||
background: #fafafa;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.cards-modal-editor {
|
||||
display: grid;
|
||||
grid-template-rows: auto 1fr auto;
|
||||
gap: 8px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.cards-modal-textarea {
|
||||
display: grid;
|
||||
grid-template-rows: auto 1fr;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.cards-modal-textarea textarea {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.cards-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.cards-table th,
|
||||
.cards-table td {
|
||||
padding: 4px 6px;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
}
|
||||
|
||||
.cards-table tr:hover {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
|
||||
.wall-cards-modal label {
|
||||
display: block;
|
||||
margin-bottom: 4px;
|
||||
font-size: 13px;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.wall-cards-modal input,
|
||||
.wall-cards-modal textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
.wall-cards-modal {
|
||||
width: 96vw;
|
||||
max-width: 96vw;
|
||||
grid-template-rows: auto auto 1fr auto;
|
||||
}
|
||||
.cards-modal-main {
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: minmax(0, 0.9fr) minmax(0, 1.1fr);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user