source: main/trunk/model-interfaces-dev/atea/macron-restoration/src/App.vue@ 35729

Last change on this file since 35729 was 35729, checked in by cstephen, 2 years ago

Minor UI changes

File size: 3.4 KB
Line 
1<template>
2<div class="root">
3 <div class="app-bar theme-primary">
4 <div class="app-bar-content">
5 <span class="heading1">{{ translations.get("Title") }}</span>
6 </div>
7 </div>
8
9 <div class="paper content">
10 <tab-bar :tabs="tabs" v-model="selectedTab" />
11 <hr class="divider" />
12
13 <div class="inner-content" v-if="selectedTab === 'direct'">
14 <direct-input />
15 </div>
16 <div class="inner-content" v-if="selectedTab === 'file'">
17 <file-input />
18 </div>
19 </div>
20
21 <div class="footer">
22 <a href="https://www.waikato.ac.nz" target="_blank">
23 <img src="img/logo_waikato_uni.jpg" alt="The University of Waikato Logo" />
24 </a>
25
26 <div>
27 This service was funded by <a href="http://www.maramatanga.co.nz" target="_blank">Ngā Pae O Te Māramatanga</a> as
28 part of the research related to the digitalization of the Pei Jones collection,
29 and was developed at the <a href="https://www.waikato.ac.nz" target="_blank">University of Waikato</a>.
30 </div>
31
32 <a href="http://www.maramatanga.co.nz" target="_blank">
33 <img src="img/logo_maramatanga.jpg" alt="The Ngā Pae o te Māramatanga Logo" />
34 </a>
35
36 <div>
37 This website collects simple usage logs which will be used for development purposes only.
38 No details which could be used to identify individuals will be collected and the data will be kept secure at the University of Waikato.
39 If you do not wish for your activity to be included, click <a href="mailto:[email protected]">here</a> to notify Dr. Te Taka Keegan.
40 Copyright &copy; 2014 University of Waikato
41 </div>
42 </div>
43</div>
44</template>
45
46<style lang="scss">
47html, body, #app {
48 height: 100%;
49}
50
51.root {
52 display: flex;
53 flex-direction: column;
54 height: 100%;
55}
56
57.app-bar {
58 display: flex;
59 flex-direction: column;
60 gap: 1em;
61
62 background-color: var(--bg-color);
63 color: var(--fg-color);
64 box-shadow: 0px 0px 4px 3px #6d6d6d;
65
66 padding: 1em;
67 margin-bottom: 1em;
68}
69
70.app-bar-content {
71 display: flex;
72 align-items: center;
73 gap: 1em;
74
75 width: 100%;
76
77 & :first-child {
78 flex-grow: 1;
79 }
80}
81
82.content {
83 padding: 0;
84 margin: 1em;
85 flex-grow: 1;
86}
87
88.inner-content {
89 padding: 1em;
90}
91
92.footer {
93 display: grid;
94 grid-template-columns: auto 1fr;
95 gap: 1em;
96
97 box-shadow: 0px 0px 3px 2px #8a8a8a;
98 padding: 1em;
99 background-color: var(--paper-color);
100
101 img {
102 grid-column: 1;
103 height: 48px;
104 }
105
106 div {
107 grid-column: 2;
108 }
109}
110
111.funding {
112 display: flex;
113 gap: 1em;
114 align-items: center;
115}
116</style>
117
118<script>
119import { mapState } from "vuex";
120import DirectInput from "./components/DirectInput.vue"
121import FileInput from "./components/FileInput.vue"
122import TabBar from "./components/TabBar.vue"
123
124export default {
125 name: "App",
126 components: {
127 DirectInput,
128 FileInput,
129 TabBar
130 },
131 data() {
132 return {
133 selectedTab: "direct"
134 }
135 },
136 computed: {
137 tabs() {
138 return [
139 { label: this.translations.get("DirectInput"), value: "direct" },
140 { label: this.translations.get("FileInput"), value: "file" }
141 ]
142 },
143 ...mapState({
144 translations: state => state.translations
145 })
146 }
147}
148</script>
Note: See TracBrowser for help on using the repository browser.