Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x | import { pick } from 'lodash-es';
import { memo } from 'react';
import { useUserInformations } from '@amalia/tenants/users/state';
import { type KeysOfUserWithStringValues } from '@amalia/tenants/users/types';
import { UserPrettyFormat, type UserPrettyFormatProps } from '../pretty-format/UserPrettyFormat';
export type UserFetchContainerProps<TProperty extends KeysOfUserWithStringValues> = Pick<
UserPrettyFormatProps,
'isComputing' | 'variant'
> & {
readonly property: TProperty;
/** except 'null' string value */
readonly value: string;
};
export const UserFetchContainerBase = function UserFetchContainer<TProperty extends KeysOfUserWithStringValues>({
property,
value,
variant,
}: UserFetchContainerProps<TProperty>) {
const { data: userComputed, isLoading } = useUserInformations(property, value);
return (
<UserPrettyFormat
isLoading={isLoading}
subLabel={value}
variant={variant}
{...pick(userComputed, ['firstName', 'lastName', 'pictureURL'])}
/>
);
};
export const UserFetchContainer = memo(UserFetchContainerBase) as typeof UserFetchContainerBase;
|