misskey/src/client/app/desktop/views/pages/welcome.vue

268 lines
5.0 KiB
Vue
Raw Normal View History

2018-02-10 14:56:33 +09:00
<template>
2018-02-10 19:57:37 +09:00
<div class="mk-welcome">
2018-05-23 15:48:41 +09:00
<button @click="dark">
2018-05-24 05:28:46 +09:00
<template v-if="$store.state.device.darkmode">%fa:moon%</template>
2018-05-23 15:48:41 +09:00
<template v-else>%fa:R moon%</template>
</button>
2018-05-28 21:31:20 +09:00
<main v-if="about" class="about">
<article>
<h1>%i18n:common.about-title%</h1>
<p v-html="'%i18n:common.about%'"></p>
<span class="gotit" @click="about = false">%i18n:@gotit%</span>
</article>
</main>
<main v-else class="index">
2018-05-29 02:20:40 +09:00
<img :src="$store.state.device.darkmode ? 'assets/title.dark.svg' : 'assets/title.light.svg'" alt="Misskey">
2018-05-28 21:31:20 +09:00
<p class="desc"><b>%i18n:common.misskey%</b> - <span @click="about = true">%i18n:@about%</span></p>
<p class="account">
<button class="signup" @click="signup">%i18n:@signup-button%</button>
<button class="signin" @click="signin">%i18n:@signin-button%</button>
</p>
2018-05-21 21:39:46 +09:00
<div class="tl">
<header>%fa:comments R% %i18n:@timeline%<div><span></span><span></span><span></span></div></header>
<mk-welcome-timeline/>
2018-02-10 14:56:33 +09:00
</div>
</main>
<mk-forkit/>
<footer>
<div>
2018-02-11 12:42:02 +09:00
<mk-nav :class="$style.nav"/>
<p class="c">{{ copyright }}</p>
2018-02-10 14:56:33 +09:00
</div>
</footer>
2018-02-10 19:57:37 +09:00
<modal name="signup" width="500px" height="auto" scrollable>
2018-05-21 21:39:46 +09:00
<header :class="$style.signupFormHeader">%i18n:@signup%</header>
2018-02-11 12:08:43 +09:00
<mk-signup :class="$style.signupForm"/>
</modal>
<modal name="signin" width="500px" height="auto" scrollable>
2018-05-21 21:39:46 +09:00
<header :class="$style.signinFormHeader">%i18n:@signin%</header>
2018-02-11 12:08:43 +09:00
<mk-signin :class="$style.signinForm"/>
2018-02-10 16:22:14 +09:00
</modal>
2018-02-10 14:56:33 +09:00
</div>
</template>
2018-02-10 16:22:14 +09:00
<script lang="ts">
import Vue from 'vue';
2018-05-28 21:31:20 +09:00
import { copyright } from '../../../config';
2018-02-10 16:22:14 +09:00
export default Vue.extend({
2018-02-11 12:42:02 +09:00
data() {
return {
2018-05-28 21:31:20 +09:00
about: false,
2018-05-21 21:39:46 +09:00
copyright
2018-02-11 12:42:02 +09:00
};
},
2018-02-10 16:22:14 +09:00
methods: {
signup() {
this.$modal.show('signup');
2018-02-11 12:08:43 +09:00
},
signin() {
this.$modal.show('signin');
2018-05-23 15:48:41 +09:00
},
dark() {
2018-05-25 15:06:35 +09:00
this.$store.commit('device/set', {
key: 'darkmode',
value: !this.$store.state.device.darkmode
});
2018-02-10 16:22:14 +09:00
}
2018-02-10 14:56:33 +09:00
}
2018-02-10 16:22:14 +09:00
});
</script>
<style>
#wait {
right: auto;
left: 15px;
}
2018-02-10 14:56:33 +09:00
</style>
<style lang="stylus" scoped>
2018-03-03 13:47:55 +09:00
@import '~const.styl'
2018-05-29 19:13:49 +09:00
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
2018-05-23 15:48:41 +09:00
root(isDark)
2018-02-10 16:22:14 +09:00
display flex
flex-direction column
flex 1
2018-05-28 21:31:20 +09:00
background-image isDark ? url('/assets/welcome-bg.dark.svg') : url('/assets/welcome-bg.light.svg')
background-size cover
background-position center
2018-03-17 17:47:46 +09:00
2018-05-23 15:48:41 +09:00
> button
2018-05-28 21:31:20 +09:00
position fixed
2018-05-23 15:48:41 +09:00
z-index 1
top 0
left 0
padding 16px
font-size 18px
color isDark ? #fff : #555
2018-02-10 16:22:14 +09:00
> main
2018-02-10 14:56:33 +09:00
flex 1
2018-05-21 21:39:46 +09:00
padding 64px 0 0 0
text-align center
2018-05-28 21:31:20 +09:00
&.about
2018-05-29 19:13:49 +09:00
font-family 'Noto Sans JP'
2018-05-28 21:31:20 +09:00
color isDark ? #fff : #627574
> article
max-width 700px
margin 42px auto 0 auto
2018-05-28 21:33:36 +09:00
padding 64px 82px
2018-05-28 21:31:20 +09:00
background isDark ? #282C37 : #fff
box-shadow 0 8px 32px rgba(#000, 0.15)
> h1
margin 0
2018-05-29 19:13:49 +09:00
font-weight 900
2018-05-28 21:31:20 +09:00
> p
margin 20px 0
line-height 2em
> .gotit
color $theme-color
cursor pointer
&:hover
text-decoration underline
&.index
color isDark ? #9aa4b3 : #555
> img
width 350px
> .desc
margin -12px 0 24px 0
color isDark ? #fff : #555
> span
color $theme-color
cursor pointer
&:hover
text-decoration underline
> .account
margin 8px 0
line-height 2em
button
padding 8px 16px
font-size inherit
.signup
color $theme-color
border solid 2px $theme-color
border-radius 4px
&:focus
box-shadow 0 0 0 3px rgba($theme-color, 0.2)
&:hover
color $theme-color-foreground
background $theme-color
&:active
color $theme-color-foreground
background darken($theme-color, 10%)
border-color darken($theme-color, 10%)
.signin
&:hover
color isDark ? #fff : #000
> .tl
margin 32px auto 0 auto
width 410px
text-align left
background isDark ? #313543 : #fff
border-radius 8px
box-shadow 0 8px 32px rgba(#000, 0.15)
overflow hidden
> header
z-index 1
padding 12px 16px
color isDark ? #e3e5e8 : #888d94
box-shadow 0 1px 0px rgba(#000, 0.1)
> div
position absolute
top 0
right 0
padding inherit
> span
display inline-block
height 11px
width 11px
margin-left 6px
border-radius 100%
vertical-align middle
&:nth-child(1)
background #5BCC8B
&:nth-child(2)
background #E6BB46
&:nth-child(3)
background #DF7065
> .mk-welcome-timeline
max-height 350px
overflow auto
2018-02-10 14:56:33 +09:00
2018-02-10 16:22:14 +09:00
> footer
2018-03-17 17:47:46 +09:00
font-size 12px
2018-05-23 15:48:41 +09:00
color isDark ? #949ea5 : #737c82
2018-02-10 14:56:33 +09:00
2018-02-10 16:22:14 +09:00
> div
margin 0 auto
2018-05-21 21:39:46 +09:00
padding 64px
2018-02-10 16:22:14 +09:00
text-align center
2018-02-10 14:56:33 +09:00
2018-02-10 16:22:14 +09:00
> .c
2018-02-11 12:42:02 +09:00
margin 16px 0 0 0
2018-02-10 16:22:14 +09:00
font-size 10px
2018-03-17 17:47:46 +09:00
opacity 0.7
2018-02-10 14:56:33 +09:00
2018-05-23 15:48:41 +09:00
.mk-welcome[data-darkmode]
root(true)
.mk-welcome:not([data-darkmode])
root(false)
2018-02-10 14:56:33 +09:00
</style>
2018-02-10 19:57:37 +09:00
<style lang="stylus" module>
.signupForm
padding 24px 48px 48px 48px
.signupFormHeader
padding 48px 0 12px 0
margin: 0 48px
font-size 1.5em
color #777
border-bottom solid 1px #eee
2018-02-11 12:08:43 +09:00
.signinForm
padding 24px 48px 48px 48px
.signinFormHeader
padding 48px 0 12px 0
margin: 0 48px
font-size 1.5em
color #777
border-bottom solid 1px #eee
2018-02-11 12:42:02 +09:00
.nav
a
color #666
2018-02-10 19:57:37 +09:00
</style>