mirror of
https://github.com/ClaperCo/Claper.git
synced 2026-02-24 04:01:04 +01:00
Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -49,7 +49,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
<span class="text-sm font-medium text-gray-600">{gettext("Processing...")}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Status Badge -->
|
||||
<div class="absolute top-4 left-4 z-10">
|
||||
<%= if Event.started?(@event) && !Event.finished?(@event) do %>
|
||||
@@ -69,7 +69,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- LTI Badge -->
|
||||
<div :if={@event.lti_resource} class="absolute top-4 right-4 z-10">
|
||||
<span class="badge badge-neutral gap-1">
|
||||
@@ -88,7 +88,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
LTI
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Sliding Bottom Panel -->
|
||||
<div
|
||||
class="absolute bottom-0 left-0 right-0 bg-white transition-transform duration-300 ease-out z-20"
|
||||
@@ -105,7 +105,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
# {@event.code}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 3-dot Menu -->
|
||||
<div class="relative shrink-0">
|
||||
<button
|
||||
@@ -135,7 +135,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Action Buttons (revealed on hover) -->
|
||||
<div
|
||||
:if={@event.presentation_file.status == "done" && !Event.finished?(@event)}
|
||||
@@ -222,7 +222,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
/>
|
||||
<path d="M5.082 14.254a8.287 8.287 0 0 0-1.308 5.135 9.687 9.687 0 0 1-1.764-.44l-.115-.04a.563.563 0 0 1-.373-.487l-.01-.121a3.75 3.75 0 0 1 3.57-4.047ZM20.226 19.389a8.287 8.287 0 0 0-1.308-5.135 3.75 3.75 0 0 1 3.57 4.047l-.01.121a.563.563 0 0 1-.373.486l-.115.04c-.567.2-1.156.349-1.764.441Z" />
|
||||
</svg>
|
||||
<span class="font-medium">{gettext("Attendant Room")}</span>
|
||||
<span class="font-medium">{gettext("Attendees Room")}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -247,14 +247,14 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
{gettext("End Event")}
|
||||
</.link>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Error Status -->
|
||||
<div :if={@event.presentation_file.status == "fail"} class="px-2 pb-2">
|
||||
<span class="text-sm text-supporting-red-500">
|
||||
{gettext("Error when processing the file")}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Finished Event Actions -->
|
||||
<div :if={Event.finished?(@event)} class="px-2 pb-2">
|
||||
<a href={~p"/events/#{@event.uuid}/stats"} class="btn btn-primary w-full">
|
||||
@@ -297,7 +297,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
<img src="/images/logo.svg" class="h-6 animate-pulse" alt="Loading" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Event Info -->
|
||||
<div class="min-w-0">
|
||||
<div class="flex items-center gap-2">
|
||||
@@ -353,7 +353,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Actions -->
|
||||
<div class="flex items-center gap-2 ml-auto">
|
||||
<%= if @event.presentation_file.status == "done" && !Event.finished?(@event) do %>
|
||||
@@ -438,7 +438,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
/>
|
||||
<path d="M5.082 14.254a8.287 8.287 0 0 0-1.308 5.135 9.687 9.687 0 0 1-1.764-.44l-.115-.04a.563.563 0 0 1-.373-.487l-.01-.121a3.75 3.75 0 0 1 3.57-4.047ZM20.226 19.389a8.287 8.287 0 0 0-1.308-5.135 3.75 3.75 0 0 1 3.57 4.047l-.01.121a.563.563 0 0 1-.373.486l-.115.04c-.567.2-1.156.349-1.764.441Z" />
|
||||
</svg>
|
||||
<span class="font-medium">{gettext("Attendant Room")}</span>
|
||||
<span class="font-medium">{gettext("Attendees Room")}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -491,7 +491,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
{gettext("View report")}
|
||||
</a>
|
||||
<% end %>
|
||||
|
||||
|
||||
<!-- 3-dot Menu -->
|
||||
<div class="relative">
|
||||
<button
|
||||
@@ -550,7 +550,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
<img src="/images/logo.svg" class="h-8 animate-pulse" alt="Loading" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Event Info -->
|
||||
<div class="flex-1 min-w-0 py-1">
|
||||
<h3 class="font-semibold text-gray-800 text-lg leading-tight truncate">
|
||||
@@ -577,7 +577,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 3-dot Menu -->
|
||||
<div class="relative shrink-0">
|
||||
<button
|
||||
@@ -606,7 +606,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Bottom Row: Action Buttons -->
|
||||
<div class="flex gap-2">
|
||||
<%= if @event.presentation_file.status == "done" && !Event.finished?(@event) do %>
|
||||
@@ -691,7 +691,7 @@ defmodule ClaperWeb.EventLive.EventCardComponent do
|
||||
/>
|
||||
<path d="M5.082 14.254a8.287 8.287 0 0 0-1.308 5.135 9.687 9.687 0 0 1-1.764-.44l-.115-.04a.563.563 0 0 1-.373-.487l-.01-.121a3.75 3.75 0 0 1 3.57-4.047ZM20.226 19.389a8.287 8.287 0 0 0-1.308-5.135 3.75 3.75 0 0 1 3.57 4.047l-.01.121a.563.563 0 0 1-.373.486l-.115.04c-.567.2-1.156.349-1.764.441Z" />
|
||||
</svg>
|
||||
<span class="font-medium">{gettext("Attendant Room")}</span>
|
||||
<span class="font-medium">{gettext("Attendees Room")}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -39,19 +39,6 @@ defmodule ClaperWeb.EventLive.ManageAttendeesOptionsComponent do
|
||||
</svg>
|
||||
</:icon>
|
||||
</.toggle_row>
|
||||
<.toggle_row
|
||||
label={if @state.show_attendee_count, do: gettext("Hide attendee count"), else: gettext("Show attendee count")}
|
||||
checked={@state.show_attendee_count}
|
||||
key={:show_attendee_count}
|
||||
shortcut={if @create == nil, do: "R", else: nil}
|
||||
show_shortcut={@show_shortcut}
|
||||
>
|
||||
<:icon>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5">
|
||||
<path d="M7 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM14.5 9a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM1.615 16.428a1.224 1.224 0 0 1-.569-1.175 6.002 6.002 0 0 1 11.908 0c.058.467-.172.92-.57 1.174A9.953 9.953 0 0 1 7 18a9.953 9.953 0 0 1-5.385-1.572ZM14.5 16h-.106c.07-.297.088-.611.048-.933a7.47 7.47 0 0 0-1.588-3.755 4.502 4.502 0 0 1 5.874 2.636.818.818 0 0 1-.36.98A7.465 7.465 0 0 1 14.5 16Z" />
|
||||
</svg>
|
||||
</:icon>
|
||||
</.toggle_row>
|
||||
</div>
|
||||
</div>
|
||||
"""
|
||||
|
||||
@@ -37,7 +37,7 @@ defmodule ClaperWeb.EventLive.ManageAudienceResponsesComponent do
|
||||
phx-value-tab="posts"
|
||||
class={"px-3 py-1.5 rounded-full text-sm font-medium transition-colors #{if @list_tab == :posts, do: "bg-secondary-500 text-white", else: "text-gray-600 hover:bg-gray-100"}"}
|
||||
>
|
||||
{gettext("Chat")} ({@post_count})
|
||||
{gettext("Messages")} ({@post_count})
|
||||
</button>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -56,7 +56,7 @@ defmodule ClaperWeb.EventLive.ManagePresentationOptionsComponent do
|
||||
</:icon>
|
||||
</.toggle_row>
|
||||
<.toggle_row
|
||||
label={if @state.show_only_pinned, do: gettext("Show all messages"), else: gettext("Show pinned messages")}
|
||||
label={if @state.show_only_pinned, do: gettext("Show all messages"), else: gettext("Show only pinned messages")}
|
||||
checked={@state.show_only_pinned}
|
||||
key={:show_only_pinned}
|
||||
shortcut={if @create == nil, do: "E", else: nil}
|
||||
@@ -105,6 +105,19 @@ defmodule ClaperWeb.EventLive.ManagePresentationOptionsComponent do
|
||||
</svg>
|
||||
</:icon>
|
||||
</.toggle_row>
|
||||
<.toggle_row
|
||||
label={if @state.show_attendee_count, do: gettext("Hide attendee count"), else: gettext("Show attendee count")}
|
||||
checked={@state.show_attendee_count}
|
||||
key={:show_attendee_count}
|
||||
shortcut={if @create == nil, do: "R", else: nil}
|
||||
show_shortcut={@show_shortcut}
|
||||
>
|
||||
<:icon>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5">
|
||||
<path d="M7 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM14.5 9a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM1.615 16.428a1.224 1.224 0 0 1-.569-1.175 6.002 6.002 0 0 1 11.908 0c.058.467-.172.92-.57 1.174A9.953 9.953 0 0 1 7 18a9.953 9.953 0 0 1-5.385-1.572ZM14.5 16h-.106c.07-.297.088-.611.048-.933a7.47 7.47 0 0 0-1.588-3.755 4.502 4.502 0 0 1 5.874 2.636.818.818 0 0 1-.36.98A7.465 7.465 0 0 1 14.5 16Z" />
|
||||
</svg>
|
||||
</:icon>
|
||||
</.toggle_row>
|
||||
</div>
|
||||
</div>
|
||||
"""
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
<div class="flex items-center justify-center gap-2">
|
||||
<span class="font-bold text-secondary-500">{gettext("NEWS:")}</span>
|
||||
<span class="text-secondary-500">
|
||||
{gettext(
|
||||
"Exciting News: Seamlessly join live events and elevate your audience engagement today!"
|
||||
)}
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user