frontend: align types to backend, playout HLS, rm Jellyfin proxy (#12)
This commit is contained in:
@@ -128,7 +128,7 @@ const TOC = [
|
||||
{ id: "blocks", label: "Programming blocks" },
|
||||
{ id: "filters", label: "Filters reference" },
|
||||
{ id: "strategies", label: "Fill strategies" },
|
||||
{ id: "recycle-policy", label: "Recycle policy" },
|
||||
{ id: "rotation-policy", label: "Rotation policy" },
|
||||
{ id: "import-export", label: "Import & export" },
|
||||
{ id: "iptv", label: "IPTV export" },
|
||||
{ id: "access-control", label: "Access control" },
|
||||
@@ -356,6 +356,11 @@ npm run dev`}</Pre>
|
||||
"Falls back to NEXT_PUBLIC_API_URL",
|
||||
"Server-side API URL used by Next.js API routes. Set this if the frontend container reaches the backend via a private hostname.",
|
||||
],
|
||||
[
|
||||
<Code key="po">NEXT_PUBLIC_PLAYOUT_URL</Code>,
|
||||
<Code key="po2">http://localhost:9090</Code>,
|
||||
"Base URL of the Playout Service. The TV page connects directly to this for HLS streams.",
|
||||
],
|
||||
]}
|
||||
/>
|
||||
|
||||
@@ -760,10 +765,10 @@ Authorization: Bearer <token>
|
||||
</Section>
|
||||
|
||||
{/* ---------------------------------------------------------------- */}
|
||||
<Section id="recycle-policy">
|
||||
<H2>Recycle policy</H2>
|
||||
<Section id="rotation-policy">
|
||||
<H2>Rotation policy</H2>
|
||||
<P>
|
||||
The recycle policy controls how soon the same item can reappear
|
||||
The rotation policy controls how soon the same item can reappear
|
||||
across schedule generations, preventing a small library from cycling
|
||||
the same content every day.
|
||||
</P>
|
||||
@@ -807,7 +812,7 @@ Authorization: Bearer <token>
|
||||
<P>
|
||||
Click the download icon on any channel card in the Dashboard. A{" "}
|
||||
<Code>.json</Code> file is saved containing the channel name,
|
||||
timezone, all programming blocks, and the recycle policy.
|
||||
timezone, all programming blocks, and the rotation policy.
|
||||
</P>
|
||||
|
||||
<H3>Importing</H3>
|
||||
@@ -848,7 +853,7 @@ Authorization: Bearer <token>
|
||||
}
|
||||
}
|
||||
],
|
||||
"recycle_policy": {
|
||||
"rotation_policy": {
|
||||
"cooldown_days": 7,
|
||||
"cooldown_generations": null,
|
||||
"min_available_ratio": 0.15
|
||||
@@ -886,11 +891,11 @@ Output only valid JSON matching this structure:
|
||||
"max_duration_secs": number | null,
|
||||
"collections": []
|
||||
},
|
||||
"strategy": "random" | "sequential" | "best_fit"
|
||||
"strategy": "random" | "sequential" | "best_fit" | "alternating" | "weighted" | "marathon"
|
||||
}
|
||||
}
|
||||
],
|
||||
"recycle_policy": {
|
||||
"rotation_policy": {
|
||||
"cooldown_days": number | null,
|
||||
"cooldown_generations": number | null,
|
||||
"min_available_ratio": number
|
||||
@@ -963,34 +968,11 @@ Output only valid JSON matching this structure:
|
||||
"Anyone can watch. This is the default.",
|
||||
],
|
||||
[
|
||||
<Code key="pp">password_protected</Code>,
|
||||
"Viewers must enter a password before the stream plays.",
|
||||
],
|
||||
[
|
||||
<Code key="ar">account_required</Code>,
|
||||
"Viewers must be logged in to any K-TV account.",
|
||||
],
|
||||
[
|
||||
<Code key="oo">owner_only</Code>,
|
||||
"Only the channel owner can watch.",
|
||||
<Code key="priv">private</Code>,
|
||||
"Only authenticated users can watch.",
|
||||
],
|
||||
]}
|
||||
/>
|
||||
|
||||
<H3>Setting a password</H3>
|
||||
<P>
|
||||
When <Code>access_mode</Code> is{" "}
|
||||
<Code>password_protected</Code>, enter a value in the{" "}
|
||||
<strong className="text-zinc-300">Password</strong> field in the
|
||||
edit sheet. Leave the field blank to remove an existing password.
|
||||
</P>
|
||||
|
||||
<Warn>
|
||||
Channel passwords are not end-to-end encrypted. They prevent casual
|
||||
access — someone who can intercept network traffic or extract the
|
||||
JWT from an IPTV URL can still reach the stream. Do not use channel
|
||||
passwords as the sole protection for sensitive content.
|
||||
</Warn>
|
||||
</Section>
|
||||
|
||||
{/* ---------------------------------------------------------------- */}
|
||||
@@ -1210,7 +1192,7 @@ Output only valid JSON matching this structure:
|
||||
Clearing <Code>collections</Code> to search all libraries.
|
||||
</Li>
|
||||
<Li>
|
||||
Lowering <Code>min_available_ratio</Code> if the recycle cooldown
|
||||
Lowering <Code>min_available_ratio</Code> if the rotation cooldown
|
||||
is excluding too many items.
|
||||
</Li>
|
||||
</Ul>
|
||||
|
||||
Reference in New Issue
Block a user