use Mojo::File 'path';
use Mojo::ByteStream 'b';

$main::ENV{MOJO_MAX_LINE_SIZE} = 65536;

my $api = 'http://10.0.10.51:9000/api/';
{
  Search => {
    engine => 'Kalamar::API'
  },
  'Kalamar-Auth' => {
    client_id => b(path('.client_id')->slurp)->trim,
    client_secret => b(path('.client_secret')->slurp)->trim,
    oauth2 => 1,
    experimental_client_registration => 1
  },
  Kalamar => {
    api_path => $api,
    secure_cookie => 1,
    https_only => 1,
    plugins => ['Auth', 'Piwik','Plugins'],
    experimental_proxy => 1,
    proxy_inactivity_timeout => 120,
    proxy_connect_timeout => 120,
    Piwik => {
      ping_requests => 1,
      ping_site_id => 13
    },
    navi_ext => [
      {
        "title" => "corpora",
        "id" => "corpus"
      },
      {
        "title" => "Privacy",
        "id" => "privacy"
      },
    ],
  },
  CSP => {
    'frame-src' => 'self',
    'frame-ancestors' => ['self','http://*.ids-mannheim.de/','https://*.ids-mannheim.de/','http://klinux10/']
  },
  'Kalamar-Plugins' => {
    default_plugins => 'default.plugins.json'
  },
  Piwik => {
    url => 'https://stats.ids-mannheim.de',
    token_auth => '8515ea786127a63a2974de25a0808b00',
    site_id => 8,
    embed => 1
  },
  hypnotoad => {
    listen => ['http://*:4348'],
    workers => 5,
    inactivity_timeout => 120,
    proxy => 1
  },
  MailException => {
    from => join('@', 'diewald', 'ids-mannheim.de'),
    to => join('@', 'diewald', 'ids-mannheim.de'),
    subject => '[KorAP] Kalamar crashed'
  },
  Localize => {
    dict => {
      de_loginExplanation => 'Anmeldung mit einem registrierten <%= link_to "Cosmas-II" => "https://perso.ids-mannheim.de/registration/", style => "white-space: nowrap" %>-Konto',
      en_loginExplanation => 'Login with a registered <%= link_to "Cosmas-II" => "https://perso.ids-mannheim.de/registration/", style => "white-space: nowrap" %> account',
      en_Nav_privacy => 'Privacy',
      de_Nav_privacy => 'Datenschutz',
      de_Nav_corpora => 'Korpora',
      en_Nav_corpora => 'Corpora',
      en_howToCite => 'Citation Help',
      de_howToCite => 'Zitierhilfe',
      en_recentCorpusPub => 'Recent publications to refer to DeReKo as linguistic research data',
      de_recentCorpusPub => 'Neuere Publikationen zu DeReKo als linguistische Forschungsdatengrundlage',
      en_recentToolPub => 'Recent publications to refer to KorAP as a research tool',
      de_recentToolPub => 'Neuere Publikationen zu KorAP als Forschungswerkzeug',
    }
  },
  'TagHelpers-ContentBlock' => {
    footer => [
      {
        inline => '<%= link_to loc("about") => "https://www.ids-mannheim.de/digspra/kl/projekte/korap/" %>',  
        position => 70
      },
      {
        inline => '<%= link_to loc("howToCite") => url_for(doc => { page => "faq" })->fragment("howToCite") %>',
        position => 75
      },
      {
        inline => '<%= link_to loc("privacy") => "doc/privacy" %>',  
        position => 90
      },
      {
        inline => '<%= link_to loc("imprint") => "https://www.ids-mannheim.de/allgemein/impressum/" %>',  
        position => 80
      },
    ],
    faq => [
      {
        position => 50,
        inline => <<'HOWTOCITE'
<section>
  <h3 id="howToCite"><%= loc 'howToCite' %></h3>
%= include 'custom/partial/citation'
</section>
HOWTOCITE
      }
    ],
    loginInfo => [
      {
        inline => '<p><%== loc "loginExplanation" %></p>',
        position => 50
      }#,
#      {
#        inline => '<p class="announcement"><time datetime="2018-05-24">24.05.2018</time> Um weitere Anwendungen für die Nutzung von DeReKo anbieten zu können, haben wir die <%= link_to "Nutzungsvereinbarung", "https://www.ids-mannheim.de/cosmas2/projekt/registrierung/Nutzungsvereinbarung.html" %> angepasst!</p>',
#        position => 100
#      }
    ]
  },

  # See Mojolicious::Plugin::CHI
  CHI => {
    default => {
      driver => 'FastMmap',
      root_dir => app->home . '/cache/data',
      cache_size => '500m',
      max_size => '500m'
    },
    user => {
      l1_cache => {
      	driver => 'FastMmap',
	      root_dir => app->home . '/cache/usermap',
        	cache_size => '50m',
	        max_size => '50m'
      },
      driver => 'File',
      root_dir => app->home . '/cache/userfile',
      max_key_length => 64,
      max_size => '500m'
    }
  } 
};