diff --git a/app/hosts/[hostname]/page.tsx b/app/hosts/[hostname]/page.tsx index bef964e..8aba709 100644 --- a/app/hosts/[hostname]/page.tsx +++ b/app/hosts/[hostname]/page.tsx @@ -800,260 +800,264 @@ export default function HostDetail() { {/* 截图时间线选项卡 */} {activeTab === 'screenshots' && ( -
- {/* 小时分布滑块(时间分布) */} -
-
-

时间分布

- +
+
+ {/* 小时分布滑块(时间分布) */} +
+
+

时间分布

+ +
+ + + + {hourlySegments.length > 0 ? ( +
+ +
+ ) : ( +
加载时间分布中...
+ )}
- + {/* 详细时间点滑块 */} + {showDetailTimeline && ( +
+
+

时间点详情

+
+ + +
+
- {hourlySegments.length > 0 ? ( -
- + {records.length > 0 ? ( + + ) : ( +
加载记录中...
+ )}
- ) : ( -
加载时间分布中...
)}
- {/* 详细时间点滑块 */} - {showDetailTimeline && ( -
-
-

时间点详情

-
- - -
-
- - {records.length > 0 ? ( - - ) : ( -
加载记录中...
- )} -
- )} - {/* 图片预览区域及控制按钮 */} - {selectedRecord && ( -
- { - !(navigator as any).connection?.saveData && - records.map(record => record.screenshots).flat() - .filter((_, index) => Math.abs(index - currentFrameIndex) <= 20) - .map(screenshot => ) - } - {/* 图片预览区域 */} - {selectedRecord.screenshots.map((screenshot, sIndex) => ( -
-
- {screenshot.monitorName} onImageLoad(e, screenshot.fileId)} - onError={() => onImageError(screenshot.fileId)} - /> - {loadingImageIds.has(screenshot.fileId) && ( -
- -
- )} -
- - {/* 图片说明 */} -
-
{screenshot.monitorName}
-
- {new Date(selectedRecord.timestamp).toLocaleString()} -
-
- - {/* 左侧点击区域 - 上一帧 */} -
{ e.preventDefault(); prevFrame(); }} - onTouchStart={(e) => e.preventDefault()} - className="absolute bottom-0 left-0 h-full w-1/3 text-white px-2 py-1 cursor-pointer" - /> - - {/* 右侧点击区域 - 下一帧 */} -
{ e.preventDefault(); nextFrame(); }} - onTouchStart={(e) => e.preventDefault()} - className="absolute bottom-0 right-0 h-full w-1/3 text-white px-2 py-1 cursor-pointer" - /> -
- ))} - - {/* 控制按钮区域 */} -
-
- - {/* 速度控制 */} -
- 播放速度 -
- setAutoPlaySpeed(Number(e.target.value))} - className="w-20 text-sm px-3 py-1.5 border border-gray-300 dark:border-gray-500 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white dark:bg-gray-700 text-gray-900 dark:text-white transition-colors" - min="0" - max="2000" - step="50" +
+ {selectedRecord && ( +
+ { + !(navigator as any).connection?.saveData && + records.map(record => record.screenshots).flat() + .filter((_, index) => Math.abs(index - currentFrameIndex) <= 20) + .map(screenshot => ) + } + {/* 图片预览区域 */} + {selectedRecord.screenshots.map((screenshot, sIndex) => ( +
+
+ {screenshot.monitorName} onImageLoad(e, screenshot.fileId)} + onError={() => onImageError(screenshot.fileId)} /> - 毫秒 + {loadingImageIds.has(screenshot.fileId) && ( +
+ +
+ )} +
+ + {/* 图片说明 */} +
+
{screenshot.monitorName}
+
+ {new Date(selectedRecord.timestamp).toLocaleString()} +
+
+ + {/* 左侧点击区域 - 上一帧 */} +
{ e.preventDefault(); prevFrame(); }} + onTouchStart={(e) => e.preventDefault()} + className="absolute bottom-0 left-0 h-full w-1/3 text-white px-2 py-1 cursor-pointer" + /> + + {/* 右侧点击区域 - 下一帧 */} +
{ e.preventDefault(); nextFrame(); }} + onTouchStart={(e) => e.preventDefault()} + className="absolute bottom-0 right-0 h-full w-1/3 text-white px-2 py-1 cursor-pointer" + /> +
+ ))} + + {/* 控制按钮区域 */} +
+
+ + {/* 速度控制 */} +
+ 播放速度 +
+ setAutoPlaySpeed(Number(e.target.value))} + className="w-20 text-sm px-3 py-1.5 border border-gray-300 dark:border-gray-500 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white dark:bg-gray-700 text-gray-900 dark:text-white transition-colors" + min="0" + max="2000" + step="50" + /> + 毫秒 +
+
+ + {/* 播放控制按钮 */} + + + {/* 星标按钮 */} + +
+ + {/* 快捷键提示 */} +
+
+ + 空格 + 播放/暂停 + + + ←/→ + 上一帧/下一帧 + + + S + 切换星标 +
- - {/* 播放控制按钮 */} - - - {/* 星标按钮 */} -
- {/* 快捷键提示 */} -
-
- - 空格 - 播放/暂停 - - - ←/→ - 上一帧/下一帧 - - - S - 切换星标 - -
-
-
- - {/* 窗口信息 */} -
-

活动窗口

-
-
- {selectedRecord.windows.map((window, index) => ( -
-
-
- {window.title} -
-
- {window.path} -
-
- 内存占用: {formatMemory(window.memory)} + {/* 窗口信息 */} +
+

活动窗口

+
+
+ {selectedRecord.windows.map((window, index) => ( +
+
+
+ {window.title} +
+
+ {window.path} +
+
+ 内存占用: {formatMemory(window.memory)} +
-
- ))} + ))} +
-
- )} + )} +
)}