]> git.immae.eu Git - github/bastienwirtz/homer.git/blame - index.html
Merge pull request #2 from bastienwirtz/dark-mode
[github/bastienwirtz/homer.git] / index.html
CommitLineData
09763dbf
BW
1<!DOCTYPE html>
2<html>
e41196e7 3
09763dbf
BW
4<head>
5 <meta charset="utf-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <meta name="robots" content="noindex">
8 <link rel="icon" type="image/png" href="assets/favicon.png">
9 <title>Homer</title>
de149ce4
BW
10 <link defer rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css">
11 <link defer rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.5/css/bulma.min.css">
12 <link href="https://fonts.googleapis.com/css?family=Lato|Raleway&display=swap" rel="stylesheet">
09763dbf
BW
13 <link rel="stylesheet" href="app.css">
14</head>
e41196e7 15
09763dbf 16<body>
5323df4a
BW
17 <div id="app" v-if="config" :class="{
18 'is-dark': overrideDark === true,
19 'is-light': overrideDark === false
20 }">
e41196e7
BW
21 <div id="bighead">
22 <section class="first-line">
9baec9ae 23 <div v-cloak class="container">
e41196e7
BW
24 <div class="logo">
25 <img v-if="config.logo" :src="config.logo" />
26 <i v-if="config.icon" :class="config.icon"></i>
27 </div>
28 <div class="dashboard-title">
9baec9ae
BW
29 <span class="headline">{{ config.subtitle }}</span>
30 <h1>{{ config.title }}</h1>
e41196e7
BW
31 </div>
32 </div>
33 </section>
9baec9ae 34 <div v-cloak v-if="config.links" class="container-fluid">
e41196e7
BW
35 <nav class="navbar" role="navigation" aria-label="main navigation">
36 <div class="container">
37 <div class="navbar-menu">
38 <div class="navbar-start">
39 <a v-for="link in config.links" class="navbar-item" :href="link.url">
40 <i v-if="link.icon" style="margin-right: 6px;" :class="link.icon"></i>
41 {{ link.name }}
42 </a>
43 </div>
44 <div class="end">
5323df4a
BW
45 <a
46 v-on:click="toggleTheme()"
47 aria-label="Toggle dark mode"
48 ><i class="fas fa-adjust"></i>
49 </a>
4877ec98
BW
50 <a v-on:click="vlayout = !vlayout" class="icon-button navbar-item"><i
51 :class="['fas', vlayout ? 'fa-list' : 'fa-columns']"></i></a>
e41196e7
BW
52 <div class="search-bar">
53 <label for="search" class="search-label"></label>
54 <input type="text" id="search" v-model="filter" />
55 </div>
09763dbf
BW
56 </div>
57 </div>
58 </div>
e41196e7
BW
59 </nav>
60 </div>
09763dbf 61 </div>
09763dbf 62
e41196e7 63 <section id="main-section" class="section">
9baec9ae
BW
64 <div v-cloak class="container">
65 <div v-if="offline" class="offline-message">
66 <i class="far fa-dizzy"></i>
67 <h1>You're offline bro. <i class="fas fa-redo-alt" v-on:click="checkOffline()"></i></h1>
68 </div>
69 <div v-else>
70 <!-- Optional messages -->
71 <article v-if="config && config.message" class="message" :class="config.message.style">
72 <div v-if="config.message.title" class="message-header">
73 <p>{{ config.message.title }}</p>
74 </div>
75 <div v-if="config.message.content" class="message-body">
76 {{ config.message.content }}
77 </div>
78 </article>
09763dbf 79
9baec9ae 80 <h2 v-if="filter"><i class="fas fa-search"></i> Search</h2>
09763dbf 81
4877ec98
BW
82 <!-- Horizontal layout -->
83 <div v-if="!vlayout || filter" class="columns is-multiline">
84 <template v-for="(group, index) in config.services">
85 <h2 v-if="!filter && group.name" class="column is-full"><i v-if="group.icon" :class="group.icon"></i><span
86 v-else>#</span>
87 {{ group.name }}</h2>
88 <service v-for="item in group.items" v-bind:item="item" class="column is-one-third-widescreen"
89 v-if="!filter || (item && (item.name.toLowerCase().includes(filter.toLowerCase()) || (item.tag && item.tag.toLowerCase().includes(filter.toLowerCase()))))">
90 </service>
91 </template>
92 </div>
93
94 <!-- Vertical layout -->
95 <div v-if="!filter && vlayout" class="columns is-multiline layout-vertical">
96 <div class="column is-one-third-widescreen" v-for="(group, index) in config.services">
97 <h2 v-if="!filter && group.name"><i v-if="group.icon" :class="group.icon"></i><span v-else>#</span>
98 {{ group.name }}</h2>
99 <service v-for="item in group.items" v-bind:item="item"
100 v-if="!filter || (item && (item.name.toLowerCase().includes(filter.toLowerCase()) || (item.tag && item.tag.toLowerCase().includes(filter.toLowerCase()))))">
101 </service>
09763dbf
BW
102 </div>
103 </div>
4877ec98
BW
104
105
09763dbf
BW
106 </div>
107 </div>
e41196e7 108 </section>
5323df4a
BW
109 <footer class="footer">
110 <div class="container">
111 <div class="content has-text-centered">
112 <p>Created with <span class="has-text-danger">❤️</span> with <a href="https://bulma.io/">bulma</a>, <a
113 href="https://vuejs.org/">vuejs</a>
114 & <a href="https://fontawesome.com/">font awesome</a> // Fork me on <a href="https://github.com/bastienwirtz/homer"><i
115 class="fab fa-github-alt"></i></a></p>
116 </div>
117 </div>
118 </footer>
e41196e7 119 </div>
09763dbf 120
de149ce4 121 <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.min.js"></script>
e41196e7
BW
122 <script src="vendors/js-yaml.min.js"></script>
123 <script src="app.js"></script>
09763dbf 124</body>
e41196e7
BW
125
126</html>