mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 12:24:38 +03:00
Add Handy / Funscript support (#1377)
* Add funscript route to scenes Adds a /scene/:id/funscript route which serves a funscript file, if present. Current convention is that these are files stored with the same path, but with the extension ".funscript". * Look for funscript during scan This is stored in the Scene record and used to drive UI changes for funscript support. Currently, that's limited to a funscript link in the Scene's file info. * Add filtering and sorting for interactive * Add Handy connection key to interface config * Add Handy client and placeholder component. Uses defucilis/thehandy, but not thehandy-react as I had difficulty integrating the context with the existing components. Instead, the expensive calculation for the server time offset is put in localStorage for reuse. A debounce was added when scrubbing the video, as otherwise it spammed the Handy API with updates to the current offset.
This commit is contained in:
committed by
GitHub
parent
33999d3e93
commit
547f6d79ad
@@ -232,6 +232,19 @@ export const SceneFileInfoPanel: React.FC<ISceneFileInfoPanelProps> = (
|
||||
}
|
||||
}
|
||||
|
||||
function renderFunscript() {
|
||||
if (props.scene.interactive) {
|
||||
return (
|
||||
<div className="row">
|
||||
<span className="col-4">Funscript</span>
|
||||
<a href={props.scene.paths.funscript ?? ""} className="col-8">
|
||||
<TruncatedText text={props.scene.paths.funscript} />
|
||||
</a>{" "}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="container scene-file-info">
|
||||
{renderOSHash()}
|
||||
@@ -239,6 +252,7 @@ export const SceneFileInfoPanel: React.FC<ISceneFileInfoPanelProps> = (
|
||||
{renderPhash()}
|
||||
{renderPath()}
|
||||
{renderStream()}
|
||||
{renderFunscript()}
|
||||
{renderFileSize()}
|
||||
{renderDuration()}
|
||||
{renderDimensions()}
|
||||
|
||||
Reference in New Issue
Block a user