mirror of
https://github.com/kihashi/stardew_community_checklist.git
synced 2025-10-19 08:03:17 +00:00
Update to Vue3 and add prettier
This commit is contained in:
parent
edeb486a8d
commit
b791c536b8
8
.prettierrc.json
Normal file
8
.prettierrc.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/prettierrc",
|
||||
"semi": false,
|
||||
"tabWidth": 2,
|
||||
"singleQuote": true,
|
||||
"printWidth": 100,
|
||||
"trailingComma": "none"
|
||||
}
|
||||
@ -1,13 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="shortcut icon" type="image/png" href="/static/favicon.png"/>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
||||
<link rel="shortcut icon" type="image/png" href="/static/favicon.png" />
|
||||
<title>Stardew Community Checklist</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
20
package.json
20
package.json
@ -10,18 +10,18 @@
|
||||
"lint": "eslint . --ext .js,.vue"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome": "^1.1.4",
|
||||
"@fortawesome/fontawesome-free-brands": "^5.0.7",
|
||||
"@fortawesome/fontawesome-free-regular": "^5.0.7",
|
||||
"@fortawesome/fontawesome-free-solid": "^5.0.7",
|
||||
"@fortawesome/vue-fontawesome": "^0.0.22",
|
||||
"bulma": "^0.6.2",
|
||||
"@fortawesome/fontawesome-free-brands": "^5.0.13",
|
||||
"@fortawesome/fontawesome-free-regular": "^5.0.13",
|
||||
"@fortawesome/fontawesome-free-solid": "^5.0.13",
|
||||
"@fortawesome/fontawesome-svg-core": "^6.4.0",
|
||||
"@fortawesome/vue-fontawesome": "^3.0.3",
|
||||
"bulma": "^0.9.4",
|
||||
"lodash": "^4.17.19",
|
||||
"mdi-vue": "^0.2.11",
|
||||
"sass": "^1.62.1",
|
||||
"vue": "^2.5.2",
|
||||
"vue": "^3.3.4",
|
||||
"vue-clipboard2": "^0.3.0",
|
||||
"vue-router": "^3.0.1",
|
||||
"vue-router": "^4.2.2",
|
||||
"vuex": "^3.0.1",
|
||||
"vuex-persistedstate": "^2.5.4"
|
||||
},
|
||||
@ -29,7 +29,6 @@
|
||||
"@vitejs/plugin-vue": "^4.2.3",
|
||||
"@vitejs/plugin-vue-jsx": "^3.0.1",
|
||||
"autoprefixer": "^7.1.2",
|
||||
"chalk": "^2.0.1",
|
||||
"eslint": "^4.18.2",
|
||||
"eslint-config-standard": "^10.2.1",
|
||||
"eslint-friendly-formatter": "^3.0.0",
|
||||
@ -44,8 +43,7 @@
|
||||
"rimraf": "^2.6.0",
|
||||
"semver": "^5.3.0",
|
||||
"shelljs": "^0.7.6",
|
||||
"vite": "^4.3.5",
|
||||
"vue-template-compiler": "^2.5.2"
|
||||
"vite": "^4.3.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6.0.0",
|
||||
|
||||
36
src/App.vue
36
src/App.vue
@ -1,24 +1,14 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<header-bar/>
|
||||
<transition name="fade"
|
||||
mode="out-in">
|
||||
<router-view/>
|
||||
</transition>
|
||||
<app-footer/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeaderBar from '@/components/HeaderBar'
|
||||
import AppFooter from '@/components/AppFooter'
|
||||
import HeaderBar from './components/HeaderBar.vue'
|
||||
import AppFooter from './components/AppFooter.vue'
|
||||
|
||||
export default {
|
||||
name: 'App',
|
||||
components: {
|
||||
HeaderBar,
|
||||
AppFooter
|
||||
},
|
||||
created () {
|
||||
created() {
|
||||
this.$store.commit('initState')
|
||||
var v1data = localStorage.getItem('user_data')
|
||||
if (v1data !== null && v1data !== '') {
|
||||
@ -30,14 +20,24 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
<template>
|
||||
<div id="app">
|
||||
<header-bar />
|
||||
<transition name="fade" mode="out-in">
|
||||
<router-view />
|
||||
</transition>
|
||||
<app-footer />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
.fade-enter-active, .fade-leave-active {
|
||||
<style lang="scss" scoped>
|
||||
.fade-enter-active,
|
||||
.fade-leave-active {
|
||||
transition: opacity 0.5s ease;
|
||||
}
|
||||
|
||||
.fade-enter, .fade-leave-active {
|
||||
.fade-enter,
|
||||
.fade-leave-active {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
1
src/assets/main.css
Normal file
1
src/assets/main.css
Normal file
@ -0,0 +1 @@
|
||||
@import "~bulma/bulma";
|
||||
@ -1 +0,0 @@
|
||||
@import '~bulma/bulma';
|
||||
@ -1,33 +1,37 @@
|
||||
<template>
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<div class="content has-text-centered">
|
||||
<p>
|
||||
<strong>Stardew Community Checklist</strong> by <a href="http://johncleaver.com">John Cleaver</a>. The source code is licensed
|
||||
<a href="http://opensource.org/licenses/mit-license.php">MIT</a>.
|
||||
</p>
|
||||
<p>
|
||||
<router-link to="/changelog">Changelog</router-link>
|
||||
</p>
|
||||
<p>
|
||||
Bundle and Item information is from the <a href="http://stardewvalleywiki.com/Stardew_Valley_Wiki">Stardew Valley Wiki</a>
|
||||
and is used under the <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">CC BY-NC-SA 3.0 License</a>.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://stardewvalley.net/">Stardew Valley</a> © <a href="https://chucklefish.org/">Chucklefish LTD</a>.
|
||||
Developed by <a href="https://twitter.com/ConcernedApe">ConcernedApe</a>.
|
||||
</p>
|
||||
<p>
|
||||
<a :href="gh_address"><font-awesome-icon :icon="gh_icon"/></a>
|
||||
<a :href="reddit_address"><font-awesome-icon :icon="reddit_icon"/></a>
|
||||
</p>
|
||||
<div class="container">
|
||||
<div class="content has-text-centered">
|
||||
<p>
|
||||
<strong>Stardew Community Checklist</strong> by
|
||||
<a href="http://johncleaver.com">John Cleaver</a>. The source code is licensed
|
||||
<a href="http://opensource.org/licenses/mit-license.php">MIT</a>.
|
||||
</p>
|
||||
<p>
|
||||
<router-link to="/changelog">Changelog</router-link>
|
||||
</p>
|
||||
<p>
|
||||
Bundle and Item information is from the
|
||||
<a href="http://stardewvalleywiki.com/Stardew_Valley_Wiki">Stardew Valley Wiki</a> and is
|
||||
used under the
|
||||
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">CC BY-NC-SA 3.0 License</a>.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://stardewvalley.net/">Stardew Valley</a> ©
|
||||
<a href="https://chucklefish.org/">Chucklefish LTD</a>. Developed by
|
||||
<a href="https://twitter.com/ConcernedApe">ConcernedApe</a>.
|
||||
</p>
|
||||
<p>
|
||||
<a :href="gh_address"><font-awesome-icon :icon="gh_icon" /></a>
|
||||
<a :href="reddit_address"><font-awesome-icon :icon="reddit_icon" /></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</footer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import FontAwesomeIcon from '@fortawesome/vue-fontawesome'
|
||||
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
|
||||
import faGithub from '@fortawesome/fontawesome-free-brands/faGithub'
|
||||
import faReddit from '@fortawesome/fontawesome-free-brands/faReddit'
|
||||
export default {
|
||||
@ -36,10 +40,10 @@ export default {
|
||||
'font-awesome-icon': FontAwesomeIcon
|
||||
},
|
||||
computed: {
|
||||
gh_icon () {
|
||||
gh_icon() {
|
||||
return faGithub
|
||||
},
|
||||
reddit_icon () {
|
||||
reddit_icon() {
|
||||
return faReddit
|
||||
}
|
||||
},
|
||||
@ -52,5 +56,4 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
<style scoped></style>
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
<template>
|
||||
<button class="button is-rounded"
|
||||
<button
|
||||
class="button is-rounded"
|
||||
:class="shouldBeChecked ? checked_class : unchecked_class"
|
||||
v-on:click="updateInput"
|
||||
>
|
||||
<slot></slot>
|
||||
>
|
||||
<slot></slot>
|
||||
</button>
|
||||
</template>
|
||||
|
||||
@ -33,7 +34,7 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
shouldBeChecked () {
|
||||
shouldBeChecked() {
|
||||
if (this.checked instanceof Array) {
|
||||
return this.checked.includes(this.value)
|
||||
}
|
||||
@ -42,7 +43,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
updateInput () {
|
||||
updateInput() {
|
||||
if (this.checked instanceof Array) {
|
||||
let newValue = [...this.checked]
|
||||
|
||||
@ -61,6 +62,4 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
@ -1,36 +1,39 @@
|
||||
<template>
|
||||
<section class="hero is-info is-bold">
|
||||
<nav class="navbar">
|
||||
<div class="container">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="/">
|
||||
<h1 class="is-size-3 has-text-weight-semibold is-hidden-mobile">Stardew Community Checklist</h1>
|
||||
<h1 class="is-size-3 has-text-weight-semibold is-hidden-tablet">SCC</h1>
|
||||
</a>
|
||||
<div class="navbar-burger"
|
||||
v-bind:class="{ 'is-active': menu_active }"
|
||||
@click="menu_active = !menu_active"
|
||||
>
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
<nav class="navbar">
|
||||
<div class="container">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="/">
|
||||
<h1 class="is-size-3 has-text-weight-semibold is-hidden-mobile">
|
||||
Stardew Community Checklist
|
||||
</h1>
|
||||
<h1 class="is-size-3 has-text-weight-semibold is-hidden-tablet">SCC</h1>
|
||||
</a>
|
||||
<div
|
||||
class="navbar-burger"
|
||||
v-bind:class="{ 'is-active': menu_active }"
|
||||
@click="menu_active = !menu_active"
|
||||
>
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
<div class="navbar-menu"
|
||||
v-bind:class="{ 'is-active': menu_active }">
|
||||
<div class="navbar-end">
|
||||
<router-link v-for="route in named_routes"
|
||||
:key="route.order"
|
||||
class="navbar-item"
|
||||
@click.native="menu_active = false"
|
||||
:to="route">
|
||||
{{route.name}}
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
<div class="navbar-menu" v-bind:class="{ 'is-active': menu_active }">
|
||||
<div class="navbar-end">
|
||||
<router-link
|
||||
v-for="route in named_routes"
|
||||
:key="route.order"
|
||||
class="navbar-item"
|
||||
@click.native="menu_active = false"
|
||||
:to="route"
|
||||
>
|
||||
{{ route.name }}
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
@ -44,11 +47,10 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
named_routes: function () {
|
||||
return this.$router.options.routes.filter(route => route.hasOwnProperty('name'))
|
||||
return this.$router.options.routes.filter((route) => route.hasOwnProperty('name'))
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
<style scoped></style>
|
||||
|
||||
@ -1,56 +1,64 @@
|
||||
<template>
|
||||
<div class="modal">
|
||||
<div class="modal-background" @click="dismiss"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">What's New</p>
|
||||
<button class="delete" aria-label="close" @click="dismiss"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<h1 class="title">2.0 - The Big Mobile Update</h1>
|
||||
<div class="content">
|
||||
<p>Hey All!</p>
|
||||
<div class="modal">
|
||||
<div class="modal-background" @click="dismiss"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">What's New</p>
|
||||
<button class="delete" aria-label="close" @click="dismiss"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<h1 class="title">2.0 - The Big Mobile Update</h1>
|
||||
<div class="content">
|
||||
<p>Hey All!</p>
|
||||
|
||||
<p>
|
||||
You'll probably notice a lot of changes around here. I've added a fresh coat of paint,
|
||||
a complete redesign to work on mobile, as well as a complete re-write of the backend to
|
||||
support some features I have on the <a href="https://www.reddit.com/r/stardewchecklist/comments/6s5x0a/current_development_roadmap_v20/">roadmap</a>.
|
||||
I've detailed some of the most exciting features below, but for the full list, check out the
|
||||
<router-link to="/changelog">changelog</router-link>.
|
||||
</p>
|
||||
<p>
|
||||
You'll probably notice a lot of changes around here. I've added a fresh coat of paint, a
|
||||
complete redesign to work on mobile, as well as a complete re-write of the backend to
|
||||
support some features I have on the
|
||||
<a
|
||||
href="https://www.reddit.com/r/stardewchecklist/comments/6s5x0a/current_development_roadmap_v20/"
|
||||
>roadmap</a
|
||||
>. I've detailed some of the most exciting features below, but for the full list, check
|
||||
out the <router-link to="/changelog">changelog</router-link>.
|
||||
</p>
|
||||
|
||||
<p>I've tried to keep your saved data from V1 intact, but there may still be some conversion issues.</p>
|
||||
<p>
|
||||
I've tried to keep your saved data from V1 intact, but there may still be some
|
||||
conversion issues.
|
||||
</p>
|
||||
|
||||
<p>If you notice any problems, please report them on the subreddit or open a Github issue.</p>
|
||||
<p>
|
||||
If you notice any problems, please report them on the subreddit or open a Github issue.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Hope you enjoy, <br />
|
||||
Kihashi
|
||||
</p>
|
||||
<h3 class="title">Highlights</h3>
|
||||
<ul>
|
||||
<li>Mobile Support!</li>
|
||||
<p>
|
||||
Hope you enjoy, <br />
|
||||
Kihashi
|
||||
</p>
|
||||
<h3 class="title">Highlights</h3>
|
||||
<ul>
|
||||
<li>Use the checklist on your phone while you play on from the couch!</li>
|
||||
<li>Mobile Support!</li>
|
||||
<ul>
|
||||
<li>Use the checklist on your phone while you play on from the couch!</li>
|
||||
</ul>
|
||||
<li>More clear room completion- a checkmark will show next to completed rooms.</li>
|
||||
<li>Combined search screens and replaced with filters</li>
|
||||
<ul>
|
||||
<li>This lets you do stuff like "Show me items that are only in winter".</li>
|
||||
</ul>
|
||||
<li>Data Reset</li>
|
||||
<ul>
|
||||
<li>Start a new game with the data reset button on the settings page.</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<li>More clear room completion- a checkmark will show next to completed rooms.</li>
|
||||
<li>Combined search screens and replaced with filters</li>
|
||||
<ul>
|
||||
<li>This lets you do stuff like "Show me items that are only in winter".</li>
|
||||
</ul>
|
||||
<li>Data Reset</li>
|
||||
<ul>
|
||||
<li>Start a new game with the data reset button on the settings page.</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<a href="https://www.reddit.com/r/stardewchecklist/" class="button is-info">Subreddit</a>
|
||||
<a href="https://github.com/kihashi/stardew_community_checklist" class="button">Github</a>
|
||||
</footer>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<a href="https://www.reddit.com/r/stardewchecklist/" class="button is-info">Subreddit</a>
|
||||
<a href="https://github.com/kihashi/stardew_community_checklist" class="button">Github</a>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<span class="icon" v-bind:data-season="season.id">
|
||||
<spring-icon v-if="season.id === 'spring'"/>
|
||||
<summer-icon v-if="season.id === 'summer'"/>
|
||||
<fall-icon v-if="season.id === 'fall'"/>
|
||||
<winter-icon v-if="season.id === 'winter'"/>
|
||||
<spring-icon v-if="season.id === 'spring'" />
|
||||
<summer-icon v-if="season.id === 'summer'" />
|
||||
<fall-icon v-if="season.id === 'fall'" />
|
||||
<winter-icon v-if="season.id === 'winter'" />
|
||||
</span>
|
||||
</template>
|
||||
|
||||
@ -36,22 +36,22 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.icon {
|
||||
position: relative;
|
||||
}
|
||||
.icon {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.icon:hover::after {
|
||||
content: attr(data-season);
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: -1.85rem;
|
||||
border-radius: 3px;
|
||||
font-size: .75rem;
|
||||
background-color: #00d1b2;
|
||||
padding: .1rem .3rem;
|
||||
text-transform: capitalize;
|
||||
color: #000;
|
||||
z-index: 100;
|
||||
font-weight: bold;
|
||||
}
|
||||
.icon:hover::after {
|
||||
content: attr(data-season);
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: -1.85rem;
|
||||
border-radius: 3px;
|
||||
font-size: 0.75rem;
|
||||
background-color: #00d1b2;
|
||||
padding: 0.1rem 0.3rem;
|
||||
text-transform: capitalize;
|
||||
color: #000;
|
||||
z-index: 100;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -2,53 +2,43 @@
|
||||
<div>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">
|
||||
Settings
|
||||
</h1>
|
||||
<h1 class="title">Settings</h1>
|
||||
</div>
|
||||
</section>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h2 class="subtitle">
|
||||
Spoilers and Displayed Items
|
||||
</h2>
|
||||
<h2 class="subtitle">Spoilers and Displayed Items</h2>
|
||||
<div class="field">
|
||||
<button-checkbox v-model="HideCompleted">
|
||||
Hide Completed
|
||||
</button-checkbox>
|
||||
<button-checkbox v-model="HideCompleted"> Hide Completed </button-checkbox>
|
||||
<p class="help">Hides items that have been turned in to the community center.</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<button-checkbox v-model="HideSpoilers">
|
||||
Hide Spoilers
|
||||
</button-checkbox>
|
||||
<button-checkbox v-model="HideSpoilers"> Hide Spoilers </button-checkbox>
|
||||
<p class="help">Hides things that are considered spoilers, as defined below.</p>
|
||||
</div>
|
||||
<label class="label">
|
||||
Spoilers
|
||||
</label>
|
||||
<label class="label"> Spoilers </label>
|
||||
<div class="field is-grouped is-grouped-multiline">
|
||||
<div class="control">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" v-model="BundleRewardsSpoilers"/>
|
||||
Bundle Rewards
|
||||
<input type="checkbox" v-model="BundleRewardsSpoilers" />
|
||||
Bundle Rewards
|
||||
</label>
|
||||
</div>
|
||||
<div class="control">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" v-model="ItemInfoSpoilers"/>
|
||||
<input type="checkbox" v-model="ItemInfoSpoilers" />
|
||||
Item Source Information
|
||||
</label>
|
||||
</div>
|
||||
<div class="control">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" v-model="SeasonsSpoilers"/>
|
||||
<input type="checkbox" v-model="SeasonsSpoilers" />
|
||||
Item Seasons
|
||||
</label>
|
||||
</div>
|
||||
<div class="control">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" v-model="SkillsSpoilers"/>
|
||||
<input type="checkbox" v-model="SkillsSpoilers" />
|
||||
Item Skills
|
||||
</label>
|
||||
</div>
|
||||
@ -57,36 +47,29 @@
|
||||
</section>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h2 class="subtitle">
|
||||
Compact View
|
||||
</h2>
|
||||
<h2 class="subtitle">Compact View</h2>
|
||||
<p class="content">
|
||||
Enable a more compact table view instead of the card view.
|
||||
Note that this may result in horizontal scrolling on smaller (phone-sized) devices.
|
||||
The card view is recommended for those.
|
||||
Enable a more compact table view instead of the card view. Note that this may result in
|
||||
horizontal scrolling on smaller (phone-sized) devices. The card view is recommended for
|
||||
those.
|
||||
</p>
|
||||
<div class="field">
|
||||
<button-checkbox v-model="CompactView">
|
||||
Use Compact View
|
||||
</button-checkbox>
|
||||
<button-checkbox v-model="CompactView"> Use Compact View </button-checkbox>
|
||||
<p class="help">Enables a compact tabular view for item information.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h2 class="subtitle">
|
||||
Import and Export Saved Data
|
||||
</h2>
|
||||
<h2 class="subtitle">Import and Export Saved Data</h2>
|
||||
<p class="content">
|
||||
Use these controls to port data to another device.
|
||||
Copy the data string from the Export field on the source device and paste it into the Import field
|
||||
on the target device.
|
||||
Use these controls to port data to another device. Copy the data string from the Export
|
||||
field on the source device and paste it into the Import field on the target device.
|
||||
</p>
|
||||
<label class="label">Export</label>
|
||||
<div class="field has-addons">
|
||||
<div class="control">
|
||||
<input class="input" type="text" placeholder="Saved Data" :value=SavedData readonly />
|
||||
<input class="input" type="text" placeholder="Saved Data" :value="SavedData" readonly />
|
||||
</div>
|
||||
<div class="control">
|
||||
<button class="button is-info" v-clipboard:copy="SavedData">
|
||||
@ -99,7 +82,12 @@
|
||||
<label class="label">Import</label>
|
||||
<div class="field has-addons">
|
||||
<div class="control">
|
||||
<input class="input" type="text" placeholder="Enter Saved Data here" v-model="DataToLoad" />
|
||||
<input
|
||||
class="input"
|
||||
type="text"
|
||||
placeholder="Enter Saved Data here"
|
||||
v-model="DataToLoad"
|
||||
/>
|
||||
</div>
|
||||
<div class="control">
|
||||
<button class="button is-info" @click="LoadData">
|
||||
@ -117,16 +105,16 @@
|
||||
<p class="content">Use this button to reset your data and start a new game.</p>
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button class="button is-large is-rounded" :class="DeleteConfirm ? 'is-warning' : 'is-danger'" @click="ConfirmDelete">
|
||||
<button
|
||||
class="button is-large is-rounded"
|
||||
:class="DeleteConfirm ? 'is-warning' : 'is-danger'"
|
||||
@click="ConfirmDelete"
|
||||
>
|
||||
<span class="icon">
|
||||
<font-awesome-icon icon="trash"></font-awesome-icon>
|
||||
</span>
|
||||
<span v-if="DeleteConfirm">
|
||||
Are You Sure?
|
||||
</span>
|
||||
<span v-else>
|
||||
Reset Data
|
||||
</span>
|
||||
<span v-if="DeleteConfirm"> Are You Sure? </span>
|
||||
<span v-else> Reset Data </span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -136,7 +124,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import FontAwesomeIcon from '@fortawesome/vue-fontawesome'
|
||||
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
|
||||
import ButtonCheckbox from '@/components/ButtonCheckbox.vue'
|
||||
import { faCopy, faTrash, faCloudUploadAlt } from '@fortawesome/fontawesome-free-solid'
|
||||
import 'mdi-vue/ContentCopyIcon'
|
||||
@ -159,58 +147,58 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
HideCompleted: {
|
||||
get () {
|
||||
get() {
|
||||
return this.$store.state.HideCompleted
|
||||
},
|
||||
set (newValue) {
|
||||
set(newValue) {
|
||||
this.$store.commit('toggleCompleted')
|
||||
}
|
||||
},
|
||||
HideSpoilers: {
|
||||
get () {
|
||||
get() {
|
||||
return this.$store.state.HideSpoilers
|
||||
},
|
||||
set (newValue) {
|
||||
set(newValue) {
|
||||
this.$store.commit('toggleSpoilers')
|
||||
}
|
||||
},
|
||||
BundleRewardsSpoilers: {
|
||||
get () {
|
||||
get() {
|
||||
return this.$store.state.BundleRewardsSpoilers
|
||||
},
|
||||
set (newValue) {
|
||||
set(newValue) {
|
||||
this.$store.commit('toggleBundleRewards')
|
||||
}
|
||||
},
|
||||
ItemInfoSpoilers: {
|
||||
get () {
|
||||
get() {
|
||||
return this.$store.state.ItemInfoSpoilers
|
||||
},
|
||||
set (newValue) {
|
||||
set(newValue) {
|
||||
this.$store.commit('toggleItemInfo')
|
||||
}
|
||||
},
|
||||
SeasonsSpoilers: {
|
||||
get () {
|
||||
get() {
|
||||
return this.$store.state.SeasonsSpoilers
|
||||
},
|
||||
set (newValue) {
|
||||
set(newValue) {
|
||||
this.$store.commit('toggleSeasons')
|
||||
}
|
||||
},
|
||||
SkillsSpoilers: {
|
||||
get () {
|
||||
get() {
|
||||
return this.$store.state.SkillsSpoilers
|
||||
},
|
||||
set (newValue) {
|
||||
set(newValue) {
|
||||
this.$store.commit('toggleSkills')
|
||||
}
|
||||
},
|
||||
CompactView: {
|
||||
get () {
|
||||
get() {
|
||||
return this.$store.state.CompactView
|
||||
},
|
||||
set (newValue) {
|
||||
set(newValue) {
|
||||
this.$store.commit('toggleCompactView')
|
||||
}
|
||||
},
|
||||
@ -238,6 +226,4 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<span class="icon" v-bind:data-skill="skill.id">
|
||||
<farming-icon v-if="skill.id === 'farming'"/>
|
||||
<mining-icon v-if="skill.id === 'mining'"/>
|
||||
<foraging-icon v-if="skill.id === 'foraging'"/>
|
||||
<fishing-icon v-if="skill.id === 'fishing'"/>
|
||||
<combat-icon v-if="skill.id === 'combat'"/>
|
||||
<farming-icon v-if="skill.id === 'farming'" />
|
||||
<mining-icon v-if="skill.id === 'mining'" />
|
||||
<foraging-icon v-if="skill.id === 'foraging'" />
|
||||
<fishing-icon v-if="skill.id === 'fishing'" />
|
||||
<combat-icon v-if="skill.id === 'combat'" />
|
||||
</span>
|
||||
</template>
|
||||
|
||||
@ -39,22 +39,22 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.icon {
|
||||
position: relative;
|
||||
}
|
||||
.icon {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.icon:hover::after {
|
||||
content: attr(data-skill);
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: -1.85rem;
|
||||
border-radius: 3px;
|
||||
font-size: .75rem;
|
||||
background-color: #209cee;
|
||||
padding: .1rem .3rem;
|
||||
text-transform: capitalize;
|
||||
color: #FFF;
|
||||
z-index: 100;
|
||||
font-weight: bold;
|
||||
}
|
||||
.icon:hover::after {
|
||||
content: attr(data-skill);
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: -1.85rem;
|
||||
border-radius: 3px;
|
||||
font-size: 0.75rem;
|
||||
background-color: #209cee;
|
||||
padding: 0.1rem 0.3rem;
|
||||
text-transform: capitalize;
|
||||
color: #fff;
|
||||
z-index: 100;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -2,12 +2,8 @@
|
||||
<section class="container">
|
||||
<div class="hero is-medium is-bold">
|
||||
<div class="hero-body">
|
||||
<h1 class="title">
|
||||
Stardew Community Checklist
|
||||
</h1>
|
||||
<h2 class="subtitle">
|
||||
Track Your Progress on the Community Center!
|
||||
</h2>
|
||||
<h1 class="title">Stardew Community Checklist</h1>
|
||||
<h2 class="subtitle">Track Your Progress on the Community Center!</h2>
|
||||
</div>
|
||||
</div>
|
||||
<New :class="ShowModal ? 'is-active' : ''" v-on:dismiss-modal="ShowModal = false"></New>
|
||||
@ -15,17 +11,17 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ItemCard from '@/components/item_card/ItemCard'
|
||||
import New from '@/components/New'
|
||||
import ItemCard from '@/components/item_card/ItemCard.vue'
|
||||
import New from '@/components/New.vue'
|
||||
export default {
|
||||
components: {ItemCard, New},
|
||||
components: { ItemCard, New },
|
||||
name: 'welcome',
|
||||
data: function () {
|
||||
return {
|
||||
ShowModal: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
created() {
|
||||
if (localStorage.getItem('new_visit') === null) {
|
||||
this.ShowModal = true
|
||||
localStorage.setItem('new_visit', 1)
|
||||
@ -34,5 +30,4 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
<style scoped></style>
|
||||
|
||||
@ -1,40 +1,57 @@
|
||||
<template>
|
||||
<div id="bundle-items">
|
||||
<div id="bundle-items">
|
||||
<section class="container">
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<h3 class="title is-4">
|
||||
{{bundle.name}}
|
||||
<span class="is-pulled-right">{{ GetBundleItemsRedeemed(bundle) }} / {{bundle.items_required}}</span>
|
||||
{{ bundle.name }}
|
||||
<span class="is-pulled-right"
|
||||
>{{ GetBundleItemsRedeemed(bundle) }} / {{ bundle.items_required }}</span
|
||||
>
|
||||
</h3>
|
||||
<h5 class="subtitle bundle-reward" v-if="!hideBundleItems">
|
||||
{{bundle.reward}}
|
||||
{{ bundle.reward }}
|
||||
</h5>
|
||||
<progress class="progress is-info" :value="GetBundleItemsRedeemed(bundle)" :max="bundle.items_required" />
|
||||
<progress
|
||||
class="progress is-info"
|
||||
:value="GetBundleItemsRedeemed(bundle)"
|
||||
:max="bundle.items_required"
|
||||
/>
|
||||
</div>
|
||||
<div class="column">
|
||||
<h3 class="title is-4">
|
||||
{{bundle.room.name}}
|
||||
<span class="is-pulled-right">{{ GetRoomItemsRedeemed(bundle.room)}} / {{bundle.room.items_required}}</span>
|
||||
{{ bundle.room.name }}
|
||||
<span class="is-pulled-right"
|
||||
>{{ GetRoomItemsRedeemed(bundle.room) }} / {{ bundle.room.items_required }}</span
|
||||
>
|
||||
</h3>
|
||||
<h5 class="subtitle" v-if="!hideBundleItems">
|
||||
{{bundle.room.reward}}
|
||||
{{ bundle.room.reward }}
|
||||
</h5>
|
||||
<progress class="progress is-info" :value="GetRoomItemsRedeemed(bundle.room)" :max="bundle.room.items_required" />
|
||||
<progress
|
||||
class="progress is-info"
|
||||
:value="GetRoomItemsRedeemed(bundle.room)"
|
||||
:max="bundle.room.items_required"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns is-multiline">
|
||||
<item-table v-if="CompactView" :items="bundleItems.map(i => i.item)" />
|
||||
<div v-else class="column is-3-widescreen is-4-desktop is-12-mobile is-6-tablet is-flex" v-for="bundleitem in bundleItems" :key="bundleitem.id">
|
||||
<item-card :item="bundleitem.item"></item-card>
|
||||
</div>
|
||||
<div class="columns is-multiline">
|
||||
<item-table v-if="CompactView" :items="bundleItems.map((i) => i.item)" />
|
||||
<div
|
||||
v-else
|
||||
class="column is-3-widescreen is-4-desktop is-12-mobile is-6-tablet is-flex"
|
||||
v-for="bundleitem in bundleItems"
|
||||
:key="bundleitem.id"
|
||||
>
|
||||
<item-card :item="bundleitem.item"></item-card>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ItemCard from '@/components/item_card/ItemCard'
|
||||
import ItemCard from '@/components/item_card/ItemCard.vue'
|
||||
import ItemTable from '@/components/item_table/ItemTable.vue'
|
||||
export default {
|
||||
name: 'bundle-items',
|
||||
@ -46,9 +63,11 @@ export default {
|
||||
return this.$store.state.HideSpoilers && this.$store.state.BundleRewardsSpoilers
|
||||
},
|
||||
bundleItems: function () {
|
||||
return this.bundle.items.filter(item => !(this.$store.state.HideCompleted && this.isItemComplete(item)))
|
||||
return this.bundle.items.filter(
|
||||
(item) => !(this.$store.state.HideCompleted && this.isItemComplete(item))
|
||||
)
|
||||
},
|
||||
CompactView () {
|
||||
CompactView() {
|
||||
return this.$store.state.CompactView
|
||||
}
|
||||
},
|
||||
@ -56,8 +75,12 @@ export default {
|
||||
isItemComplete: function (item) {
|
||||
return item.item.bundles.every(this.$store.getters.IsBundleItemRedeemed)
|
||||
},
|
||||
GetBundleItemsRedeemed: function (bundle) { return this.$store.getters.GetBundleItemsRedeemed(bundle) },
|
||||
GetRoomItemsRedeemed: function (room) { return this.$store.getters.GetRoomItemsRedeemed(room) }
|
||||
GetBundleItemsRedeemed: function (bundle) {
|
||||
return this.$store.getters.GetBundleItemsRedeemed(bundle)
|
||||
},
|
||||
GetRoomItemsRedeemed: function (room) {
|
||||
return this.$store.getters.GetRoomItemsRedeemed(room)
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ItemCard,
|
||||
|
||||
@ -5,9 +5,10 @@
|
||||
<div class="navbar-item">
|
||||
<h1 class="subtitle">Bundles</h1>
|
||||
</div>
|
||||
<div class="navbar-burger burger"
|
||||
v-bind:class="{ 'is-active': menu_active }"
|
||||
@click="menu_active = !menu_active"
|
||||
<div
|
||||
class="navbar-burger burger"
|
||||
v-bind:class="{ 'is-active': menu_active }"
|
||||
@click="menu_active = !menu_active"
|
||||
>
|
||||
<span></span>
|
||||
<span></span>
|
||||
@ -19,8 +20,10 @@
|
||||
<div class="navbar-start">
|
||||
<div class="navbar-item has-dropdown is-hoverable" v-for="room in rooms" :key="room.id">
|
||||
<a class="navbar-link">
|
||||
<span class="icon has-text-success" v-if="IsRoomComplete(room)"><font-awesome-icon icon="check-circle"/></span>
|
||||
<span>{{room.name}}</span>
|
||||
<span class="icon has-text-success" v-if="IsRoomComplete(room)"
|
||||
><font-awesome-icon icon="check-circle"
|
||||
/></span>
|
||||
<span>{{ room.name }}</span>
|
||||
</a>
|
||||
<div class="navbar-dropdown">
|
||||
<router-link
|
||||
@ -28,10 +31,12 @@
|
||||
v-for="bundle in room.bundles"
|
||||
:key="bundle.id"
|
||||
@click.native="menu_active = false"
|
||||
:to="{ name: 'bundle-items', params: { id: bundle.id }}">
|
||||
|
||||
<span class="icon has-text-success" v-if="IsBundleComplete(bundle)"><font-awesome-icon icon="check-circle"/></span>
|
||||
<span>{{bundle.name}}</span>
|
||||
:to="{ name: 'bundle-items', params: { id: bundle.id } }"
|
||||
>
|
||||
<span class="icon has-text-success" v-if="IsBundleComplete(bundle)"
|
||||
><font-awesome-icon icon="check-circle"
|
||||
/></span>
|
||||
<span>{{ bundle.name }}</span>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
@ -39,12 +44,11 @@
|
||||
</div>
|
||||
</nav>
|
||||
</section>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
import FontAwesomeIcon from '@fortawesome/vue-fontawesome'
|
||||
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
|
||||
import { faCheckCircle } from '@fortawesome/fontawesome-free-solid'
|
||||
export default {
|
||||
name: 'bundle_nav',
|
||||
@ -61,8 +65,12 @@ export default {
|
||||
...mapState(['rooms'])
|
||||
},
|
||||
methods: {
|
||||
IsBundleComplete: function (bundle) { return this.$store.getters.IsBundleComplete(bundle) },
|
||||
IsRoomComplete: function (room) { return this.$store.getters.IsRoomComplete(room) }
|
||||
IsBundleComplete: function (bundle) {
|
||||
return this.$store.getters.IsBundleComplete(bundle)
|
||||
},
|
||||
IsRoomComplete: function (room) {
|
||||
return this.$store.getters.IsRoomComplete(room)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -2,10 +2,7 @@
|
||||
<div>
|
||||
<BundleNav />
|
||||
<section class="section">
|
||||
<transition
|
||||
name="fade"
|
||||
mode="out-in"
|
||||
>
|
||||
<transition name="fade" mode="out-in">
|
||||
<router-view :key="bundle"></router-view>
|
||||
</transition>
|
||||
</section>
|
||||
@ -15,7 +12,7 @@
|
||||
<script>
|
||||
import BundleNav from '@/components/bundles/BundleNav.vue'
|
||||
export default {
|
||||
components: {BundleNav},
|
||||
components: { BundleNav },
|
||||
name: 'bundles',
|
||||
computed: {
|
||||
bundle: function () {
|
||||
@ -26,13 +23,13 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.fade-enter-active, .fade-leave-active {
|
||||
.fade-enter-active,
|
||||
.fade-leave-active {
|
||||
transition: opacity 0.5s ease;
|
||||
}
|
||||
|
||||
.fade-enter, .fade-leave-active {
|
||||
.fade-enter,
|
||||
.fade-leave-active {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@ -1,10 +1,8 @@
|
||||
<template>
|
||||
<section class="section">
|
||||
<section class="container">
|
||||
<h1 class="title">
|
||||
Changelog
|
||||
</h1>
|
||||
<version v-for="version in changelog.versions" :key="version.date" :version="version"/>
|
||||
<h1 class="title">Changelog</h1>
|
||||
<version v-for="version in changelog.versions" :key="version.date" :version="version" />
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
@ -17,7 +15,7 @@ export default {
|
||||
components: {
|
||||
Version
|
||||
},
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
changelog: ChangeLogJson
|
||||
}
|
||||
@ -25,6 +23,4 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
@ -2,26 +2,24 @@
|
||||
<div class="card">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{version.id}}
|
||||
{{ version.id }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="content">
|
||||
<ul>
|
||||
<li v-for="change in version.changes" :key="change.date">
|
||||
{{change}}
|
||||
{{ change }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<p class="card-footer-item has-text-centered-mobile">
|
||||
Release Date: {{version.date}}
|
||||
</p>
|
||||
<p class="card-footer-item has-text-centered-mobile">Release Date: {{ version.date }}</p>
|
||||
<p class="card-footer-item">
|
||||
<a :href="release_url" class="button">
|
||||
<span class="icon">
|
||||
<github-box/>
|
||||
<github-box />
|
||||
</span>
|
||||
<span>Release</span>
|
||||
</a>
|
||||
@ -40,27 +38,24 @@ export default {
|
||||
props: {
|
||||
version: {
|
||||
type: Object,
|
||||
default () {
|
||||
default() {
|
||||
return {
|
||||
id: 'Version 1.0',
|
||||
date: '2016-04-13',
|
||||
link: 'Version-1.0',
|
||||
changes: [
|
||||
'Initial Version'
|
||||
]
|
||||
changes: ['Initial Version']
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
release_url () {
|
||||
return 'https://github.com/kihashi/stardew_community_checklist/releases/tag/' + this.version.link
|
||||
release_url() {
|
||||
return (
|
||||
'https://github.com/kihashi/stardew_community_checklist/releases/tag/' + this.version.link
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
@ -1,16 +1,20 @@
|
||||
<template>
|
||||
<div class="field has-addons">
|
||||
<div class="control is-expanded">
|
||||
<a class="button is-rounded is-fullwidth" :class="ButtonClass"
|
||||
@click="ToggleItemInBundle">
|
||||
<a class="button is-rounded is-fullwidth" :class="ButtonClass" @click="ToggleItemInBundle">
|
||||
<span class="icon">
|
||||
<font-awesome-icon :icon="ItemInBundle ? InBundleIcon : NotInBundleIcon"></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
:icon="ItemInBundle ? InBundleIcon : NotInBundleIcon"
|
||||
></font-awesome-icon>
|
||||
</span>
|
||||
<span class="is-size-7">{{bundleItem.bundle.name}}{{numberInBundle}}</span>
|
||||
<span class="is-size-7">{{ bundleItem.bundle.name }}{{ numberInBundle }}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="control">
|
||||
<router-link class="button is-rounded is-light" :to="{ name: 'bundle-items', params: { id: bundleItem.bundle.id } }">
|
||||
<router-link
|
||||
class="button is-rounded is-light"
|
||||
:to="{ name: 'bundle-items', params: { id: bundleItem.bundle.id } }"
|
||||
>
|
||||
<span class="icon is-small">
|
||||
<font-awesome-icon icon="link"></font-awesome-icon>
|
||||
</span>
|
||||
@ -20,7 +24,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import FontAwesomeIcon from '@fortawesome/vue-fontawesome'
|
||||
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
|
||||
import { faCheckSquare, faSquare } from '@fortawesome/fontawesome-free-regular'
|
||||
import { faLink } from '@fortawesome/fontawesome-free-solid'
|
||||
export default {
|
||||
@ -39,13 +43,13 @@ export default {
|
||||
ItemInBundle: function () {
|
||||
return this.$store.getters.IsBundleItemRedeemed(this.bundleItem)
|
||||
},
|
||||
InBundleIcon () {
|
||||
InBundleIcon() {
|
||||
return faCheckSquare
|
||||
},
|
||||
NotInBundleIcon () {
|
||||
NotInBundleIcon() {
|
||||
return faSquare
|
||||
},
|
||||
ButtonClass () {
|
||||
ButtonClass() {
|
||||
if (this.ItemInBundle) {
|
||||
return 'is-success'
|
||||
} else if (this.IsBundleComplete(this.bundleItem.bundle)) {
|
||||
@ -54,25 +58,23 @@ export default {
|
||||
return 'is-danger'
|
||||
}
|
||||
},
|
||||
numberInBundle () {
|
||||
numberInBundle() {
|
||||
return this.bundleItem.count > 1 ? ` (${this.bundleItem.count})` : ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
ToggleItemInBundle () {
|
||||
ToggleItemInBundle() {
|
||||
if (!this.ItemInBundle) {
|
||||
this.$store.commit('RedeemItem', this.bundleItem)
|
||||
} else {
|
||||
this.$store.commit('UndoRedeemItem', this.bundleItem)
|
||||
}
|
||||
},
|
||||
IsBundleComplete (bundle) {
|
||||
IsBundleComplete(bundle) {
|
||||
return this.$store.getters.IsBundleComplete(bundle)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
<style scoped></style>
|
||||
|
||||
@ -2,32 +2,37 @@
|
||||
<div class="card">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{item.name}}
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="content item-source" v-if="showItemDesc">
|
||||
{{item.source}}
|
||||
{{ item.source }}
|
||||
</div>
|
||||
<div class="content">
|
||||
<bundle-button v-for="bundleItem in item.bundles" :key="bundleItem.id" :bundle-item="bundleItem" :item="item"/>
|
||||
<bundle-button
|
||||
v-for="bundleItem in item.bundles"
|
||||
:key="bundleItem.id"
|
||||
:bundle-item="bundleItem"
|
||||
:item="item"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item item-seasons" v-if="showSeasonList">
|
||||
<season-list :seasons="item.seasons"/>
|
||||
<season-list :seasons="item.seasons" />
|
||||
</div>
|
||||
<div class="card-footer-item item-skills" v-if="showSkillList">
|
||||
<skill-list :skills="item.skills"/>
|
||||
<skill-list :skills="item.skills" />
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SeasonList from './SeasonList'
|
||||
import SkillList from './SkillList'
|
||||
import BundleButton from './BundleButton'
|
||||
import SeasonList from './SeasonList.vue'
|
||||
import SkillList from './SkillList.vue'
|
||||
import BundleButton from './BundleButton.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@ -54,7 +59,8 @@ export default {
|
||||
return {
|
||||
id: 22,
|
||||
name: 'Purple Mushroom',
|
||||
source: 'Can be found in the mines or in the farm cave if you selected the mushroom perk.',
|
||||
source:
|
||||
'Can be found in the mines or in the farm cave if you selected the mushroom perk.',
|
||||
seasons: [
|
||||
{
|
||||
id: 'spring',
|
||||
@ -89,26 +95,26 @@ export default {
|
||||
name: 'Foraging'
|
||||
}
|
||||
],
|
||||
'bundles': [
|
||||
bundles: [
|
||||
{
|
||||
'count': 1,
|
||||
'bundle': {
|
||||
count: 1,
|
||||
bundle: {
|
||||
id: 5,
|
||||
name: 'Exotic Foraging Bundle',
|
||||
room: 0,
|
||||
reward: 'Autumn\'s Bounty (5)'
|
||||
reward: "Autumn's Bounty (5)"
|
||||
},
|
||||
'id': 24
|
||||
id: 24
|
||||
},
|
||||
{
|
||||
'count': 1,
|
||||
'bundle': {
|
||||
count: 1,
|
||||
bundle: {
|
||||
id: 23,
|
||||
name: 'Field Research Bundle',
|
||||
room: 4,
|
||||
reward: 'Recycling Machine'
|
||||
},
|
||||
'id': 25
|
||||
id: 25
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
<template>
|
||||
<span class='tags has-addons'>
|
||||
<season-tag v-for='season in seasons' :key='season.order' :season='season'/>
|
||||
<span class="tags has-addons">
|
||||
<season-tag v-for="season in seasons" :key="season.order" :season="season" />
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SeasonTag from './SeasonTag'
|
||||
import SeasonTag from './SeasonTag.vue'
|
||||
|
||||
export default {
|
||||
components: {SeasonTag},
|
||||
components: { SeasonTag },
|
||||
name: 'season-list',
|
||||
props: {
|
||||
seasons: {
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<span class="tag is-primary">
|
||||
<season-icon :season="season" class="is-small"></season-icon>
|
||||
<season-icon :season="season" class="is-small"></season-icon>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SeasonIcon from '@/components/SeasonIcon'
|
||||
import SeasonIcon from '@/components/SeasonIcon.vue'
|
||||
export default {
|
||||
name: 'season-tag',
|
||||
props: {
|
||||
@ -26,6 +26,4 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
<style scoped></style>
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
<template>
|
||||
<span class="tags has-addons">
|
||||
<skill-tag v-for="skill in skills" :key="skill.order" :skill="skill"/>
|
||||
<skill-tag v-for="skill in skills" :key="skill.order" :skill="skill" />
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SkillTag from './SkillTag'
|
||||
import SkillTag from './SkillTag.vue'
|
||||
|
||||
export default {
|
||||
components: {SkillTag},
|
||||
components: { SkillTag },
|
||||
name: 'skill-list',
|
||||
props: {
|
||||
skills: {
|
||||
@ -24,5 +24,4 @@ export default {
|
||||
justify-content: center;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<span class="tag is-info">
|
||||
<skill-icon :skill="skill" class="is-small"/>
|
||||
<skill-icon :skill="skill" class="is-small" />
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SkillIcon from '@/components/SkillIcon'
|
||||
import SkillIcon from '@/components/SkillIcon.vue'
|
||||
export default {
|
||||
name: 'skill-tag',
|
||||
props: {
|
||||
@ -26,6 +26,4 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
<style scoped></style>
|
||||
|
||||
@ -2,21 +2,11 @@
|
||||
<table class="table is-bordered is-striped is-narrow is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Item
|
||||
</th>
|
||||
<th>
|
||||
Source
|
||||
</th>
|
||||
<th v-if="showSeasonList">
|
||||
Seasons
|
||||
</th>
|
||||
<th v-if="showSkillList">
|
||||
Skills
|
||||
</th>
|
||||
<th>
|
||||
Bundles
|
||||
</th>
|
||||
<th>Item</th>
|
||||
<th>Source</th>
|
||||
<th v-if="showSeasonList">Seasons</th>
|
||||
<th v-if="showSkillList">Skills</th>
|
||||
<th>Bundles</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -33,10 +23,8 @@ export default {
|
||||
components: {
|
||||
ItemTableRow
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
|
||||
}
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
props: {
|
||||
items: {
|
||||
@ -56,6 +44,6 @@ export default {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
table {
|
||||
table-layout: fixed
|
||||
table-layout: fixed;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,27 +1,32 @@
|
||||
<template>
|
||||
<tr>
|
||||
<td>
|
||||
{{item.name}}
|
||||
{{ item.name }}
|
||||
</td>
|
||||
<td>
|
||||
{{item.source}}
|
||||
{{ item.source }}
|
||||
</td>
|
||||
<td v-if="showSeasonList">
|
||||
<season-list :seasons="item.seasons"/>
|
||||
<season-list :seasons="item.seasons" />
|
||||
</td>
|
||||
<td v-if="showSkillList">
|
||||
<skill-list :skills="item.skills"/>
|
||||
<skill-list :skills="item.skills" />
|
||||
</td>
|
||||
<td>
|
||||
<bundle-button v-for="bundleItem in item.bundles" :key="bundleItem.id" :bundle-item="bundleItem" :item="item"/>
|
||||
<bundle-button
|
||||
v-for="bundleItem in item.bundles"
|
||||
:key="bundleItem.id"
|
||||
:bundle-item="bundleItem"
|
||||
:item="item"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SeasonList from '../item_card/SeasonList'
|
||||
import SkillList from '../item_card/SkillList'
|
||||
import BundleButton from '../item_card/BundleButton'
|
||||
import SeasonList from '../item_card/SeasonList.vue'
|
||||
import SkillList from '../item_card/SkillList.vue'
|
||||
import BundleButton from '../item_card/BundleButton.vue'
|
||||
export default {
|
||||
name: 'ItemTable',
|
||||
components: {
|
||||
@ -29,10 +34,8 @@ export default {
|
||||
SkillList,
|
||||
SeasonList
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
|
||||
}
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
computed: {
|
||||
showItemDesc: function () {
|
||||
@ -52,7 +55,8 @@ export default {
|
||||
return {
|
||||
id: 22,
|
||||
name: 'Purple Mushroom',
|
||||
source: 'Can be found in the mines or in the farm cave if you selected the mushroom perk.',
|
||||
source:
|
||||
'Can be found in the mines or in the farm cave if you selected the mushroom perk.',
|
||||
seasons: [
|
||||
{
|
||||
id: 'spring',
|
||||
@ -87,32 +91,31 @@ export default {
|
||||
name: 'Foraging'
|
||||
}
|
||||
],
|
||||
'bundles': [
|
||||
bundles: [
|
||||
{
|
||||
'count': 1,
|
||||
'bundle': {
|
||||
count: 1,
|
||||
bundle: {
|
||||
id: 5,
|
||||
name: 'Exotic Foraging Bundle',
|
||||
room: 0,
|
||||
reward: 'Autumn\'s Bounty (5)'
|
||||
reward: "Autumn's Bounty (5)"
|
||||
},
|
||||
'id': 24
|
||||
id: 24
|
||||
},
|
||||
{
|
||||
'count': 1,
|
||||
'bundle': {
|
||||
count: 1,
|
||||
bundle: {
|
||||
id: 23,
|
||||
name: 'Field Research Bundle',
|
||||
room: 4,
|
||||
reward: 'Recycling Machine'
|
||||
},
|
||||
'id': 25
|
||||
id: 25
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -6,7 +6,12 @@
|
||||
<div class="field-body">
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<input class="input" placeholder="Item Name" v-bind:value="value" v-on:input="$emit('input', $event.target.value)"/>
|
||||
<input
|
||||
class="input"
|
||||
placeholder="Item Name"
|
||||
v-bind:value="value"
|
||||
v-on:input="$emit('input', $event.target.value)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -18,15 +23,12 @@ export default {
|
||||
name: 'item-search',
|
||||
props: {
|
||||
value: {
|
||||
default () {
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
@ -1,21 +1,25 @@
|
||||
<template>
|
||||
<section class="section">
|
||||
<search-form v-model="search"></search-form>
|
||||
<section class="container">
|
||||
<div class="columns is-multiline">
|
||||
<item-table v-if="CompactView" :items="filtered_items" />
|
||||
<div v-else class="column is-3-widescreen is-4-desktop is-12-mobile is-6-tablet is-flex" v-for="item in filtered_items" :key="item.id">
|
||||
<item-card :item="item"></item-card>
|
||||
<section class="section">
|
||||
<search-form v-model="search"></search-form>
|
||||
<section class="container">
|
||||
<div class="columns is-multiline">
|
||||
<item-table v-if="CompactView" :items="filtered_items" />
|
||||
<div
|
||||
v-else
|
||||
class="column is-3-widescreen is-4-desktop is-12-mobile is-6-tablet is-flex"
|
||||
v-for="item in filtered_items"
|
||||
:key="item.id"
|
||||
>
|
||||
<item-card :item="item"></item-card>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SearchForm from '@/components/search/SearchForm'
|
||||
import ItemCard from '@/components/item_card/ItemCard'
|
||||
import SearchForm from '@/components/search/SearchForm.vue'
|
||||
import ItemCard from '@/components/item_card/ItemCard.vue'
|
||||
import ItemTable from '@/components/item_table/ItemTable.vue'
|
||||
import _ from 'lodash'
|
||||
export default {
|
||||
@ -25,7 +29,7 @@ export default {
|
||||
ItemCard,
|
||||
ItemTable
|
||||
},
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
search: {
|
||||
name_filter: '',
|
||||
@ -41,24 +45,35 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
filtered_items () {
|
||||
filtered_items() {
|
||||
var self = this
|
||||
return _.orderBy(
|
||||
self.$store.state.items
|
||||
.filter(item => !(this.$store.state.HideCompleted && this.isItemComplete(item)))
|
||||
.filter(item => item.name.toLowerCase().indexOf(self.search.name_filter.toLowerCase()) !== -1)
|
||||
.filter(item => this.FilterSeasons(item.seasons.map(ssn => ssn.id), this.search.season_filter))
|
||||
.filter(item => this.FilterSkills(item.skills.map(skl => skl.id), this.search.skill_filter))
|
||||
,
|
||||
.filter((item) => !(this.$store.state.HideCompleted && this.isItemComplete(item)))
|
||||
.filter(
|
||||
(item) => item.name.toLowerCase().indexOf(self.search.name_filter.toLowerCase()) !== -1
|
||||
)
|
||||
.filter((item) =>
|
||||
this.FilterSeasons(
|
||||
item.seasons.map((ssn) => ssn.id),
|
||||
this.search.season_filter
|
||||
)
|
||||
)
|
||||
.filter((item) =>
|
||||
this.FilterSkills(
|
||||
item.skills.map((skl) => skl.id),
|
||||
this.search.skill_filter
|
||||
)
|
||||
),
|
||||
'name'
|
||||
)
|
||||
},
|
||||
CompactView () {
|
||||
CompactView() {
|
||||
return this.$store.state.CompactView
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
FilterSeasons (itemSeasons, seasonFilter) {
|
||||
FilterSeasons(itemSeasons, seasonFilter) {
|
||||
if (seasonFilter.season_exclusive) {
|
||||
if (itemSeasons.length !== seasonFilter.selected_seasons.length) {
|
||||
return false
|
||||
@ -68,7 +83,9 @@ export default {
|
||||
a.sort()
|
||||
b.sort()
|
||||
for (var i = 0; i < a.length; ++i) {
|
||||
if (a[i] !== b[i]) { return false }
|
||||
if (a[i] !== b[i]) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
@ -81,7 +98,7 @@ export default {
|
||||
return false
|
||||
}
|
||||
},
|
||||
FilterSkills (itemSkills, skillFilter) {
|
||||
FilterSkills(itemSkills, skillFilter) {
|
||||
if (skillFilter.skill_exclusive) {
|
||||
if (itemSkills.length !== skillFilter.selected_skills.length) {
|
||||
return false
|
||||
@ -91,7 +108,9 @@ export default {
|
||||
a.sort()
|
||||
b.sort()
|
||||
for (var i = 0; i < a.length; ++i) {
|
||||
if (a[i] !== b[i]) { return false }
|
||||
if (a[i] !== b[i]) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
@ -108,10 +127,7 @@ export default {
|
||||
return item.bundles.every(this.$store.getters.IsBundleItemRedeemed)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
<template>
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<item-search v-model.lazy="value.name_filter" v-on:input="$emit('input', $event.target.value)" />
|
||||
<item-search
|
||||
v-model.lazy="value.name_filter"
|
||||
v-on:input="$emit('input', $event.target.value)"
|
||||
/>
|
||||
</div>
|
||||
<div class="column">
|
||||
<season-filter :value="value.season_filter" v-on:input="UpdateSeasons"/>
|
||||
<season-filter :value="value.season_filter" v-on:input="UpdateSeasons" />
|
||||
</div>
|
||||
<div class="column">
|
||||
<skill-filter :value="value.skill_filter" v-on:input="UpdateSkills" />
|
||||
@ -20,7 +23,7 @@ export default {
|
||||
name: 'search-form',
|
||||
props: {
|
||||
value: {
|
||||
default () {
|
||||
default() {
|
||||
return {
|
||||
name_filter: '',
|
||||
season_filter: {
|
||||
@ -36,11 +39,11 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
UpdateSeasons (val) {
|
||||
UpdateSeasons(val) {
|
||||
this.value.season_filter = val
|
||||
this.$emit('input', this.value)
|
||||
},
|
||||
UpdateSkills (val) {
|
||||
UpdateSkills(val) {
|
||||
this.value.skill_filter = val
|
||||
this.$emit('input', this.value)
|
||||
}
|
||||
@ -50,10 +53,7 @@ export default {
|
||||
SeasonFilter,
|
||||
SkillFilter
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
@ -6,7 +6,11 @@
|
||||
<div class="field-body">
|
||||
<div class="field has-addons has-addons-centered">
|
||||
<div class="control" v-for="season in seasons" :key="season.order">
|
||||
<button-check :value="season.id" :checked="value.selected_seasons" v-on:change="UpdateSeasons">
|
||||
<button-check
|
||||
:value="season.id"
|
||||
:checked="value.selected_seasons"
|
||||
v-on:change="UpdateSeasons"
|
||||
>
|
||||
<span class="icon is-small">
|
||||
<season-icon :season="season"></season-icon>
|
||||
</span>
|
||||
@ -15,7 +19,11 @@
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control is-expanded">
|
||||
<button-check class="is-fullwidth" :checked="value.season_exclusive" v-on:change="UpdateExclusive">
|
||||
<button-check
|
||||
class="is-fullwidth"
|
||||
:checked="value.season_exclusive"
|
||||
v-on:change="UpdateExclusive"
|
||||
>
|
||||
Exclusive
|
||||
</button-check>
|
||||
</div>
|
||||
@ -25,8 +33,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SeasonIcon from '@/components/SeasonIcon'
|
||||
import ButtonCheck from '@/components/ButtonCheckbox'
|
||||
import SeasonIcon from '@/components/SeasonIcon.vue'
|
||||
import ButtonCheck from '@/components/ButtonCheckbox.vue'
|
||||
export default {
|
||||
name: 'season-filter',
|
||||
components: {
|
||||
@ -35,7 +43,7 @@ export default {
|
||||
},
|
||||
props: {
|
||||
value: {
|
||||
default () {
|
||||
default() {
|
||||
return {
|
||||
selected_seasons: [],
|
||||
season_exclusive: false
|
||||
@ -44,24 +52,21 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
seasons () {
|
||||
seasons() {
|
||||
return this.$store.state.seasons
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
UpdateSeasons (val) {
|
||||
UpdateSeasons(val) {
|
||||
this.value.selected_seasons = val
|
||||
this.$emit('input', this.value)
|
||||
},
|
||||
UpdateExclusive (val) {
|
||||
UpdateExclusive(val) {
|
||||
this.value.season_exclusive = val
|
||||
this.$emit('input', this.value)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
@ -6,7 +6,11 @@
|
||||
<div class="field-body">
|
||||
<div class="field has-addons has-addons-centered">
|
||||
<div class="control" v-for="skill in skills" :key="skill.id">
|
||||
<button-check :value="skill.id" :checked="value.selected_skills" v-on:change="UpdateSkills">
|
||||
<button-check
|
||||
:value="skill.id"
|
||||
:checked="value.selected_skills"
|
||||
v-on:change="UpdateSkills"
|
||||
>
|
||||
<span class="icon is-small">
|
||||
<skill-icon :skill="skill" />
|
||||
</span>
|
||||
@ -15,19 +19,22 @@
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control is-expanded">
|
||||
<button-check class="is-fullwidth" :checked="value.skill_exclusive" v-on:change="UpdateExclusive">
|
||||
<button-check
|
||||
class="is-fullwidth"
|
||||
:checked="value.skill_exclusive"
|
||||
v-on:change="UpdateExclusive"
|
||||
>
|
||||
Exclusive
|
||||
</button-check>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SkillIcon from '@/components/SkillIcon'
|
||||
import ButtonCheck from '@/components/ButtonCheckbox'
|
||||
import SkillIcon from '@/components/SkillIcon.vue'
|
||||
import ButtonCheck from '@/components/ButtonCheckbox.vue'
|
||||
export default {
|
||||
name: 'skill-filter',
|
||||
components: {
|
||||
@ -36,7 +43,7 @@ export default {
|
||||
},
|
||||
props: {
|
||||
value: {
|
||||
default () {
|
||||
default() {
|
||||
return {
|
||||
selected_skills: [],
|
||||
skill_exclusive: false
|
||||
@ -45,16 +52,16 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
skills () {
|
||||
skills() {
|
||||
return this.$store.state.skills
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
UpdateSkills (val) {
|
||||
UpdateSkills(val) {
|
||||
this.value.selected_skills = val
|
||||
this.$emit('input', this.value)
|
||||
},
|
||||
UpdateExclusive (val) {
|
||||
UpdateExclusive(val) {
|
||||
this.value.skill_exclusive = val
|
||||
this.$emit('input', this.value)
|
||||
}
|
||||
@ -62,6 +69,4 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
29
src/main.js
29
src/main.js
@ -1,21 +1,16 @@
|
||||
// The Vue build version to load with the `import` command
|
||||
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
|
||||
import Vue from 'vue'
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
import App from './App'
|
||||
import '../node_modules/bulma/bulma.sass'
|
||||
|
||||
import { createApp } from 'vue'
|
||||
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
import store from './store'
|
||||
// import store from './store'
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
|
||||
require('./assets/sass/main.scss')
|
||||
const app = createApp(App)
|
||||
|
||||
Vue.config.productionTip = false
|
||||
Vue.use(VueClipboard)
|
||||
app.use(router)
|
||||
app.use(VueClipboard)
|
||||
// app.use(store)
|
||||
|
||||
/* eslint-disable no-new */
|
||||
new Vue({
|
||||
el: '#app',
|
||||
router,
|
||||
store,
|
||||
components: { App },
|
||||
template: '<App/>'
|
||||
})
|
||||
app.mount('#app')
|
||||
|
||||
@ -1,15 +1,12 @@
|
||||
import Vue from 'vue'
|
||||
import Router from 'vue-router'
|
||||
import Welcome from '@/components/Welcome'
|
||||
import Bundles from '@/components/bundles/Bundles'
|
||||
import BundleItems from '@/components/bundles/BundleItems'
|
||||
import Search from '@/components/search/Search'
|
||||
import Settings from '@/components/Settings'
|
||||
import Changelog from '@/components/changelog/Changelog'
|
||||
import Welcome from '@/components/Welcome.vue'
|
||||
import Bundles from '@/components/bundles/Bundles.vue'
|
||||
import BundleItems from '@/components/bundles/BundleItems.vue'
|
||||
import Search from '@/components/search/Search.vue'
|
||||
import Settings from '@/components/Settings.vue'
|
||||
import Changelog from '@/components/changelog/Changelog.vue'
|
||||
import { createRouter } from 'vue-router'
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
export default new Router({
|
||||
const router = createRouter({
|
||||
routes: [
|
||||
{
|
||||
path: '/welcome',
|
||||
@ -55,3 +52,5 @@ export default new Router({
|
||||
],
|
||||
linkActiveClass: 'is-active'
|
||||
})
|
||||
|
||||
export default router
|
||||
|
||||
217
yarn.lock
217
yarn.lock
@ -212,7 +212,7 @@
|
||||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.21.9", "@babel/parser@^7.22.0", "@babel/parser@^7.22.4":
|
||||
"@babel/parser@^7.20.15", "@babel/parser@^7.21.3", "@babel/parser@^7.21.9", "@babel/parser@^7.22.0", "@babel/parser@^7.22.4":
|
||||
version "7.22.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.4.tgz#a770e98fd785c231af9d93f6459d36770993fb32"
|
||||
integrity sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==
|
||||
@ -385,37 +385,48 @@
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061"
|
||||
integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==
|
||||
|
||||
"@fortawesome/fontawesome-common-types@^0.1.3":
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.1.3.tgz#8475e0f2d1ad1f858c4ec2e76ed9a2456a09ad83"
|
||||
"@fortawesome/fontawesome-common-types@6.4.0":
|
||||
version "6.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz#88da2b70d6ca18aaa6ed3687832e11f39e80624b"
|
||||
integrity sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==
|
||||
|
||||
"@fortawesome/fontawesome-free-brands@^5.0.7":
|
||||
version "5.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-brands/-/fontawesome-free-brands-5.0.7.tgz#0fe131da1bfb7f5f49b7b800b9e198e530fab418"
|
||||
"@fortawesome/fontawesome-common-types@^0.1.7":
|
||||
version "0.1.7"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.1.7.tgz#4336c4b06d0b5608ff1215464b66fcf9f4795284"
|
||||
integrity sha512-ego8jRVSHfq/iq4KRZJKQeUAdi3ZjGNrqw4oPN3fNdvTBnLCSntwVCnc37bsAJP9UB8MhrTfPnZYxkv2vpS4pg==
|
||||
|
||||
"@fortawesome/fontawesome-free-brands@^5.0.13":
|
||||
version "5.0.13"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-brands/-/fontawesome-free-brands-5.0.13.tgz#4d15ff4e1e862d5e4a4df3654f8e8acbd47e9c09"
|
||||
integrity sha512-xC/sEPpfcJPvUbud2GyscLCLQlE2DVBYaTHVwuyVGliYBdYejSEYMINU8FN5A0xhO68yCbpCfMlBv6Gqby+jww==
|
||||
dependencies:
|
||||
"@fortawesome/fontawesome-common-types" "^0.1.3"
|
||||
"@fortawesome/fontawesome-common-types" "^0.1.7"
|
||||
|
||||
"@fortawesome/fontawesome-free-regular@^5.0.7":
|
||||
version "5.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-regular/-/fontawesome-free-regular-5.0.7.tgz#3a347278e34c58db8c1c7891e9e567d57d1d7db9"
|
||||
"@fortawesome/fontawesome-free-regular@^5.0.13":
|
||||
version "5.0.13"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-regular/-/fontawesome-free-regular-5.0.13.tgz#eb78c30184e3f456a423a1dcfa0f682f7b50de4a"
|
||||
integrity sha512-36lz9Idww1L4QaaTcv7GZiOeIP9emJFDUsedvRovI10kmwyd6rN0PKkIjnq0FB4foLhX4Rou8vnbCCmjtqiLug==
|
||||
dependencies:
|
||||
"@fortawesome/fontawesome-common-types" "^0.1.3"
|
||||
"@fortawesome/fontawesome-common-types" "^0.1.7"
|
||||
|
||||
"@fortawesome/fontawesome-free-solid@^5.0.7":
|
||||
version "5.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-solid/-/fontawesome-free-solid-5.0.7.tgz#b7e68876a24b3a0a34c09ee68bd57fe63925a578"
|
||||
"@fortawesome/fontawesome-free-solid@^5.0.13":
|
||||
version "5.0.13"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free-solid/-/fontawesome-free-solid-5.0.13.tgz#24b61aaf471a9d34a5364b052d64a516285ba894"
|
||||
integrity sha512-b+krVnqkdDt52Yfev0x0ZZgtxBQsLw00Zfa3uaVWIDzpNZVtrEXuxldUSUaN/ihgGhSNi8VpvDAdNPVgCKOSxw==
|
||||
dependencies:
|
||||
"@fortawesome/fontawesome-common-types" "^0.1.3"
|
||||
"@fortawesome/fontawesome-common-types" "^0.1.7"
|
||||
|
||||
"@fortawesome/fontawesome@^1.1.4":
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome/-/fontawesome-1.1.4.tgz#03065638046206c2226e103b550196934c75be9b"
|
||||
"@fortawesome/fontawesome-svg-core@^6.4.0":
|
||||
version "6.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz#3727552eff9179506e9203d72feb5b1063c11a21"
|
||||
integrity sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==
|
||||
dependencies:
|
||||
"@fortawesome/fontawesome-common-types" "^0.1.3"
|
||||
"@fortawesome/fontawesome-common-types" "6.4.0"
|
||||
|
||||
"@fortawesome/vue-fontawesome@^0.0.22":
|
||||
version "0.0.22"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/vue-fontawesome/-/vue-fontawesome-0.0.22.tgz#720457bda0e5866265e5e0f8fe4fbd857fa5653f"
|
||||
"@fortawesome/vue-fontawesome@^3.0.3":
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.3.tgz#633e2998d11f7d4ed41f0d5ea461a22ec9b9d034"
|
||||
integrity sha512-KCPHi9QemVXGMrfuwf3nNnNo129resAIQWut9QTAMXmXqL2ErABC6ohd2yY5Ipq0CLWNbKHk8TMdTXL/Zf3ZhA==
|
||||
|
||||
"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
|
||||
version "0.3.3"
|
||||
@ -441,7 +452,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
|
||||
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
||||
|
||||
"@jridgewell/sourcemap-codec@^1.4.10":
|
||||
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13":
|
||||
version "1.4.15"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
||||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
||||
@ -488,6 +499,101 @@
|
||||
html-tags "^3.1.0"
|
||||
svg-tags "^1.0.0"
|
||||
|
||||
"@vue/compiler-core@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128"
|
||||
integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.21.3"
|
||||
"@vue/shared" "3.3.4"
|
||||
estree-walker "^2.0.2"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
"@vue/compiler-dom@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151"
|
||||
integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==
|
||||
dependencies:
|
||||
"@vue/compiler-core" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
|
||||
"@vue/compiler-sfc@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df"
|
||||
integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.20.15"
|
||||
"@vue/compiler-core" "3.3.4"
|
||||
"@vue/compiler-dom" "3.3.4"
|
||||
"@vue/compiler-ssr" "3.3.4"
|
||||
"@vue/reactivity-transform" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
estree-walker "^2.0.2"
|
||||
magic-string "^0.30.0"
|
||||
postcss "^8.1.10"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
"@vue/compiler-ssr@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777"
|
||||
integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==
|
||||
dependencies:
|
||||
"@vue/compiler-dom" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
|
||||
"@vue/devtools-api@^6.5.0":
|
||||
version "6.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07"
|
||||
integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
|
||||
|
||||
"@vue/reactivity-transform@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929"
|
||||
integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.20.15"
|
||||
"@vue/compiler-core" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
estree-walker "^2.0.2"
|
||||
magic-string "^0.30.0"
|
||||
|
||||
"@vue/reactivity@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253"
|
||||
integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==
|
||||
dependencies:
|
||||
"@vue/shared" "3.3.4"
|
||||
|
||||
"@vue/runtime-core@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1"
|
||||
integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==
|
||||
dependencies:
|
||||
"@vue/reactivity" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
|
||||
"@vue/runtime-dom@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566"
|
||||
integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==
|
||||
dependencies:
|
||||
"@vue/runtime-core" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
csstype "^3.1.1"
|
||||
|
||||
"@vue/server-renderer@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c"
|
||||
integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==
|
||||
dependencies:
|
||||
"@vue/compiler-ssr" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
|
||||
"@vue/shared@3.3.4":
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780"
|
||||
integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==
|
||||
|
||||
acorn-jsx@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
|
||||
@ -632,9 +738,10 @@ builtin-modules@^1.0.0, builtin-modules@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
|
||||
|
||||
bulma@^0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.6.2.tgz#f4b1d11d5acc51a79644eb0a2b0b10649d3d71f5"
|
||||
bulma@^0.9.4:
|
||||
version "0.9.4"
|
||||
resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.4.tgz#0ca8aeb1847a34264768dba26a064c8be72674a1"
|
||||
integrity sha512-86FlT5+1GrsgKbPLRRY7cGDg8fsJiP/jzTqXXVqiUZZ2aZT8uemEOHlU1CDU+TxklPEZ11HZNNWclRBBecP4CQ==
|
||||
|
||||
caller-path@^0.1.0:
|
||||
version "0.1.0"
|
||||
@ -670,7 +777,7 @@ chalk@^1.0.0, chalk@^1.1.3:
|
||||
strip-ansi "^3.0.0"
|
||||
supports-color "^2.0.0"
|
||||
|
||||
chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1:
|
||||
chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.1:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
dependencies:
|
||||
@ -774,14 +881,15 @@ cross-spawn@^5.1.0:
|
||||
shebang-command "^1.2.0"
|
||||
which "^1.2.9"
|
||||
|
||||
csstype@^3.1.1:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
|
||||
integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
|
||||
|
||||
cuint@^0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b"
|
||||
|
||||
de-indent@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
|
||||
|
||||
debug@^2.6.8, debug@^2.6.9:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
@ -1050,6 +1158,11 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
|
||||
|
||||
estree-walker@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
|
||||
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
|
||||
|
||||
esutils@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
|
||||
@ -1214,10 +1327,6 @@ has@^1.0.1:
|
||||
dependencies:
|
||||
function-bind "^1.0.2"
|
||||
|
||||
he@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
|
||||
|
||||
hosted-git-info@^2.1.4:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
|
||||
@ -1442,6 +1551,13 @@ lru-cache@^5.1.1:
|
||||
dependencies:
|
||||
yallist "^3.0.2"
|
||||
|
||||
magic-string@^0.30.0:
|
||||
version "0.30.0"
|
||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.0.tgz#fd58a4748c5c4547338a424e90fa5dd17f4de529"
|
||||
integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==
|
||||
dependencies:
|
||||
"@jridgewell/sourcemap-codec" "^1.4.13"
|
||||
|
||||
mdi-vue@^0.2.11:
|
||||
version "0.2.11"
|
||||
resolved "https://registry.yarnpkg.com/mdi-vue/-/mdi-vue-0.2.11.tgz#98452e9e554fed1c20d36d3033010d91e4535129"
|
||||
@ -1677,7 +1793,7 @@ postcss@^6.0.1, postcss@^6.0.17:
|
||||
source-map "^0.6.1"
|
||||
supports-color "^5.2.0"
|
||||
|
||||
postcss@^8.4.23:
|
||||
postcss@^8.1.10, postcss@^8.4.23:
|
||||
version "8.4.24"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df"
|
||||
integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==
|
||||
@ -2055,20 +2171,23 @@ vue-eslint-parser@^2.0.3:
|
||||
esquery "^1.0.0"
|
||||
lodash "^4.17.4"
|
||||
|
||||
vue-router@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.1.tgz#d9b05ad9c7420ba0f626d6500d693e60092cc1e9"
|
||||
|
||||
vue-template-compiler@^2.5.2:
|
||||
version "2.5.13"
|
||||
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.13.tgz#12a2aa0ecd6158ac5e5f14d294b0993f399c3d38"
|
||||
vue-router@^4.2.2:
|
||||
version "4.2.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.2.2.tgz#b0097b66d89ca81c0986be03da244c7b32a4fd81"
|
||||
integrity sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==
|
||||
dependencies:
|
||||
de-indent "^1.0.2"
|
||||
he "^1.1.0"
|
||||
"@vue/devtools-api" "^6.5.0"
|
||||
|
||||
vue@^2.5.2:
|
||||
version "2.5.13"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.13.tgz#95bd31e20efcf7a7f39239c9aa6787ce8cf578e1"
|
||||
vue@^3.3.4:
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6"
|
||||
integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
|
||||
dependencies:
|
||||
"@vue/compiler-dom" "3.3.4"
|
||||
"@vue/compiler-sfc" "3.3.4"
|
||||
"@vue/runtime-dom" "3.3.4"
|
||||
"@vue/server-renderer" "3.3.4"
|
||||
"@vue/shared" "3.3.4"
|
||||
|
||||
vuex-persistedstate@^2.5.4:
|
||||
version "2.5.4"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user