Polish UI icons, labels and interaction logic

# Conflicts:
#	lib/claper_web/live/event_live/form_component.ex
#	lib/claper_web/live/event_live/poll_component.ex
#	lib/claper_web/live/event_live/quiz_component.ex
#	priv/gettext/de/LC_MESSAGES/default.po
#	priv/gettext/es/LC_MESSAGES/default.po
#	priv/gettext/fr/LC_MESSAGES/default.po
#	priv/gettext/hu/LC_MESSAGES/default.po
#	priv/gettext/it/LC_MESSAGES/default.po
#	priv/gettext/lv/LC_MESSAGES/default.po
#	priv/gettext/nl/LC_MESSAGES/default.po
#	priv/gettext/sv/LC_MESSAGES/default.po
This commit is contained in:
Alex Lion
2026-07-22 22:59:14 +02:00
parent 95366b5705
commit 39f421045c
24 changed files with 1951 additions and 1783 deletions

View File

@@ -120,25 +120,30 @@ defmodule ClaperWeb.EventLive.FormComponent do
type="submit"
class="btn-gradient w-full rounded-lg px-3 py-2 text-sm font-bold transition-colors"
>
{gettext("Submit")}
{gettext("Send")}
</button>
<% else %>
<button
type="button"
disabled
data-submitted
class="flex w-full cursor-not-allowed items-center justify-center gap-2 rounded-lg bg-gray-700 px-3 py-2 text-sm font-bold text-gray-400"
class="inline-flex w-full cursor-not-allowed items-center justify-center gap-2 rounded-lg bg-gray-700 px-3 py-2 text-sm font-bold text-gray-400"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-4 w-4"
class="h-5 w-5"
viewBox="0 0 24 24"
fill="currentColor"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" />
<path d="M5 12l5 5l10 -10" />
</svg>
{gettext("Submitted")}
{gettext("Sent")}
</button>
<% end %>
</div>

View File

@@ -1338,9 +1338,11 @@ defmodule ClaperWeb.EventLive.Manage do
_ -> :date
end
Claper.Posts.list_questions(event_id, [:event, :reactions], sort_atom)
|> Enum.filter(&(ClaperWeb.Helpers.body_without_links(&1.body) =~ "?"))
|> Enum.reverse()
questions =
Claper.Posts.list_questions(event_id, [:event, :reactions], sort_atom)
|> Enum.filter(&(ClaperWeb.Helpers.body_without_links(&1.body) =~ "?"))
if sort_atom == :date, do: Enum.reverse(questions), else: questions
end
defp list_form_submits(_socket, presentation_file_id) do

View File

@@ -13,16 +13,28 @@ defmodule ClaperWeb.EventLive.ManageAttendeesOptionsComponent do
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 20 20"
viewBox="0 0 24 24"
fill="none"
class="shrink-0"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-mood-cog shrink-0 text-[#140553]"
>
<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"
fill="#140553"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M21 12a9 9 0 1 0 -8.983 9" />
<path d="M16.001 18a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M18.001 14.5v1.5" />
<path d="M18.001 20v1.5" />
<path d="M21.032 16.25l-1.299 .75" />
<path d="M16.27 19l-1.3 .75" />
<path d="M14.97 16.25l1.3 .75" />
<path d="M19.733 19l1.3 .75" />
<path d="M9 10h.01" />
<path d="M15 10h.01" />
<path d="M9.5 15c.658 .64 1.56 1 2.5 1" />
</svg>
<span class="font-bold text-sm text-[#140553]">{gettext("Attendees Settings")}</span>
<span class="font-bold text-sm text-[#140553]">{gettext("Attendee Settings")}</span>
</div>
<div class="space-y-2 px-1">

View File

@@ -16,16 +16,18 @@ defmodule ClaperWeb.EventLive.ManageAudienceResponsesComponent do
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 20 20"
viewBox="0 0 24 24"
fill="none"
class="shrink-0"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-message shrink-0 text-[#140553]"
>
<path
fill-rule="evenodd"
d="M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902.848.137 1.705.248 2.57.331v3.443a.75.75 0 0 0 1.28.53l3.58-3.579a.78.78 0 0 1 .527-.224 41.202 41.202 0 0 0 5.183-.5c1.437-.232 2.43-1.49 2.43-2.903V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2Zm0 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM8 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"
clip-rule="evenodd"
fill="#140553"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M8 9h8" />
<path d="M8 13h6" />
<path d="M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12" />
</svg>
<span class="font-bold text-sm text-[#140553]">{gettext("Audience Responses")}</span>
</div>
@@ -233,35 +235,75 @@ defmodule ClaperWeb.EventLive.ManageAudienceResponsesComponent do
data-forms-nb={@form_submit_count}
phx-hook="ScrollIntoDiv"
>
<div :for={{id, submission} <- @streams.form_submits} id={id}>
<div class="bg-gray-50 rounded-lg p-4 border border-gray-200">
<div class="flex items-center justify-end mb-2">
<button
phx-click="delete-form-submit"
phx-value-id={submission.id}
data-confirm={gettext("This cannot be undone, confirm ?")}
class="text-xs text-red-500 hover:text-red-700"
<div
:for={{id, submission} <- @streams.form_submits}
id={id}
class="group flex items-end gap-2"
>
<div class="flex shrink-0 flex-col items-center gap-1">
<span class="text-xs leading-4 text-gray-400">
{Calendar.strftime(submission.inserted_at, "%H:%M")}
</span>
<div class="avatar avatar-placeholder">
<div
class="w-8 rounded-full text-white"
style={"background-color: #{avatar_color(submission)}"}
>
{gettext("Delete")}
</button>
<span class="text-sm">{avatar_emoji(submission)}</span>
</div>
</div>
<div class="flex items-start gap-x-3">
<div class="avatar avatar-placeholder shrink-0">
<div
class="text-white w-8 rounded-full"
style={"background-color: #{avatar_color(submission)}"}
>
<span class="text-sm">{avatar_emoji(submission)}</span>
</div>
<div class="flex min-w-0 flex-1 flex-col">
<div class="mb-0.5 ml-3 flex min-h-5 items-center gap-2">
<span class="min-w-0 truncate text-sm font-bold text-secondary-500">
{submission.form.title}
</span>
<div class="ml-auto flex shrink-0 items-center divide-x divide-gray-200 rounded-lg border border-gray-200 opacity-0 transition-opacity group-hover:opacity-100">
<div class="tooltip tooltip-bottom" data-tip={gettext("Delete")}>
<button
type="button"
phx-click="delete-form-submit"
phx-value-id={submission.id}
data-confirm={gettext("This cannot be undone, confirm ?")}
aria-label={gettext("Delete")}
class="flex h-6 w-8 items-center justify-center text-error"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-trash size-4"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M4 7l16 0" />
<path d="M10 11l0 6" />
<path d="M14 11l0 6" />
<path d="M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12" />
<path d="M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3" />
</svg>
</button>
</div>
</div>
<div class="flex-1 text-sm text-gray-600">
<%= for res <- submission.response do %>
<p>
<span class="font-medium">{elem(res, 0)}:</span>
{elem(res, 1)}
</p>
<% end %>
</div>
</div>
<div class="min-w-0 rounded-xl border border-base-200 bg-base-100 px-3 py-2 shadow-sm">
<dl class="divide-y divide-base-200">
<div :for={response <- submission.response} class="py-1.5 first:pt-0 last:pb-0">
<dt class="text-[11px] font-semibold leading-4 text-base-content/60">
{elem(response, 0)}
</dt>
<dd class="break-words text-xs leading-4 text-base-content">
{elem(response, 1)}
</dd>
</div>
</dl>
</div>
</div>
</div>

View File

@@ -48,22 +48,19 @@ defmodule ClaperWeb.EventLive.ManageInteractionListComponent do
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 20 20"
viewBox="0 0 24 24"
fill="none"
class="shrink-0"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-north-star shrink-0 text-[#140553]"
>
<path
d="M6.111 11.89A5.5 5.5 0 1 1 15.501 8 .75.75 0 0 0 17 8a7 7 0 1 0-11.95 4.95.75.75 0 0 0 1.06-1.06Z"
fill="#140553"
/>
<path
d="M8.232 6.232a2.5 2.5 0 0 0 0 3.536.75.75 0 1 1-1.06 1.06A4 4 0 1 1 14 8a.75.75 0 0 1-1.5 0 2.5 2.5 0 0 0-4.268-1.768Z"
fill="#140553"
/>
<path
d="M10.766 7.51a.75.75 0 0 0-1.37.365l-.492 6.861a.75.75 0 0 0 1.204.65l1.043-.799.985 3.678a.75.75 0 0 0 1.45-.388l-.978-3.646 1.292.204a.75.75 0 0 0 .74-1.16l-3.874-5.764Z"
fill="#140553"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M3 12h18" />
<path d="M12 21v-18" />
<path d="M7.5 7.5l9 9" />
<path d="M7.5 16.5l9 -9" />
</svg>
<span class="font-bold text-sm text-[#140553]">{gettext("Interactions")}</span>
</div>

View File

@@ -13,24 +13,27 @@ defmodule ClaperWeb.EventLive.ManageInteractionOptionsComponent do
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 20 20"
viewBox="0 0 24 24"
fill="none"
class="shrink-0"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-pointer-cog shrink-0 text-[#140553]"
>
<path
d="M6.111 11.89A5.5 5.5 0 1 1 15.501 8 .75.75 0 0 0 17 8a7 7 0 1 0-11.95 4.95.75.75 0 0 0 1.06-1.06Z"
fill="#140553"
/>
<path
d="M8.232 6.232a2.5 2.5 0 0 0 0 3.536.75.75 0 1 1-1.06 1.06A4 4 0 1 1 14 8a.75.75 0 0 1-1.5 0 2.5 2.5 0 0 0-4.268-1.768Z"
fill="#140553"
/>
<path
d="M10.766 7.51a.75.75 0 0 0-1.37.365l-.492 6.861a.75.75 0 0 0 1.204.65l1.043-.799.985 3.678a.75.75 0 0 0 1.45-.388l-.978-3.646 1.292.204a.75.75 0 0 0 .74-1.16l-3.874-5.764Z"
fill="#140553"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M15.774 13.218l-.996 -.996l3.113 -2.09a1.2 1.2 0 0 0 -.309 -2.228l-13.582 -3.904l3.904 13.563a1.2 1.2 0 0 0 2.228 .308l2.09 -3.093l.343 .343" />
<path d="M17.001 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M19.001 15.5v1.5" />
<path d="M19.001 21v1.5" />
<path d="M22.032 17.25l-1.299 .75" />
<path d="M17.27 20l-1.3 .75" />
<path d="M15.97 17.25l1.3 .75" />
<path d="M20.733 20l1.3 .75" />
</svg>
<span class="font-bold text-sm text-[#140553]">{gettext("Current interaction options")}</span>
<span class="font-bold text-sm text-[#140553]">
{gettext("Current Interaction Settings")}
</span>
</div>
<div class="space-y-2 px-1">

View File

@@ -13,18 +13,26 @@ defmodule ClaperWeb.EventLive.ManagePresentationOptionsComponent do
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 20 20"
viewBox="0 0 24 24"
fill="none"
class="shrink-0"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-eye-cog shrink-0 text-[#140553]"
>
<path
fill-rule="evenodd"
d="M2 4.25A2.25 2.25 0 0 1 4.25 2h11.5A2.25 2.25 0 0 1 18 4.25v8.5A2.25 2.25 0 0 1 15.75 15h-3.105a3.501 3.501 0 0 0 1.1 1.677A.75.75 0 0 1 13.26 18H6.74a.75.75 0 0 1-.484-1.323A3.501 3.501 0 0 0 7.355 15H4.25A2.25 2.25 0 0 1 2 12.75v-8.5Zm1.5 0a.75.75 0 0 1 .75-.75h11.5a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-.75.75H4.25a.75.75 0 0 1-.75-.75v-7.5Z"
clip-rule="evenodd"
fill="#140553"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M12 18c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6" />
<path d="M17.001 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
<path d="M19.001 15.5v1.5" />
<path d="M19.001 21v1.5" />
<path d="M22.032 17.25l-1.299 .75" />
<path d="M17.27 20l-1.3 .75" />
<path d="M15.97 17.25l1.3 .75" />
<path d="M20.733 20l1.3 .75" />
</svg>
<span class="font-bold text-sm text-[#140553]">{gettext("Presentation Options")}</span>
<span class="font-bold text-sm text-[#140553]">{gettext("Presentation Settings")}</span>
</div>
<div class="space-y-2 px-1">

View File

@@ -18,20 +18,15 @@ defmodule ClaperWeb.EventLive.ManageSlidePreviewComponent do
height="24"
viewBox="0 0 24 24"
fill="none"
class="shrink-0"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-eye shrink-0 text-[#140553]"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M12.0001 5.25C7.69269 5.25 4.03598 8.04402 2.74785 11.9196L2.74777 11.9198C2.72991 11.9735 2.72991 12.0315 2.74777 12.0852C4.03886 15.9589 7.69466 18.75 12.0001 18.75C16.3076 18.75 19.9642 15.956 21.2514 12.0806L21.2523 12.0778C21.2702 12.0246 21.2698 11.969 21.2527 11.9183L21.2516 11.9151C19.9606 8.04115 16.3056 5.25 12.0001 5.25ZM1.32449 11.4462C2.81043 6.97587 7.02766 3.75 12.0001 3.75C16.9706 3.75 21.1857 6.97285 22.6747 11.4409C22.7963 11.8027 22.7957 12.1934 22.6744 12.5548C21.1892 17.0247 16.9721 20.25 12.0001 20.25C7.02973 20.25 2.81362 17.0272 1.3246 12.5591L1.32449 12.5588C1.20436 12.1977 1.20434 11.8075 1.32442 11.4464"
fill="#140553"
/>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M12 9.75C11.4033 9.75 10.831 9.98705 10.409 10.409C9.98705 10.831 9.75 11.4033 9.75 12C9.75 12.5967 9.98705 13.169 10.409 13.591C10.831 14.0129 11.4033 14.25 12 14.25C12.5967 14.25 13.169 14.0129 13.591 13.591C14.0129 13.169 14.25 12.5967 14.25 12C14.25 11.4033 14.0129 10.831 13.591 10.409C13.169 9.98705 12.5967 9.75 12 9.75ZM9.34835 9.34835C10.0516 8.64509 11.0054 8.25 12 8.25C12.9946 8.25 13.9484 8.64509 14.6517 9.34835C15.3549 10.0516 15.75 11.0054 15.75 12C15.75 12.9946 15.3549 13.9484 14.6517 14.6517C13.9484 15.3549 12.9946 15.75 12 15.75C11.0054 15.75 10.0516 15.3549 9.34835 14.6517C8.64509 13.9484 8.25 12.9946 8.25 12C8.25 11.0054 8.64509 10.0516 9.34835 9.34835Z"
fill="#140553"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
<path d="M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6" />
</svg>
<span class="font-bold text-sm text-[#140553]">{gettext("Preview")}</span>
</div>

View File

@@ -18,24 +18,20 @@ defmodule ClaperWeb.EventLive.ManageSlideSidebarComponent do
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 20 18"
viewBox="0 0 24 24"
fill="none"
class="shrink-0"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-presentation shrink-0 text-[#140553]"
>
<path
d="M0.849609 0.850098H18.8496M1.84961 0.850098V10.8501C1.84961 11.3805 2.06032 11.8892 2.4354 12.2643C2.81047 12.6394 3.31918 12.8501 3.84961 12.8501H15.8496C16.38 12.8501 16.8887 12.6394 17.2638 12.2643C17.6389 11.8892 17.8496 11.3805 17.8496 10.8501V0.850098M9.84961 12.8501V16.8501M6.84961 16.8501H12.8496"
stroke="#140553"
stroke-width="1.7"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path
d="M5.84961 8.8501L8.84961 5.8501L10.8496 7.8501L13.8496 4.8501"
stroke="#140553"
stroke-width="1.7"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M3 4l18 0" />
<path d="M4 4v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-10" />
<path d="M12 16l0 4" />
<path d="M9 20l6 0" />
<path d="M8 12l3 -3l2 2l3 -3" />
</svg>
<span class="font-bold text-sm text-[#140553]">{gettext("Content")}</span>

View File

@@ -14,7 +14,13 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do
|> assign(:avatar_emoji, avatar_emoji(assigns.post))
~H"""
<div id={"#{@id}"} class="flex items-end gap-2 group">
<div
id={"#{@id}"}
class="flex items-end gap-2 group"
x-data="{ actionsOpen: false }"
@click="actionsOpen = true"
@click.outside="actionsOpen = false"
>
<!-- Left: time + avatar -->
<div class="flex flex-col items-center gap-2 shrink-0">
<span class="text-xs text-gray-400 leading-4">
@@ -38,7 +44,8 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do
<!-- Actions (visible on hover) -->
<div
:if={!@readonly}
class="ml-auto flex items-center divide-x divide-gray-200 border border-gray-200 rounded-lg opacity-0 group-hover:opacity-100 transition-opacity shrink-0"
class="relative z-20 ml-auto flex items-center divide-x divide-gray-200 border border-gray-200 rounded-lg group-hover:opacity-100 transition-opacity shrink-0"
x-bind:class="actionsOpen ? 'opacity-100' : 'opacity-0'"
>
<div
class="tooltip tooltip-bottom"
@@ -50,38 +57,23 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do
phx-value-id={@post.uuid}
phx-value-event_id={@event.uuid}
>
<%= if @post.pinned do %>
<svg
xmlns="http://www.w3.org/2000/svg"
width="13"
height="13"
viewBox="0 0 13 13"
fill="none"
>
<path
d="M0.5 12.5006L3.58667 9.41327M3.59 9.40994L1.73667 7.5566C1.10067 6.92127 1.74067 5.55927 2.61 5.5046C3.39533 5.4546 5.21333 5.73927 5.818 5.1346L7.478 3.4746C7.88933 3.0626 7.628 2.14127 7.60133 1.63327C7.56267 0.955937 8.64 0.11927 9.21133 0.690603L12.3093 3.78927C12.8827 4.36127 12.0427 5.43527 11.3673 5.39927C10.8593 5.3726 9.93733 5.11127 9.52533 5.5226L7.86533 7.1826C7.26133 7.78727 7.54533 9.6046 7.496 10.3899C7.44133 11.2599 6.07933 11.8999 5.44267 11.2633L3.59 9.40994Z"
fill="#140553"
stroke="#140553"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
<% else %>
<svg
xmlns="http://www.w3.org/2000/svg"
width="13"
height="13"
viewBox="0 0 13 13"
fill="none"
>
<path
d="M0.5 12.5006L3.58667 9.41327M3.59 9.40994L1.73667 7.5566C1.10067 6.92127 1.74067 5.55927 2.61 5.5046C3.39533 5.4546 5.21333 5.73927 5.818 5.1346L7.478 3.4746C7.88933 3.0626 7.628 2.14127 7.60133 1.63327C7.56267 0.955937 8.64 0.11927 9.21133 0.690603L12.3093 3.78927C12.8827 4.36127 12.0427 5.43527 11.3673 5.39927C10.8593 5.3726 9.93733 5.11127 9.52533 5.5226L7.86533 7.1826C7.26133 7.78727 7.54533 9.6046 7.496 10.3899C7.44133 11.2599 6.07933 11.8999 5.44267 11.2633L3.59 9.40994Z"
stroke="#140553"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
<% end %>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-pinned size-4 text-secondary-500"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M9 4v6l-2 4v2h10v-2l-2 -4v-6" />
<path d="M12 16l0 5" />
<path d="M8 4l8 0" />
</svg>
</button>
</div>
<%= if @post.attendee_identifier do %>
@@ -98,15 +90,19 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="14"
height="14"
viewBox="0 0 14 14"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-ban size-4 text-error"
>
<path
d="M6.611 0C5.30347 0 4.0253 0.387729 2.93813 1.11415C1.85095 1.84058 1.00361 2.87308 0.503235 4.08108C0.00286441 5.28908 -0.128055 6.61833 0.127031 7.90074C0.382118 9.18315 1.01175 10.3611 1.93632 11.2857C2.86088 12.2102 4.03885 12.8399 5.32126 13.095C6.60367 13.3501 7.93292 13.2191 9.14092 12.7188C10.3489 12.2184 11.3814 11.371 12.1078 10.2839C12.8343 9.1967 13.222 7.91853 13.222 6.611C13.222 4.85765 12.5255 3.17612 11.2857 1.93632C10.0459 0.696514 8.36435 0 6.611 0ZM1.10184 6.611C1.10073 5.34054 1.54228 4.10938 2.35058 3.12921L10.0928 10.8714C9.28666 11.5326 8.30923 11.9512 7.27439 12.0783C6.23955 12.2054 5.18989 12.0358 4.2477 11.5894C3.30551 11.1429 2.50957 10.4379 1.95261 9.55652C1.39566 8.67513 1.10061 7.65362 1.10184 6.611ZM10.8714 10.0928L3.12921 2.35058C4.18518 1.48642 5.52459 1.04549 6.88739 1.11339C8.25019 1.18129 9.53914 1.75318 10.504 2.71802C11.4688 3.68286 12.0407 4.97181 12.1086 6.33461C12.1765 7.69741 11.7356 9.03682 10.8714 10.0928Z"
fill="#E14640"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" />
<path d="M5.7 5.7l12.6 12.6" />
</svg>
</button>
</div>
@@ -124,15 +120,19 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="14"
height="14"
viewBox="0 0 14 14"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-ban size-4 text-error"
>
<path
d="M6.611 0C5.30347 0 4.0253 0.387729 2.93813 1.11415C1.85095 1.84058 1.00361 2.87308 0.503235 4.08108C0.00286441 5.28908 -0.128055 6.61833 0.127031 7.90074C0.382118 9.18315 1.01175 10.3611 1.93632 11.2857C2.86088 12.2102 4.03885 12.8399 5.32126 13.095C6.60367 13.3501 7.93292 13.2191 9.14092 12.7188C10.3489 12.2184 11.3814 11.371 12.1078 10.2839C12.8343 9.1967 13.222 7.91853 13.222 6.611C13.222 4.85765 12.5255 3.17612 11.2857 1.93632C10.0459 0.696514 8.36435 0 6.611 0ZM1.10184 6.611C1.10073 5.34054 1.54228 4.10938 2.35058 3.12921L10.0928 10.8714C9.28666 11.5326 8.30923 11.9512 7.27439 12.0783C6.23955 12.2054 5.18989 12.0358 4.2477 11.5894C3.30551 11.1429 2.50957 10.4379 1.95261 9.55652C1.39566 8.67513 1.10061 7.65362 1.10184 6.611ZM10.8714 10.0928L3.12921 2.35058C4.18518 1.48642 5.52459 1.04549 6.88739 1.11339C8.25019 1.18129 9.53914 1.75318 10.504 2.71802C11.4688 3.68286 12.0407 4.97181 12.1086 6.33461C12.1765 7.69741 11.7356 9.03682 10.8714 10.0928Z"
fill="#E14640"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" />
<path d="M5.7 5.7l12.6 12.6" />
</svg>
</button>
</div>
@@ -146,15 +146,22 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 16 16"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon icon-tabler icons-tabler-outline icon-tabler-trash size-4 text-error"
>
<path
d="M6.66683 3.33333H9.3335C9.3335 2.97971 9.19302 2.64057 8.94297 2.39052C8.69292 2.14048 8.35379 2 8.00016 2C7.64654 2 7.3074 2.14048 7.05735 2.39052C6.80731 2.64057 6.66683 2.97971 6.66683 3.33333ZM5.66683 3.33333C5.66683 3.02692 5.72718 2.7235 5.84444 2.44041C5.9617 2.15731 6.13358 1.90009 6.35025 1.68342C6.56692 1.46675 6.82414 1.29488 7.10723 1.17761C7.39033 1.06035 7.69375 1 8.00016 1C8.30658 1 8.61 1.06035 8.89309 1.17761C9.17618 1.29488 9.43341 1.46675 9.65008 1.68342C9.86675 1.90009 10.0386 2.15731 10.1559 2.44041C10.2731 2.7235 10.3335 3.02692 10.3335 3.33333H14.1668C14.2994 3.33333 14.4266 3.38601 14.5204 3.47978C14.6142 3.57355 14.6668 3.70073 14.6668 3.83333C14.6668 3.96594 14.6142 4.09312 14.5204 4.18689C14.4266 4.28066 14.2994 4.33333 14.1668 4.33333H13.2868L12.5068 12.4073C12.447 13.026 12.1589 13.6002 11.6986 14.0179C11.2384 14.4356 10.639 14.6669 10.0175 14.6667H5.98283C5.36141 14.6667 4.76223 14.4354 4.30213 14.0177C3.84203 13.6 3.55399 13.0259 3.49416 12.4073L2.7135 4.33333H1.8335C1.70089 4.33333 1.57371 4.28066 1.47994 4.18689C1.38617 4.09312 1.3335 3.96594 1.3335 3.83333C1.3335 3.70073 1.38617 3.57355 1.47994 3.47978C1.57371 3.38601 1.70089 3.33333 1.8335 3.33333H5.66683ZM7.00016 6.5C7.00016 6.36739 6.94748 6.24022 6.85372 6.14645C6.75995 6.05268 6.63277 6 6.50016 6C6.36755 6 6.24038 6.05268 6.14661 6.14645C6.05284 6.24022 6.00016 6.36739 6.00016 6.5V11.5C6.00016 11.6326 6.05284 11.7598 6.14661 11.8536C6.24038 11.9473 6.36755 12 6.50016 12C6.63277 12 6.75995 11.9473 6.85372 11.8536C6.94748 11.7598 7.00016 11.6326 7.00016 11.5V6.5ZM9.50016 6C9.63277 6 9.75995 6.05268 9.85372 6.14645C9.94748 6.24022 10.0002 6.36739 10.0002 6.5V11.5C10.0002 11.6326 9.94748 11.7598 9.85372 11.8536C9.75995 11.9473 9.63277 12 9.50016 12C9.36755 12 9.24038 11.9473 9.14661 11.8536C9.05284 11.7598 9.00016 11.6326 9.00016 11.5V6.5C9.00016 6.36739 9.05284 6.24022 9.14661 6.14645C9.24038 6.05268 9.36755 6 9.50016 6ZM4.4895 12.3113C4.52545 12.6824 4.69833 13.0268 4.97441 13.2774C5.25049 13.528 5.60999 13.6667 5.98283 13.6667H10.0175C10.3903 13.6667 10.7498 13.528 11.0259 13.2774C11.302 13.0268 11.4749 12.6824 11.5108 12.3113L12.2828 4.33333H3.7175L4.4895 12.3113Z"
fill="#7F1D1D"
/>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M4 7l16 0" />
<path d="M10 11l0 6" />
<path d="M14 11l0 6" />
<path d="M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12" />
<path d="M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3" />
</svg>
</button>
</div>
@@ -177,7 +184,7 @@ defmodule ClaperWeb.EventLive.ManageablePostComponent do
true ->
"background: #fff"
end %>
<div class="flex items-end">
<div class="flex items-end drop-shadow-sm">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"

View File

@@ -171,18 +171,23 @@ defmodule ClaperWeb.EventLive.PollComponent do
type="button"
disabled
data-submitted
class="mt-4 flex w-full cursor-not-allowed items-center justify-center gap-2 rounded-lg bg-gray-700 px-3 py-2 text-sm font-bold text-gray-400"
class="mt-4 inline-flex w-full cursor-not-allowed items-center justify-center gap-2 rounded-lg bg-gray-700 px-3 py-2 text-sm font-bold text-gray-400"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-4 w-4"
class="h-5 w-5"
viewBox="0 0 24 24"
fill="currentColor"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" />
<path d="M5 12l5 5l10 -10" />
</svg>
{gettext("Submitted")}
{gettext("Voted")}
</button>
<% else %>
<%= if (length @selected_poll_opt) == 0 do %>

View File

@@ -50,8 +50,18 @@ defmodule ClaperWeb.EventLive.PostComponent do
</span>
<span
:if={pinned?(@post)}
class="inline-flex items-center rounded-full bg-primary-100 px-2 py-1 text-[10px] font-bold uppercase text-primary-800"
class="inline-flex items-center gap-1 rounded-full bg-supporting-yellow-400 px-2 py-1 text-[10px] font-bold uppercase text-supporting-yellow-900"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-3 w-3"
viewBox="0 0 24 24"
fill="currentColor"
aria-hidden="true"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M16 3a1 1 0 0 1 .117 1.993l-.117 .007v4.764l1.894 3.789a1 1 0 0 1 .1 .331l.006 .116v2a1 1 0 0 1 -.883 .993l-.117 .007h-4v4a1 1 0 0 1 -1.993 .117l-.007 -.117v-4h-4a1 1 0 0 1 -.993 -.883l-.007 -.117v-2a1 1 0 0 1 .06 -.34l.046 -.107l1.894 -3.791v-4.762a1 1 0 0 1 -.117 -1.993l.117 -.007h8z" />
</svg>
{gettext("Pinned")}
</span>
</header>

View File

@@ -183,7 +183,7 @@ defmodule ClaperWeb.EventLive.QuizComponent do
<% else %>
<p class="text-sm text-gray-400">{gettext("Waiting for results...")}</p>
<svg
class="mt-4 h-24 w-24 text-white"
class="mt-4 h-24 w-24 text-white/50"
viewBox="0 0 360 360"
fill="currentColor"
xmlns="http://www.w3.org/2000/svg"