blob: bb35be3e42f30a8e4339a1a3f4564419e1878597 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
<template>
<div class="section">
<div class="container">
<div class="columns">
<div class="column is-3 is-offset-2">
<div class="logo">
<Logo />
</div>
</div>
<div class="column is-5 centered">
<div class="content-wrapper">
<h4>Blazing fast file uploader. <br>For real.</h4>
<p>
A <strong>modern</strong> and <strong>self-hosted</strong> file upload service that can handle anything you throw at it. Fast uploads, file manager and sharing capabilities all crafted with a beautiful user experience in mind.
</p>
</div>
</div>
</div>
</div>
<div class="container uploader">
<Uploader v-if="config.publicMode || (!config.publicMode && loggedIn)" />
<div v-else
class="has-text-centered is-size-4 has-text-danger">
This site has disabled public uploads. You need an account.
</div>
<Links />
</div>
</div>
</template>
<script>
import { mapState, mapGetters } from 'vuex';
import Logo from '~/components/logo/Logo.vue';
import Uploader from '~/components/uploader/Uploader.vue';
import Links from '~/components/home/links/Links.vue';
export default {
name: 'Home',
components: {
Logo,
Uploader,
Links
},
data() {
return { albums: [] };
},
computed: {
...mapGetters({ loggedIn: 'auth/isLoggedIn' }),
...mapState(['config'])
}
};
</script>
<style lang="scss" scoped>
@import "~/assets/styles/_colors.scss";
.container {
color: $textColor;
.columns {
.column {
&.centered {
display: flex;
align-items: center;
}
}
}
h4 {
color: $textColorHighlight;
margin-bottom: 1em;
}
p {
font-size: 1.25em;
font-weight: 600;
line-height: 1.5;
strong {
color: $textColorHighlight;
}
}
}
.uploader {
margin-top: 2rem;
}
</style>
|