pl-fe: maybe fix useAcct

Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
nicole mikołajczyk
2026-01-16 00:54:09 +01:00
parent 9b3eb090a7
commit 6ff3cd1fd3

View File

@ -1,18 +1,27 @@
import { useMemo } from 'react';
import { displayFqn } from 'pl-fe/utils/state';
import { useAppSelector } from './use-app-selector';
import { useInstance } from './use-instance';
import { useOwnAccount } from './use-own-account';
import type { Account } from 'pl-api';
const useAcct = (account?: Pick<Account, 'fqn' | 'acct' | 'local'>): string | undefined => {
const useAcct = (account?: Pick<Account, 'fqn' | 'acct' | 'local' | 'url'>): string | undefined => {
const fqn = useAppSelector((state) => displayFqn(state));
const instance = useInstance();
if (!account) return;
if (!fqn) return account.acct;
if (account.local === false) return account.fqn;
return `${account.acct}@${instance.domain}`;
const localUrl = useOwnAccount().account?.url;
return useMemo(() => {
if (!account) return;
if (!fqn) return account.acct;
const localHost = localUrl ? new URL(localUrl).host : null;
const otherHost = new URL(account.url).host;
if (account.local === false || (localHost && localHost !== otherHost)) return account.fqn;
return `${account.acct}@${instance.domain}`;
}, [account?.acct, fqn, instance.domain, localUrl]);
};
export {