2021-01-31 02:43:13 +13:00
|
|
|
<template>
|
|
|
|
<q-page class="column items-center justify-center">
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
<!-- Import project dialog -->
|
|
|
|
<importProjectCheckDialog
|
|
|
|
:dialog-trigger="importProjectDialogTrigger"
|
|
|
|
@trigger-dialog-close="importProjectDialogClose"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<!-- New project dialog -->
|
|
|
|
<newProjectCheckDialog
|
|
|
|
:dialog-trigger="newProjectDialogTrigger"
|
|
|
|
@trigger-dialog-close="newProjectDialogClose"
|
|
|
|
/>
|
2021-01-31 02:43:13 +13:00
|
|
|
|
|
|
|
<div class="col-12">
|
2021-03-19 14:54:44 +13:00
|
|
|
<h5 class="mainSubTitle">Welcome to </h5>
|
|
|
|
</div>
|
|
|
|
<div class="col-12">
|
|
|
|
<h2 class="mainTitle">Fantasia Archive</h2>
|
2021-01-31 02:43:13 +13:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-12 q-mb-lg">
|
|
|
|
<q-btn
|
|
|
|
v-if="projectExists"
|
|
|
|
color="primary"
|
|
|
|
size="md"
|
2021-03-18 10:26:08 +13:00
|
|
|
:outline="isDarkMode"
|
2021-01-31 02:43:13 +13:00
|
|
|
class="q-px-xl q-py-xs"
|
|
|
|
to="/project"
|
|
|
|
>
|
|
|
|
<div>Resume project </div>
|
|
|
|
</q-btn>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-12 q-mb-lg">
|
2021-03-04 13:27:07 +13:00
|
|
|
<q-btn
|
2021-01-31 02:43:13 +13:00
|
|
|
color="primary"
|
|
|
|
size="md"
|
2021-03-18 10:26:08 +13:00
|
|
|
:outline="isDarkMode"
|
2021-01-31 02:43:13 +13:00
|
|
|
class="q-px-xl q-py-xs"
|
2021-03-04 13:27:07 +13:00
|
|
|
@click="newProjectAssignUID"
|
2021-01-31 02:43:13 +13:00
|
|
|
>
|
2021-03-04 13:27:07 +13:00
|
|
|
New Project
|
|
|
|
</q-btn>
|
2021-01-31 02:43:13 +13:00
|
|
|
</div>
|
|
|
|
|
2021-03-19 14:54:44 +13:00
|
|
|
<div class="col-12">
|
2021-01-31 02:43:13 +13:00
|
|
|
<q-btn
|
|
|
|
color="primary"
|
2021-03-18 10:26:08 +13:00
|
|
|
:outline="isDarkMode"
|
2021-01-31 02:43:13 +13:00
|
|
|
size="md"
|
|
|
|
class="q-px-xl q-py-xs"
|
2021-03-04 13:27:07 +13:00
|
|
|
@click="importProjectAssignUID()"
|
2021-01-31 02:43:13 +13:00
|
|
|
>
|
2021-03-04 13:27:07 +13:00
|
|
|
Import existing project
|
2021-01-31 02:43:13 +13:00
|
|
|
</q-btn>
|
|
|
|
</div>
|
|
|
|
|
2021-03-19 14:54:44 +13:00
|
|
|
<template v-if="!hideWelcomeScreenSocials">
|
|
|
|
<q-separator color="primary" horizonatal dark class="q-my-xl" style="opacity: 0.5; width: 400px;" />
|
|
|
|
|
|
|
|
<div class="col-12 q-mb-lg">
|
|
|
|
<div class="discordButton" @click="openDiscordInviteLink">
|
|
|
|
Join Fantasia Archive Discord!
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-12 q-mt-sm">
|
|
|
|
<div class="patreonButton" @click="openPatreonLink">
|
|
|
|
Support Fantasia Archive on Patreon!
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
2021-01-31 02:43:13 +13:00
|
|
|
</q-page>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
2021-03-18 10:26:08 +13:00
|
|
|
import { Component, Watch } from "vue-property-decorator"
|
2021-01-31 02:43:13 +13:00
|
|
|
|
|
|
|
import BaseClass from "src/BaseClass"
|
2021-03-04 13:27:07 +13:00
|
|
|
import importProjectCheckDialog from "src/components/dialogs/ImportProjectCheck.vue"
|
|
|
|
import newProjectCheckDialog from "src/components/dialogs/NewProjectCheck.vue"
|
2021-03-19 14:54:44 +13:00
|
|
|
import { shell } from "electron"
|
2021-01-31 02:43:13 +13:00
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
import { retrieveCurrentProjectName } from "src/scripts/projectManagement/projectManagent"
|
2021-02-26 14:50:46 +13:00
|
|
|
|
2021-01-31 02:43:13 +13:00
|
|
|
@Component({
|
2021-03-04 13:27:07 +13:00
|
|
|
components: {
|
|
|
|
importProjectCheckDialog,
|
|
|
|
newProjectCheckDialog
|
|
|
|
|
|
|
|
}
|
2021-01-31 02:43:13 +13:00
|
|
|
})
|
|
|
|
export default class WelcomeScreen extends BaseClass {
|
2021-03-18 10:26:08 +13:00
|
|
|
isDarkMode = false
|
2021-03-19 14:54:44 +13:00
|
|
|
hideWelcomeScreenSocials = false
|
2021-03-18 10:26:08 +13:00
|
|
|
|
|
|
|
@Watch("SGET_options", { immediate: true, deep: true })
|
|
|
|
onSettingsChange () {
|
|
|
|
const options = this.SGET_options
|
|
|
|
this.isDarkMode = options.darkMode
|
2021-03-19 14:54:44 +13:00
|
|
|
this.hideWelcomeScreenSocials = options.hideWelcomeScreenSocials
|
2021-03-18 10:26:08 +13:00
|
|
|
}
|
|
|
|
|
2021-01-31 02:43:13 +13:00
|
|
|
projectExists: undefined | string | boolean = false
|
|
|
|
newProjectName = ""
|
|
|
|
newProjectDialog = false
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
newProjectDialogTrigger: string | false = false
|
|
|
|
newProjectDialogClose () {
|
|
|
|
this.newProjectDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
newProjectAssignUID () {
|
|
|
|
this.newProjectDialogTrigger = this.generateUID()
|
|
|
|
}
|
|
|
|
|
|
|
|
importProjectDialogTrigger: string | false = false
|
|
|
|
importProjectDialogClose () {
|
|
|
|
this.importProjectDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
importProjectAssignUID () {
|
|
|
|
this.importProjectDialogTrigger = this.generateUID()
|
|
|
|
}
|
2021-02-09 15:21:48 +13:00
|
|
|
|
2021-01-31 02:43:13 +13:00
|
|
|
async created () {
|
2021-02-26 14:50:46 +13:00
|
|
|
this.projectExists = await retrieveCurrentProjectName()
|
2021-01-31 02:43:13 +13:00
|
|
|
}
|
2021-03-19 14:54:44 +13:00
|
|
|
|
|
|
|
openDiscordInviteLink () {
|
|
|
|
shell.openExternal("https://discord.gg/JQDBvsN9Te").catch(e => console.log(e))
|
|
|
|
}
|
|
|
|
|
|
|
|
openPatreonLink () {
|
|
|
|
shell.openExternal("https://www.patreon.com/elvanos").catch(e => console.log(e))
|
|
|
|
}
|
2021-01-31 02:43:13 +13:00
|
|
|
}
|
|
|
|
</script>
|
2021-03-19 14:54:44 +13:00
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
|
|
|
.mainTitle {
|
|
|
|
color: var(--q-color-dark);
|
|
|
|
}
|
|
|
|
|
|
|
|
body.body--dark {
|
|
|
|
.mainTitle {
|
|
|
|
color: var(--q-color-primary);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
|
|
|
.mainSubTitle {
|
|
|
|
margin-top: 0;
|
|
|
|
margin-bottom: 0;
|
|
|
|
opacity: 0.8;
|
|
|
|
}
|
|
|
|
|
|
|
|
.mainTitle {
|
|
|
|
position: relative;
|
|
|
|
margin-top: 10px;
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
|
|
&::after {
|
|
|
|
content: '';
|
|
|
|
top: -25px;
|
|
|
|
right: -95px;
|
|
|
|
position: absolute;
|
|
|
|
height: 100px;
|
|
|
|
width: 90px;
|
|
|
|
background-image: url('../assets/appLogo.png');
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
background-size: contain;
|
|
|
|
transform: scaleX(-1);
|
|
|
|
filter: drop-shadow(-1px 1px 2px var(--q-color-dark));
|
|
|
|
}
|
|
|
|
|
|
|
|
&::before {
|
|
|
|
content: '';
|
|
|
|
top: -25px;
|
|
|
|
left: -95px;
|
|
|
|
position: absolute;
|
|
|
|
height: 100px;
|
|
|
|
width: 90px;
|
|
|
|
background-image: url('../assets/appLogo.png');
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
background-size: contain;
|
|
|
|
filter: drop-shadow(-1px 1px 2px var(--q-color-dark));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|