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