mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 02:36:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			248 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Twig
		
	
	
	
	
	
			
		
		
	
	
			248 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Twig
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html lang="{{ trans('config.html_language') }}">
 | |
| <head>
 | |
|     <base href="{{ route('index') }}/">
 | |
|     <meta charset="UTF-8">
 | |
|     <meta http-equiv="X-UA-Compatible" content="IE=edge">
 | |
|     <meta name="csrf-token" content="{{ csrf_token() }}">
 | |
|     <meta name="robots" content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir">
 | |
|     <meta name="apple-mobile-web-app-capable" content="yes">
 | |
| 
 | |
|     <title>
 | |
|         {% if subTitle %}
 | |
|             {{ subTitle }} »
 | |
|         {% endif %}
 | |
|         {% if title != "Firefly III" %}
 | |
|             {{ title }} »
 | |
|         {% endif %}
 | |
| 
 | |
|         Firefly III
 | |
| 
 | |
|     </title>
 | |
|     <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
 | |
|     {# CSS things #}
 | |
|     {# libraries #}
 | |
|     <link href="v1/lib/bs/css/bootstrap.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
 | |
|     <link href="v1/lib/fa/css/font-awesome.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
 | |
|     <link href="v1/css/daterangepicker.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
 | |
| 
 | |
|     {# the theme #}
 | |
|     <link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
 | |
|     <link href="v1/lib/adminlte/css/skins/skin-blue-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
 | |
| 
 | |
|     {# Firefly III customisations #}
 | |
|     <link href="v1/css/firefly.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
 | |
| 
 | |
|     {# Extra CSS for the demo: #}
 | |
|     {% if not shownDemo %}
 | |
|         <link href="v1/lib/intro/introjs.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
 | |
|     {% endif %}
 | |
| 
 | |
|     {# Any local custom CSS.  #}
 | |
|     {% block styles %}{% endblock %}
 | |
|     <!--[if lt IE 9]>
 | |
|     <script src="v1/js/lib/html5shiv.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
 | |
|     <script src="v1/js/lib/respond.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
 | |
|     <![endif]-->
 | |
| 
 | |
|     {# this entry is in the header so it's loaded early #}
 | |
|     <script type="text/javascript" nonce="{{ JS_NONCE }}">var forceDemoOff = false;</script>
 | |
| 
 | |
|     {# favicons #}
 | |
|     {% include 'v1.partials.favicons' %}
 | |
| 
 | |
| </head>
 | |
| <body class="skin-blue-light sidebar-mini hold-transition">
 | |
| <div class="wrapper" id="app">
 | |
| 
 | |
|     <header class="main-header">
 | |
| 
 | |
|         {# Logo #}
 | |
|         <a href="{{ route('index') }}" class="logo">
 | |
|             {# mini logo for sidebar mini 50x50 pixels #}
 | |
|             <span class="logo-mini">FF</span>
 | |
|             {# logo for regular state and mobile devices #}
 | |
|             <span class="logo-lg"><b>Firefly</b>III</span>
 | |
|         </a>
 | |
| 
 | |
|         <nav class="navbar navbar-static-top" role="navigation">
 | |
|             <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
 | |
|                 <span class="sr-only">{{ 'toggleNavigation'|_ }}</span>
 | |
|             </a>
 | |
|             <div class="navbar-custom-menu">
 | |
|                 <ul class="nav navbar-nav">
 | |
| 
 | |
|                     <li class="hidden-sm hidden-xs">
 | |
|                         <a href="#" id="help" data-route="{{ original_route_name }}" data-extra="{{ objectType|default("") }}">
 | |
|                             <span class="fa fa-question-circle" data-route="{{ original_route_name }}" data-extra="{{ objectType|default("") }}"></span>
 | |
|                         </a>
 | |
|                     </li>
 | |
| 
 | |
|                     <li>
 | |
|                         <span style="color:#fff;padding: 15px;display: block;line-height: 20px;">
 | |
|                             <span id="daterange"></span>
 | |
|                         </span>
 | |
|                     </li>
 | |
| 
 | |
|                     <li class="dropdown user user-menu">
 | |
|                     <span style="cursor:default;color:#fff;padding: 15px;display: block;line-height: 20px;">
 | |
|                         <span class="hidden-xs">{{ Auth.user.email }}</span>
 | |
|                     </span>
 | |
|                     </li>
 | |
|                     <li id="sidebar-toggle">
 | |
|                         <a href="#" data-toggle="control-sidebar"><span class="fa fa-plus-circle"></span></a>
 | |
|                     </li>
 | |
|                 </ul>
 | |
|             </div>
 | |
| 
 | |
|         </nav>
 | |
|     </header>
 | |
|     <aside class="main-sidebar">
 | |
|         <section class="sidebar">
 | |
|             <form action="{{ route('search.index') }}" method="get" class="sidebar-form">
 | |
|                 <div class="input-group">
 | |
|                     <input autocomplete="off" type="text" name="search" class="form-control" placeholder="{{ 'searchPlaceholder'|_ }}" value="{{ query }}"/>
 | |
|                     <span class="input-group-btn">
 | |
|                 <button type='submit' name='go' id='search-btn' class="btn btn-flat"><span class="fa fa-search"></span></button>
 | |
|               </span>
 | |
|                 </div>
 | |
|             </form>
 | |
|             {% include('v1.partials.menu-sidebar') %}
 | |
|         </section>
 | |
|     </aside>
 | |
| 
 | |
|     <div class="content-wrapper">
 | |
|         <section class="content-header">
 | |
|             {% include('v1.partials.page-header') %}
 | |
|             {% block breadcrumbs %}{% endblock %}
 | |
|         </section>
 | |
| 
 | |
|         <section class="content">
 | |
|             {% if IS_DEMO_SITE %}
 | |
|                 <div class="row no-print">
 | |
|                     <div class="col-lg-12">
 | |
|                         <p class="well">
 | |
|                             {% include ['v1.demo.' ~ Route.getCurrentRoute.getName, 'v1.demo.no-demo-text'] %}
 | |
|                         </p>
 | |
|                     </div>
 | |
|                 </div>
 | |
|             {% endif %}
 | |
| 
 | |
|             {% include('v1.partials.flashes') %}
 | |
| 
 | |
|             {% block content %}{% endblock %}
 | |
|         </section>
 | |
|     </div>
 | |
|     <footer class="main-footer">
 | |
|         <div class="pull-right">
 | |
|             <b class="hidden-xs">{{ 'version'|_ }}</b> <a href="{{ route('debug') }}">{{ Config.get('firefly.version') }}</a>
 | |
|         </div>
 | |
|         <strong><a href="https://github.com/firefly-iii/firefly-iii">Firefly III</a></strong>
 | |
|         <small class="text-muted">© James Cole, <a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0-or-later</a>.</small>
 | |
|         {% if FF_IS_ALPHA %}<small class="text-danger hidden-xs"><br>{{ 'is_alpha_warning'|_ }}</small>{% endif %}
 | |
|         {% if FF_IS_BETA %}<small class="text-warning hidden-xs"><br>{{ 'is_beta_warning'|_ }}</small>{% endif %}
 | |
|     </footer>
 | |
| 
 | |
|     {% include('v1.partials.control-bar') %}
 | |
| 
 | |
| </div>
 | |
| <div class="modal fade" id="defaultModal" tabindex="-1" role="dialog">
 | |
| </div>
 | |
| 
 | |
| <div class="modal fade" tabindex="-1" role="dialog" id="helpModal">
 | |
|     <div class="modal-dialog modal-lg">
 | |
|         <div class="modal-content">
 | |
|             <div class="modal-header">
 | |
|                 <h4 class="modal-title" id="helpTitle"> </h4>
 | |
|             </div>
 | |
|             <div class="modal-body" id="helpBody"> </div>
 | |
|             <div class="modal-footer">
 | |
|                 <small class="pull-left">
 | |
|                     {{ 'need_more_help'|_ }}
 | |
|                 </small>
 | |
|                 <br/>
 | |
|                 <small class="pull-left">
 | |
|                     {{ trans('firefly.reenable_intro_text')|raw }}
 | |
|                 </small>
 | |
|                 <button type="button" class="btn btn-default" data-dismiss="modal">{{ 'close'|_ }}</button>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| {# Java libraries and stuff: #}
 | |
| 
 | |
| {% block definitions %}{% endblock %}
 | |
| 
 | |
| {# Moment JS #}
 | |
| <script src="v1/js/lib/moment.min.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
 | |
| <script src="v1/js/lib/moment/{{ language }}.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
 | |
| 
 | |
| {# All kinds of variables. #}
 | |
| <script src="{{ route('javascript.variables') }}?ext=.js&v={{ FF_VERSION }}{% if account %}&account={{ account.id }}{% endif %}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
 | |
| 
 | |
| {# Base script: jquery and bootstrap #}
 | |
| <script src="v1/js/app.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
 | |
| 
 | |
| {# Vue scripts and components. Only loaded when needed #}
 | |
| {% if VUE_SCRIPT_NAME %}
 | |
|     <script src="v1/js/app_vue.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
 | |
|     <script src="v1/js/{{ VUE_SCRIPT_NAME }}.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
 | |
| {% endif %}
 | |
| 
 | |
| {# date range picker, current template, etc.#}
 | |
| <script src="v1/js/lib/daterangepicker.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
 | |
| <script src="v1/lib/adminlte/js/adminlte.min.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
 | |
| <script type="text/javascript" src="v1/js/lib/accounting.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
 | |
| 
 | |
| {# Firefly III code#}
 | |
| <script type="text/javascript" src="v1/js/ff/firefly.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
 | |
| <script type="text/javascript" src="v1/js/ff/help.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
 | |
| {% if not shownDemo %}
 | |
|     <script type="text/javascript" nonce="{{ JS_NONCE }}">
 | |
|         var routeForTour = "{{ current_route_name }}";
 | |
|         var routeStepsUri = "{{ route('json.intro', [current_route_name, objectType|default("")]) }}";
 | |
|         var routeForFinishedTour = "{{ route('json.intro.finished', [current_route_name, objectType|default("")]) }}";
 | |
|     </script>
 | |
|     <script type="text/javascript" src="v1/lib/intro/intro.min.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
 | |
|     <script type="text/javascript" src="v1/js/ff/intro/intro.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
 | |
| {% endif %}
 | |
| 
 | |
| {% block scripts %}{% endblock %}
 | |
| 
 | |
| {% if config('firefly.tracker_site_id') != '' and config('firefly.tracker_url') != '' %}
 | |
|     <!-- This tracker tag is only here because this instance of Firefly III was purposefully configured to include it -->
 | |
|     <!-- Your own installation will NOT include it, unless you explicitely configure it to have it. -->
 | |
|     <script type="text/javascript" nonce="{{ JS_NONCE }}">
 | |
|         var _paq = window._paq || [];
 | |
|         _paq.push(['trackPageView']);
 | |
|         _paq.push(['enableLinkTracking']);
 | |
|         (function() {
 | |
|             var u="//{{ config('firefly.tracker_url') }}/";
 | |
|             _paq.push(['setTrackerUrl', u+'matomo.php']);
 | |
|             _paq.push(['setSiteId', '{{ config('firefly.tracker_site_id') }}']);
 | |
|             var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
 | |
|             g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
 | |
|         })();
 | |
|     </script>
 | |
|     <noscript><p><img src="//{{ config('firefly.tracker_url') }}/matomo.php?idsite={{ config('firefly.tracker_site_id') }}&rec=1" style="border:0;" alt="" /></p></noscript>
 | |
| {% endif %}
 | |
| 
 | |
| <script nonce="{{ JS_NONCE }}">
 | |
|     // Initialize the service worker
 | |
|     if ('serviceWorker' in navigator) {
 | |
|         navigator.serviceWorker.register('serviceworker.js?v={{ FF_VERSION }}', {
 | |
|             scope: '{{ route('index') }}'
 | |
|         }).then(
 | |
|             () => console.log('ServiceWorker registration successful'),
 | |
|             (err) => console.log('ServiceWorker registration failed: ', err)
 | |
|         );
 | |
|     }
 | |
| </script>
 | |
| <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
 | |
|     <input type="hidden" name="_token" value="{{ csrf_token() }}" />
 | |
| </form>
 | |
| 
 | |
| </body>
 | |
| </html>
 |