Skip to content

Commit fc667bb

Browse files
authored
Hideable presenter attendee count (#183)
1 parent 51c8496 commit fc667bb

File tree

14 files changed

+292
-119
lines changed

14 files changed

+292
-119
lines changed

lib/claper/presentations/presentation_state.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ defmodule Claper.Presentations.PresentationState do
1313
message_reaction_enabled: boolean() | nil,
1414
banned: [String.t()] | nil,
1515
show_only_pinned: boolean() | nil,
16+
show_attendee_count: boolean() | nil,
1617
presentation_file_id: integer() | nil,
1718
inserted_at: NaiveDateTime.t(),
1819
updated_at: NaiveDateTime.t()
@@ -28,6 +29,7 @@ defmodule Claper.Presentations.PresentationState do
2829
field :message_reaction_enabled, :boolean, default: true
2930
field :banned, {:array, :string}, default: []
3031
field :show_only_pinned, :boolean, default: false
32+
field :show_attendee_count, :boolean, default: true
3133

3234
belongs_to :presentation_file, Claper.Presentations.PresentationFile
3335

@@ -47,6 +49,7 @@ defmodule Claper.Presentations.PresentationState do
4749
:chat_enabled,
4850
:anonymous_chat_enabled,
4951
:show_only_pinned,
52+
:show_attendee_count,
5053
:message_reaction_enabled
5154
])
5255
|> validate_required([])

lib/claper_web/live/event_live/manage.ex

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ defmodule ClaperWeb.EventLive.Manage do
55
alias Claper.Polls
66
alias Claper.Forms
77
alias Claper.Embeds
8-
# Add this line
98
alias Claper.Quizzes
109

1110
@impl true
@@ -586,6 +585,23 @@ defmodule ClaperWeb.EventLive.Manage do
586585
{:noreply, socket |> assign(:state, new_state)}
587586
end
588587

588+
@impl true
589+
def handle_event(
590+
"checked",
591+
%{"key" => "show_attendee_count", "value" => value},
592+
%{assigns: %{event: _event, state: state}} = socket
593+
) do
594+
{:ok, new_state} =
595+
Claper.Presentations.update_presentation_state(
596+
state,
597+
%{
598+
:show_attendee_count => value
599+
}
600+
)
601+
602+
{:noreply, socket |> assign(:state, new_state)}
603+
end
604+
589605
@impl true
590606
def handle_event(
591607
"checked",

lib/claper_web/live/event_live/manager_settings_component.ex

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,61 @@ defmodule ClaperWeb.EventLive.ManagerSettingsComponent do
370370
<div :if={!@show_shortcut}></div>
371371
</ClaperWeb.Component.Input.check_button>
372372
</div>
373+
<div>
374+
<ClaperWeb.Component.Input.check_button
375+
key={:show_attendee_count}
376+
checked={@state.show_attendee_count}
377+
shortcut={if @create == nil, do: "R", else: nil}
378+
>
379+
<svg
380+
:if={!@state.show_attendee_count}
381+
xmlns="http://www.w3.org/2000/svg"
382+
viewBox="0 0 24 24"
383+
fill="none"
384+
stroke="currentColor"
385+
stroke-width="2"
386+
stroke-linecap="round"
387+
stroke-linejoin="round"
388+
class="w-5 h-5"
389+
>
390+
<path
391+
fill="currentColor"
392+
d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4"
393+
/>
394+
</svg>
395+
<svg
396+
:if={@state.show_attendee_count}
397+
xmlns="http://www.w3.org/2000/svg"
398+
viewBox="0 0 24 24"
399+
fill="none"
400+
stroke="currentColor"
401+
stroke-width="2"
402+
stroke-linecap="round"
403+
stroke-linejoin="round"
404+
class="w-5 h-5"
405+
>
406+
<path
407+
fill="currentColor"
408+
d="M12 4a4 4 0 0 1 4 4c0 1.95-1.4 3.58-3.25 3.93L8.07 7.25A4.004 4.004 0 0 1 12 4m.28 10l6 6L20 21.72L18.73 23l-3-3H4v-2c0-1.84 2.5-3.39 5.87-3.86L2.78 7.05l1.27-1.27zM20 18v1.18l-4.86-4.86C18 14.93 20 16.35 20 18"
409+
/>
410+
</svg>
411+
<div>
412+
<span :if={!@state.show_attendee_count}>
413+
{gettext("Show attendee count")}
414+
</span>
415+
<span :if={@state.show_attendee_count}>
416+
{gettext("Hide attendee count")}
417+
</span>
418+
</div>
419+
<code
420+
:if={@show_shortcut}
421+
class="px-2 py-1.5 text-xs font-semibold text-gray-800 bg-gray-100 border border-gray-200 rounded-lg"
422+
>
423+
r
424+
</code>
425+
<div :if={!@show_shortcut}></div>
426+
</ClaperWeb.Component.Input.check_button>
427+
</div>
373428
</div>
374429
375430
<div class="grid grid-cols-1 space-y-1.5">

lib/claper_web/live/event_live/presenter.html.heex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@
236236
</div>
237237
<!-- ONLINE BADGE -->
238238
<div
239-
:if={!@iframe}
239+
:if={!@iframe && @state.show_attendee_count}
240240
class="absolute z-20 bottom-5 right-5 px-4 pt-3 pb-1 rounded-md bg-black shadow-md text-white flex-1"
241241
>
242242
<div id="reacts" phx-hook="GlobalReacts" data-class-name="h-24" phx-update="ignore"></div>

priv/gettext/de/LC_MESSAGES/default.po

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ msgstr ""
1515
msgid "Settings"
1616
msgstr "Einstellungen"
1717

18-
#: lib/claper_web/live/event_live/manage.ex:825
18+
#: lib/claper_web/live/event_live/manage.ex:841
1919
#: lib/claper_web/live/form_live/form_component.html.heex:32
2020
#: lib/claper_web/live/user_settings_live/show.html.heex:34
2121
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -685,7 +685,7 @@ msgstr "Abgeschickte Formulare"
685685
msgid "Form submissions from attendees will appear here."
686686
msgstr "Formulareinsendungen der Teilnehmer werden hier angezeigt."
687687

688-
#: lib/claper_web/live/event_live/manage.ex:824
688+
#: lib/claper_web/live/event_live/manage.ex:840
689689
#, elixir-autogen, elixir-format
690690
msgid "Name"
691691
msgstr "Name"
@@ -756,7 +756,7 @@ msgstr "Mehrere Antworten"
756756
msgid "PDF, PPT, PPTX up to %{size} MB"
757757
msgstr "PDF, PPT, PPTX bis zu %{size} MB"
758758

759-
#: lib/claper_web/live/event_live/manager_settings_component.ex:427
759+
#: lib/claper_web/live/event_live/manager_settings_component.ex:482
760760
#, elixir-autogen, elixir-format
761761
msgid "Enable messages"
762762
msgstr "Nachrichten aktivieren"
@@ -1194,7 +1194,7 @@ msgstr "Wann beginnt Ihre Veranstaltung?"
11941194
msgid "Create your next presentation with"
11951195
msgstr "Erstellen Sie Ihre nächste Präsentation mit"
11961196

1197-
#: lib/claper_web/live/event_live/manage.ex:27
1197+
#: lib/claper_web/live/event_live/manage.ex:26
11981198
#: lib/claper_web/live/event_live/presenter.ex:24
11991199
#: lib/claper_web/live/event_live/show.ex:25
12001200
#, elixir-autogen, elixir-format
@@ -1267,7 +1267,7 @@ msgstr "Mein Konto"
12671267
msgid "Your personal informations to access your account"
12681268
msgstr "Ihre persnlichen Informationen zum Zugreifen auf Ihr Konto"
12691269

1270-
#: lib/claper_web/live/event_live/manager_settings_component.ex:534
1270+
#: lib/claper_web/live/event_live/manager_settings_component.ex:589
12711271
#, elixir-autogen, elixir-format, fuzzy
12721272
msgid "Enable reactions"
12731273
msgstr "Reaktionen aktivieren"
@@ -1343,7 +1343,7 @@ msgstr "Deaktivieren"
13431343
msgid "Enable"
13441344
msgstr "Aktivieren"
13451345

1346-
#: lib/claper_web/live/event_live/manager_settings_component.ex:444
1346+
#: lib/claper_web/live/event_live/manager_settings_component.ex:499
13471347
#, elixir-autogen, elixir-format, fuzzy
13481348
msgid "Enable messages to change this option"
13491349
msgstr "Aktivieren Sie Nachrichten, um diese Option zu ändern"
@@ -1543,12 +1543,12 @@ msgstr "Beenden"
15431543
msgid "More options"
15441544
msgstr "Weitere Optionen"
15451545

1546-
#: lib/claper_web/live/event_live/manage.ex:805
1546+
#: lib/claper_web/live/event_live/manage.ex:821
15471547
#, elixir-autogen, elixir-format
15481548
msgid "No"
15491549
msgstr "Nein"
15501550

1551-
#: lib/claper_web/live/event_live/manage.ex:805
1551+
#: lib/claper_web/live/event_live/manage.ex:821
15521552
#, elixir-autogen, elixir-format
15531553
msgid "Yes"
15541554
msgstr "Ja"
@@ -1613,7 +1613,7 @@ msgstr "Fügen Sie ein Quiz hinzu, um Wissen zu testen."
16131613
msgid "Add answer"
16141614
msgstr "Antwort hinzufügen"
16151615

1616-
#: lib/claper_web/live/event_live/manager_settings_component.ex:483
1616+
#: lib/claper_web/live/event_live/manager_settings_component.ex:538
16171617
#, elixir-autogen, elixir-format, fuzzy
16181618
msgid "Allow anonymous messages"
16191619
msgstr "Anonyme Nachrichten erlauben"
@@ -1623,7 +1623,7 @@ msgstr "Anonyme Nachrichten erlauben"
16231623
msgid "Answer %{index}"
16241624
msgstr "Antwort %{index}"
16251625

1626-
#: lib/claper_web/live/event_live/manager_settings_component.ex:391
1626+
#: lib/claper_web/live/event_live/manager_settings_component.ex:446
16271627
#, elixir-autogen, elixir-format, fuzzy
16281628
msgid "Attendees"
16291629
msgstr "Teilnehmer"
@@ -1639,17 +1639,17 @@ msgstr "Durchschnittliche Punktzahl"
16391639
msgid "Current quiz"
16401640
msgstr "Aktuelles Quiz"
16411641

1642-
#: lib/claper_web/live/event_live/manager_settings_component.ex:486
1642+
#: lib/claper_web/live/event_live/manager_settings_component.ex:541
16431643
#, elixir-autogen, elixir-format, fuzzy
16441644
msgid "Deny anonymous messages"
16451645
msgstr "Anonyme Nachrichten verweigern"
16461646

1647-
#: lib/claper_web/live/event_live/manager_settings_component.ex:428
1647+
#: lib/claper_web/live/event_live/manager_settings_component.ex:483
16481648
#, elixir-autogen, elixir-format, fuzzy
16491649
msgid "Disable messages"
16501650
msgstr "Nachrichten deaktivieren"
16511651

1652-
#: lib/claper_web/live/event_live/manager_settings_component.ex:537
1652+
#: lib/claper_web/live/event_live/manager_settings_component.ex:592
16531653
#, elixir-autogen, elixir-format, fuzzy
16541654
msgid "Disable reactions"
16551655
msgstr "Reaktionen deaktivieren"
@@ -1901,3 +1901,13 @@ msgstr "Wenn Sie kein Konto bei uns erstellt haben, ignorieren Sie dies bitte."
19011901
#, elixir-autogen, elixir-format, fuzzy
19021902
msgid "You can confirm your email change by visiting the URL below"
19031903
msgstr "Sie können Ihre E-Mail-Adresse ändern, indem Sie die folgende URL aufrufen"
1904+
1905+
#: lib/claper_web/live/event_live/manager_settings_component.ex:416
1906+
#, elixir-autogen, elixir-format
1907+
msgid "Hide attendee count"
1908+
msgstr "Teilnehmerzahl ausblenden"
1909+
1910+
#: lib/claper_web/live/event_live/manager_settings_component.ex:413
1911+
#, elixir-autogen, elixir-format, fuzzy
1912+
msgid "Show attendee count"
1913+
msgstr "Teilnehmerzahl anzeigen"

priv/gettext/default.pot

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ msgstr ""
1717
msgid "Settings"
1818
msgstr ""
1919

20-
#: lib/claper_web/live/event_live/manage.ex:825
20+
#: lib/claper_web/live/event_live/manage.ex:841
2121
#: lib/claper_web/live/form_live/form_component.html.heex:32
2222
#: lib/claper_web/live/user_settings_live/show.html.heex:34
2323
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -687,7 +687,7 @@ msgstr ""
687687
msgid "Form submissions from attendees will appear here."
688688
msgstr ""
689689

690-
#: lib/claper_web/live/event_live/manage.ex:824
690+
#: lib/claper_web/live/event_live/manage.ex:840
691691
#, elixir-autogen, elixir-format
692692
msgid "Name"
693693
msgstr ""
@@ -758,7 +758,7 @@ msgstr ""
758758
msgid "PDF, PPT, PPTX up to %{size} MB"
759759
msgstr ""
760760

761-
#: lib/claper_web/live/event_live/manager_settings_component.ex:427
761+
#: lib/claper_web/live/event_live/manager_settings_component.ex:482
762762
#, elixir-autogen, elixir-format
763763
msgid "Enable messages"
764764
msgstr ""
@@ -1196,7 +1196,7 @@ msgstr ""
11961196
msgid "Create your next presentation with"
11971197
msgstr ""
11981198

1199-
#: lib/claper_web/live/event_live/manage.ex:27
1199+
#: lib/claper_web/live/event_live/manage.ex:26
12001200
#: lib/claper_web/live/event_live/presenter.ex:24
12011201
#: lib/claper_web/live/event_live/show.ex:25
12021202
#, elixir-autogen, elixir-format
@@ -1269,7 +1269,7 @@ msgstr ""
12691269
msgid "Your personal informations to access your account"
12701270
msgstr ""
12711271

1272-
#: lib/claper_web/live/event_live/manager_settings_component.ex:534
1272+
#: lib/claper_web/live/event_live/manager_settings_component.ex:589
12731273
#, elixir-autogen, elixir-format
12741274
msgid "Enable reactions"
12751275
msgstr ""
@@ -1345,7 +1345,7 @@ msgstr ""
13451345
msgid "Enable"
13461346
msgstr ""
13471347

1348-
#: lib/claper_web/live/event_live/manager_settings_component.ex:444
1348+
#: lib/claper_web/live/event_live/manager_settings_component.ex:499
13491349
#, elixir-autogen, elixir-format
13501350
msgid "Enable messages to change this option"
13511351
msgstr ""
@@ -1545,12 +1545,12 @@ msgstr ""
15451545
msgid "More options"
15461546
msgstr ""
15471547

1548-
#: lib/claper_web/live/event_live/manage.ex:805
1548+
#: lib/claper_web/live/event_live/manage.ex:821
15491549
#, elixir-autogen, elixir-format
15501550
msgid "No"
15511551
msgstr ""
15521552

1553-
#: lib/claper_web/live/event_live/manage.ex:805
1553+
#: lib/claper_web/live/event_live/manage.ex:821
15541554
#, elixir-autogen, elixir-format
15551555
msgid "Yes"
15561556
msgstr ""
@@ -1615,7 +1615,7 @@ msgstr ""
16151615
msgid "Add answer"
16161616
msgstr ""
16171617

1618-
#: lib/claper_web/live/event_live/manager_settings_component.ex:483
1618+
#: lib/claper_web/live/event_live/manager_settings_component.ex:538
16191619
#, elixir-autogen, elixir-format
16201620
msgid "Allow anonymous messages"
16211621
msgstr ""
@@ -1625,7 +1625,7 @@ msgstr ""
16251625
msgid "Answer %{index}"
16261626
msgstr ""
16271627

1628-
#: lib/claper_web/live/event_live/manager_settings_component.ex:391
1628+
#: lib/claper_web/live/event_live/manager_settings_component.ex:446
16291629
#, elixir-autogen, elixir-format
16301630
msgid "Attendees"
16311631
msgstr ""
@@ -1641,17 +1641,17 @@ msgstr ""
16411641
msgid "Current quiz"
16421642
msgstr ""
16431643

1644-
#: lib/claper_web/live/event_live/manager_settings_component.ex:486
1644+
#: lib/claper_web/live/event_live/manager_settings_component.ex:541
16451645
#, elixir-autogen, elixir-format
16461646
msgid "Deny anonymous messages"
16471647
msgstr ""
16481648

1649-
#: lib/claper_web/live/event_live/manager_settings_component.ex:428
1649+
#: lib/claper_web/live/event_live/manager_settings_component.ex:483
16501650
#, elixir-autogen, elixir-format
16511651
msgid "Disable messages"
16521652
msgstr ""
16531653

1654-
#: lib/claper_web/live/event_live/manager_settings_component.ex:537
1654+
#: lib/claper_web/live/event_live/manager_settings_component.ex:592
16551655
#, elixir-autogen, elixir-format
16561656
msgid "Disable reactions"
16571657
msgstr ""
@@ -1903,3 +1903,13 @@ msgstr ""
19031903
#, elixir-autogen, elixir-format
19041904
msgid "You can confirm your email change by visiting the URL below"
19051905
msgstr ""
1906+
1907+
#: lib/claper_web/live/event_live/manager_settings_component.ex:416
1908+
#, elixir-autogen, elixir-format
1909+
msgid "Hide attendee count"
1910+
msgstr ""
1911+
1912+
#: lib/claper_web/live/event_live/manager_settings_component.ex:413
1913+
#, elixir-autogen, elixir-format
1914+
msgid "Show attendee count"
1915+
msgstr ""

0 commit comments

Comments
 (0)