{% extends "base.html.twig" %} {% block css %} {{ parent() }} {% if not app.debug %} <link rel="stylesheet" href="{{ asset('wallassets/material.css') }}"> {% endif %} {% endblock %} {% block scripts %} {{ parent() }} <script src="{{ asset('wallassets/material' ~ (app.debug ? '.dev' : '') ~ '.js') }}"></script> {% endblock %} {% block header %} {% endblock %} {% block messages %} {% for flash_message in app.session.flashbag.get('notice') %} <script> Materialize.toast('{{ flash_message|trans }}', 4000); </script> {% endfor %} {% endblock %} {% block body_class %}index{% endblock %} {% block menu %} <nav class="cyan darken-1"> <ul id="slide-out" class="left-bar side-nav fixed"> {% block logo %} <li class="logo border-bottom"> {% if is_granted('LIST_ENTRIES') %} <a title="{{ 'menu.left.back_to_unread'|trans }}" href="{{ path('unread') }}"> <img src="{{ asset('img/logo-square.svg') }}" alt="wallabag logo" /> </a> {% else %} <img src="{{ asset('img/logo-square.svg') }}" alt="wallabag logo"/> {% endif %} </li> {% endblock %} {% set current_route = app.request.attributes.get('_route') %} {% set current_route_from_query_params = app.request.query.get('currentRoute') %} {% set active_route = null %} {% if current_route == 'all' or current_route_from_query_params == 'all' %} {% set active_route = 'all' %} {% elseif current_route == 'annotated' or current_route_from_query_params == 'annotated' %} {% set active_route = 'annotated' %} {% elseif current_route == 'archive' or current_route_from_query_params == 'archive' %} {% set active_route = 'archive' %} {% elseif current_route == 'starred' or current_route_from_query_params == 'starred' %} {% set active_route = 'starred' %} {% elseif current_route == 'unread' or current_route == 'homepage' or current_route_from_query_params == 'unread' %} {% set active_route = 'unread' %} {% elseif current_route == 'untagged' %} {% set active_route = 'untagged' %} {% endif %} {% if is_granted('LIST_ENTRIES') %} <li class="bold {% if active_route == 'unread' %}active{% endif %}"> <a class="waves-effect" href="{{ path('unread') }}">{{ 'menu.left.unread'|trans }} <span class="items-number grey-text">{{ count_entries('unread') }}</span></a> </li> <li class="bold {% if active_route == 'starred' %}active{% endif %}"> <a class="waves-effect" href="{{ path('starred') }}">{{ 'menu.left.starred'|trans }} <span class="items-number grey-text">{{ count_entries('starred') }}</span></a> </li> <li class="bold {% if active_route == 'archive' %}active{% endif %}"> <a class="waves-effect" href="{{ path('archive') }}">{{ 'menu.left.archive'|trans }} <span class="items-number grey-text">{{ count_entries('archive') }}</span></a> </li> <li class="bold {% if active_route == 'annotated' %}active{% endif %}"> <a class="waves-effect" href="{{ path('annotated') }}">{{ 'menu.left.with_annotations'|trans }} <span class="items-number grey-text">{{ count_entries('annotated') }}</span></a> </li> <li class="bold {% if active_route == 'all' %}active{% endif %}"> <a class="waves-effect" href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }} <span class="items-number grey-text">{{ count_entries('all') }}</span></a> </li> {% endif %} <li class="bold {% if current_route == 'tags' %}active{% endif %}"> <a class="waves-effect" href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }} <span class="items-number grey-text">{{ count_tags() }}</span></a> </li> </ul> <div class="nav-panels"> <div class="nav-panel-actions nav-panel-item"> <div class="nav-panel-top"> <button data-activates="slide-out" class="nav-panel-menu button-collapse"><i class="material-icons">menu</i></button> <h1 class="left action"> {% block title %} {% endblock %} </h1> </div> <ul class="input-field nav-panel-buttom"> <li class="bold toggle-add-url-container"> <a class="waves-effect tooltipped toggle-add-url" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.add_new_entry'|trans }}" href="{{ path('new') }}" id="nav-btn-add"> <i class="material-icons">add</i> </a> </li> <li> <a class="waves-effect tooltipped" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.search'|trans }}" href="javascript: void(null);" id="nav-btn-search"> <i class="material-icons">search</i> </a> </li> {% if active_route and is_granted('LIST_ENTRIES') %} <li id="button_random"> <a class="waves-effect tooltipped js-random-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.random_entry'|trans }}" href="{{ path('random_entry', {'type': active_route}) }}"> <i class="material-icons">casino</i> </a> </li> {% endif %} <li id="button_filters" class="button-filters"> <a class="nav-panel-menu button-collapse-right tooltipped js-filters-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.filter_entries'|trans }}" href="#" data-activates="filters"> <i class="material-icons">filter_list</i> </a> </li> <li id="button_export" class="button-export"> <a class="nav-panel-menu button-collapse-right tooltipped js-export-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.export'|trans }}" href="#" data-activates="export"> <i class="material-icons">file_download</i> </a> </li> <li class="bold"> <a class="wave-effect tooltipped dropdown-button" data-beloworigin="true" data-constrainwidth="false" data-activates="dropdown-account" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.account'|trans }}" href="#" id="news_menu"> <i class="material-icons" id="news_link">account_circle</i> </a> </li> </ul> <ul id="dropdown-account" class="dropdown-content"> <li><a href="{{ path('config') }}"><i class="material-icons">settings</i> {{ 'menu.left.config'|trans }}</a></li> <li><a href="{{ path('developer') }}"><i class="material-icons">smartphone</i> {{ 'menu.left.developer'|trans }}</a></li> <li><a href="{{ path('import') }}"><i class="material-icons">import_export</i> {{ 'menu.left.import'|trans }}</a></li> {% if craue_setting('restricted_access') and is_granted('LIST_SITE_CREDENTIALS') %} <li><a href="{{ path('site_credentials_index') }}"><i class="material-icons">vpn_key</i> {{ 'menu.left.site_credentials'|trans }}</a></li> {% endif %} <li class="divider"></li> {% set can_list_user = is_granted('LIST_USERS') %} {% set is_super_admin = is_granted('ROLE_SUPER_ADMIN') %} {% set can_list_ignore_origin_instance_rules = is_granted('LIST_IGNORE_ORIGIN_INSTANCE_RULES') %} {% if can_list_user %} <li><a href="{{ path('user_index') }}"><i class="material-icons">people</i>{{ 'menu.left.users_management'|trans }}</a></li> {% endif %} {% if is_super_admin %} <li><a href="{{ path('craue_config_settings_modify') }}"><i class="material-icons">settings</i> {{ 'menu.left.internal_settings'|trans }}</a></li> {% endif %} {% if can_list_ignore_origin_instance_rules %} <li><a href="{{ path('ignore_origin_instance_rules_index') }}"><i class="material-icons">build</i> {{ 'menu.left.ignore_origin_instance_rules'|trans }}</a></li> {% endif %} {% if can_list_user or is_super_admin or can_list_ignore_origin_instance_rules %} <li class="divider"></li> {% endif %} <li> <a href="#" class="js-theme-toggle" data-theme="light"> <i class="theme-toggle-icon material-icons tiny">brightness_high</i> <span>{{ 'menu.left.theme_toggle_light'|trans }}</span> </a> </li> <li> <a href="#" class="js-theme-toggle" data-theme="dark"> <i class="theme-toggle-icon material-icons tiny">brightness_low</i> <span>{{ 'menu.left.theme_toggle_dark'|trans }}</span> </a> </li> <li> <a href="#" class="js-theme-toggle" data-theme="auto"> <i class="theme-toggle-icon material-icons tiny">brightness_auto</i> <span>{{ 'menu.left.theme_toggle_auto'|trans }}</span> </a> </li> <li class="divider"></li> <li><a href="{{ path('howto') }}"><i class="material-icons">live_help</i> {{ 'menu.left.howto'|trans }}</a></li> <li><a href="{{ path('quickstart') }}"><i class="material-icons">assistant_photo</i> {{ 'menu.left.quickstart'|trans }}</a></li> <li class="divider"></li> <li><a href="{{ path('fos_user_security_logout') }}"><i class="material-icons">input</i> {{ 'menu.left.logout'|trans }}</a></li> </ul> </div> {% if is_granted('LIST_ENTRIES') %} {{ render(controller('Wallabag\\Controller\\EntryController::searchFormAction', {'currentRoute': current_route})) }} {% endif %} {% if is_granted('CREATE_ENTRIES') %} {{ render(controller('Wallabag\\Controller\\EntryController::addEntryFormAction')) }} {% endif %} </div> </nav> {% endblock %} {% block footer %} <footer class="page-footer cyan darken-2"> <div class="footer-copyright"> <div class="container"> <div class="row"> <div class="col m12 l8"> <p class="footer-text"> {{ display_stats() }} </p> </div> <div class="col s12 l4"> <p class="footer-text"> {{ 'footer.wallabag.powered_by'|trans }} <a target="_blank" rel="noopener" href="https://wallabag.org" class="grey-text text-lighten-4">wallabag</a> – <a class="grey-text text-lighten-4" href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans|lower }}</a> </p> </div> </div> </div> </div> </footer> {% endblock %}