mirror of
https://github.com/wanderer-industries/wanderer
synced 2025-11-18 15:16:16 +00:00
Some checks failed
Build / 🚀 Deploy to test env (fly.io) (push) Has been cancelled
Build / Manual Approval (push) Has been cancelled
Build / 🛠 Build (1.17, 18.x, 27) (push) Has been cancelled
Build / 🛠 Build Docker Images (linux/amd64) (push) Has been cancelled
Build / 🛠 Build Docker Images (linux/arm64) (push) Has been cancelled
Build / merge (push) Has been cancelled
Build / 🏷 Create Release (push) Has been cancelled
50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
// useSystemName.ts
|
|
import { useMemo } from 'react';
|
|
|
|
interface UseSystemNameParams {
|
|
isTempSystemNameEnabled: boolean;
|
|
temporary_name?: string | null;
|
|
solar_system_name: string;
|
|
isShowLinkedSigIdTempName: boolean;
|
|
linkedSigPrefix: string | null;
|
|
name?: string | null;
|
|
}
|
|
|
|
export function useSystemName({
|
|
isTempSystemNameEnabled,
|
|
temporary_name,
|
|
solar_system_name,
|
|
isShowLinkedSigIdTempName,
|
|
linkedSigPrefix,
|
|
name,
|
|
}: UseSystemNameParams) {
|
|
const computedTemporaryName = useMemo(() => {
|
|
if (!isTempSystemNameEnabled) {
|
|
return '';
|
|
}
|
|
if (isShowLinkedSigIdTempName && linkedSigPrefix) {
|
|
return temporary_name ? `${linkedSigPrefix}・${temporary_name}` : `${linkedSigPrefix}・${solar_system_name}`;
|
|
}
|
|
return temporary_name ?? '';
|
|
}, [isTempSystemNameEnabled, temporary_name, solar_system_name, isShowLinkedSigIdTempName, linkedSigPrefix]);
|
|
|
|
const systemName = useMemo(() => {
|
|
if (isTempSystemNameEnabled && computedTemporaryName) {
|
|
return computedTemporaryName;
|
|
}
|
|
return solar_system_name;
|
|
}, [isTempSystemNameEnabled, computedTemporaryName, solar_system_name]);
|
|
|
|
const customName = useMemo(() => {
|
|
if (isTempSystemNameEnabled && computedTemporaryName && name) {
|
|
return name;
|
|
}
|
|
if (solar_system_name !== name && name) {
|
|
return name;
|
|
}
|
|
return null;
|
|
}, [isTempSystemNameEnabled, computedTemporaryName, name, solar_system_name]);
|
|
|
|
return { systemName, computedTemporaryName, customName };
|
|
}
|