<!--
@license
Copyright (C) 2019 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.
-->

<link rel="import" href="./gr-imagare-inline.html">
<link rel="import" href="./gr-imagare-upload.html">

<dom-module id="imagare">
  <script>
    Gerrit.install(plugin => {
      if (!window.Polymer) { return; }

      plugin.restApi('/config/server/').get('imagare~config').then(config => {
        if (config && config.enable_image_server) {
          plugin.screen('upload', 'gr-imagare-upload');
        }
      });
      plugin.registerCustomComponent('change-view-integration', 'gr-imagare-inline');
    });
  </script>
</dom-module>
