// Copyright (C) The Arvados Authors. All rights reserved.
//
// SPDX-License-Identifier: AGPL-3.0

import * as React from "react";
import { ListItemIcon, ListItemText, ListItem } from "@material-ui/core";
import { AddFavoriteIcon, RemoveFavoriteIcon } from "~/components/icon/icon";
import { connect } from "react-redux";
import { RootState } from "~/store/store";

const mapStateToProps = (state: RootState, props: { onClick: () => {} }) => ({
    isFavorite: state.contextMenu.resource !== undefined && state.favorites[state.contextMenu.resource.uuid] === true,
    onClick: props.onClick
});

export const ToggleFavoriteAction = connect(mapStateToProps)((props: { isFavorite: boolean, onClick: () => void }) =>
    <ListItem
        button
        onClick={props.onClick}>
        <ListItemIcon>
            {props.isFavorite
                ? <RemoveFavoriteIcon />
                : <AddFavoriteIcon />}
        </ListItemIcon>
        <ListItemText style={{ textDecoration: 'none' }}>
            {props.isFavorite
                ? <>Remove from favorites</>
                : <>Add to favorites</>}
        </ListItemText>
    </ListItem >);