simplify chart code

simplify chart code

<%= if Enum.empty?(@points) do %>

No data available.

<% else %>
	<svg viewBox="0 0 1060 200" class="chart">
		<%
			{min_x, max_x} = Enum.min_max(Enum.map(@points, & Timex.to_unix(elem(&1, 0))))
			{min_y, max_y} = Enum.min_max(Enum.map(@points, & elem(&1, 1)))

			min_y = min(0, min_y)
			max_y = max(0, max_y)

			zero_y =
				cond do
					min_y < 0 and max_y > 0 ->
						-min_y / (max_y - min_y)
					max_y > 0 ->
						0
					min_y < 0 ->
						1
				end

			normalized_points = Enum.map(@points, fn({x, y, w}) ->
				nx = if max_x == min_x do 0.5 else (Timex.to_unix(x) - min_x) / (max_x - min_x) end
				ny = if max_y == min_y do 0.5 else (y - min_y) / (max_y - min_y) end
				{nx, ny, w, x, y}
			end)
		%>

		<line x1="0" y1="<%= svg_y zero_y %>" x2="1060" y2="<%= svg_y zero_y %>" shape-rendering="crispEdges" style="stroke: #ccc; stroke-width: 1;"></line>

		<path fill="none" stroke="#4aa5f3" stroke-width="2" d="<%= svg_path normalized_points %>"></path>

		<%= for {nx, ny, w, x, y} <- normalized_points do %>
			<%
				uuid = String.to_atom(UUID.uuid4(:hex))

				rw = round(w * 10 + 5)

				{tooltip_offset_mult, tooltip_alignment_baseline} =
					if ny > 0.5 do
						{1, "before-edge"}
					else
						{-1, "after-edge"}
					end

				tooltip_text_anchor =
					cond do
						nx < 0.1 -> "start"
						nx > 0.9 -> "end"
						true -> "middle"
					end
			%>

			<circle id="<%= uuid %>" cx="<%= svg_x nx %>" cy="<%= svg_y ny %>" r="<%= rw %>" fill="#1f8dd6"></circle>

			<text text-anchor="<%= tooltip_text_anchor %>" x="<%= svg_x nx %>" y="<%= svg_y(ny) + (rw + 4) * tooltip_offset_mult %>" fill="#333" visibility="hidden">
				<tspan x="<%= svg_x nx %>" alignment-baseline="<%= tooltip_alignment_baseline %>" font-size="18"><%= "#{Timex.format!(x, "{D}/{M}/{YYYY}")}" %></tspan><tspan x="<%= svg_x nx %>" alignment-baseline="<%= tooltip_alignment_baseline %>" dy="<%= 20 * tooltip_offset_mult %>" font-size="22"><%= "#{number_format_simple y}" %></tspan>

				<set attributeName="visibility" from="hidden" to="visible" begin="<%= uuid %>.mouseover" end="<%= uuid %>.mouseout"/>
			</text>
		<% end %>
	</svg>
<% end %>

<%= if Enum.empty?(@points) do %>

No data available.

<% else %>
	<svg viewBox="0 0 1060 200" class="chart">
		<%
			xs = Enum.map(@points, & Timex.to_unix(elem(&1, 0)))
			ys = Enum.map(@points, & elem(&1, 1))
			ws = Enum.map(@points, & elem(&1, 2))
			min_x = Enum.min(xs)
			max_x = Enum.max(xs)
			min_y = Enum.min(ys)
			max_y = Enum.max(ys)

			if min_y > 0 do
				min_y = 0
			end
			if max_y < 0 do
				max_y = 0
			end
			zero_y =
				cond do
					min_y < 0 and max_y > 0 ->
						-min_y / (max_y - min_y)
					max_y > 0 ->
						0
					min_y < 0 ->
						1
				end

			normalized_points = Enum.map(@points, fn({x, y, w}) ->
				nx = if max_x == min_x do 0.5 else (Timex.to_unix(x) - min_x) / (max_x - min_x) end
				ny = if max_y == min_y do 0.5 else (y - min_y) / (max_y - min_y) end
				{nx, ny, w, x, y}
			end)
		%>

		<line x1="0" y1="<%= svg_y zero_y %>" x2="1060" y2="<%= svg_y zero_y %>" shape-rendering="crispEdges" style="stroke: #ccc; stroke-width: 1;"></line>

		<path fill="none" stroke="#4aa5f3" stroke-width="2" d="<%= svg_path normalized_points %>"></path>

		<%= for {nx, ny, w, x, y} <- normalized_points do %>
			<%
				uuid = String.to_atom(UUID.uuid4(:hex))

				rw = round(w * 10 + 5)

				{tooltip_offset_mult, tooltip_alignment_baseline} =
					if ny > 0.5 do
						{1, "before-edge"}
					else
						{-1, "after-edge"}
					end

				tooltip_text_anchor =
					cond do
						nx < 0.1 -> "start"
						nx > 0.9 -> "end"
						true -> "middle"
					end
			%>

			<circle id="<%= uuid %>" cx="<%= svg_x nx %>" cy="<%= svg_y ny %>" r="<%= rw %>" fill="#1f8dd6"></circle>

			<text text-anchor="<%= tooltip_text_anchor %>" x="<%= svg_x nx %>" y="<%= svg_y(ny) + (rw + 4) * tooltip_offset_mult %>" fill="#333" visibility="hidden">
				<tspan x="<%= svg_x nx %>" alignment-baseline="<%= tooltip_alignment_baseline %>" font-size="18"><%= "#{Timex.format!(x, "{D}/{M}/{YYYY}")}" %></tspan><tspan x="<%= svg_x nx %>" alignment-baseline="<%= tooltip_alignment_baseline %>" dy="<%= 20 * tooltip_offset_mult %>" font-size="22"><%= "#{number_format_simple y}" %></tspan>

				<set attributeName="visibility" from="hidden" to="visible" begin="<%= uuid %>.mouseover" end="<%= uuid %>.mouseout"/>
			</text>
		<% end %>
	</svg>
<% end %>


fix layout

fix layout

Register User

        <%= render Doom.SharedView, "flash.html", assigns %>
        <%= form_for @new_user, admin_user_path(@conn, :create), fn f -> %>

            <%= email_input f, :email, class: "form-control", required: "", placeholder: "Email" %>

            <%= text_input f, :password, class: "form-control",required: "", placeholder: "Password" %>

            <%= multiple_select f, :groups, @groups |> Enum.map(&({&1.name, &1.id})),
                selected: [] ,
                class: "form-control chosen-select",
                data: [placeholder: "Choose Group"],
                name: "group_ids[]" %>

                  <%= checkbox f, :role, class: "minimal-check", checked_value: "admin", unchecked_value: "user" %>  Admin

              <%= submit "Register", class: "btn btn-primary btn-block btn-flat"%>

        <% end %>


Update html header

Update html header

<!DOCTYPE html>

<meta charset="utf-8">
<title>Index of <%= Plug.HTML.html_escape(directory_path) %></title>

Index of <%= Plug.HTML.html_escape(directory_path) %>


Fixup indentation

Fixup indentation

<!DOCTYPE html>

    <meta charset="utf-8">
    <title>
      <%= page_title(assigns) %> - Today I Learned
    </title>

    <% description = "TIL is an open-source project by Hashrocket that exists to catalogue the sharing & accumulation of knowledge as it happens day-to-day." %>
    <% image = twitter_image_url(assigns[:post]) %>

    <meta itemprop="name" content="Today I Learned">
    <meta itemprop="brand" content="Today I Learned">
    <meta itemprop="description" content="<%= description %>">

    <meta name="author" content="<%= Application.get_env(:tilex, :organization_name)%>">
    <meta name="csrf" content="<%= Plug.CSRFProtection.get_csrf_token() %>">
    <meta name="description" content="<%= description %>">
    <meta name="format-detection" content="telephone=no">
    <meta name="image" property="og:image" content="<%= image %>">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <meta property="og:description" content="<%= description %>">
    <meta property="og:title" content="Today I Learned">
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://til.hashrocket.com">

    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:creator" content="@<%= Application.get_env(:tilex, :default_twitter_handle)%>">
    <meta name="twitter:description" content="<%= twitter_description(assigns[:post]) %>">
    <meta name="twitter:image" content="<%= image %>">
    <meta name="twitter:site" content="@<%= Application.get_env(:tilex, :default_twitter_handle)%>">
    <meta name="twitter:title" content="<%= twitter_title(assigns[:post]) %>">

    <link href='//fonts.googleapis.com/css?family=Raleway:700,900&display=swap' rel='stylesheet' type='text/css'>
    <link href='//fonts.googleapis.com/css?family=Lora:400,700italic,700,400italic&display=swap' rel='stylesheet' type='text/css'>
    <link rel="alternate feed" type="application/rss+xml" title="Today I Learned" href="<%= feed_path(@conn, :index) %>">

    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <link rel="stylesheet" href="<%= static_url(@conn, "/css/app.css") %>">
    <%= if assigns[:canonical_url] do %>
      <link rel="canonical" href="<%= @canonical_url %>">
    <% end %>
    <link rel="manifest" href="<%= web_manifest_path(@conn, :index) %>">

    <%= if request_tracking() do %>

    <% end %>

    <%= if developer = current_user(@conn) do %>

 <%= link(developer.username, to: developer_path(@conn, :show, developer)) %>

 <%= link("Sign Out", to: auth_path(@conn, :delete), method: :delete) %>

 <%= link("Create Post", to: post_path(@conn, :new)) %>

 <%= link("Profile", to: developer_path(@conn, :edit)) %>

    <% end %>

    <header class="site_head <%= if System.get_env("BANNER"), do: "has-banner" %>">
      <%= if (System.get_env("BANNER")) do %>

            Hashrocket is hosting a Ruby, Rails, and React conference. Buy your tickets for ACR today!

      <% end %>

<%= link("Today I Learned", to: post_path(@conn, :index)) %>

          A Hashrocket project

            <a href="https://twitter.com/<%= Application.get_env(:tilex, :default_twitter_handle)%>" class="twitter">Follow on Twitter

      <%= if message = get_flash(@conn, :info) do %>

          <%= message %>

      <% end %>

      <%= render @view_module, @view_template, assigns %>

          <%= link("search", to: "#", class: "site_nav__link") %>

            <%= form_tag post_path(@conn, :index), method: :get do %>
              <input type="search" name="q" id="q" aria-label="Search">
              <%= submit "Search" %>
            <% end %>

          <%= link("?", to: "#", class: "site_nav__link", aria_label: "About TIL") %>

              Today I Learned is an open-source project by

                Hashrocket

              that exists to catalogue the sharing & accumulation of knowledge
              as it happens day-to-day. Posts have a 200-word limit, and
              posting is open to any Rocketeer as well as selected friends of
              Hashrocket. We hope you enjoy learning along with us.

                  <%= link("/#{Application.get_env(:tilex, :default_twitter_handle)}", to: "https://twitter.com/#{Application.get_env(:tilex, :default_twitter_handle)}", class: "social_twitter") %>

                  <%= link("/hashrocket/tilex", to: "https://github.com/hashrocket/tilex", class: "social_github") %>

          <%= if current_user(@conn) do %>
            <%= link("Statistics", to: stats_path(@conn, :developer), class: "site_nav__link") %>
          <% else %>
            <%= link("Statistics", to: stats_path(@conn, :index), class: "site_nav__link") %>
          <% end %>

          <%= link("Twitter", to: "https://twitter.com/#{Application.get_env(:tilex, :default_twitter_handle)}", class: "site_nav__link") %>

          <%= link("Surprise Me", to: post_path(@conn, :random), class: "site_nav__link", rel: "nofollow") %>

    <%= if ga_identifier() do %>

    <% end %>


Resolve the issue 99 (#126)

Resolve the issue 99 (#126)

          実験テーマ一覧
          <%= if @themes do %>

                    #
                    タイトル
                    説明画面
                    カテゴリ
                    実験作成

                  <%= for theme <- @themes do %>

                      <%= theme.name %>

                        <%= unless is_nil(theme.description) do %>
                          <a href="<%= theme_path(@conn, :theme, theme.id) %>" class="btn">説明画面
                        <% end %>

                      <%= Enum.join(theme.tags, ", ") %>
                      <a href="<%= host_path(@conn, :experiment, theme_id: theme.id) %>" class="btn">作成

                  <% end %>

          <% else %>

表示可能な実験はありません。

          <% end %>

          <button class="btn" type="button" onclick="location.href='/host/experiment'">実験作成</button>

          実験テーマ一覧
          <%= if @themes do %>

                    #
                    タイトル
                    説明画面
                    カテゴリ
                    実験作成

                  <%= for theme <- @themes do %>

                      <%= theme.name %>

                        <%= unless is_nil(theme.description) do %>
                          <a href="<%= theme_path(@conn, :theme, theme.id) %>" class="btn">説明画面
                        <% end %>

                      <%= Enum.join(theme.tags, ", ") %>
                      <a href="<%= host_path(@conn, :experiment, theme_id: theme.id) %>" class="btn">実験作成

                  <% end %>

          <% else %>

表示可能な実験はありません。

          <% end %>

          <button class="btn" type="button" onclick="location.href='/host/experiment'">実験作成</button>


Fixing mobile menu.

Fixing mobile menu.

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="csrf" content="<%= Plug.CSRFProtection.get_csrf_token() %>">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Hello CouchjitsuTrack!</title>
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

          <img src="<%= static_path(@conn, "/assets/couchjitsu_large_logo.png") %>" class="ui mini image" />

        <%= if(@conn.assigns[:current_user]) do %>
          History
          New
          Statistics
        <% end %>

        <%= if(@conn.assigns[:current_user]) do %>
          <%= get_user(@conn) %>
        <% else %>

            Sign In

        <% end %>

        <%= render @view_module, @view_template, assigns %>

    <%= System.get_env("HEROKU_SLUG_COMMIT") %>


Add a meta description

Add a meta description

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Marc Addeo's blog about code, learning, and rambling.">
    <meta name="author" content="Marc Addeo">

  <%= if assigns[:title] do %>
    <title><%= @title %> | marc.cx</title>
  <% else %>
    <title>marc.cx</title>
  <% end %>
    <link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" />
    <link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" />
    <link href="http://fonts.googleapis.com/css?family=Inconsolata:400,700|Open+Sans:300italic,400italic,700,300,800,400" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

  <%= if Mix.env == :prod do %>

  <% end %>

              <%= for item <- navigation(@conn) do %>
                <li role="presentation" <%= if item.active do %>class="active"<% end %>>
                  <a <%= if item[:target] do %>target="<%= item.target %>" <% end %>href="<%= item.href %>"><%= item.text %>

              <% end %>

            <a href="<%= page_path(@conn, :index) %>" class="title text-muted">marc.cx

      <%= @inner %>

              <img width="32" src="<%= static_path(@conn, "/images/kopimi.svg") %>" />

            hi@marc.cx

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="Marc Addeo">

  <%= if assigns[:title] do %>
    <title><%= @title %> | marc.cx</title>
  <% else %>
    <title>marc.cx</title>
  <% end %>
    <link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" />
    <link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" />
    <link href="http://fonts.googleapis.com/css?family=Inconsolata:400,700|Open+Sans:300italic,400italic,700,300,800,400" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

  <%= if Mix.env == :prod do %>

  <% end %>

              <%= for item <- navigation(@conn) do %>
                <li role="presentation" <%= if item.active do %>class="active"<% end %>>
                  <a <%= if item[:target] do %>target="<%= item.target %>" <% end %>href="<%= item.href %>"><%= item.text %>

              <% end %>

            <a href="<%= page_path(@conn, :index) %>" class="title text-muted">marc.cx

      <%= @inner %>

              <img width="32" src="<%= static_path(@conn, "/images/kopimi.svg") %>" />

            hi@marc.cx


neues Impressum (#99)

neues Impressum (#99)

  <%= render SignDict.SharedView, "navigation.html", conn: @conn, current_user: @current_user, logo: true %>
  <%= render SignDict.SharedView, "alerts.html", conn: @conn %>

<%= gettext("Impressum") %>

      Bodo Tasche

      Richard-Sorge-Str. 59

      10249 Berlin

+49 1512 7533048

    mail@signdict.org

<%= render SignDict.SharedView, "footer.html", conn: @conn %>


feat: added a rel=pgpkey link

feat: added a rel=pgpkey link

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link rel="alternate" type="application/atom+xml" title="Articles" href="<%= article_url(@conn, :index) %>.atom">
    <link rel="alternate" type="application/atom+xml" title="Notes" href="<%= note_url(@conn, :index) %>.atom">
    <link rel="alternate" type="application/atom+xml" title="Pictures" href="<%= picture_url(@conn, :index) %>.atom">
    <link rel="alternate" type="application/atom+xml" title="Combined" href="<%= page_url(@conn, :index) %>whatsnew.atom">

    <link rel="pgpkey" type="application/pgp-keys" href="/A99A9D73.asc">

    <link rel="apple-touch-icon" href="<%= static_path(@conn, "/images/christian-kruse.jpg") %>">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">

    <link rel="author" href="<%= page_path(@conn, :index) %>humans.txt" type="text/plain">

    <link rel="webmention" href="<%= page_url(@conn, :index) %>webmentions">

    <meta name="description" content="<%= description(@conn, assigns) %>">
    <meta name="author" content="Christian Kruse">

    <title><%= page_title(@conn, assigns) %></title>

    <meta property="og:title" content="<%= page_title(@conn, assigns) %>">
    <meta property="og:type" content="website">
    <meta property="og:image" content="<%= static_path(@conn, "/images/christian-kruse.jpg") %>">

    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

<%= link "WWWTech", to: page_url(@conn, :index) %>

Free/Libre Open Source Software by <%= link "Christian Kruse", to: page_path(@conn, :about) %>

        <%= if get_flash(@conn, :info) do %>
<%= get_flash(@conn, :info) %>
<% end %>
        <%= if get_flash(@conn, :error) do %>
<%= get_flash(@conn, :error) %>
<% end %>

        <%= render @view_module, @view_template, assigns %>

<%= link "Main", to: page_path(@conn, :index) %>

<%= link "Software", to: page_path(@conn, :software) %>

<%= link "Articles", to: article_path(@conn, :index) %>

<%= link "Notes", to: note_path(@conn, :index) %>

<%= link "Pictures", to: picture_path(@conn, :index) %>

          <%= if logged_in?(@conn) do %>

<%= button "Logout", to: session_path(@conn, :delete), method: :delete %>

          <% end %>

<%= link "Imprint", to: page_path(@conn, :about), rel: "me" %>

<%= link "cjk@defunct.ch", to: "xmpp:cjk@defunct.ch", rel: "me" %> via Jabber

<%= link "cjk@defunct.ch", to: "mailto:cjk@defunct.ch", rel: "me" %> via Email

    <%= if Mix.env == :dev do %>

    <% end %>

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link rel="alternate" type="application/atom+xml" title="Articles" href="<%= article_url(@conn, :index) %>.atom">
    <link rel="alternate" type="application/atom+xml" title="Notes" href="<%= note_url(@conn, :index) %>.atom">
    <link rel="alternate" type="application/atom+xml" title="Pictures" href="<%= picture_url(@conn, :index) %>.atom">
    <link rel="alternate" type="application/atom+xml" title="Combined" href="<%= page_url(@conn, :index) %>whatsnew.atom">

    <link rel="apple-touch-icon" href="<%= static_path(@conn, "/images/christian-kruse.jpg") %>">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">

    <link rel="author" href="<%= page_path(@conn, :index) %>humans.txt" type="text/plain">

    <link rel="webmention" href="<%= page_url(@conn, :index) %>webmentions">

    <meta name="description" content="<%= description(@conn, assigns) %>">
    <meta name="author" content="Christian Kruse">

    <title><%= page_title(@conn, assigns) %></title>

    <meta property="og:title" content="<%= page_title(@conn, assigns) %>">
    <meta property="og:type" content="website">
    <meta property="og:image" content="<%= static_path(@conn, "/images/christian-kruse.jpg") %>">

    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

<%= link "WWWTech", to: page_url(@conn, :index) %>

Free/Libre Open Source Software by <%= link "Christian Kruse", to: page_path(@conn, :about) %>

        <%= if get_flash(@conn, :info) do %>
<%= get_flash(@conn, :info) %>
<% end %>
        <%= if get_flash(@conn, :error) do %>
<%= get_flash(@conn, :error) %>
<% end %>

        <%= render @view_module, @view_template, assigns %>

<%= link "Main", to: page_path(@conn, :index) %>

<%= link "Software", to: page_path(@conn, :software) %>

<%= link "Articles", to: article_path(@conn, :index) %>

<%= link "Notes", to: note_path(@conn, :index) %>

<%= link "Pictures", to: picture_path(@conn, :index) %>

          <%= if logged_in?(@conn) do %>

<%= button "Logout", to: session_path(@conn, :delete), method: :delete %>

          <% end %>

<%= link "Imprint", to: page_path(@conn, :about), rel: "me" %>

<%= link "cjk@defunct.ch", to: "xmpp:cjk@defunct.ch", rel: "me" %> via Jabber

<%= link "cjk@defunct.ch", to: "mailto:cjk@defunct.ch", rel: "me" %> via Email

    <%= if Mix.env == :dev do %>

    <% end %>


Use same protocol to prevent insecurity error.

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" type="image/png" href="/favicon.png" />
    <title>Slack Coder</title>
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">

            Slack Coder

Monitoring your dead pull requests

        <%= if @current_user do %>

              <img src="<%= @current_user.avatar_url %>" class="img-xs img-circle"/>
              <%= if @current_user.id do %>
                <%= link @current_user.github, to: user_path(@conn, :edit, @current_user.id)%>
              <% else %>
                <%= link @current_user.github, to: user_path(@conn, :new)%>
              <% end %>

            |
            <%= link "Logout", to: auth_path(@conn, :delete), method: :delete %>

        <% end %>

             Application Metrics

<%= get_flash(@conn, :info) %>

<%= get_flash(@conn, :error) %>

      <%= if @current_user do %>
        <%= render @view_module, @view_template, assigns %>
      <% else %>

          <a class="btn btn-default btn-xxl" href="<%= auth_path @conn, :index, "github" %>">

            Sign in with GitHub

      <% end %>

    <%= if @current_user do %>

    <% end %>

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" type="image/png" href="/favicon.png" />
    <title>Slack Coder</title>
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">

            Slack Coder

Monitoring your dead pull requests

        <%= if @current_user do %>

              <img src="<%= @current_user.avatar_url %>" class="img-xs img-circle"/>
              <%= if @current_user.id do %>
                <%= link @current_user.github, to: user_path(@conn, :edit, @current_user.id)%>
              <% else %>
                <%= link @current_user.github, to: user_path(@conn, :new)%>
              <% end %>

            |
            <%= link "Logout", to: auth_path(@conn, :delete), method: :delete %>

        <% end %>

             Application Metrics

<%= get_flash(@conn, :info) %>

<%= get_flash(@conn, :error) %>

      <%= if @current_user do %>
        <%= render @view_module, @view_template, assigns %>
      <% else %>

          <a class="btn btn-default btn-xxl" href="<%= auth_path @conn, :index, "github" %>">

            Sign in with GitHub

      <% end %>

    <%= if @current_user do %>

    <% end %>


Fix bug with anchor named player

Fix bug with anchor named player

<script src="//cdn.jsdelivr.net/phaser-ce/2.7.3/phaser.min.js"></script>

<script type="text/javascript">

window.onload = function() {

    var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create, update: update, render: render });

    var player
    var cursors
    var player_id
    var other_players = []

    function preload () {

        game.load.image('sheep_1', 'images/sheep_1.png');

    }

    function create () {

        player = game.add.sprite(game.world.centerX, game.world.centerY, 'sheep_1');
        player.anchor.setTo(0.5, 0.5);

        cursors = game.input.keyboard.createCursorKeys();
        player_id = Math.floor(Math.random() * 1000).toString();

        channel.push("new_player", { player: player_id , position: { x: player.x, y: player.y }});
    }

    function update () {

        if (cursors.left.isDown) {
            player.x -= 4;
        }
        else if (cursors.right.isDown) {
            player.x += 4;
        }

        if (cursors.up.isDown) {
            player.y -= 4;
        }
        else if (cursors.down.isDown) {
           player.y += 4;
        }

        channel.push("new_position", { player: player_id, position: { x: player.x, y: player.y }});
    }

    function render () {

      game.debug.spriteInfo(player, 32, 32);

    }

    channel.on("update_world", payload => {
      console.log(payload)
      logo.x = payload.x
      logo.y = payload.y

    channel.on("new_player", payload => {
      console.log("New player: ", payload)

      var player_id = payload.player_id;
      var position = payload.position

      new_player = game.add.sprite(position.x + 100, position.y + 100, 'sheep_1')
      new_player = new_player.anchor.setTo(0.5, 0.5);

      other_players.push(new_player)
    })

};

</script>

<script src="//cdn.jsdelivr.net/phaser-ce/2.7.3/phaser.min.js"></script>

<script type="text/javascript">

window.onload = function() {

    var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create, update: update, render: render });

    var player
    var cursors
    var player_id
    var other_players = []

    function preload () {

        game.load.image('sheep_1', 'images/sheep_1.png');

    }

    function create () {

        player = game.add.sprite(game.world.centerX, game.world.centerY, 'sheep_1');
        player.anchor.setTo(0.5, 0.5);

        cursors = game.input.keyboard.createCursorKeys();
        player_id = Math.floor(Math.random() * 1000).toString();

        channel.push("new_player", { player: player_id , position: { x: player.x, y: player.y }});
    }

    function update () {

        if (cursors.left.isDown) {
            player.x -= 4;
        }
        else if (cursors.right.isDown) {
            player.x += 4;
        }

        if (cursors.up.isDown) {
            player.y -= 4;
        }
        else if (cursors.down.isDown) {
           player.y += 4;
        }

        channel.push("new_position", { player: player_id, position: { x: player.x, y: player.y }});
    }

    function render () {

      game.debug.spriteInfo(player, 32, 32);

    }

    channel.on("update_world", payload => {
      console.log(payload)
      logo.x = payload.x
      logo.y = payload.y

    channel.on("new_player", payload => {
      console.log("New player: ", payload)

      var player_id = payload.player_id;
      var position = payload.position

      new_player = game.add.sprite(position.x + 100, position.y + 100, 'sheep_1')
      new_player = player.anchor.setTo(0.5, 0.5);

      other_players.push(new_player)
    })

};

</script>


Update privacy policy with section on publication of certain data

Datenschutzerklärung

  Hier erfährst du, wie deine Daten verarbeitet werden.

Diese Datenschutzerklärung legt offen, was mit den von dieser Website erhobenen Daten geschieht. Sie richtet sich nach der <%= link "Europäischen Datenschutz-Grundverordnung (DSGVO)", to: "https://dsgvo-gesetz.de" %>.

1. Verantwortliche

    Verantwortlich im Sinne des <%= link "Art. 4 Abs. 7", to: "https://dsgvo-gesetz.de/art-4-dsgvo/" %> der DSGVO ist der Landesausschuss “Jugend musiziert” Nord- und Osteuropa. Ein Formular zur Kontaktaufnahme findest du auf der Seite <%= link "\"Kontakt\"", to: Routes.page_path(@conn, :contact) %>.

2. Welche Daten werden erhoben?

Anmeldedaten

Bei der digitalen Anmeldung für das jeweilige Wettbewerbsjahr werden von den Teilnehmenden folgende Daten erhoben:

Persönliche Daten: Vor- und Familienname, Geburtsdatum

Kontaktdaten: Telefonnummer, E-Mailadresse

Wettbewerbsdaten: Kategorie, Instrument, Vorspielprogramm

Im Laufe des Wettbewerbs werden die Wettbewerbsdaten vom jeweiligen Organisationsteam um folgende Punkte ergänzt:

Auftrittszeit und -ort

Ergebnisse (Punkte und Prädikate)

Außerdem können während des Wettbewerbs vom jeweiligen Träger Bild- und Tondaten (z.B. Fotografien oder Videoaufnahmen) erhoben werden.

Logdateien

Bei der Nutzung dieser Website werden bestimmte Informationen wie z.B. URL, Browserversion und IP-Adresse in die Logdateien des Serves eingetragen. Diese Daten werden nur als Nachweis bei möglichem Missbrauch sowie zur Fehlerbehebung erhoben. Sie werden weder zu anderen Zwecken genutzt noch mit Dritten geteilt.

Analytics

Damit wir diese Website stetig verbessern können, erheben wir anonymisierte Daten (z.B. Land, Betriebssystem, besuchte Seiten). Diese lassen keine Rückschlüsse auf die Identität einzelner Besucher zu, werden auf einem eigenen Server mittels der Open-Source-Software <%= link "Countly", to: "https://count.ly/community-edition" %> gehostet und niemals an Dritte übertragen. Falls du dies dennoch nicht möchtest, kannst du Analytics für diese Website hier <%= link "dauerhaft deaktivieren", to: "#", id: "no-analytics-link" %>.

E-Mailversand</h4

Beim Abschicken des Kontaktformulars sowie nach Anmeldung oder Weiterleitung zu einem Wettbewerb wird eine E-Mail an die angegebenen Adressen versandt. Dies geschieht über den Dienst <%= link "SendGrid", to: "https://www.sendgrid.com" %>, betrieben von Sendgrid, Inc., 1801 California Street, Suite 500, Denver, CO 80202. Mehr Informationen darüber, wie die E-Mailadressen von SendGrid verarbeitet werden, findest du <%= link "hier", to: "https://sendgrid.com/policies/privacy/services-privacy-policy/" %> und <%= link "hier", to: "https://sendgrid.com/policies/email/" %>.

3. Warum werden diese Daten benötigt?

Die obenstehenden persönlichen Daten sowie Wettbewerbsdaten sind notwendig, um die Wettbewerbe “Jugend musiziert” und “Kinder musizieren” zu planen und durchzuführen. Die Kontaktdaten benötigen wir, um die Teilnehmenden bezüglich Anmeldung, Auftritt oder anderen Bereichen des Wettbewerbs zu kontaktieren. Bild- und Tondaten werden für die Berichterstattung und Dokumentation benötigt, um den öffentlichen und transparenten Charakter des Wettbewerbs zu wahren. Rechtsgrundlage hierfür ist <%= link "Art. 6 Abs. 1 lit. b und f", to: "https://dsgvo-gesetz.de/art-6-dsgvo/" %> der DSGVO.

4. Veröffentlichung von Daten

Bedingt durch den öffentlichen Charakter des Wettbewerbs können Vor- und Nachnamen der Teilnehmer zusammen mit Wettbewerbsdaten wie Instrument, Kategorie und Ergebnis vom jeweiligen Wettbewerbsträger in Form von Zeitplänen, Programmheften, Ergebnislisten u.ä. veröffentlicht werden. Gleiches gilt für Bild- und Tonaufnahmen.

5. Weitergabe von Daten an Dritte

Die erhobenen Daten werden nur an solche Dritte weitergegeben, die direkt an der Durchführung des jeweiligen Wettbewerbs beteiligt sind, wie z.B. der Jury und dem Organisationsteam.

Bei einer Weiterleitung zum Bundeswettbewerb werden die erhobenen Daten an den dortigen Träger (Deutsche Musikrat Projektgesellschaft mbH) weitergegeben.

Die unter (2) genannten Daten werden nicht an Dritte außerhalb des Wettbewerbs “Jugend musiziert” weitergegeben, mit Ausnahme der E-Mailadresse beim Versenden von E-Mails (siehe "E-Mailversand").

6. Aufbewahrung der Daten

Für Zwecke der Dokumentation, Statistik sowie Unterstützung bei späteren Anmeldungen werden die unter (2) genannten Daten auch über das Wettbewerbsjahr hinaus aufbewahrt. Rechtsgrundlage hierfür ist <%= link "Art. 6 Abs. 1 lit. b und f", to: "https://dsgvo-gesetz.de/art-6-dsgvo/" %> der DSGVO.

7. Inhalte von Dritten

Auf dieser Website setzen wir Karten (Google Maps) des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Hierfür besteht ein berechtigtes Interesse im Sinne des <%= link "Art. 6 Abs. 1 lit. f", to: "https://dsgvo-gesetz.de/art-6-dsgvo/" %> der DSGVO. Die Einbindung erfolgt durch einen Serveraufruf, bei dem die IP-Adresse des Besuchers an Google übertragen wird. Die Verarbeitung dieser unterliegt der <%= link "Datenschutzerklärung von Google", to: "https://www.google.com/policies/privacy/" %>.

8. Deine Rechte

Laut DSGVO hast du unter anderem das Recht, jederzeit und unentgeltlich

anzufragen, ob und welche personenbezogenen Daten verarbeitet werden (<%= link "Art. 15", to: "https://dsgvo-gesetz.de/art-15-dsgvo/" %>)

unrichtige personenbezogener Daten korrigieren zu lassen (<%= link "Art. 16", to: "https://dsgvo-gesetz.de/art-16-dsgvo/" %>)

die Löschung von personenbezogenen Daten zu verlangen, sofern die Verarbeitung nicht mehr erforderlich ist (<%= link "Art. 17", to: "https://dsgvo-gesetz.de/art-17-dsgvo/" %>)

einen Auszug deiner personenbezogenen Daten zu verlangen (<%= link "Art. 20", to: "https://dsgvo-gesetz.de/art-20-dsgvo/" %>)

Außerdem hast du das Recht auf Beschwerde bei einer <%= link "Aufsichtsbehörde", to: "https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html" %>, wenn du der Ansicht bist, dass die Verarbeitung deiner personenbezogenen Daten gegen die DSGVO verstößt.

9. Änderungen

Sollten wir Änderungen an dieser Datenschutzerklärung vornehmen, die eine Verarbeitung deiner Daten außerhalb obengenannter Zwecke vorsieht, so werden wir dich hierüber informieren und deine Einwilligung einholen, falls dies rechtlich erforderlich ist.

Stand: 1. November 2018

Datenschutzerklärung

  Hier erfährst du, wie deine Daten verarbeitet werden.

Diese Datenschutzerklärung legt offen, was mit den von dieser Website erhobenen Daten geschieht. Sie richtet sich nach der <%= link "Europäischen Datenschutz-Grundverordnung (DSGVO)", to: "https://dsgvo-gesetz.de" %>.

1. Verantwortliche

    Verantwortlich im Sinne des <%= link "Art. 4 Abs. 7", to: "https://dsgvo-gesetz.de/art-4-dsgvo/" %> der DSGVO ist der Landesausschuss “Jugend musiziert” Nord- und Osteuropa. Ein Formular zur Kontaktaufnahme findest du auf der Seite <%= link "\"Kontakt\"", to: Routes.page_path(@conn, :contact) %>.

2. Welche Daten werden erhoben?

Anmeldedaten

Bei der digitalen Anmeldung für das jeweilige Wettbewerbsjahr werden von den Teilnehmenden folgende Daten erhoben:

Persönliche Daten: Vor- und Familienname, Geburtsdatum

Kontaktdaten: Telefonnummer, E-Mailadresse

Wettbewerbsdaten: Kategorie, Instrument, Vorspielprogramm

Im Laufe des Wettbewerbs werden die Wettbewerbsdaten vom jeweiligen Organisationsteam um folgende Punkte ergänzt:

Auftrittszeit und -ort

Ergebnisse (Punkte und Prädikate)

Außerdem können während des Wettbewerbs vom jeweiligen Träger Bild- und Tondaten (z.B. Fotografien oder Videoaufnahmen) erhoben werden.

Logdateien

Bei der Nutzung dieser Website werden bestimmte Informationen wie z.B. URL, Browserversion und IP-Adresse in die Logdateien des Serves eingetragen. Diese Daten werden nur als Nachweis bei möglichem Missbrauch sowie zur Fehlerbehebung erhoben. Sie werden weder zu anderen Zwecken genutzt noch mit Dritten geteilt.

Analytics

Damit wir diese Website stetig verbessern können, erheben wir anonymisierte Daten (z.B. Land, Betriebssystem, besuchte Seiten). Diese lassen keine Rückschlüsse auf die Identität einzelner Besucher zu, werden auf einem eigenen Server mittels der Open-Source-Software <%= link "Countly", to: "https://count.ly/community-edition" %> gehostet und niemals an Dritte übertragen. Falls du dies dennoch nicht möchtest, kannst du Analytics für diese Website hier <%= link "dauerhaft deaktivieren", to: "#", id: "no-analytics-link" %>.

E-Mailversand</h4

Beim Abschicken des Kontaktformulars sowie nach Anmeldung oder Weiterleitung zu einem Wettbewerb wird eine E-Mail an die angegebenen Adressen versandt. Dies geschieht über den Dienst <%= link "SendGrid", to: "https://www.sendgrid.com" %>, betrieben von Sendgrid, Inc., 1801 California Street, Suite 500, Denver, CO 80202. Mehr Informationen darüber, wie die E-Mailadressen von SendGrid verarbeitet werden, findest du <%= link "hier", to: "https://sendgrid.com/policies/privacy/services-privacy-policy/" %> und <%= link "hier", to: "https://sendgrid.com/policies/email/" %>.

3. Warum werden diese Daten benötigt?

Die obenstehenden persönlichen Daten sowie Wettbewerbsdaten sind notwendig, um die Wettbewerbe “Jugend musiziert” und “Kinder musizieren” zu planen und durchzuführen. Die Kontaktdaten benötigen wir, um die Teilnehmenden bezüglich Anmeldung, Auftritt oder anderen Bereichen des Wettbewerbs zu kontaktieren. Bild- und Tondaten werden für die Berichterstattung und Dokumentation benötigt, um den öffentlichen und transparenten Charakter des Wettbewerbs zu wahren. Rechtsgrundlage hierfür ist <%= link "Art. 6 Abs. 1 lit. b und f", to: "https://dsgvo-gesetz.de/art-6-dsgvo/" %> der DSGVO.

4. Weitergabe von Daten an Dritte

Die erhobenen Daten werden nur an solche Dritte weitergegeben, die direkt an der Durchführung des jeweiligen Wettbewerbs beteiligt sind, wie z.B. der Jury und dem Organisationsteam.

Bei einer Weiterleitung zum Bundeswettbewerb werden die erhobenen Daten an den dortigen Träger (Deutsche Musikrat Projektgesellschaft mbH) weitergegeben.

Die unter (2) genannten Daten werden nicht an Dritte außerhalb des Wettbewerbs “Jugend musiziert” weitergegeben, mit Ausnahme der E-Mailadresse beim Versenden von E-Mails (siehe "E-Mailversand").

5. Aufbewahrung der Daten

Für Zwecke der Dokumentation, Statistik sowie Unterstützung bei späteren Anmeldungen werden die unter (2) genannten Daten auch über das Wettbewerbsjahr hinaus aufbewahrt. Rechtsgrundlage hierfür ist <%= link "Art. 6 Abs. 1 lit. b und f", to: "https://dsgvo-gesetz.de/art-6-dsgvo/" %> der DSGVO.

6. Inhalte von Dritten

Auf dieser Website setzen wir Karten (Google Maps) des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Hierfür besteht ein berechtigtes Interesse im Sinne des <%= link "Art. 6 Abs. 1 lit. f", to: "https://dsgvo-gesetz.de/art-6-dsgvo/" %> der DSGVO. Die Einbindung erfolgt durch einen Serveraufruf, bei dem die IP-Adresse des Besuchers an Google übertragen wird. Die Verarbeitung dieser unterliegt der <%= link "Datenschutzerklärung von Google", to: "https://www.google.com/policies/privacy/" %>.

7. Deine Rechte

Laut DSGVO hast du unter anderem das Recht, jederzeit und unentgeltlich

anzufragen, ob und welche personenbezogenen Daten verarbeitet werden (<%= link "Art. 15", to: "https://dsgvo-gesetz.de/art-15-dsgvo/" %>)

unrichtige personenbezogener Daten korrigieren zu lassen (<%= link "Art. 16", to: "https://dsgvo-gesetz.de/art-16-dsgvo/" %>)

die Löschung von personenbezogenen Daten zu verlangen, sofern die Verarbeitung nicht mehr erforderlich ist (<%= link "Art. 17", to: "https://dsgvo-gesetz.de/art-17-dsgvo/" %>)

einen Auszug deiner personenbezogenen Daten zu verlangen (<%= link "Art. 20", to: "https://dsgvo-gesetz.de/art-20-dsgvo/" %>)

Außerdem hast du das Recht auf Beschwerde bei einer <%= link "Aufsichtsbehörde", to: "https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html" %>, wenn du der Ansicht bist, dass die Verarbeitung deiner personenbezogenen Daten gegen die DSGVO verstößt.

8. Änderungen

Sollten wir Änderungen an dieser Datenschutzerklärung vornehmen, die eine Verarbeitung deiner Daten außerhalb obengenannter Zwecke vorsieht, so werden wir dich hierüber informieren und deine Einwilligung einholen, falls dies rechtlich erforderlich ist.

Stand: 1. November 2018


Including different head css file

Including different head css file

<!DOCTYPE html>

  <title>Bloc Office Hours</title>
  <meta name="HandheldFriendly" content="True"/>
  <meta name="google" value="notranslate" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  <meta name="viewport" content="width=device-width"/>
  <meta name="apple-mobile-web-app-capable" content="yes" />

  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
  <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,400,700,300' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" href="/assets/stylesheets/application.css"/>
  <link rel="shortcut icon" href="https://www.bloc.io/assets/logos/square_logo50x50.png"/>

<!DOCTYPE html>

  <title>Bloc Office Hours</title>
  <meta name="HandheldFriendly" content="True"/>
  <meta name="google" value="notranslate" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  <meta name="viewport" content="width=device-width"/>
  <meta name="apple-mobile-web-app-capable" content="yes" />

  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
  <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,400,700,300' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" href="/static/assets/application.css"/>
  <link rel="shortcut icon" href="https://www.bloc.io/assets/logos/square_logo50x50.png"/>


Checking server error

Checking server error

Yearly Statistics

<%= inspect @stats %>
<%# <%= for key <- @stats do %>
    <%#
<%= key %>
 %>
  <%# <% end %> %> %>

<%# <%= render "statistic_card.html", conn: @conn, stat: @stats.current_month, previous: @stats.previous_month, title: "Current Month", type: "current_month" %>

<%# <%= render "statistic_card.html", conn: @conn, stat: @stats.current_year, previous: @stats.previous_year, title: "Current Year", type: "current_year" %> %>

<%# <%= render "statistic_card.html", conn: @conn, stat: @stats.all_time, previous: 0, title: "All Time", type: "all_time"  %> %> %>


Use text-uppercase class on associate orgs


Link Bill #show to Member #show by sponsor_id

Bill #show

Title: <%= @bill.title %>

Introduced: <%= @bill.date_introduced %>

Summary: <%= @bill.summary %>

  <a href="<%= WhoWeb.RoutesHelper.member_id_path(@bill.sponsor_id) %>">

Sponsor: <%= @bill.sponsor_title %> <%= @bill.sponsor_name %> (<%= @bill.sponsor_party %>)

  <%= if @bill.has_cosponsors do %>

Number of Cosponsors: <%= @bill.num_of_cosponsors %>

  <% end %>

URL: <%= @bill.url %>

Committees: <%= @bill.committees %>

Last Action: <%= @bill.latest_action %>

Last Action Date: <%= @bill.latest_action_date %>

History:

    <%= for action <- @bill.history do %>

<%= action["description"]%> in <%= action["chamber"] %> on <%= action["datetime"] %>

    <% end %>

Bill #show

Title: <%= @bill.title %>

Introduced: <%= @bill.date_introduced %>

Summary: <%= @bill.summary %>

Sponsor: <%= @bill.sponsor_title %> <%= @bill.sponsor_name %> (<%= @bill.sponsor_party %>)

  <%= if @bill.has_cosponsors do %>

Number of Cosponsors: <%= @bill.num_of_cosponsors %>

  <% end %>

URL: <%= @bill.url %>

Committees: <%= @bill.committees %>

Last Action: <%= @bill.latest_action %>

Last Action Date: <%= @bill.latest_action_date %>

History:

    <%= for action <- @bill.history do %>

<%= action["description"]%> in <%= action["chamber"] %> on <%= action["datetime"] %>

    <% end %>


Show special deadlines also for Kimu contests

<%= gettext("Registration") %>

  <%= gettext("Here you can register for your local contest.") %>

<%= if @general_deadline do %>

    <%= gettext("Unless otherwise mentioned, the registration deadline is") %>
    <%= format_date(@general_deadline) %>.

<% end %>

<%= gettext("Jumu") %>

      <%= for contest <- @rw_contests do %>

          <%= link name_with_flag(contest),
            to: performance_path(@conn, :new, contest)
            %>
          <%= deadline_info(contest, @general_deadline) %>

      <% end %>

<%= gettext("Kimu") %>

      <%= for contest <- @kimu_contests do %>

          <%= link name_with_flag(contest),
            to: performance_path(@conn, :new, contest)
            %>
          <%= deadline_info(contest, @general_deadline) %>

      <% end %>

  <%= gettext("Already registered?") %>

<%= link gettext("Edit your registration"),
  to: page_path(@conn, :edit_registration),
  class: "btn btn-default" %>

<%= gettext("Registration") %>

  <%= gettext("Here you can register for your local contest.") %>

<%= if @general_deadline do %>

    <%= gettext("Unless otherwise mentioned, the registration deadline is") %>
    <%= format_date(@general_deadline) %>.

<% end %>

<%= gettext("Jumu") %>

      <%= for contest <- @rw_contests do %>

          <%= link name_with_flag(contest),
            to: performance_path(@conn, :new, contest)
            %>
          <%= deadline_info(contest, @general_deadline) %>

      <% end %>

<%= gettext("Kimu") %>

      <%= for contest <- @kimu_contests do %>

          <%= link name_with_flag(contest),
            to: performance_path(@conn, :new, contest)
            %>

      <% end %>

  <%= gettext("Already registered?") %>

<%= link gettext("Edit your registration"),
  to: page_path(@conn, :edit_registration),
  class: "btn btn-default" %>


ref: removing debug code

ref: removing debug code

<%
p_type = if assigns[:type], do: assigns[:type], else: :thumbnail
%><article class="picture<%= if assigns[:home] do %> home<% end %><%= if not @picture.show_in_index and logged_in?(@conn) do %> unpublished<% end %> h-entry">
  <%= unless assigns[:atom] do %>

<%= @picture.title %>

        <%= link to: page_path(@conn, :about), rel: "me" do %><img src="<%= static_path(@conn, "/images/" <> @picture.author.avatar) %>" class="avatar u-photo"> <%= @picture.author.name %><% end %>,
        <time class="dt-published" datetime="<%= @picture |> Wwwtech.Picture.created_at_timex |> DateFormat.format!("%FT%T%:z", :strftime) %>"><%= link Wwwtech.LayoutView.time_ago_in_words(@picture |> Wwwtech.Picture.created_at_timex), to: picture_path(@conn, :show, @picture), class: "u-url" %></time>

  <% end %>

  <%= if @picture.in_reply_to != "" and @picture.in_reply_to != nil do %>

      In reply to <%= link @picture.in_reply_to, to: @picture.in_reply_to, class: "u-in-reply-to" %>

  <% end %>

  <div class="e-content <%= p_type %>">
    <%= link(to: (if p_type == :thumbnail, do: picture_path(@conn, :show, @picture), else: picture_path(@conn, :show, @picture) <> ".png")) do %><img src="<%= picture_path(@conn, :show, @picture) %>.png?type=<%= p_type %>" alt="" title="<%= @picture.title %>" class="image u-photo"><% end %>

    <%= if p_type != :thumbnail || assigns[:home] do %>
      <%= {:safe, Wwwtech.Picture.to_html(@picture)} %>
    <% end %>

  <%= if assigns[:index] == nil and assigns[:exif] != nil do %>

Meta

Camera

<%= @exif[:model] %>

Taken

<%= DateFormat.parse!(@exif[:date_time], "%Y:%m:%d %H:%M:%S", :strftime) |> DateFormat.format!("%A, %d. %B %Y %H:%M", :strftime) %>

Resolution

<%= @exif[:pixel_x_dimension] %>×<%= @exif[:pixel_y_dimension] %>

        <%= if @exif[:gps_latitude] != nil and @exif[:gps_longitude] != nil do %>

GPS position
<% [la_h,la_m,la_s] = @exif[:gps_latitude]
                               [lo_h, lo_m, lo_s] = @exif[:gps_longitude]%>

            <a href="http://www.openstreetmap.org/?lat=<%= to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref]) %>&lon=<%= to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref]) %>&mlat=<%= to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref]) %>&mlon=<%= to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref]) %>&zoom=16">
              <%= la_h %>° <%= la_m %>′ <%= la_s %>″ <%= @exif[:gps_latitude_ref] %> /
              <%= lo_h %>° <%= lo_m %>′ <%= lo_s %>″ <%= @exif[:gps_longitude_ref] %>

        <% end %>

      <%= if @exif[:gps_latitude] != nil and @exif[:gps_longitude] != nil do %>
        <a class="osm" href="http://www.openstreetmap.org/?lat=<%= to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref]) %>&lon=<%= to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref]) %>&mlat=<%= to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref]) %>&mlon=<%= to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref]) %>&zoom=16"><img src="<%= cache_path(@conn, :show, url: "http://staticmap.openstreetmap.de/staticmap.php?center=#{to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref])},#{to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref])}&markers=#{to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref])},#{to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref])}&zoom=16&size=640x480") %>">
      <% end %>

  <% end %>

  <%= if assigns[:index] == nil and @picture.posse do %>

      <%= link "Twitter POSSE", to: "https://brid.gy/publish/twitter" %>

  <% end %>

<%
p_type = if assigns[:type], do: assigns[:type], else: :thumbnail
%><article class="picture<%= if assigns[:home] do %> home<% end %><%= if not @picture.show_in_index and logged_in?(@conn) do %> unpublished<% end %> h-entry">
  <%= unless assigns[:atom] do %>

<%= @picture.title %>

        <%= link to: page_path(@conn, :about), rel: "me" do %><img src="<%= static_path(@conn, "/images/" <> @picture.author.avatar) %>" class="avatar u-photo"> <%= @picture.author.name %><% end %>,
        <time class="dt-published" datetime="<%= @picture |> Wwwtech.Picture.created_at_timex |> DateFormat.format!("%FT%T%:z", :strftime) %>"><%= link Wwwtech.LayoutView.time_ago_in_words(@picture |> Wwwtech.Picture.created_at_timex), to: picture_path(@conn, :show, @picture), class: "u-url" %></time>

  <% end %>

  <%= if @picture.in_reply_to != "" and @picture.in_reply_to != nil do %>

      In reply to <%= link @picture.in_reply_to, to: @picture.in_reply_to, class: "u-in-reply-to" %>

  <% end %>

  <div class="e-content <%= p_type %>">
    <%= link(to: (if p_type == :thumbnail, do: picture_path(@conn, :show, @picture), else: picture_path(@conn, :show, @picture) <> ".png")) do %><img src="<%= picture_path(@conn, :show, @picture) %>.png?type=<%= p_type %>" alt="" title="<%= @picture.title %>" class="image u-photo"><% end %>

    <%= if p_type != :thumbnail || assigns[:home] do %>
      <%= {:safe, Wwwtech.Picture.to_html(@picture)} %>
    <% end %>

  <%= if assigns[:index] == nil and assigns[:exif] != nil do %>

Meta

      <% IO.inspect @exif %>

Camera

<%= @exif[:model] %>

Taken

<%= DateFormat.parse!(@exif[:date_time], "%Y:%m:%d %H:%M:%S", :strftime) |> DateFormat.format!("%A, %d. %B %Y %H:%M", :strftime) %>

Resolution

<%= @exif[:pixel_x_dimension] %>×<%= @exif[:pixel_y_dimension] %>

        <%= if @exif[:gps_latitude] != nil and @exif[:gps_longitude] != nil do %>

GPS position
<% [la_h,la_m,la_s] = @exif[:gps_latitude]
                               [lo_h, lo_m, lo_s] = @exif[:gps_longitude]%>

            <a href="http://www.openstreetmap.org/?lat=<%= to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref]) %>&lon=<%= to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref]) %>&mlat=<%= to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref]) %>&mlon=<%= to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref]) %>&zoom=16">
              <%= la_h %>° <%= la_m %>′ <%= la_s %>″ <%= @exif[:gps_latitude_ref] %> /
              <%= lo_h %>° <%= lo_m %>′ <%= lo_s %>″ <%= @exif[:gps_longitude_ref] %>

        <% end %>

      <%= if @exif[:gps_latitude] != nil and @exif[:gps_longitude] != nil do %>
        <a class="osm" href="http://www.openstreetmap.org/?lat=<%= to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref]) %>&lon=<%= to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref]) %>&mlat=<%= to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref]) %>&mlon=<%= to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref]) %>&zoom=16"><img src="<%= cache_path(@conn, :show, url: "http://staticmap.openstreetmap.de/staticmap.php?center=#{to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref])},#{to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref])}&markers=#{to_degrees(@exif[:gps_latitude], @exif[:gps_latitude_ref])},#{to_degrees(@exif[:gps_longitude], @exif[:gps_longitude_ref])}&zoom=16&size=640x480") %>">
      <% end %>

  <% end %>

  <%= if assigns[:index] == nil and @picture.posse do %>

      <%= link "Twitter POSSE", to: "https://brid.gy/publish/twitter" %>

  <% end %>


Update snailmail address

Update snailmail address

<%= gettext "Donate" %>

<%= gettext(~s|Webbkoll is a project by Dataskydd.net Sverige, a Swedish non-governmental organization (organization number 802495-4797) working on making data protection easy in law and in practice. We are not affiliated with any political party.|) |> raw %>

<%= gettext "We operate on a very small budget, and servers are usually our main expense; most work is done in our free time. Every euro (or krona) counts!" %>

<%= gettext("If you would like to make a contribution to the general funds of Dataskydd.net (helping both Webbkoll as well as our other activities), you can transfer money to the following bank account:") |> raw() %>

Bank: SEB (Skandinaviska Enskilda Banken)

BIC/SWIFT: ESSESESS

IBAN: SE2150000000052031057715

<%= gettext "Please write \"Donation\" in the message field. Any amount is much appreciated! (From a Swedish bank account, the number would be 52031057715.)" %>

<%= gettext "Our address (if necessary):" %>

    Dataskydd.net Sverige

    c/o Jensen-Urstad

    Bondegatan 64

    11633 Stockholm

    Sweden

<%= gettext "Our bank's address (if necessary):" %>

    SEB

    106 40 Stockholm

    Sweden

<%= gettext "At the moment we cannot accept Bitcoin or any other cryptocurrency." %>

<%= gettext "Donate" %>

<%= gettext(~s|Webbkoll is a project by Dataskydd.net Sverige, a Swedish non-governmental organization (organization number 802495-4797) working on making data protection easy in law and in practice. We are not affiliated with any political party.|) |> raw %>

<%= gettext "We operate on a very small budget, and servers are usually our main expense; most work is done in our free time. Every euro (or krona) counts!" %>

<%= gettext("If you would like to make a contribution to the general funds of Dataskydd.net (helping both Webbkoll as well as our other activities), you can transfer money to the following bank account:") |> raw() %>

Bank: SEB (Skandinaviska Enskilda Banken)

BIC/SWIFT: ESSESESS

IBAN: SE2150000000052031057715

<%= gettext "Please write \"Donation\" in the message field. Any amount is much appreciated! (From a Swedish bank account, the number would be 52031057715.)" %>

<%= gettext "Our address (if necessary):" %>

    Dataskydd.net Sverige

    Alsnogatan 18

    11641 Stockholm

    Sweden

<%= gettext "Our bank's address (if necessary):" %>

    SEB

    106 40 Stockholm

    Sweden

<%= gettext "At the moment we cannot accept Bitcoin or any other cryptocurrency." %>


add author to the posts template

add author to the posts template

  <%= for post <- @posts do %>
  <% img_src = hd(post.json_metadata["image"]) %>

      <a href="/posts/<%= post.permlink %>"> <img src="<%= img_src %>">

<%= format_tag(post.category, @conn.assigns.lang) %>

      <a class="header" href="/posts/<%= post.permlink %>"> <%= post.title %>

           Author

          <%= for tag <- post.tags do %>
          <a class="ui  label" href="/tags/<%=tag%>">
            <%= format_tag(tag, @conn.assigns.lang) %>

          <% end %>

    <% end %>

      <%= for {v, i} <- generate_pagination_list(@current_page) do %>

      <a class="<%=if i == @current_page, do: "active" %> item"
        href="<%= @conn.request_path <> "?" <> URI.encode_query(%{"page"=> v}) %>">
        <%= v %>

      <% end %>

  <%= for post <- @posts do %>
  <% img_src = hd(post.json_metadata["image"]) %>

        <a href="/posts/<%= post.permlink %>"> <img src="<%= img_src %>">

<%= format_tag(post.category, @conn.assigns.lang) %>

        <a class="header" href="/posts/<%= post.permlink %>"> <%= post.title %>

            <%= for tag <- post.tags do %>
              <a class="ui  label" href="/tags/<%=tag%>">
                <%= format_tag(tag, @conn.assigns.lang) %>

            <% end %>

  <% end %>

      <%= for {v, i} <- generate_pagination_list(@current_page) do %>

        <a class="<%=if i == @current_page, do: "active" %> item"
           href="<%= @conn.request_path <> "?" <> URI.encode_query(%{"page"=> v}) %>">
          <%= v %>

      <% end %>


Add missing closing div tag

Add missing closing div tag

<% parsed = URI.parse(@wg.meta.public_calendar) %>
<% webcal = parsed.host <> parsed.path %>

<%= @wg.name %> Working Group

Public Calendar

        <a href="webcal://<%= webcal %>">Subscribe to this calendar

          <%= link "Back to #{@wg.name}", to: Routes.working_group_path(@conn, :show, @wg.slug) %>

<%= calendar(@wg.meta.public_calendar) %>


Replaces the background image. closes #312


additional explanation and styling

additional explanation and styling


Cannot comment on own design

Cannot comment on own design

<!doctype html>

        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title></title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="apple-touch-icon" href="apple-touch-icon.png">

        <link rel="stylesheet" href="/lessonplans/css/GR1-5.css">
<%= if @embedded do %>

<% end %>

  <%= form_for @conn, design_group_path(@conn, :submit), [name: :search, target: "_parent"], fn _ -> %>
  <%= raw ParamSession.form_session @conn %>
  <input type='hidden' name='id' value='<%= @design.id %>'>

<%= @design.title %>

Topics

<%= @design.description && @design.description["topics"] %>

            <%= if @embedded do %>

Edit this

Save

            <% end %>

Short description of the basic inquiry approach

<%= @design.description && @design.description["description"] %>

                <%= if @embedded do %>

Edit this

Save

                <% end %>

How can technology help students to build their own ideas and collaborate with peers?

<%= @design.description && @design.description["howtech"] %>

                <%= if @embedded do %>

Edit this

Save

                <% end %>

            <%= if @already != @design.id do %>
              <input type="submit" name="review" value="Comment on this lesson design" class="right" target="_top">
            <% end %>
            <%= if (@userlen < 6 || @mine) && !@embedded  && !@review do %>
              <%
              did = @design.id
              text = case @already do
                x when is_nil(x) ->
               "Join the design team of this lesson"
                ^did ->
                "You are a member of this group, click to open it"
                _ ->
                "Leave your current design team, and join this design team"
              end %>
              <input type="submit" name="join" value="<%= text %>" class="right" target="_top">
        <% end %>

    <% end %>

<!doctype html>

        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title></title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="apple-touch-icon" href="apple-touch-icon.png">

        <link rel="stylesheet" href="/lessonplans/css/GR1-5.css">
<%= if @embedded do %>

<% end %>

  <%= form_for @conn, design_group_path(@conn, :submit), [name: :search, target: "_parent"], fn _ -> %>
  <%= raw ParamSession.form_session @conn %>
  <input type='hidden' name='id' value='<%= @design.id %>'>

<%= @design.title %>

Topics

<%= @design.description && @design.description["topics"] %>

            <%= if @embedded do %>

Edit this

Save

            <% end %>

Short description of the basic inquiry approach

<%= @design.description && @design.description["description"] %>

                <%= if @embedded do %>

Edit this

Save

                <% end %>

How can technology help students to build their own ideas and collaborate with peers?

<%= @design.description && @design.description["howtech"] %>

                <%= if @embedded do %>

Edit this

Save

                <% end %>

            <%= if (@userlen < 6 || @mine) && !@embedded  && !@review do %>
              <%
              did = @design.id
              text = case @already do
                x when is_nil(x) ->
               "Join the design team of this lesson"
                ^did ->
                "You are a member of this group, click to open it"
                _ ->
                "Leave your current design team, and join this design team"
              end %>
              <input type="submit" name="review" value="Comment on this lesson design" class="right" target="_top">
              <input type="submit" name="join" value="<%= text %>" class="right" target="_top">
        <% end %>

    <% end %>


Fix class attribute quoting

Fix class attribute quoting

Am seeing escaped html in my admin and noticed this missing quoted class attribute. Not sure if this is used but very minor change.

<% import ExAdmin.Gettext %>

Info

<%= gettext "Welcome to Notifier" %>

News

No news


Added verified badge to user#show.

Added verified badge to user#show.

Closes #322

<%# header tag begins in parent template %>

    <div class="profile-header__image profile-image<%= if @user.verified, do: " profile-header--verified" %>">
      <img src="<%= Vutuv.Avatar.binary(@user, :medium) %>">

        <%= full_name(@user) %>
        <%= if same_user?(@user, @current_user) do %>
        <%= link to: user_path(@conn, :edit, @user), class: "profile-header__edit button button--icon button--small" do %>

        <% end %>
        <% end %>

        <%= current_title(@job) %>
        <%= if(@organization != "" and @organization) do %>
          @ <%= @organization %>
        <% end %>

      Verified profile

        <%= if(@follower_count>0) do %>

<%= String.capitalize(@user.first_name) %> <%= gettext "has" %><%= @follower_count %> <%= gettext "followers" %>

        <% end %>
        <%= if is_visitor?(@conn, @current_user) do %>
          <%= if user_follows_user?(@current_user, @user) do %>
            <%= button to: connection_path(@conn, :delete, user_follows_user?(@current_user, @user)), method: :delete , class: "button button-link" do %>
               Unfollow
            <% end %>
          <%= else %>
            <%= button to: connection_path(@conn, :create, connection: %{follower_id: @current_user_id, followee_id: @user.id}), method: :post , class: "button button-link" do %>
               Follow
            <% end %>
          <% end %>
        <% end %>

<%= render Vutuv.LayoutView, "flash.html", assigns %>

  <%= gettext "Users" %> / <%= full_name @user %>

  <%= if same_user?(@user, @current_user) do %>
    <%= if @display_welcome_message do %>

<%= gettext "Your New vutuv Profile Page" %>

          Please take a couple of minutes to add information that might be interesting for your future followers. Why don't you start with skills and your work experiences?

          Like in Mission Impossible this introduction message will self-destruct in one hour.

    <% end %>
  <% end %>

    <%= if same_user?(@user, @current_user) do %>
    <%= link to: user_path(@conn, :edit, @user), class: "card__edit button button--icon button--small" do %>

    <% end %>
    <% end %>

<%= gettext "Headline" %>

<%= @user.headline %>

      <%= if(@user.gender != "other" && @user.gender) do %>

<%= gettext "Gender" %>

<%= @user.gender %>

      <% end %>
      <%= if(@user.birthdate) do %>

<%= gettext "Birthday" %>

<%= @user.birthdate %>

      <% end %>

    <%= render Vutuv.SharedView, "_ad.html" %>

      <%= if same_user?(@user, @current_user) do %>
      <%= link to: user_email_path(@conn, :index, @user), class: "card__edit button button--icon button--small" do %>

      <% end %>
      <% end %>

<%= gettext "Contact" %>

<%= if (Enum.count(@emails) == 1), do: gettext("Email"), else: gettext("Emails") %>

        <%= for email <- @emails do %>

<a href="mailto:<%= email(@user) %>"><%= email.value %>

        <% end %>

        <%= if same_user?(@user, @current_user) do %>
          <%= link gettext("Add"), to: user_email_path(@conn, :new, @current_user) %>
        <% end %>

<%= gettext "Vcard" %>

<%= link gettext("Download"), to: api_user_v_card_path(@conn, :get, @user) %>

    <%= if Enum.count(@user.social_media_accounts) > 0 or same_user?(@user, @current_user) do %>

        <%= if same_user?(@user, @current_user) do %>
        <%= link to: user_social_media_account_path(@conn, :index, @user), class: "card__edit button button--icon button--small" do %>

        <% end %>
        <% end %>

<%= gettext "Social Media" %>

          <%= for account <- @user.social_media_accounts do %>

<%= account.provider %>

<%= link "@#{account.value}", to: Vutuv.SocialMediaAccount.get_full_url(account) %>

          <% end %>

          <%= if same_user?(@user, @current_user) do %>
            <%= link gettext("Add"), to: user_social_media_account_path(@conn, :new, @current_user) %>
          <% end %>

    <% end %>

  <%= if Enum.count(@user_skills) > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Skills" %>

    <%= if Enum.count(@user_skills) > 0 do %>
    <%= render Vutuv.UserSkillView, "card_list.html", assigns %>
    <% end %>

    <%= if same_user?(@user, @current_user) do %>
      <% #Form for easy skill entry %>
      <%= if Enum.count(@user_skills) == 0 do %>
        <%= form_for @conn, user_path(@conn, :skills_create, @user), [as: :skills, class: "editform"], fn f -> %>
          <div class="editform__field<%= if error_tag(f, :name), do: " editform__field--error"%>">
            <%= label f, :skills, gettext("Enter comma seperated skills here") %>
            <%= text_input f, :skills, placeholder: gettext("PHP, JavaScript, Tap Dancing, Origami"), autofocus: true %>
            <%= error_tag f, :skills %>

            <%= submit gettext("Add"), class: "button button--full" %>

        <% end %>
      <% end %>
    <% end %>
    <%= if Enum.count(@user_skills) > 0 do %>

        <%= if same_user?(@user, @current_user) do %>
          <%= link gettext("Add"), to: user_user_skill_path(@conn, :new, @current_user) %>
        <% end %>
        <%= if same_user?(@user, @current_user) and Enum.count(@user.user_skills) > 4 do %> | <% end %>
        <%= if Enum.count(@user.user_skills) > 4 do %>
          <%= link gettext("View All"), to: user_user_skill_path(@conn, :index, @user)%>
        <% end %>

    <% end %>

  <% end %>

  <section class="card half<%= if @follower_count == 0, do: " card--empty" %>">

<%= gettext "Followers" %>

    <%= if(@follower_count > 0) do %>

    <%= render "card_list.html", conn: @conn, users: @user.followers, current_user: @current_user, current_user_id: @current_user_id %>

    <% else %>

<%= gettext "No Followers yet!" %>

    <% end %>
    <%= if(@follower_count > 3) do %>
      <%= link "#{@followers_count-3} #{gettext "More"}", to: user_follower_path(@conn, :index, @user), class: "card__morelink" %>
    <% end %>

<%= gettext "Following" %>

    <%= if(@followee_count > 0) do %>

    <%= render "card_list.html", conn: @conn, users: @user.followees, current_user: @current_user, current_user_id: @current_user_id %>

    <% else %>

<%= gettext "Not following anyone yet!" %>

    <% end %>
    <%= if(@followee_count > 3) do %>
      <%= link "#{@followee_count-3} #{gettext "More"}", to: user_followee_path(@conn, :index, @user), class: "card__morelink" %>
    <% end %>

    <%= if @total_jobs > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Experience" %>

    <%= if @total_jobs > 0 do %>
    <%= render Vutuv.WorkExperienceView, "card_list.html", assigns %>

    <% else %>

    <% end %>

      <%= if same_user?(@user, @current_user) do %>
        <%= link gettext("Add"), to: user_work_experience_path(@conn, :new, @current_user) %>
      <% end %>
      <%= if same_user?(@user, @current_user) and @total_jobs>3 do %> | <% end %>
      <%= if @total_jobs>3 do %>
        <%= link gettext("View All"), to: user_work_experience_path(@conn, :index, @user) %>
      <% end %>

  <% end %>

  <%= if @total_numbers > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Phone Numbers" %>

    <%= if @total_numbers > 0 do %>
    <%= render Vutuv.PhoneNumberView, "card_list.html", phone_numbers: @user.phone_numbers, user: @user, conn: @conn, current_user: @current_user %>
    <% end %>

      <%= if same_user?(@user, @current_user) do %>
        <%= link gettext("Add"), to: user_phone_number_path(@conn, :new, @current_user) %>
      <% end %>
      <%= if same_user?(@user, @current_user) and @total_numbers > 3 do %> | <% end %>
      <%= if @total_numbers>3 do %>
        <%= link gettext("View All"), to: user_phone_number_path(@conn, :index, @user) %>
      <% end %>

  <% end %>

  <%= if @total_links > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Links" %>

    <%= if @total_links > 0 do %>
    <%= render Vutuv.UrlView, "card_list.html", urls: @user.urls, user: @user, conn: @conn, current_user: @current_user %>
    <% end %>

      <%= if same_user?(@user, @current_user) do %>
        <%= link gettext("Add"), to: user_url_path(@conn, :new, @current_user) %>
      <% end %>
      <%= if same_user?(@user, @current_user) and @total_links > 3 do %> | <% end %>
      <%= if @total_links>3 do %>
        <%= link gettext("View All"), to: user_url_path(@conn, :index, @user) %>
      <% end %>

  <% end %>

  <%= if @total_addresses > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Addresses" %>

    <%= if @total_addresses > 0 do %>
    <%= render Vutuv.AddressView, "card_list.html", addresses: @user.addresses, user: @user, conn: @conn, current_user: @current_user %>
    <% end %>

      <%= if same_user?(@user, @current_user) do %>
        <%= link gettext("Add"), to: user_address_path(@conn, :new, @current_user) %>
      <% end %>
      <%= if same_user?(@user, @current_user) and @total_addresses > 3 do %> | <% end %>
      <%= if @total_addresses>3 do %>
        <%= link gettext("View All"), to: user_address_path(@conn, :index, @user) %>
      <% end %>

  <% end %>

<%# header tag begins in parent template %>

    <div class="profile-header__image profile-image<%= if !@user.verified, do: " profile-header--verified" %>">
      <img src="<%= Vutuv.Avatar.binary(@user, :medium) %>">

        <%= full_name(@user) %>
        <%= if same_user?(@user, @current_user) do %>
        <%= link to: user_path(@conn, :edit, @user), class: "profile-header__edit button button--icon button--small" do %>

        <% end %>
        <% end %>

        <%= current_title(@job) %>
        <%= if(@organization != "" and @organization) do %>
          @ <%= @organization %>
        <% end %>

      Verified profile

        <%= if(@follower_count>0) do %>

<%= String.capitalize(@user.first_name) %> <%= gettext "has" %><%= @follower_count %> <%= gettext "followers" %>

        <% end %>
        <%= if is_visitor?(@conn, @current_user) do %>
          <%= if user_follows_user?(@current_user, @user) do %>
            <%= button to: connection_path(@conn, :delete, user_follows_user?(@current_user, @user)), method: :delete , class: "button button-link" do %>
               Unfollow
            <% end %>
          <%= else %>
            <%= button to: connection_path(@conn, :create, connection: %{follower_id: @current_user_id, followee_id: @user.id}), method: :post , class: "button button-link" do %>
               Follow
            <% end %>
          <% end %>
        <% end %>

<%= render Vutuv.LayoutView, "flash.html", assigns %>

  <%= gettext "Users" %> / <%= full_name @user %>

  <%= if same_user?(@user, @current_user) do %>
    <%= if @display_welcome_message do %>

<%= gettext "Your New vutuv Profile Page" %>

          Please take a couple of minutes to add information that might be interesting for your future followers. Why don't you start with skills and your work experiences?

          Like in Mission Impossible this introduction message will self-destruct in one hour.

    <% end %>
  <% end %>

    <%= if same_user?(@user, @current_user) do %>
    <%= link to: user_path(@conn, :edit, @user), class: "card__edit button button--icon button--small" do %>

    <% end %>
    <% end %>

<%= gettext "Headline" %>

<%= @user.headline %>

      <%= if(@user.gender != "other" && @user.gender) do %>

<%= gettext "Gender" %>

<%= @user.gender %>

      <% end %>
      <%= if(@user.birthdate) do %>

<%= gettext "Birthday" %>

<%= @user.birthdate %>

      <% end %>

    <%= render Vutuv.SharedView, "_ad.html" %>

      <%= if same_user?(@user, @current_user) do %>
      <%= link to: user_email_path(@conn, :index, @user), class: "card__edit button button--icon button--small" do %>

      <% end %>
      <% end %>

<%= gettext "Contact" %>

<%= if (Enum.count(@emails) == 1), do: gettext("Email"), else: gettext("Emails") %>

        <%= for email <- @emails do %>

<a href="mailto:<%= email(@user) %>"><%= email.value %>

        <% end %>

        <%= if same_user?(@user, @current_user) do %>
          <%= link gettext("Add"), to: user_email_path(@conn, :new, @current_user) %>
        <% end %>

<%= gettext "Vcard" %>

<%= link gettext("Download"), to: api_user_v_card_path(@conn, :get, @user) %>

    <%= if Enum.count(@user.social_media_accounts) > 0 or same_user?(@user, @current_user) do %>

        <%= if same_user?(@user, @current_user) do %>
        <%= link to: user_social_media_account_path(@conn, :index, @user), class: "card__edit button button--icon button--small" do %>

        <% end %>
        <% end %>

<%= gettext "Social Media" %>

          <%= for account <- @user.social_media_accounts do %>

<%= account.provider %>

<%= link "@#{account.value}", to: Vutuv.SocialMediaAccount.get_full_url(account) %>

          <% end %>

          <%= if same_user?(@user, @current_user) do %>
            <%= link gettext("Add"), to: user_social_media_account_path(@conn, :new, @current_user) %>
          <% end %>

    <% end %>

  <%= if Enum.count(@user_skills) > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Skills" %>

    <%= if Enum.count(@user_skills) > 0 do %>
    <%= render Vutuv.UserSkillView, "card_list.html", assigns %>
    <% end %>

    <%= if same_user?(@user, @current_user) do %>
      <% #Form for easy skill entry %>
      <%= if Enum.count(@user_skills) == 0 do %>
        <%= form_for @conn, user_path(@conn, :skills_create, @user), [as: :skills, class: "editform"], fn f -> %>
          <div class="editform__field<%= if error_tag(f, :name), do: " editform__field--error"%>">
            <%= label f, :skills, gettext("Enter comma seperated skills here") %>
            <%= text_input f, :skills, placeholder: gettext("PHP, JavaScript, Tap Dancing, Origami"), autofocus: true %>
            <%= error_tag f, :skills %>

            <%= submit gettext("Add"), class: "button button--full" %>

        <% end %>
      <% end %>
    <% end %>
    <%= if Enum.count(@user_skills) > 0 do %>

        <%= if same_user?(@user, @current_user) do %>
          <%= link gettext("Add"), to: user_user_skill_path(@conn, :new, @current_user) %>
        <% end %>
        <%= if same_user?(@user, @current_user) and Enum.count(@user.user_skills) > 4 do %> | <% end %>
        <%= if Enum.count(@user.user_skills) > 4 do %>
          <%= link gettext("View All"), to: user_user_skill_path(@conn, :index, @user)%>
        <% end %>

    <% end %>

  <% end %>

  <section class="card half<%= if @follower_count == 0, do: " card--empty" %>">

<%= gettext "Followers" %>

    <%= if(@follower_count > 0) do %>

    <%= render "card_list.html", conn: @conn, users: @user.followers, current_user: @current_user, current_user_id: @current_user_id %>

    <% else %>

<%= gettext "No Followers yet!" %>

    <% end %>
    <%= if(@follower_count > 3) do %>
      <%= link "#{@followers_count-3} #{gettext "More"}", to: user_follower_path(@conn, :index, @user), class: "card__morelink" %>
    <% end %>

<%= gettext "Following" %>

    <%= if(@followee_count > 0) do %>

    <%= render "card_list.html", conn: @conn, users: @user.followees, current_user: @current_user, current_user_id: @current_user_id %>

    <% else %>

<%= gettext "Not following anyone yet!" %>

    <% end %>
    <%= if(@followee_count > 3) do %>
      <%= link "#{@followee_count-3} #{gettext "More"}", to: user_followee_path(@conn, :index, @user), class: "card__morelink" %>
    <% end %>

    <%= if @total_jobs > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Experience" %>

    <%= if @total_jobs > 0 do %>
    <%= render Vutuv.WorkExperienceView, "card_list.html", assigns %>

    <% else %>

    <% end %>

      <%= if same_user?(@user, @current_user) do %>
        <%= link gettext("Add"), to: user_work_experience_path(@conn, :new, @current_user) %>
      <% end %>
      <%= if same_user?(@user, @current_user) and @total_jobs>3 do %> | <% end %>
      <%= if @total_jobs>3 do %>
        <%= link gettext("View All"), to: user_work_experience_path(@conn, :index, @user) %>
      <% end %>

  <% end %>

  <%= if @total_numbers > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Phone Numbers" %>

    <%= if @total_numbers > 0 do %>
    <%= render Vutuv.PhoneNumberView, "card_list.html", phone_numbers: @user.phone_numbers, user: @user, conn: @conn, current_user: @current_user %>
    <% end %>

      <%= if same_user?(@user, @current_user) do %>
        <%= link gettext("Add"), to: user_phone_number_path(@conn, :new, @current_user) %>
      <% end %>
      <%= if same_user?(@user, @current_user) and @total_numbers > 3 do %> | <% end %>
      <%= if @total_numbers>3 do %>
        <%= link gettext("View All"), to: user_phone_number_path(@conn, :index, @user) %>
      <% end %>

  <% end %>

  <%= if @total_links > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Links" %>

    <%= if @total_links > 0 do %>
    <%= render Vutuv.UrlView, "card_list.html", urls: @user.urls, user: @user, conn: @conn, current_user: @current_user %>
    <% end %>

      <%= if same_user?(@user, @current_user) do %>
        <%= link gettext("Add"), to: user_url_path(@conn, :new, @current_user) %>
      <% end %>
      <%= if same_user?(@user, @current_user) and @total_links > 3 do %> | <% end %>
      <%= if @total_links>3 do %>
        <%= link gettext("View All"), to: user_url_path(@conn, :index, @user) %>
      <% end %>

  <% end %>

  <%= if @total_addresses > 0 or same_user?(@user, @current_user) do %>

<%= gettext "Addresses" %>

    <%= if @total_addresses > 0 do %>
    <%= render Vutuv.AddressView, "card_list.html", addresses: @user.addresses, user: @user, conn: @conn, current_user: @current_user %>
    <% end %>

      <%= if same_user?(@user, @current_user) do %>
        <%= link gettext("Add"), to: user_address_path(@conn, :new, @current_user) %>
      <% end %>
      <%= if same_user?(@user, @current_user) and @total_addresses > 3 do %> | <% end %>
      <%= if @total_addresses>3 do %>
        <%= link gettext("View All"), to: user_address_path(@conn, :index, @user) %>
      <% end %>

  <% end %>


preferences swap order

preferences swap order

<%= @identity.username %>

<%= @identity.name %>

<a href="/identities/<%= @identity.id %>/delegations/from"><%= @num_delegations_from %> delegations from
  |
<a href="/identities/<%= @identity.id %>/delegations/to"><%= @num_delegations_to %> delegations to
  |
<a href="/identities/<%= @identity.id %>/votes"><%= @num_votes %> votes

<%= unless @is_in_trust_metric do %>

NOT IN TRUST METRIC

<% end %>

<%= if @is_me do %>
	<form method="POST" action="preferences">
		<input type="hidden" name="_csrf_token" value="<%= get_csrf_token() %>" />

Trust metric URL

			<input name="trust_metric_url" value="<%= @identity.trust_metric_url %>" />

Minimum voting power

			<input name="minimum_voting_power" style="width: 250px;" value="<%= @identity.minimum_voting_power %>" />

Minimum reference approval score

			<input name="minimum_reference_approval_score" style="width: 250px;" value="<%= @identity.minimum_reference_approval_score %>" />

Number of artificial votes with score 0% in reference approval polls. Learn more

			<input name="soft_quorum_t" style="width: 250px;" value="<%= @identity.soft_quorum_t %>" />

Number of days for vote weight to halve

			<input name="vote_weight_halving_days" style="width: 250px;" value="<%= @identity.vote_weight_halving_days %>" />

		<button type="submit">Update preferences</button>
	</form>
<% else %>

Do you trust this identity? Learn more

	<%= render Democracy.HtmlPollView, "cast_vote.html",
		to_path: "/identities/#{@identity.id}",
		poll: %{:id => @identity.trust_metric_poll_id, :choice_type => "probability"},
		own_vote: @own_is_human_vote,
		allow_numeric: false
	%>

	<form method="POST" action="/identities/<%= @identity.id %>/delegations" style="margin-top: -15px;">
		<input type="hidden" name="_csrf_token" value="<%= get_csrf_token() %>" />

Relative weight of delegation to this identity

			<input name="weight"<%= if @delegation do %> value="<%= number_format_simple @delegation.data.weight %>"<% end %> />

Delegate only for the following topics

			<input name="topics"<%= if @delegation do %> value="<%= @delegation.data.topics |> Enum.join(", ") %>"<% end %> placeholder="All topics" />

		<%= if @delegation do %>
			<button type="submit">Update delegation</button>
			<button type="submit" name="weight" value="0">Remove delegation</button>
		<% else %>
			<button type="submit">Set delegation</button>
		<% end %>
	</form>
<% end %>

<%= @identity.username %>

<%= @identity.name %>

<a href="/identities/<%= @identity.id %>/delegations/from"><%= @num_delegations_from %> delegations from
  |
<a href="/identities/<%= @identity.id %>/delegations/to"><%= @num_delegations_to %> delegations to
  |
<a href="/identities/<%= @identity.id %>/votes"><%= @num_votes %> votes

<%= unless @is_in_trust_metric do %>

NOT IN TRUST METRIC

<% end %>

<%= if @is_me do %>
	<form method="POST" action="preferences">
		<input type="hidden" name="_csrf_token" value="<%= get_csrf_token() %>" />

Trust metric URL

			<input name="trust_metric_url" value="<%= @identity.trust_metric_url %>" />

Minimum voting power

			<input name="minimum_voting_power" style="width: 250px;" value="<%= @identity.minimum_voting_power %>" />

Number of artificial votes with score 0%. Learn more

			<input name="soft_quorum_t" style="width: 250px;" value="<%= @identity.soft_quorum_t %>" />

Minimum reference approval score

			<input name="minimum_reference_approval_score" style="width: 250px;" value="<%= @identity.minimum_reference_approval_score %>" />

Number of days for vote weight to halve

			<input name="vote_weight_halving_days" style="width: 250px;" value="<%= @identity.vote_weight_halving_days %>" />

		<button type="submit">Update preferences</button>
	</form>
<% else %>

Do you trust this identity? Learn more

	<%= render Democracy.HtmlPollView, "cast_vote.html",
		to_path: "/identities/#{@identity.id}",
		poll: %{:id => @identity.trust_metric_poll_id, :choice_type => "probability"},
		own_vote: @own_is_human_vote,
		allow_numeric: false
	%>

	<form method="POST" action="/identities/<%= @identity.id %>/delegations" style="margin-top: -15px;">
		<input type="hidden" name="_csrf_token" value="<%= get_csrf_token() %>" />

Relative weight of delegation to this identity

			<input name="weight"<%= if @delegation do %> value="<%= number_format_simple @delegation.data.weight %>"<% end %> />

Delegate only for the following topics

			<input name="topics"<%= if @delegation do %> value="<%= @delegation.data.topics |> Enum.join(", ") %>"<% end %> placeholder="All topics" />

		<%= if @delegation do %>
			<button type="submit">Update delegation</button>
			<button type="submit" name="weight" value="0">Remove delegation</button>
		<% else %>
			<button type="submit">Set delegation</button>
		<% end %>
	</form>
<% end %>


Adding embed to live

Adding embed to live

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Brainstorming</title>

  </head>
  <body>

    <script id="userstate" type="application/json">
{"user_id": "<%= @user.id %>", "room": <%= @room %>,
"user_nick": "<%= @user.nick %>",
"admin": <%= @admin %>,
"chat_enabled": <%= @chat_enabled %>,
"embed": "<%= @embed %>",
"title": "<%= @title %>",
"room": <%= @room %>}

    </script>
    <script src="/live/bundle.js"></script>
  </body>
</html>

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Brainstorming</title>

  </head>
  <body>

    <script id="userstate" type="application/json">
{"user_id": "<%= @user.id %>", "room": <%= @room %>,
"user_nick": "<%= @user.nick %>",
"admin": <%= @admin %>,
"chat_enabled": <%= @chat_enabled %>,
"title": "<%= @title %>",
"room": <%= @room %>}

    </script>
    <script src="/live/bundle.js"></script>
  </body>
</html>


smaller columns

smaller columns

  <%= @catcount %> Categories with
  <%= @podcount %> Podcasts and
  <%= @epicount %> Episodes and counting...

    <%= for {category, counter} <- Enum.with_index(@categories) do %>

        <span class="btn btn-sm <%= btn_cycle(counter) %>">
        <%= link [fa_icon("folder-o"), " ", C.String.truncate(category.title, 22)],
                 to: category_frontend_path(@conn, :show, category),
                 style: "color: #" <> color_cycle(counter) %>

        <%= if category.children != [] do %>

            <%= for subcategory <- category.children do %>

                <%= link [fa_icon("folder-o"), " ", subcategory.title],
                         to: category_frontend_path(@conn, :show, subcategory),
                         style: "color: #555" %>

            <% end %>

        <% end %>

    <% end %>

Search

        <%= form_for @conn, search_frontend_path(@conn, :new), [as: :search], fn f -> %>

            <%= text_input f, :searchstring, class: "form-control" %>

            <%= submit "Submit", class: "btn btn-primary" %>

        <% end %>

Latest Podcasts

        <%= for podcast <- latest_podcasts do %>

            <%= link [fa_icon("podcast"), " ", C.String.truncate(podcast.title, 50)],
                     to: podcast_frontend_path(@conn, :show, podcast),
                     class: "btn btn-default btn-xs",
                     style: "color: #000" %>

            <%= fa_icon("user") %> <%= podcast.author %>

            <%= fa_icon("calendar") %> <%= podcast.inserted_at && Ecto.DateTime.to_date(podcast.inserted_at) %>

            <%= if podcast.description do %>
              <%= fa_icon("image") %> <%= C.String.truncate(podcast.description, 150) %>
            <% end %>

        <% end %>

Top 10 subscribed Podcasts

        <%= for {[count, id, title], rank} <- Enum.with_index(@popular_podcasts) do %>

            <%= rank + 1 %>.:
            <%= link [fa_icon("podcast"), " ", C.String.truncate(title, 50)],
                     to: podcast_frontend_path(@conn, :show, id),
                     class: "btn btn-default btn-xs",
                     style: "color: #000" %>
            <%= count %> <%= fa_icon("user") %>

        <% end %>

Latest Episodes

        <%= for episode <- latest_episodes do %>

            <%= link [fa_icon("headphones"), " ", C.String.truncate(episode.title, 40)],
                        to: episode_frontend_path(@conn, :show, episode),
                        class: "btn btn-primary btn-xs" %>

            <%= link [fa_icon("podcast"), " ", episode.podcast.title],
                        to: podcast_frontend_path(@conn, :show, episode.podcast),
                        class: "btn btn-default btn-xs",
                        style: "color: #000;" %>

            <%= fa_icon("calendar") %> <%= Ecto.DateTime.to_date(episode.publishing_date) %>

            <%= if episode.duration do %>
              <%= fa_icon("clock-o") %> <%= episode.duration %>

            <%= end %>
            <%= if episode.author do %>
              <%= fa_icon("user") %> <%= episode.author %>

            <%= end %>
            <%= if episode.subtitle do %>
              <%= fa_icon("image") %> <%= episode.subtitle %>
            <%= end %>

        <% end %>


Fix invalid layout markup

Fix invalid layout markup

<!DOCTYPE html>

    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, shrink-to-fit=no, user-scalable=no"/>
    <title><%= app_module %> · Phoenix Framework</title>
    <link rel="stylesheet" href="<%%= Routes.static_push(@conn, "/css/app.css") %>"/>

Get Started

          <img src="<%%= Routes.static_path(@conn, "/images/phoenix.png") %>" alt="Phoenix Framework Logo"/>

<%%= get_flash(@conn, :info) %>

<%%= get_flash(@conn, :error) %>

      <%%= render @view_module, @view_template, assigns %>


Fix stage and stage time order in performance lists

  <%= gettext("Performances") %>

  <%= name_with_flag(@contest) %>

<%= render "_filter_form.html",
  conn: @conn,
  changeset: @filter_changeset,
  path: Routes.internal_contest_performance_path(@conn, :index, @contest),
  stage_date_options: stage_date_filter_options(@contest),
  stage_options: stage_filter_options(@contest),
  genre_options: genre_filter_options(@contest),
  cc_options: cc_filter_options(@contest),
  ag_options: ag_filter_options(),
  count: length(@performances),
  filter_active: @filter_active
  %>

        <%= gettext("Stage time") %>
        <%= gettext("Category") %>
        <%= gettext("Participants") %>

      <%= for performance <- @performances do %>

          <%= for {stage_time, stage_name} <- [stage_info(performance, :medium)] do %>
          <%= stage_time %>

          <%= stage_name %>
          <% end %>

          <%= link category_name(performance),
            to: Routes.internal_contest_performance_path(@conn, :show, @contest, performance)
            %>

          <%= render "_list_performance.html", performance: performance %>

          <%= edit_icon_link(
            Routes.internal_contest_performance_path(@conn, :edit, @contest, performance)
            ) %>
          <%= delete_icon_link(
            Routes.internal_contest_performance_path(@conn, :delete, @contest, performance),
            gettext("Do you really want to delete this performance?")
            ) %>

      <% end %>

  <%= gettext("Performances") %>

  <%= name_with_flag(@contest) %>

<%= render "_filter_form.html",
  conn: @conn,
  changeset: @filter_changeset,
  path: Routes.internal_contest_performance_path(@conn, :index, @contest),
  stage_date_options: stage_date_filter_options(@contest),
  stage_options: stage_filter_options(@contest),
  genre_options: genre_filter_options(@contest),
  cc_options: cc_filter_options(@contest),
  ag_options: ag_filter_options(),
  count: length(@performances),
  filter_active: @filter_active
  %>

        <%= gettext("Stage time") %>
        <%= gettext("Category") %>
        <%= gettext("Participants") %>

      <%= for performance <- @performances do %>

          <%= for {stage_name, stage_time} <- [stage_info(performance, :medium)] do %>
          <%= stage_time %>

          <%= stage_name %>
          <% end %>

          <%= link category_name(performance),
            to: Routes.internal_contest_performance_path(@conn, :show, @contest, performance)
            %>

          <%= render "_list_performance.html", performance: performance %>

          <%= edit_icon_link(
            Routes.internal_contest_performance_path(@conn, :edit, @contest, performance)
            ) %>
          <%= delete_icon_link(
            Routes.internal_contest_performance_path(@conn, :delete, @contest, performance),
            gettext("Do you really want to delete this performance?")
            ) %>

      <% end %>