
{#
Copyright 2017-present Open Networking Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#}


angular.module('app')
  .constant('StyleConfig', {
    projectName: '{{ gui_project_name }}',
    favicon: '{{ gui_favicon }}',
    background: '{{ gui_background }}',
    payoff: '{{ gui_payoff }}',
    logo: '{{ gui_logo }}',
    routes: [
{% for route in gui_routes %}
        {
            label: '{{ route.label }}',
            state: '{{ route.state }}',
{% if route.parent is defined %}
            parent: '{{ route.parent }}'
{% endif %}
        },
{% endfor %}
    ]
});