defmodule PhilomenaWeb.StaffView do use PhilomenaWeb, :view @desc_regex ~r/^([^\n]+)/ def category_description("Administrators"), do: "High-level staff of the site, typically handling larger-scope tasks, such as technical operation of the site or writing rules and policies." def category_description("Technical Team"), do: "Developers and system administrators of the site, people who make sure the site keeps running." def category_description("Public Relations"), do: "People handling public announcements, events and such." def category_description("Moderators"), do: "The main moderation force of the site, handling a wide range of tasks from maintaining tags to making sure the rules are followed." def category_description("Assistants"), do: "Volunteers who help us run the site by taking simpler tasks off the hands of administrators and moderators." def category_description("Others"), do: "People associated with the site in some other way, sometimes (but not necessarily) having staff-like permissions." def category_description(_), do: "This category has no description provided." def category_class("Administrators"), do: "block--danger" def category_class("Technical Team"), do: "block--warning" def category_class("Public Relations"), do: "block--warning" def category_class("Moderators"), do: "block--success" def category_class("Assistants"), do: "block--purple" def category_class(_), do: "" def staff_description(%{description: desc}) when desc not in [nil, ""] do [part] = Regex.run(@desc_regex, desc, capture: :all_but_first) String.slice(part, 0, 240) end def staff_description(_), do: "This person didn't provide any description, they seem to need a hug." end