mirror of
https://github.com/algora-io/tv.git
synced 2024-11-16 00:58:59 +02:00
delete obsolete homepage
This commit is contained in:
parent
7f0b088328
commit
1f10f93a72
@ -1,98 +0,0 @@
|
||||
defmodule AlgoraWeb.HomeLive do
|
||||
use AlgoraWeb, :live_view
|
||||
require Logger
|
||||
|
||||
alias Algora.Library
|
||||
|
||||
def render(assigns) do
|
||||
~H"""
|
||||
<div class="-mt-16 px-4">
|
||||
<div :for={{shorts, videos} <- @sections}>
|
||||
<div class="pt-16">
|
||||
<h2 class="text-white text-xl font-semibold px-8 sr-only">
|
||||
Videos
|
||||
</h2>
|
||||
<div class="pt-8 gap-8 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3">
|
||||
<.video_entry :for={video <- videos} video={video} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pt-16">
|
||||
<h2 class="text-white text-xl font-bold flex items-center gap-1">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="h-8 w-8"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="1.5"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11" /></svg>Shorts
|
||||
</h2>
|
||||
<div class="pt-4 gap-8 grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6">
|
||||
<.short_entry :for={video <- shorts} video={video} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div :if={length(@leftover_videos) > 0} class="pt-16">
|
||||
<h2 class="text-white text-xl font-semibold px-8 sr-only">
|
||||
Videos
|
||||
</h2>
|
||||
<div class="pt-8 gap-8 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3">
|
||||
<.video_entry :for={video <- @leftover_videos} video={video} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div :if={length(@leftover_shorts) > 0} class="pt-16">
|
||||
<h2 class="text-white text-xl font-bold flex items-center gap-1">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="h-8 w-8"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="1.5"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11" /></svg>Shorts
|
||||
</h2>
|
||||
<div class="pt-4 gap-8 grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6">
|
||||
<.short_entry :for={video <- @leftover_shorts} video={video} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
|
||||
def mount(_map, _session, socket) do
|
||||
short_sections = Library.list_shorts(150) |> Enum.chunk_every(6)
|
||||
video_sections = Library.list_videos(150) |> Enum.chunk_every(6)
|
||||
|
||||
num_sections = max(min(length(short_sections), length(video_sections)) - 1, 0)
|
||||
|
||||
{shorts, leftover_shorts} = short_sections |> Enum.split(num_sections)
|
||||
{videos, leftover_videos} = video_sections |> Enum.split(num_sections)
|
||||
|
||||
sections = Enum.zip(shorts, videos)
|
||||
|
||||
{:ok,
|
||||
socket
|
||||
|> assign(sections: sections)
|
||||
|> assign(leftover_videos: Enum.concat(leftover_videos))
|
||||
|> assign(leftover_shorts: Enum.concat(leftover_shorts))}
|
||||
end
|
||||
|
||||
def handle_params(params, _url, socket) do
|
||||
{:noreply, socket |> apply_action(socket.assigns.live_action, params)}
|
||||
end
|
||||
|
||||
defp apply_action(socket, :show, _params) do
|
||||
socket |> assign(:page_title, nil)
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user