bigbuffet-rw/app/soapbox/hooks/useOwnAccount.ts

22 lines
544 B
TypeScript
Raw Normal View History

2022-11-26 08:38:16 -08:00
import { useCallback } from 'react';
import { useAppSelector } from 'soapbox/hooks';
import { makeGetAccount } from 'soapbox/selectors';
import type { Account } from 'soapbox/types/entities';
2022-11-26 08:38:16 -08:00
/** Get the logged-in account from the store, if any. */
export const useOwnAccount = (): Account | null => {
2022-11-26 08:38:16 -08:00
const getAccount = useCallback(makeGetAccount(), []);
return useAppSelector((state) => {
const { me } = state;
if (typeof me === 'string') {
return getAccount(state, me);
} else {
return null;
}
});
};