Make performer scrape button a dropdown (#1634)

This commit is contained in:
WithoutPants 2021-08-16 10:16:05 +10:00 committed by GitHub
parent 7cb3d05535
commit b6d15cc077
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 50 deletions

View file

@ -7,6 +7,7 @@
* Added not equals/greater than/less than modifiers for resolution criteria. ([#1568](https://github.com/stashapp/stash/pull/1568))
### 🎨 Improvements
* Made performer scrape menu scrollable. ([#1634](https://github.com/stashapp/stash/pull/1634))
* Improve Studio UI. ([#1629](https://github.com/stashapp/stash/pull/1629))
* Improve link styling and ensure links open in a new tab. ([#1622](https://github.com/stashapp/stash/pull/1622))
* Added zh-CN language option. ([#1620](https://github.com/stashapp/stash/pull/1620))

View file

@ -1,13 +1,12 @@
import React, { useEffect, useState } from "react";
import {
Button,
Popover,
OverlayTrigger,
Form,
Col,
InputGroup,
Row,
Badge,
Dropdown,
} from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
import Mousetrap from "mousetrap";
@ -604,58 +603,51 @@ export const PerformerEditPanel: React.FC<IPerformerDetails> = ({
const stashBoxes = stashConfig.data?.configuration.general.stashBoxes ?? [];
const popover = (
<Popover id="performer-scraper-popover">
<Popover.Content>
<>
{stashBoxes.map((s, index) => (
<div key={s.endpoint}>
<Button
className="minimal"
onClick={() => onScraperSelected({ ...s, index })}
>
{s.name ?? "Stash-Box"}
</Button>
</div>
))}
{queryableScrapers
? queryableScrapers.map((s) => (
<div key={s.name}>
<Button
key={s.name}
className="minimal"
onClick={() => onScraperSelected(s)}
>
{s.name}
</Button>
</div>
))
: ""}
<div>
<Button className="minimal" onClick={() => onReloadScrapers()}>
<span className="fa-icon">
<Icon icon="sync-alt" />
</span>
<span>
<FormattedMessage id="actions.reload_scrapers" />
</span>
</Button>
</div>
</>
</Popover.Content>
</Popover>
<Dropdown.Menu id="performer-scraper-popover">
{stashBoxes.map((s, index) => (
<Dropdown.Item
as={Button}
key={s.endpoint}
className="minimal"
onClick={() => onScraperSelected({ ...s, index })}
>
{s.name ?? "Stash-Box"}
</Dropdown.Item>
))}
{queryableScrapers
? queryableScrapers.map((s) => (
<Dropdown.Item
as={Button}
key={s.name}
className="minimal"
onClick={() => onScraperSelected(s)}
>
{s.name}
</Dropdown.Item>
))
: ""}
<Dropdown.Item
as={Button}
className="minimal"
onClick={() => onReloadScrapers()}
>
<span className="fa-icon">
<Icon icon="sync-alt" />
</span>
<span>
<FormattedMessage id="actions.reload_scrapers" />
</span>
</Dropdown.Item>
</Dropdown.Menu>
);
return (
<OverlayTrigger
trigger="click"
placement="top"
overlay={popover}
rootClose
>
<Button variant="secondary" className="mr-2">
<Dropdown drop="up" className="d-inline-block">
<Dropdown.Toggle variant="secondary" className="mr-2">
<FormattedMessage id="actions.scrape_with" />
</Button>
</OverlayTrigger>
</Dropdown.Toggle>
{popover}
</Dropdown>
);
}