import { Alert, Button, FileInput, Menu, MenuItem, Navbar, NavbarDivider, Popover, } from "@blueprintjs/core"; import _ from "lodash"; import React, { FunctionComponent, useState } from "react"; import { Link } from "react-router-dom"; import * as GQL from "../../core/generated-graphql"; import { NavigationUtils } from "../../utils/navigation"; interface IProps { performer?: Partial; studio?: Partial; isNew: boolean; isEditing: boolean; onToggleEdit: () => void; onSave: () => void; onDelete: () => void; onAutoTag?: () => void; onImageChange: (event: React.FormEvent) => void; // TODO: only for performers. make generic scrapers?: GQL.ListScrapersListScrapers[]; onDisplayScraperDialog?: (scraper: GQL.ListScrapersListScrapers) => void; } export const DetailsEditNavbar: FunctionComponent = (props: IProps) => { const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false); function renderEditButton() { if (props.isNew) { return; } return ( ) } } function renderScenesButton() { if (props.isEditing) { return; } let linkSrc: string = "#"; if (!!props.performer) { linkSrc = NavigationUtils.makePerformerScenesUrl(props.performer); } else if (!!props.studio) { linkSrc = NavigationUtils.makeStudioScenesUrl(props.studio); } return ( Scenes ); } function renderDeleteAlert() { var name; if (props.performer) { name = props.performer.name; } if (props.studio) { name = props.studio.name; } return ( setIsDeleteAlertOpen(false)} onConfirm={() => props.onDelete()} >

Are you sure you want to delete {name}?

); } return ( <> {renderDeleteAlert()} {renderEditButton()} {props.isEditing && !props.isNew ? : undefined} {renderScraperMenu()} {renderImageInput()} {renderSaveButton()} {renderAutoTagButton()} {renderScenesButton()} {renderDeleteButton()} ); };