diff --git a/src/features/accounts/components/account-dialog.tsx b/src/features/accounts/components/account-dialog.tsx
index 1e302d5..d5337a1 100644
--- a/src/features/accounts/components/account-dialog.tsx
+++ b/src/features/accounts/components/account-dialog.tsx
@@ -23,7 +23,7 @@ import {
} from "@/shared/components/ui/dialog";
import { useControlledState } from "@/shared/hooks/use-controlled-state";
import { useFormState } from "@/shared/hooks/use-form-state";
-import { deriveNameFromLogo, normalizeLogo } from "@/shared/lib/logo";
+import { getLogoDisplayName, normalizeLogo } from "@/shared/lib/logo";
import {
formatInitialBalanceInput,
normalizeDecimalInput,
@@ -66,7 +66,7 @@ const buildInitialValues = ({
}): AccountFormValues => {
const fallbackLogo = logoOptions[0] ?? "";
const selectedLogo = normalizeLogo(account?.logo) || fallbackLogo;
- const derivedName = deriveNameFromLogo(selectedLogo);
+ const derivedName = getLogoDisplayName(selectedLogo);
return {
name: account?.name ?? derivedName,
diff --git a/src/features/cards/components/card-dialog.tsx b/src/features/cards/components/card-dialog.tsx
index 60f4588..f0ba3a8 100644
--- a/src/features/cards/components/card-dialog.tsx
+++ b/src/features/cards/components/card-dialog.tsx
@@ -24,7 +24,7 @@ import {
DEFAULT_CARD_BRANDS,
DEFAULT_CARD_STATUS,
} from "@/shared/lib/cards/constants";
-import { deriveNameFromLogo, normalizeLogo } from "@/shared/lib/logo";
+import { getLogoDisplayName, normalizeLogo } from "@/shared/lib/logo";
import {
formatLimitInput,
normalizeDecimalInput,
@@ -59,7 +59,7 @@ const buildInitialValues = ({
}): CardFormValues => {
const fallbackLogo = logoOptions[0] ?? "";
const selectedLogo = normalizeLogo(card?.logo) || fallbackLogo;
- const derivedName = deriveNameFromLogo(selectedLogo);
+ const derivedName = getLogoDisplayName(selectedLogo);
return {
name: card?.name ?? derivedName,
diff --git a/src/shared/components/logo-picker/logo-picker.tsx b/src/shared/components/logo-picker/logo-picker.tsx
index a31b7ee..a0d207c 100644
--- a/src/shared/components/logo-picker/logo-picker.tsx
+++ b/src/shared/components/logo-picker/logo-picker.tsx
@@ -10,7 +10,11 @@ import {
DialogTitle,
} from "@/shared/components/ui/dialog";
import { Input } from "@/shared/components/ui/input";
-import { deriveNameFromLogo, resolveLogoSrc } from "@/shared/lib/logo";
+import {
+ getLogoDisplayName,
+ normalizeForSearch,
+ resolveLogoSrc,
+} from "@/shared/lib/logo";
import { cn } from "@/shared/utils/ui";
const DEFAULT_BASE_PATH = "/logos";
@@ -35,7 +39,7 @@ export function LogoPickerTrigger({
className,
}: LogoPickerTriggerProps) {
const hasLogo = Boolean(selectedLogo);
- const selectedLogoLabel = deriveNameFromLogo(selectedLogo);
+ const selectedLogoLabel = getLogoDisplayName(selectedLogo);
const selectedLogoPath =
hasLogo && selectedLogo ? resolveLogoSrc(selectedLogo, { basePath }) : null;
@@ -102,8 +106,8 @@ export function LogoPickerDialog({
const filteredLogos = logos.filter((logo) => {
if (!search.trim()) return true;
- const logoLabel = deriveNameFromLogo(logo).toLowerCase();
- return logoLabel.includes(search.toLowerCase().trim());
+ const logoLabel = getLogoDisplayName(logo);
+ return normalizeForSearch(logoLabel).includes(normalizeForSearch(search));
});
const handleOpenChange = (isOpen: boolean) => {
@@ -145,7 +149,7 @@ export function LogoPickerDialog({
{filteredLogos.map((logo) => {
const isActive = value === logo;
- const logoLabel = deriveNameFromLogo(logo);
+ const logoLabel = getLogoDisplayName(logo);
return (