feat(ext/popup): SecureNote view + form on shared helpers

This commit is contained in:
adlee-was-taken
2026-04-23 22:26:49 -04:00
parent 23d4f736e1
commit 99d689b9b0
4 changed files with 216 additions and 2 deletions

View File

@@ -4,16 +4,18 @@
import { navigate, getState } from '../popup';
import type { Item, ItemType } from '../../shared/types';
import * as login from './types/login';
import * as secureNote from './types/secure-note';
export function renderItemForm(app: HTMLElement, mode: 'add' | 'edit'): void {
login.teardown(); // detail-view's ticker/listener don't leak into form
secureNote.teardown();
const state = getState();
const existing = mode === 'edit' ? state.selectedItem : null;
const type: ItemType = existing?.type ?? state.newType ?? 'login';
switch (type) {
case 'login': return login.renderForm(app, mode, existing);
case 'secure_note':
case 'secure_note': return secureNote.renderForm(app, mode, existing);
case 'identity':
case 'card':
case 'key':