mirror of
https://github.com/kihashi/stardew_community_checklist.git
synced 2025-10-19 08:03:17 +00:00
Merge pull request #34 from kihashi/feature/#24-hide-completed-items
Feature/#24 hide completed items
This commit is contained in:
commit
7066cc56d6
63
index.html
63
index.html
@ -65,6 +65,28 @@
|
|||||||
Skills
|
Skills
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
@ -161,7 +183,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="columns is-multiline">
|
<div class="columns is-multiline">
|
||||||
<div class="column is-3 is-flex" v-for="item in static.items | inBundle active_bundle">
|
<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">
|
<div class="card is-fullwidth is-flex eq-line">
|
||||||
<header class="card-header">
|
<header class="card-header">
|
||||||
<p class="card-header-title">
|
<p class="card-header-title">
|
||||||
@ -172,7 +195,7 @@
|
|||||||
<div class="content is-flex">
|
<div class="content is-flex">
|
||||||
<div class="columns source">
|
<div class="columns source">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="">{{ item.source }}</div>
|
<div v-if="!hideSpoilers">{{ item.source }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -190,7 +213,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer" v-if="!hideSpoilers">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||||
<span class="tag is-primary is-text-centered"
|
<span class="tag is-primary is-text-centered"
|
||||||
@ -199,7 +222,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer" v-if="!hideSpoilers">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||||
<span class="tag is-info is-text-centered"
|
<span class="tag is-info is-text-centered"
|
||||||
@ -210,6 +233,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -234,8 +258,8 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="columns is-multiline">
|
<div class="columns is-multiline">
|
||||||
<div class="column is-3 is-flex"
|
<template v-for="item in static.items | filterBy search_term in 'name' | orderBy 'name'">
|
||||||
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">
|
<div class="card is-fullwidth is-flex eq-line">
|
||||||
<header class="card-header">
|
<header class="card-header">
|
||||||
<p class="card-header-title">
|
<p class="card-header-title">
|
||||||
@ -246,7 +270,7 @@
|
|||||||
<div class="content is-flex">
|
<div class="content is-flex">
|
||||||
<div class="columns source">
|
<div class="columns source">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="">{{ item.source }}</div>
|
<div v-if="!hideSpoilers">{{ item.source }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -264,7 +288,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer" v-if="!hideSpoilers">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||||
<span class="tag is-primary is-text-centered"
|
<span class="tag is-primary is-text-centered"
|
||||||
@ -273,7 +297,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer" v-if="!hideSpoilers">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||||
<span class="tag is-info is-text-centered"
|
<span class="tag is-info is-text-centered"
|
||||||
@ -284,6 +308,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@ -310,7 +335,8 @@
|
|||||||
<h3 class="title">{{ getSeasonName(active_season) }}</h3>
|
<h3 class="title">{{ getSeasonName(active_season) }}</h3>
|
||||||
<progress class="progress is-info" value="" max=""></progress>
|
<progress class="progress is-info" value="" max=""></progress>
|
||||||
<div class="columns is-multiline">
|
<div class="columns is-multiline">
|
||||||
<div class="column is-3 is-flex" v-for="item in static.items | filterBy active_season in 'seasons'">
|
<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">
|
<div class="card is-fullwidth is-flex eq-line">
|
||||||
<header class="card-header">
|
<header class="card-header">
|
||||||
<p class="card-header-title">
|
<p class="card-header-title">
|
||||||
@ -321,7 +347,7 @@
|
|||||||
<div class="content is-flex">
|
<div class="content is-flex">
|
||||||
<div class="columns source">
|
<div class="columns source">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="">{{ item.source }}</div>
|
<div v-if="!hideSpoilers">{{ item.source }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -339,7 +365,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer" v-if="!hideSpoilers">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||||
<span class="tag is-primary is-text-centered"
|
<span class="tag is-primary is-text-centered"
|
||||||
@ -348,7 +374,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer" v-if="!hideSpoilers">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||||
<span class="tag is-info is-text-centered"
|
<span class="tag is-info is-text-centered"
|
||||||
@ -359,6 +385,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -387,7 +414,8 @@
|
|||||||
<h3 class="title">{{ getSkillName(active_skill) }}</h3>
|
<h3 class="title">{{ getSkillName(active_skill) }}</h3>
|
||||||
<progress class="progress is-info" value="" max=""></progress>
|
<progress class="progress is-info" value="" max=""></progress>
|
||||||
<div class="columns is-multiline">
|
<div class="columns is-multiline">
|
||||||
<div class="column is-3 is-flex" v-for="item in static.items | filterBy active_skill in 'skills'">
|
<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">
|
<div class="card is-fullwidth is-flex eq-line">
|
||||||
<header class="card-header">
|
<header class="card-header">
|
||||||
<p class="card-header-title">
|
<p class="card-header-title">
|
||||||
@ -398,7 +426,7 @@
|
|||||||
<div class="content is-flex">
|
<div class="content is-flex">
|
||||||
<div class="columns source">
|
<div class="columns source">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="">{{ item.source }}</div>
|
<div v-if="!hideSpoilers">{{ item.source }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -416,7 +444,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer" v-if="!hideSpoilers">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
<span class="icon is-small"><i class="fa fa-calendar-check-o"></i></span>
|
||||||
<span class="tag is-primary is-text-centered"
|
<span class="tag is-primary is-text-centered"
|
||||||
@ -425,7 +453,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer" v-if="!hideSpoilers">
|
||||||
<div class="card-footer-item">
|
<div class="card-footer-item">
|
||||||
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
<span class="icon is-small"><i class="fa fa-tree"></i></span>
|
||||||
<span class="tag is-info is-text-centered"
|
<span class="tag is-info is-text-centered"
|
||||||
@ -436,6 +464,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
13
main.js
13
main.js
@ -10,7 +10,9 @@ var v = new Vue({
|
|||||||
active_season: "spring",
|
active_season: "spring",
|
||||||
active_skill: "farming",
|
active_skill: "farming",
|
||||||
save_mode: false,
|
save_mode: false,
|
||||||
load_mode: false
|
load_mode: false,
|
||||||
|
hideCompleted: false,
|
||||||
|
hideSpoilers: false
|
||||||
},
|
},
|
||||||
ready: function(){
|
ready: function(){
|
||||||
this.fetchData();
|
this.fetchData();
|
||||||
@ -131,6 +133,15 @@ var v = new Vue({
|
|||||||
return this.static.bundles
|
return this.static.bundles
|
||||||
.filter(function(b){ return b.room === roomId; })
|
.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);
|
.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