feat: optimize path trimming and clean up unused imports in VaultPage component

This commit is contained in:
shuaiplus
2026-03-16 00:50:59 +08:00
parent 2f448964f2
commit 2ebd0b60f7
2 changed files with 6 additions and 13 deletions
+5 -2
View File
@@ -46,7 +46,10 @@ function encodePathSegments(path: string): string {
}
function trimSlashes(value: string): string {
return String(value || '').replace(/^\/+|\/+$/g, '');
let next = String(value || '');
while (next.startsWith('/')) next = next.slice(1);
while (next.endsWith('/')) next = next.slice(0, -1);
return next;
}
function buildJoinedPath(...segments: string[]): string {
@@ -138,7 +141,7 @@ function buildCanonicalQueryString(url: URL): string {
return aKey.localeCompare(bKey);
});
return params
.map(([key, value]) => `${encodeURIComponent(key).replace(/%20/g, '%20')}=${encodeURIComponent(value).replace(/%20/g, '%20')}`)
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
.join('&');
}
+1 -11
View File
@@ -5,34 +5,24 @@ import VaultEditor from '@/components/vault/VaultEditor';
import VaultListPanel from '@/components/vault/VaultListPanel';
import VaultSidebar from '@/components/vault/VaultSidebar';
import {
CREATE_TYPE_OPTIONS,
MOBILE_LAYOUT_QUERY,
TOTP_PERIOD_SECONDS,
TOTP_RING_CIRCUMFERENCE,
VAULT_LIST_OVERSCAN,
VAULT_LIST_ROW_HEIGHT,
VAULT_SORT_STORAGE_KEY,
cipherTypeKey,
cipherTypeLabel,
copyToClipboard,
createEmptyDraft,
creationTimeValue,
draftFromCipher,
firstCipherUri,
firstPasskeyCreationTime,
formatAttachmentSize,
formatHistoryTime,
formatTotp,
maskSecret,
openUri,
parseFieldType,
sortTimeValue,
type SidebarFilter,
type VaultSortMode,
} from '@/components/vault/vault-page-helpers';
import { calcTotpNow } from '@/lib/crypto';
import { computeSshFingerprint, generateDefaultSshKeyMaterial } from '@/lib/ssh';
import { ChevronLeft, X } from 'lucide-preact';
import { ChevronLeft } from 'lucide-preact';
import type { Cipher, CustomFieldType, Folder, VaultDraft, VaultDraftField } from '@/lib/types';
import { t } from '@/lib/i18n';