defmodule WhoNeedHelpWeb.Layouts do @moduledoc """ This module holds layouts and related functionality used by your application. """ use WhoNeedHelpWeb, :html # Embed all files in layouts/* within this module. # The default root.html.heex file contains the HTML # skeleton of your application, namely HTML headers # and other static content. embed_templates "layouts/*" @doc """ Renders your app layout. This function is typically invoked from every template, and it often contains your application menu, sidebar, or similar. ## Examples

Content

""" attr :flash, :map, required: true, doc: "the map of flash messages" attr :current_scope, :map, default: nil, doc: "the current [scope](https://phoenix.hexdocs.pm/scopes.html)" slot :inner_block, required: true def app(assigns) do ~H"""
Who Need Help
{render_slot(@inner_block)}
<.flash_group flash={@flash} /> """ end attr :current_scope, :map, default: nil attr :link_class, :string, default: "btn btn-ghost btn-sm" defp primary_navigation_links(assigns) do ~H"""
  • <.link navigate={~p"/requests"} class={@link_class}> {gettext("Requests")}
  • <.link navigate={~p"/activities"} class={@link_class}> {gettext("Activities")}
  • <.link navigate={~p"/categories/proposals"} class={@link_class}> {gettext("Categories")}
  • <.link navigate={~p"/leaderboard"} class={@link_class}> {gettext("Helpers")}
  • <.link navigate={~p"/moderation"} class={["btn-warning", @link_class]}> {gettext("Moderation")}
  • """ end defp locale_switcher(assigns) do ~H"""
    EN UK RU
    """ end attr :current_scope, :map, required: true defp account_menu(assigns) do ~H""" """ end @doc """ Shows the flash group with standard titles and content. ## Examples <.flash_group flash={@flash} /> """ attr :flash, :map, required: true, doc: "the map of flash messages" attr :id, :string, default: "flash-group", doc: "the optional id of flash container" def flash_group(assigns) do ~H"""
    <.flash kind={:info} flash={@flash} /> <.flash kind={:error} flash={@flash} /> <.flash id="client-error" kind={:error} title={gettext("We can't find the internet")} phx-disconnected={ show(".phx-client-error #client-error") |> JS.remove_attribute("hidden", to: ".phx-client-error #client-error") } phx-connected={hide("#client-error") |> JS.set_attribute({"hidden", ""})} hidden > {gettext("Attempting to reconnect")} <.icon name="hero-arrow-path" class="ml-1 size-3 motion-safe:animate-spin" /> <.flash id="server-error" kind={:error} title={gettext("Something went wrong!")} phx-disconnected={ show(".phx-server-error #server-error") |> JS.remove_attribute("hidden", to: ".phx-server-error #server-error") } phx-connected={hide("#server-error") |> JS.set_attribute({"hidden", ""})} hidden > {gettext("Attempting to reconnect")} <.icon name="hero-arrow-path" class="ml-1 size-3 motion-safe:animate-spin" />
    """ end @doc """ Provides dark vs light theme toggle based on themes defined in app.css. See in root.html.heex which applies the theme before page load. """ def theme_toggle(assigns) do ~H"""
    """ end end