debianize-mobilizon/lib/mobilizon/events/categories.ex

145 lines
2.9 KiB
Elixir
Raw Normal View History

defmodule Mobilizon.Events.Categories do
@moduledoc """
Module that handles event categories
"""
import Mobilizon.Web.Gettext
@spec list :: [%{id: atom(), label: String.t()}]
def list do
build_in_categories() ++ extra_categories()
end
defp build_in_categories do
[
%{
id: :arts,
label: gettext("Arts")
},
%{
id: :book_clubs,
label: gettext("Book clubs")
},
%{
id: :business,
label: gettext("Business")
},
%{
id: :causes,
label: gettext("Causes")
},
%{
id: :comedy,
label: gettext("Comedy")
},
%{
id: :crafts,
label: gettext("Crafts")
},
%{
id: :food_drink,
label: gettext("Food & Drink")
},
%{
id: :health,
label: gettext("Health")
},
%{
id: :music,
label: gettext("Music")
},
%{
id: :auto_boat_air,
label: gettext("Auto, boat and air")
},
%{
id: :community,
label: gettext("Community")
},
%{
id: :family_education,
label: gettext("Family & Education")
},
%{
id: :fashion_beauty,
label: gettext("Fashion & Beauty")
},
%{
id: :film_media,
label: gettext("Film & Media")
},
%{
id: :games,
label: gettext("Games")
},
%{
id: :language_culture,
label: gettext("Language & Culture")
},
%{
id: :learning,
label: gettext("Learning")
},
%{
id: :lgbtq,
label: gettext("LGBTQ")
},
%{
id: :movements_politics,
label: gettext("Movements and politics")
},
%{
id: :networking,
label: gettext("Networking")
},
%{
id: :party,
label: gettext("Party")
},
%{
id: :performing_visual_arts,
label: gettext("Performing & Visual Arts")
},
%{
id: :pets,
label: gettext("Pets")
},
%{
id: :photography,
label: gettext("Photography")
},
%{
id: :outdoors_adventure,
label: gettext("Outdoors & Adventure")
},
%{
id: :spirituality_religion_beliefs,
label: gettext("Spirituality, Religion & Beliefs")
},
%{
id: :science_tech,
label: gettext("Science & Tech")
},
%{
id: :sports,
label: gettext("Sports")
},
%{
id: :theatre,
label: gettext("Theatre")
},
# Legacy default value
%{
id: :meeting,
label: gettext("Meeting")
}
]
end
@spec extra_categories :: [%{id: atom(), label: String.t()}]
defp extra_categories do
:mobilizon
|> Application.get_env(:instance)
|> Keyword.get(:extra_categories, [])
end
end