Compare commits

..

No commits in common. "c6bc1fdd52a207f8b4b35d10f2f0d73a4a195415" and "0c2fa2479c6478fbf7a223258b3921632c84b0c4" have entirely different histories.

3 changed files with 11 additions and 12 deletions

View File

@ -1,6 +1,6 @@
import { useCallback, useEffect, useRef, useState } from 'react';
import { ChevronLeft, ChevronRight, Pause, Play } from 'lucide-react';
import { listDirectory, stat, splitPath, getWebDAVBaseUrl, type EntryInfo } from '../webdav';
import { listDirectory, getWebDAVBaseUrl, type EntryInfo } from '../webdav';
import { IMAGE_EXTS } from './MediaEntry';
// Module-level cache: persists for the lifetime of the page session.
@ -60,8 +60,7 @@ export default function DirectorySlideshow({ path }: Props) {
// Fetch directory listing and preload all images eagerly.
useEffect(() => {
if (!path) { setImages([]); return; }
stat(path)
.then(info => listDirectory(info?.type === 'file' ? splitPath(path).parent : path))
listDirectory(path)
.then(entries => {
const imgs = entries.filter(e => {
if (e.type !== 'file') return false;

View File

@ -315,7 +315,7 @@ export default function HexEditor({ data, readOnly = false, onSave }: HexEditorP
</div>
)} */}
<div className="px-3 font-mono font-bold text-xs leading-5 whitespace-nowrap">
<div className="px-3 font-mono text-xs leading-5 whitespace-nowrap">
{Array.from({ length: lastRenderRow - firstRenderRow }, (_, i) => {
const row = firstRenderRow + i;
const base = row * bytesPerRow;
@ -323,7 +323,7 @@ export default function HexEditor({ data, readOnly = false, onSave }: HexEditorP
<div key={row} className="flex items-center">
{/* Address */}
<span className="text-amber-200 w-15 flex-shrink-0 select-none">
<span className="text-neutral-400 w-15 flex-shrink-0 select-none">
{base.toString(16).padStart(8, '0').toUpperCase()}
</span>
@ -340,8 +340,8 @@ export default function HexEditor({ data, readOnly = false, onSave }: HexEditorP
const isAllMatch = allMatchSet.has(idx) && !isCurMatch;
const color = isCurMatch ? 'bg-orange-500 text-white'
: isAllMatch ? 'bg-yellow-800 text-yellow-200'
: byte === 0 ? 'text-neutral-500'
: 'text-green-300';
: byte === 0 ? 'text-neutral-700'
: 'text-green-400';
const ring = isCursor && pane === 'hex' ? ' ring-1 ring-inset ring-blue-400' : '';
const gap = col === 8 ? ' ml-2' : '';
return (
@ -357,7 +357,7 @@ export default function HexEditor({ data, readOnly = false, onSave }: HexEditorP
</div>
{/* Separator */}
<span className="text-neutral-500 mr-2 select-none"></span>
<span className="text-neutral-700 mr-2 select-none"></span>
{/* ASCII pane */}
<div className="flex">
@ -372,8 +372,8 @@ export default function HexEditor({ data, readOnly = false, onSave }: HexEditorP
const isAllMatch = allMatchSet.has(idx) && !isCurMatch;
const color = isCurMatch ? 'bg-orange-500 text-white'
: isAllMatch ? 'bg-yellow-800 text-yellow-200'
: printable ? 'text-cyan-300'
: 'text-neutral-500';
: printable ? 'text-blue-300'
: 'text-neutral-700';
const ring = isCursor && pane === 'ascii' ? ' ring-1 ring-inset ring-blue-400' : '';
return (
<span

View File

@ -41,8 +41,8 @@ export default function StatusPage({ config, setConfig, onOpenFileManager }: Sta
};
const activeDevice = findActiveDevice();
const activeDir = activeDevice
? (activeDevice.base_url || activeDevice.url || null)
const activeDir = activeDevice
? (activeDevice.base_url || splitPath(activeDevice.url || '/').parent)
: null;
const mediaSetFiles: MediaSetEntry[] | null =