{% if data.active_tool_panels.tool_panel_legacy_slot %}
{% include data.active_tool_panels.tool_panel_legacy_slot %}
{% endif %}
{# Before main.js and deferred like it, so it is defined by the time init()
sees a pending mask job. Loaded here rather than in base.html because the
pending state belongs to a viewer looking at the project whose mask is
converting -- every other page would carry a listener with nothing to
listen for. #}
{# Here rather than base.html for the same reason: the channel list is the only
thing that opens it, and the channel list is the viewer's. Only has to exist
by the time the user clicks the sidebar's upload icon, so deferred is ample.
#}
{% else %}
Plexora
Take a Quick Look
Open an image locally no setup required.
Click here to open an image
Opens a file browser on this machine
{# Not hidden any more. It used to appear only once the native dialog
had failed, which made sense while every image was on this machine
-- but the Local/Remote switch mounts into `.quick-view-path-row`,
and a control nobody can see is a choice nobody is offered. The
dropzone above is still the fast path for the ordinary case. #}
{# Secondary: Load is the action this row is for, and two
accent-filled buttons side by side give it no primary. #}
Need segmentation, gating, or a feature table? Use the full import wizard instead.