Add debug More/Clear/Upload tools for paintings and artist portraits.
Extends the debug panel on painting detail and artist bio with a 20-result search picker, local image upload, and clear-to-empty-frame workflow, plus API routes, artist checkup migration, and documentation. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
b4425445bb
commit
0972b5df99
56 files changed
+1980
-92
No files matched your search
@@ -0,0 +1,142 @@
|
||||
.debug-search-modal-overlay {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 200;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 24px;
|
||||
background: rgba(0, 0, 0, 0.72);
|
||||
}
|
||||
|
||||
.debug-search-modal {
|
||||
width: min(920px, 100%);
|
||||
max-height: min(88vh, 900px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 16px 18px 18px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid rgba(232, 160, 64, 0.45);
|
||||
background: rgba(15, 15, 26, 0.98);
|
||||
box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
|
||||
font-family: ui-monospace, 'Cascadia Code', monospace;
|
||||
color: #e8d5b5;
|
||||
}
|
||||
|
||||
.debug-search-modal-header {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.debug-search-modal-header h3 {
|
||||
margin: 0 0 4px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: #e8a040;
|
||||
}
|
||||
|
||||
.debug-search-modal-query {
|
||||
margin: 0;
|
||||
font-size: 11px;
|
||||
line-height: 1.4;
|
||||
color: rgba(232, 213, 181, 0.75);
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.debug-search-modal-close {
|
||||
flex-shrink: 0;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border: 1px solid rgba(201, 169, 110, 0.4);
|
||||
border-radius: 6px;
|
||||
background: transparent;
|
||||
color: #e8d5b5;
|
||||
font-size: 22px;
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.debug-search-modal-close:hover {
|
||||
background: rgba(201, 169, 110, 0.15);
|
||||
}
|
||||
|
||||
.debug-search-modal-hint,
|
||||
.debug-search-modal-status {
|
||||
margin: 0 0 12px;
|
||||
font-size: 11px;
|
||||
color: rgba(201, 169, 110, 0.75);
|
||||
}
|
||||
|
||||
.debug-search-modal-error {
|
||||
margin: 0 0 12px;
|
||||
font-size: 11px;
|
||||
color: #ff8a80;
|
||||
}
|
||||
|
||||
.debug-search-modal-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
|
||||
gap: 10px;
|
||||
overflow-y: auto;
|
||||
padding-right: 4px;
|
||||
max-height: min(68vh, 720px);
|
||||
}
|
||||
|
||||
.debug-search-modal-item {
|
||||
position: relative;
|
||||
aspect-ratio: 1;
|
||||
padding: 0;
|
||||
border: 2px solid rgba(201, 169, 110, 0.35);
|
||||
border-radius: 6px;
|
||||
background: #2a1f15;
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.debug-search-modal-item:hover:not(:disabled) {
|
||||
border-color: #e8a040;
|
||||
box-shadow: 0 0 0 1px rgba(232, 160, 64, 0.35);
|
||||
}
|
||||
|
||||
.debug-search-modal-item:disabled {
|
||||
cursor: wait;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.debug-search-modal-item-busy {
|
||||
border-color: #ffd700;
|
||||
}
|
||||
|
||||
.debug-search-modal-item img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.debug-search-modal-item-index {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 4px;
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
background: rgba(0, 0, 0, 0.65);
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
color: #ffd700;
|
||||
}
|
||||
|
||||
.debug-search-modal-item-busy-label {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: rgba(0, 0, 0, 0.55);
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
color: #ffd700;
|
||||
}
|
||||
Reference in new issue
Block a user