import React from 'react';
import { PrimaryKey } from 'wdk-client/Utils/WdkModel';
import { BasketStatus, RequestUpdateBasket, ShowLoginWarning } from 'wdk-client/Views/ResultTableSummaryView/Types';
interface BasketIconButtonProps {
status: BasketStatus;
idsToToggle: PrimaryKey[];
recordClassName: string;
userIsGuest: boolean;
requestUpdateBasket: RequestUpdateBasket;
showLoginWarning: ShowLoginWarning;
tooltipContext: string;
}
export default function BasketIconButton({
tooltipContext,
status,
idsToToggle,
recordClassName,
userIsGuest,
requestUpdateBasket,
showLoginWarning,
}: BasketIconButtonProps) {
const iconWidth = '1em';
const icon = status === 'loading'
? (
) : (
);
return (
);
}
function makeTitle(status: BasketStatus, tooltipContext: string, userIsGuest: boolean) {
if (userIsGuest) return 'You must log in to use baskets';
switch(status) {
case 'loading': return 'Your basket is being updated';
case 'no': return `Click to add ${tooltipContext} to your basket`;
case 'yes': return `Click to remove ${tooltipContext} from your basket`;
}
}