Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions lib/dotcom_web/templates/layout/root.html.heex
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,18 @@
>
Toggle {if(language == "English", do: "Spanish", else: "English")}
</a>

<a
:for={%{href: href, name: name, color_classes: color_classes} <- env_links(@conn)}
class={[
"mx-sm btn btn-outline btn-sm leading-sm border border-black hover:opacity-50",
color_classes
]}
href={href}
target="_blank"
>
{name}
</a>
</div>
<% end %>
<a href="#main" class="sr-only sr-only-focusable">{~t(Skip to main content)}</a>
Expand Down
33 changes: 27 additions & 6 deletions lib/dotcom_web/views/layout_view.ex
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,37 @@ defmodule DotcomWeb.LayoutView do

import Util.BreadcrumbHTML, only: [breadcrumb_trail: 1, title_breadcrumbs: 1]

def env_links(conn) do
[
{"https://dev-blue.mbtace.com", "dev-blue"},
{"https://dev-green.mbtace.com", "dev-green"},
{"https://dev.mbtace.com", "dev"},
{"https://www.mbta.com", "prod"}
]
|> Enum.map(fn {hostname, name} ->
request_path =
case conn.query_string do
"" -> conn.request_path
params -> "#{conn.request_path}?#{params}"
end

path = URI.merge(hostname, request_path)

%{color_classes: classes_for_env(name), href: path, name: name}
end)
end

def banner_color_classes() do
Application.get_env(:dotcom, :env_name)
|> case do
"dev-green" -> "bg-green-line text-white"
"dev-blue" -> "bg-blue-line text-white"
"dev" -> "bg-silver-line text-white"
_ -> "bg-brand-bus text-black"
end
|> classes_for_env()
end

defp classes_for_env("dev-green"), do: "bg-green-line text-white"
defp classes_for_env("dev-blue"), do: "bg-blue-line text-white"
defp classes_for_env("dev"), do: "bg-silver-line text-white"
defp classes_for_env("prod"), do: "bg-white text-black"
defp classes_for_env(_), do: "bg-brand-bus text-black"

def favicon_image() do
Application.get_env(:dotcom, :env_name)
|> case do
Expand Down