<%#
# @file
# Main application file. Holds scaffolding present on every page.
# Then a certain non-partial view (no _ preceding filename) will be
# displayed within, based on URL
#%>

<%= render :partial => 'layouts/head' %>

<body class="<%= authenticated? ? "authenticated" : "unauthenticated" %> controller-<%= controller_name %> action-<%= action_name %>">

    <a class='feedback-icon' target='_blank' href='https://hylo.com/c/metamaps'></a>    

    <%= content_tag :div, class: "main" do %>

        <% classes = action_name == "home" ? "homePage" : ""
           classes += action_name == "home" && authenticated? ? " explorePage" : ""
           classes += controller_name == "maps" && action_name == "index" ? " explorePage" : ""
           if controller_name == "maps" && action_name == "show"
             classes += " mapPage"
             if policy(@map).update?
               classes += " canEditMap"
             end
             if @map.permission == "commons"
               classes += " commonsMap"
             end
           end
           classes += controller_name == "topics" && action_name == "show" ? " topicPage" : ""
           %>

        <div class="wrapper <%= classes %>" id="wrapper">

            <%= render :partial => 'layouts/upperelements', :locals => { :appsPage => false }  %>

            <%= yield %>

            <div class="showcard mapElement mapElementHidden" id="showcard"></div> <!-- the topic card -->
            <% if authenticated? %>
                <% # for creating and pulling in topics and synapses %>
                <%= render :partial => 'maps/newtopic' %>
                <%= render :partial => 'maps/newsynapse' %>
                <% # for populating the change metacode list on the topic card %>
                <%= render :partial => 'shared/metacodeoptions' %>
            <% end %>
            <%= render :partial => 'layouts/lowermapelements' %>

            <div id="explore"></div>
            
            <div id="instructions">
              <div class="addTopic">
                Double-click to<br>add a topic!
              </div>
              <div class="tabKey">
                Use Tab & Shift+Tab to select a metacode
              </div>
              <div class="enterKey">
                Press Enter to add the topic
              </div>
            </div>
            
            <div id="infovis"></div>
            <%= render :partial => 'layouts/mobilemenu' %>
            
            <p id="toast" class="toast">
              <% if devise_error_messages? %>
                <%= devise_error_messages! %>
              <% elsif notice %>
                <%= notice %>
              <% end %>
            </p>      
            <div id="loading"></div>
        </div>

    <% end %>

<%= render :partial => 'layouts/foot' %>
