<dom-module id='gerrit-eclipsestyle-ui'>
  <!--
  Copyright (C) 2020 The Android Open Source Project
  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.
  -->
  <!--  Source URL: https://git.eclipse.org/r/admin/repos/git.eclipse.org/gerrit-eclipsetheme -->
  <script>
    'use strict';
    Gerrit.install(plugin => {
      plugin.registerStyleModule('app-theme', 'gerrit-eclipsestyle');

      const domHook = plugin.hook('header-title');
      domHook.onAttached(element => {
        let img = document.createElement('img');
        img.setAttribute('src', 'https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-foundation-white-orange.svg');
        img.style.cssText = 'height: 1em; vertical-align:middle; margin-right: 10px';
        element.prepend(img);

        let title = document.createElement('span');
        title.append('Gerrit');
        title.style.cssText = 'color: rgb(247,148,30)';
        element.append(title);
      });
    });
  </script>
</dom-module>
<dom-module id='gerrit-eclipsestyle'>
  <template>
  <style>
     html {
       --header-background-color: rgb(64,64,64);
       --header-box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.2);
       --header-text-color: white;
       --header-title-font-size: 1.8em;
       --header-title-content: '';
       --header-padding: 0px 0px 0px 0px;
       --header-border-bottom: 0;
    }
  </style>
  </template>
</dom-module>