+
+ ${item.file.name}
+
${item.newName}
${statusBadge}
@@ -229,6 +232,15 @@ export class VirtualPreviewList extends LitElement {
min-width: 0;
}
+ .old-name {
+ font-size: 12px;
+ color: var(--cdr-text-secondary, #595959);
+ margin-bottom: 4px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
.new-name {
font-size: 14px;
color: var(--cdr-text, #262626);
diff --git a/tests/unit/virtual-preview-list.test.ts b/tests/unit/virtual-preview-list.test.ts
new file mode 100644
index 0000000..0d08077
--- /dev/null
+++ b/tests/unit/virtual-preview-list.test.ts
@@ -0,0 +1,32 @@
+import { describe, expect, it } from 'vitest';
+import { VirtualPreviewList } from '../../src/content/components/virtual-preview-list';
+
+describe('VirtualPreviewList pending preview mapping', () => {
+ it('renders original name and new name for a pending preview item', async () => {
+ const element = new VirtualPreviewList();
+ element.items = [
+ {
+ file: {
+ id: 'file-1',
+ name: 'old-episode.mkv',
+ ext: 'mkv',
+ size: 42,
+ mtime: Date.now(),
+ isDir: false,
+ },
+ newName: 'new-episode.mkv',
+ conflict: false,
+ done: false,
+ },
+ ];
+
+ document.body.appendChild(element);
+ await element.updateComplete;
+
+ const textContent = element.shadowRoot?.textContent ?? '';
+ expect(textContent).toContain('old-episode.mkv');
+ expect(textContent).toContain('new-episode.mkv');
+
+ element.remove();
+ });
+});