Heatmap and speed sorting/filtering for interactive scenes [rewrite] (#2096)

* add InteractiveSpeed to scene model
* add InteractiveHeatmapSpeedGenerator
* add GenerateInteractiveHeatmapSpeedTask
* add InteractiveHeatmapSpeedTask to GenerateJob
* add InteractiveHeatmap on sceneRoutes
* delete heatmap when scene is destroyed
* render interactive heatmap in GridCard
* render InteractiveSpeed on SceneCard
* render InteractiveSpeed in SceneFileInfoPanel
* InteractiveSpeed filters
This commit is contained in:
agentfisk
2021-12-13 03:41:07 +01:00
committed by GitHub
parent d659411c61
commit e8447c520a
58 changed files with 3889 additions and 77 deletions

View File

@@ -110,6 +110,14 @@ export const SceneCard: React.FC<ISceneCardProps> = (
);
}
function maybeRenderInteractiveSpeedOverlay() {
return (
<div className="scene-interactive-speed-overlay">
{props.scene.interactive_speed ?? ""}
</div>
);
}
function maybeRenderSceneStudioOverlay() {
if (!props.scene.studio) return;
@@ -325,6 +333,11 @@ export const SceneCard: React.FC<ISceneCardProps> = (
}
linkClassName="scene-card-link"
thumbnailSectionClassName="video-section"
interactiveHeatmap={
props.scene.interactive_speed
? props.scene.paths.interactive_heatmap ?? undefined
: undefined
}
image={
<>
<ScenePreview
@@ -335,6 +348,7 @@ export const SceneCard: React.FC<ISceneCardProps> = (
/>
<RatingBanner rating={props.scene.rating} />
{maybeRenderSceneSpecsOverlay()}
{maybeRenderInteractiveSpeedOverlay()}
</>
}
overlays={maybeRenderSceneStudioOverlay()}