chore: cursor-blink on empty-state placeholders
Adds the cursor-blink class to "no X" / "select a Y" placeholders across core (calendar popup, board preview, search preview, detail split, notifs) and plugins (chat, email, gitea, slideshow). Visual consistency with the rest of the pixel-font UI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
2aec2d8f44
commit
a29708df85
11 files changed
+16
-16
No files matched your search
@@ -14,7 +14,7 @@
|
||||
<div id="chat-list" class="chat-list"></div>
|
||||
<div id="chat-empty" class="hidden chat-empty">
|
||||
<i class="ph ph-chats text-2xl text-t-dim mb-2"></i>
|
||||
<p class="font-pixel text-[10px] text-t-dim">no conversations yet</p>
|
||||
<p class="font-pixel text-[10px] text-t-dim cursor-blink">no conversations yet</p>
|
||||
<button id="chat-empty-start" class="mt-3 px-2 py-1 text-[10px] font-pixel border border-t-accent text-t-accent hover:bg-t-accent/10 transition-colors">Start chat</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -307,7 +307,7 @@ async function openPickView() {
|
||||
const self = recipientCache.self;
|
||||
const others = tenants.filter(t => t.username !== self);
|
||||
if (!others.length) {
|
||||
list.innerHTML = '<div class="px-3 py-3 text-[10px] text-t-dim font-pixel">no other users on the relay</div>';
|
||||
list.innerHTML = '<div class="px-3 py-3 text-[10px] text-t-dim font-pixel cursor-blink">no other users on the relay</div>';
|
||||
return;
|
||||
}
|
||||
list.innerHTML = others.map(t => `
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
<div id="email-body-empty" class="flex items-center justify-center flex-1 text-t-dim text-xs font-pixel">
|
||||
<div class="text-center">
|
||||
<i class="ph ph-envelope-open text-3xl mb-2 block"></i>
|
||||
select a message
|
||||
<span class="cursor-blink">select a message</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email-body" class="hidden flex flex-col flex-1 min-h-0">
|
||||
|
||||
@@ -441,7 +441,7 @@ function gotoNextPage() {
|
||||
function renderMessageList() {
|
||||
const list = $('email-list');
|
||||
if (!currentMessages.length) {
|
||||
list.innerHTML = '<div class="p-4 text-xs text-t-dim italic">no messages</div>';
|
||||
list.innerHTML = '<div class="p-4 text-xs text-t-dim italic cursor-blink">no messages</div>';
|
||||
renderSelectionBar();
|
||||
renderSpamToolbar();
|
||||
return;
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<div id="gitea-detail-empty" class="flex items-center justify-center flex-1 text-t-dim text-xs font-pixel">
|
||||
<div class="text-center">
|
||||
<i class="ph ph-list-bullets text-3xl mb-2 block"></i>
|
||||
select an issue
|
||||
<span class="cursor-blink">select an issue</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ── Create issue form ── -->
|
||||
|
||||
@@ -640,7 +640,7 @@ async function refreshGalleryPicker() {
|
||||
if (!images.length) {
|
||||
gp.grid.innerHTML = `<div class="col-span-full text-center py-16" style="grid-column:1/-1;">
|
||||
<i class="ph ph-image text-4xl text-t-dim mb-2 block"></i>
|
||||
<p class="font-pixel text-[10px] text-t-dim">no images yet — upload above</p>
|
||||
<p class="font-pixel text-[10px] text-t-dim cursor-blink">no images yet — upload above</p>
|
||||
</div>`;
|
||||
return;
|
||||
}
|
||||
@@ -705,7 +705,7 @@ function renderPickerList(query) {
|
||||
picker.list.innerHTML = filtered.map(c => {
|
||||
const col = c.color ? `background:${c.color};` : '';
|
||||
return `<button class="slideshow-pick-row" data-pick-target="card:${escHtml(c.id)}"><span style="display:inline-block;width:8px;height:8px;${col}"></span><span style="flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">${escHtml(c.title || '(untitled)')}</span></button>`;
|
||||
}).join('') || `<div class="font-pixel text-[10px] text-t-dim px-2 py-2">no matches</div>`;
|
||||
}).join('') || `<div class="font-pixel text-[10px] text-t-dim px-2 py-2 cursor-blink">no matches</div>`;
|
||||
}
|
||||
|
||||
picker.search?.addEventListener('input', () => renderPickerList(picker.search.value));
|
||||
|
||||
Reference in new issue
Block a user