homer/index.html

135 lines
5.2 KiB
HTML
Raw Normal View History

2018-06-14 07:14:05 +02:00
<!DOCTYPE html>
<html>
2018-11-13 06:14:38 +01:00
2018-06-14 07:14:05 +02:00
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<link rel="icon" type="image/png" href="assets/favicon.png">
<title>Homer</title>
2020-01-13 06:45:37 +01:00
<link defer rel="stylesheet" href="vendors/font-awesone.min.css">
<link defer rel="stylesheet" href="vendors/bulma.min.css">
2018-06-14 07:14:05 +02:00
<link rel="stylesheet" href="app.css">
</head>
2018-11-13 06:14:38 +01:00
2018-06-14 07:14:05 +02:00
<body>
2020-02-27 06:56:25 +01:00
<div id="app" v-if="config" :class="[isDark ? 'is-dark' : 'is-light', !config.footer ? 'no-footer': '']">
2018-11-13 06:14:38 +01:00
<div id="bighead">
<section class="first-line">
2019-02-18 09:23:20 +01:00
<div v-cloak class="container">
2018-11-13 06:14:38 +01:00
<div class="logo">
<img v-if="config.logo" :src="config.logo" />
<i v-if="config.icon" :class="config.icon"></i>
</div>
<div class="dashboard-title">
2019-02-18 09:23:20 +01:00
<span class="headline">{{ config.subtitle }}</span>
<h1>{{ config.title }}</h1>
2018-11-13 06:14:38 +01:00
</div>
</div>
</section>
2019-02-18 09:23:20 +01:00
<div v-cloak v-if="config.links" class="container-fluid">
2018-11-13 06:14:38 +01:00
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="container">
<div class="navbar-brand">
<a role="button"
class="navbar-burger" :class="{ 'is-active': showMenu }"
aria-label="menu" aria-expanded="false"
v-on:click="toggleMenu()">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div class="navbar-menu" :class="{ 'is-active': showMenu }">
2018-11-13 06:14:38 +01:00
<div class="navbar-start">
2020-01-13 07:04:26 +01:00
<a v-for="link in config.links" class="navbar-item" :href="link.url" :target="link.target">
2018-11-13 06:14:38 +01:00
<i v-if="link.icon" style="margin-right: 6px;" :class="link.icon"></i>
{{ link.name }}
</a>
</div>
<div class="navbar-end">
<div class="navbar-item">
2019-10-02 06:35:51 +02:00
<a
v-on:click="toggleTheme()"
aria-label="Toggle dark mode"
class="icon-button"
2019-10-02 06:35:51 +02:00
><i class="fas fa-adjust"></i>
</a>
<a v-on:click="toggleLayout()" class="icon-button"><i
:class="['fas', vlayout ? 'fa-list' : 'fa-columns']"></i></a>
<div class="search-bar">
<label for="search" class="search-label"></label>
<input type="text" id="search" ref="search" v-model="filter"
v-on:keyup.enter.exact="navigateToFirstService()"
v-on:keyup.alt.enter="navigateToFirstService('_blank')" />
</div>
2018-11-13 06:14:38 +01:00
</div>
2018-06-14 07:14:05 +02:00
</div>
</div>
</div>
2018-11-13 06:14:38 +01:00
</nav>
</div>
2018-06-14 07:14:05 +02:00
</div>
2018-11-13 06:14:38 +01:00
<section id="main-section" class="section">
2019-02-18 09:23:20 +01:00
<div v-cloak class="container">
<div v-if="offline" class="offline-message">
<i class="far fa-dizzy"></i>
<h1>You're offline bro. <i class="fas fa-redo-alt" v-on:click="checkOffline()"></i></h1>
</div>
<div v-else>
<!-- Optional messages -->
<article v-if="config && config.message" class="message" :class="config.message.style">
<div v-if="config.message.title" class="message-header">
<p>{{ config.message.title }}</p>
</div>
<div v-if="config.message.content" class="message-body">
{{ config.message.content }}
</div>
</article>
2018-06-14 07:14:05 +02:00
2019-02-18 09:23:20 +01:00
<h2 v-if="filter"><i class="fas fa-search"></i> Search</h2>
2018-06-14 07:14:05 +02:00
2019-02-20 07:20:46 +01:00
<!-- Horizontal layout -->
<div v-if="!vlayout || filter" class="columns is-multiline">
<template v-for="(group, index) in config.services">
<h2 v-if="!filter && group.name" class="column is-full"><i v-if="group.icon" :class="group.icon"></i><span
v-else>#</span>
{{ group.name }}</h2>
<service v-for="item in group.items" v-bind:item="item" class="column is-one-third-widescreen"
v-if="!filter || (item && matchesFilter(item))">
2019-02-20 07:20:46 +01:00
</service>
</template>
</div>
<!-- Vertical layout -->
<div v-if="!filter && vlayout" class="columns is-multiline layout-vertical">
<div class="column is-one-third-widescreen" v-for="(group, index) in config.services">
<h2 v-if="!filter && group.name"><i v-if="group.icon" :class="group.icon"></i><span v-else>#</span>
{{ group.name }}</h2>
<service v-for="item in group.items" v-bind:item="item"
v-if="!filter || (item && matchesFilter(item))">
2019-02-20 07:20:46 +01:00
</service>
2018-06-14 07:14:05 +02:00
</div>
</div>
2019-02-20 07:20:46 +01:00
2018-06-14 07:14:05 +02:00
</div>
</div>
2018-11-13 06:14:38 +01:00
</section>
2019-10-02 06:35:51 +02:00
<footer class="footer">
<div class="container">
2020-02-27 06:56:25 +01:00
<div class="content has-text-centered" v-if="config.footer" v-html="config.footer">
2019-10-02 06:35:51 +02:00
</div>
</div>
</footer>
2018-11-13 06:14:38 +01:00
</div>
2018-06-14 07:14:05 +02:00
2020-01-13 06:45:37 +01:00
<script src="vendors/vue.min.js"></script>
2018-11-13 06:14:38 +01:00
<script src="vendors/js-yaml.min.js"></script>
<script src="app.js"></script>
2018-06-14 07:14:05 +02:00
</body>
2018-11-13 06:14:38 +01:00
</html>