mirror of
https://github.com/kihashi/stardew_community_checklist.git
synced 2025-10-19 08:03:17 +00:00
Merge branch 'master' into gh-pages
This commit is contained in:
commit
910c717264
383
index.html
383
index.html
@ -65,6 +65,28 @@
|
||||
Skills
|
||||
</a>
|
||||
</div>
|
||||
<div class="header-right header-menu">
|
||||
<span class="header-item">
|
||||
<a class="button" v-on:click="hideCompleted = !hideCompleted">
|
||||
<span class="icon">
|
||||
<i class="fa" v-bind:class="[hideCompleted ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>
|
||||
Hide Completed
|
||||
</span>
|
||||
</a>
|
||||
</span>
|
||||
<span class="header-item">
|
||||
<a class="button" v-on:click="hideSpoilers = !hideSpoilers">
|
||||
<span class="icon">
|
||||
<i class="fa" v-bind:class="[hideSpoilers ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>
|
||||
Hide Spoilers
|
||||
</span>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
@ -161,55 +183,57 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-3 is-flex" v-for="item in static.items | inBundle active_bundle">
|
||||
<div class="card is-fullwidth is-flex eq-line">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content eq-line is-flex">
|
||||
<div class="content is-flex">
|
||||
<div class="columns source">
|
||||
<div class="column">
|
||||
<div class="">{{ item.source }}</div>
|
||||
<template v-for="item in static.items | inBundle active_bundle">
|
||||
<div class="column is-3 is-flex" v-if="!(hideCompleted && isCompleted(item))">
|
||||
<div class="card is-fullwidth is-flex eq-line">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content eq-line is-flex">
|
||||
<div class="content is-flex">
|
||||
<div class="columns source">
|
||||
<div class="column">
|
||||
<div v-if="!hideSpoilers">{{ item.source }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p class="control">
|
||||
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
|
||||
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
|
||||
<span class="icon">
|
||||
<i class="fa"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>{{ static.bundles[bundle_id].name }}</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p class="control">
|
||||
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
|
||||
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
|
||||
<span class="icon">
|
||||
<i class="fa"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>{{ static.bundles[bundle_id].name }}</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
<footer class="card-footer" v-if="!hideSpoilers">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||
<span class="tag is-primary is-text-centered"
|
||||
v-for="season in static.seasons | filterByArray item.seasons">
|
||||
{{ season.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="card-footer" v-if="!hideSpoilers">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||
<span class="tag is-info is-text-centered"
|
||||
v-for="skill in static.skills | filterByArray item.skills">
|
||||
{{ skill.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||
<span class="tag is-primary is-text-centered"
|
||||
v-for="season in static.seasons | filterByArray item.seasons">
|
||||
{{ season.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||
<span class="tag is-info is-text-centered"
|
||||
v-for="skill in static.skills | filterByArray item.skills">
|
||||
{{ skill.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -234,56 +258,57 @@
|
||||
|
||||
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-3 is-flex"
|
||||
v-for="item in static.items | filterBy search_term in 'name' | orderBy 'name'">
|
||||
<div class="card is-fullwidth is-flex eq-line">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content eq-line is-flex">
|
||||
<div class="content is-flex">
|
||||
<div class="columns source">
|
||||
<div class="column">
|
||||
<div class="">{{ item.source }}</div>
|
||||
<template v-for="item in static.items | filterBy search_term in 'name' | orderBy 'name'">
|
||||
<div class="column is-3 is-flex" v-if="!(hideCompleted && isCompleted(item))">
|
||||
<div class="card is-fullwidth is-flex eq-line">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content eq-line is-flex">
|
||||
<div class="content is-flex">
|
||||
<div class="columns source">
|
||||
<div class="column">
|
||||
<div v-if="!hideSpoilers">{{ item.source }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p class="control">
|
||||
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
|
||||
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
|
||||
<span class="icon">
|
||||
<i class="fa"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>{{ static.bundles[bundle_id].name }}</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p class="control">
|
||||
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
|
||||
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
|
||||
<span class="icon">
|
||||
<i class="fa"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>{{ static.bundles[bundle_id].name }}</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
<footer class="card-footer" v-if="!hideSpoilers">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||
<span class="tag is-primary is-text-centered"
|
||||
v-for="season in static.seasons | filterByArray item.seasons">
|
||||
{{ season.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="card-footer" v-if="!hideSpoilers">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||
<span class="tag is-info is-text-centered"
|
||||
v-for="skill in static.skills | filterByArray item.skills">
|
||||
{{ skill.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||
<span class="tag is-primary is-text-centered"
|
||||
v-for="season in static.seasons | filterByArray item.seasons">
|
||||
{{ season.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||
<span class="tag is-info is-text-centered"
|
||||
v-for="skill in static.skills | filterByArray item.skills">
|
||||
{{ skill.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@ -310,55 +335,57 @@
|
||||
<h3 class="title">{{ getSeasonName(active_season) }}</h3>
|
||||
<progress class="progress is-info" value="" max=""></progress>
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-3 is-flex" v-for="item in static.items | filterBy active_season in 'seasons'">
|
||||
<div class="card is-fullwidth is-flex eq-line">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content eq-line is-flex">
|
||||
<div class="content is-flex">
|
||||
<div class="columns source">
|
||||
<div class="column">
|
||||
<div class="">{{ item.source }}</div>
|
||||
<template v-for="item in static.items | filterBy active_season in 'seasons'">
|
||||
<div class="column is-3 is-flex" v-if="!(hideCompleted && isCompleted(item))">
|
||||
<div class="card is-fullwidth is-flex eq-line">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content eq-line is-flex">
|
||||
<div class="content is-flex">
|
||||
<div class="columns source">
|
||||
<div class="column">
|
||||
<div v-if="!hideSpoilers">{{ item.source }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p class="control">
|
||||
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
|
||||
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
|
||||
<span class="icon">
|
||||
<i class="fa"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>{{ static.bundles[bundle_id].name }}</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p class="control">
|
||||
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
|
||||
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
|
||||
<span class="icon">
|
||||
<i class="fa"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>{{ static.bundles[bundle_id].name }}</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
<footer class="card-footer" v-if="!hideSpoilers">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||
<span class="tag is-primary is-text-centered"
|
||||
v-for="season in static.seasons | filterByArray item.seasons">
|
||||
{{ season.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="card-footer" v-if="!hideSpoilers">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||
<span class="tag is-info is-text-centered"
|
||||
v-for="skill in static.skills | filterByArray item.skills">
|
||||
{{ skill.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||
<span class="tag is-primary is-text-centered"
|
||||
v-for="season in static.seasons | filterByArray item.seasons">
|
||||
{{ season.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||
<span class="tag is-info is-text-centered"
|
||||
v-for="skill in static.skills | filterByArray item.skills">
|
||||
{{ skill.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -387,55 +414,57 @@
|
||||
<h3 class="title">{{ getSkillName(active_skill) }}</h3>
|
||||
<progress class="progress is-info" value="" max=""></progress>
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-3 is-flex" v-for="item in static.items | filterBy active_skill in 'skills'">
|
||||
<div class="card is-fullwidth is-flex eq-line">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content eq-line is-flex">
|
||||
<div class="content is-flex">
|
||||
<div class="columns source">
|
||||
<div class="column">
|
||||
<div class="">{{ item.source }}</div>
|
||||
<template v-for="item in static.items | filterBy active_skill in 'skills'">
|
||||
<div class="column is-3 is-flex" v-if="!(hideCompleted && isCompleted(item))">
|
||||
<div class="card is-fullwidth is-flex eq-line">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title">
|
||||
{{ item.name }}
|
||||
</p>
|
||||
</header>
|
||||
<div class="card-content eq-line is-flex">
|
||||
<div class="content is-flex">
|
||||
<div class="columns source">
|
||||
<div class="column">
|
||||
<div v-if="!hideSpoilers">{{ item.source }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p class="control">
|
||||
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
|
||||
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
|
||||
<span class="icon">
|
||||
<i class="fa"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>{{ static.bundles[bundle_id].name }}</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p class="control">
|
||||
<a class="button is-fullwidth" v-for="bundle_id in item.bundles"
|
||||
v-on:click="toggleItemInBundle(bundle_id, item.id, $index)"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'is-success' : 'is-danger']">
|
||||
<span class="icon">
|
||||
<i class="fa"
|
||||
v-bind:class="[isItemInBundle(bundle_id, item.id, $index) ? 'fa-check-square-o' : 'fa-square-o']"></i>
|
||||
</span>
|
||||
<span>{{ static.bundles[bundle_id].name }}</span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
<footer class="card-footer" v-if="!hideSpoilers">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||
<span class="tag is-primary is-text-centered"
|
||||
v-for="season in static.seasons | filterByArray item.seasons">
|
||||
{{ season.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="card-footer" v-if="!hideSpoilers">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||
<span class="tag is-info is-text-centered"
|
||||
v-for="skill in static.skills | filterByArray item.skills">
|
||||
{{ skill.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||
<span class="tag is-primary is-text-centered"
|
||||
v-for="season in static.seasons | filterByArray item.seasons">
|
||||
{{ season.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="card-footer">
|
||||
<div class="card-footer-item">
|
||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||
<span class="tag is-info is-text-centered"
|
||||
v-for="skill in static.skills | filterByArray item.skills">
|
||||
{{ skill.name }}
|
||||
</span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
13
main.js
13
main.js
@ -10,7 +10,9 @@ var v = new Vue({
|
||||
active_season: "spring",
|
||||
active_skill: "farming",
|
||||
save_mode: false,
|
||||
load_mode: false
|
||||
load_mode: false,
|
||||
hideCompleted: false,
|
||||
hideSpoilers: false
|
||||
},
|
||||
ready: function(){
|
||||
this.fetchData();
|
||||
@ -131,6 +133,15 @@ var v = new Vue({
|
||||
return this.static.bundles
|
||||
.filter(function(b){ return b.room === roomId; })
|
||||
.reduce(function(p, c){ return p + Math.min(v.user_data[c.id].length, c.items_required); }, 0);
|
||||
},
|
||||
isCompleted: function (item) {
|
||||
for(i=0; i < item.bundles.length; i++){
|
||||
if(!this.isItemInBundle(item.bundles[i], item.id, i)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user