mirror of
https://github.com/stashapp/stash.git
synced 2025-12-27 18:56:06 +01:00
Make performer scrape button a dropdown (#1634)
This commit is contained in:
parent
7cb3d05535
commit
b6d15cc077
2 changed files with 43 additions and 50 deletions
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue