aboutsummaryrefslogtreecommitdiff
path: root/src/site/pages/index.vue
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>