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($app->home->child('.client_id')->slurp)->trim,
    client_secret => b($app->home->child('.client_secret')->slurp)->trim,
    oauth2 => 1,
    experimental_client_registration => 1
  },
  Kalamar => {
    api_path => $api,
    log_path => $app->home . '/log',
    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"
      },
      {
        "title" => "News",
        "id" => "news"
      },
    ],
  },
  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("news") => url_for(doc => {page => "news" }) %>',  
        position => 72
      },
      {
        inline => '<%= link_to loc("howToCite") => url_for(doc => { page => "faq" })->fragment("howToCite") %>',
        position => 75
      },
      {
        inline => '<%= link_to loc("privacy") => url_for(doc => { page => "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'
    }
  } 
};