fix(mobile): 修复安卓浏览器输入法避让

This commit is contained in:
XianYuDaXian committed 2026-02-19 08:34:55 +08:00
1 parent 5e24cad32b
commit 30dd425b90
3 files changed
+46 -36

No files matched your search

+1
View File
@@ -59,3 +59,4 @@ htmlcov/
# Project specific
config.local.toml
data/config.toml
+2 -2
View File
@@ -191,8 +191,8 @@
setLightboxKeyboardShift(0);
return;
}
const overlap = Math.max(0, window.innerHeight - vv.height - vv.offsetTop);
const shift = overlap > 0 ? Math.min(280, overlap + 12) : 0;
const overlap = Math.max(0, lightbox.clientHeight - vv.height - vv.offsetTop);
const shift = overlap > 0 ? Math.min(340, overlap + 12) : 0;
setLightboxKeyboardShift(shift);
}
+43 -34
View File
@@ -3,7 +3,8 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover, interactive-widget=overlays-content">
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
<title>Grok2API - Imagine 瀑布流</title>
<link rel="icon" href="/static/common/img/favicon/favicon.ico">
<link rel="manifest" href="/manifest.webmanifest">
@@ -28,12 +29,12 @@
<main class="flex-1 container mx-auto max-w-5xl px-4 sm:px-6 py-5 sm:py-8 fade-in">
<div class="space-y-4 sm:space-y-6">
<div>
<h2 class="text-2xl font-semibold tracking-tight">Imagine 瀑布流</h2>
<p class="text-[var(--accents-4)] mt-1 text-sm">通过 WebSocket 持续生成图片,实时展示 base64 瀑布流。</p>
</div>
<div>
<h2 class="text-2xl font-semibold tracking-tight">Imagine 瀑布流</h2>
<p class="text-[var(--accents-4)] mt-1 text-sm">通过 WebSocket 持续生成图片,实时展示 base64 瀑布流。</p>
</div>
<div class="h-px bg-[var(--border)]"></div>
<div class="h-px bg-[var(--border)]"></div>
<div class="imagine-top-grid">
<div class="imagine-card imagine-card-collapsible settings-card">
@@ -43,7 +44,8 @@
<div class="settings-block settings-block-prompt">
<div class="settings-prompt">
<label class="field-label" for="promptInput">提示词</label>
<textarea id="promptInput" class="geist-input imagine-textarea" placeholder="描述你想要的画面,例如:未来城市霓虹雨夜,广角摄影"></textarea>
<textarea id="promptInput" class="geist-input imagine-textarea"
placeholder="描述你想要的画面,例如:未来城市霓虹雨夜,广角摄影"></textarea>
</div>
</div>
<div class="settings-block settings-block-duo">
@@ -114,7 +116,8 @@
<div class="settings-folder">
<label class="field-label">保存位置</label>
<button id="selectFolderBtn" class="geist-button-outline folder-select-btn" disabled>
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2">
<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path>
</svg>
<span id="folderPath">浏览器默认位置</span>
@@ -142,32 +145,33 @@
<div class="status-header-row" id="statusToggle">
<div class="card-title">连接状态</div>
<span id="statusText" class="status-text">未连接</span>
<svg class="collapse-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<svg class="collapse-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2">
<polyline points="6 9 12 15 18 9"></polyline>
</svg>
</div>
<div class="card-content" id="statusContent">
<div class="meta-grid">
<div class="meta-item mode-item">
<div class="meta-label">连接模式</div>
<div class="mode-switch" role="group" aria-label="Connection mode">
<button class="mode-btn" data-mode="auto" type="button">Auto</button>
<button class="mode-btn" data-mode="ws" type="button">WS</button>
<button class="mode-btn" data-mode="sse" type="button">SSE</button>
<div class="meta-item mode-item">
<div class="meta-label">连接模式</div>
<div class="mode-switch" role="group" aria-label="Connection mode">
<button class="mode-btn" data-mode="auto" type="button">Auto</button>
<button class="mode-btn" data-mode="ws" type="button">WS</button>
<button class="mode-btn" data-mode="sse" type="button">SSE</button>
</div>
</div>
<div class="meta-item">
<div class="meta-label">图片数量</div>
<div id="countValue" class="meta-value">0</div>
</div>
<div class="meta-item">
<div class="meta-label">活跃任务</div>
<div id="activeValue" class="meta-value">0</div>
</div>
<div class="meta-item">
<div class="meta-label">平均耗时</div>
<div id="latencyValue" class="meta-value">-</div>
</div>
</div>
<div class="meta-item">
<div class="meta-label">图片数量</div>
<div id="countValue" class="meta-value">0</div>
</div>
<div class="meta-item">
<div class="meta-label">活跃任务</div>
<div id="activeValue" class="meta-value">0</div>
</div>
<div class="meta-item">
<div class="meta-label">平均耗时</div>
<div id="latencyValue" class="meta-value">-</div>
</div>
</div>
</div>
</div>
@@ -210,7 +214,8 @@
<div class="lightbox-edit-layout">
<div class="lightbox-edit-left">
<div class="lightbox-edit-main">
<textarea id="lightboxEditInput" class="lightbox-edit-input" placeholder="输入编辑提示词,例如:保持构图不变,把天空改成黄昏"></textarea>
<textarea id="lightboxEditInput" class="lightbox-edit-input"
placeholder="输入编辑提示词,例如:保持构图不变,把天空改成黄昏"></textarea>
<button id="lightboxEditSend" class="lightbox-edit-send" type="button" disabled>发送编辑</button>
</div>
<div id="lightboxEditProgressWrap" class="lightbox-edit-progress-wrap">
@@ -246,12 +251,14 @@
<span class="toolbar-sep"></span>
<button id="clearBtn" class="geist-button-outline text-xs px-3 gap-1 border-0 hover:bg-red-100">
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
<path
d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
</svg>
清空
</button>
<span class="toolbar-sep"></span>
<button id="batchDownloadBtn" class="batch-download-btn geist-button-outline text-xs px-3 gap-1 border-0 hover:bg-gray-100" title="批量下载">
<button id="batchDownloadBtn"
class="batch-download-btn geist-button-outline text-xs px-3 gap-1 border-0 hover:bg-gray-100" title="批量下载">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
<polyline points="7 10 12 15 17 10"></polyline>
@@ -260,8 +267,10 @@
<span>批量</span>
</button>
<div id="selectionToolbar" class="selection-toolbar hidden">
<button id="toggleSelectAllBtn" class="geist-button-outline text-xs px-3 gap-1 border-0 hover:bg-gray-100">全选</button>
<button id="downloadSelectedBtn" class="geist-button-outline text-xs px-3 gap-1 border-0 hover:bg-gray-100">下载 <span id="selectedCount" class="selected-count">0</span></button>
<button id="toggleSelectAllBtn"
class="geist-button-outline text-xs px-3 gap-1 border-0 hover:bg-gray-100">全选</button>
<button id="downloadSelectedBtn" class="geist-button-outline text-xs px-3 gap-1 border-0 hover:bg-gray-100">下载
<span id="selectedCount" class="selected-count">0</span></button>
</div>
</div>
@@ -297,4 +306,4 @@
<script src="/static/public/js/imagine.js?v=0.3.8"></script>
</body>
</html>
</html>