diff --git a/src/components/text/TextCard.vue b/src/components/text/TextCard.vue
index 932e11c..341d8da 100644
--- a/src/components/text/TextCard.vue
+++ b/src/components/text/TextCard.vue
@@ -15,11 +15,14 @@
-
+
{{ prod.id }}
-
+
x
diff --git a/src/pages/Library.vue b/src/pages/Library.vue
index 700d827..9516d8e 100644
--- a/src/pages/Library.vue
+++ b/src/pages/Library.vue
@@ -5,9 +5,13 @@
@@ -53,11 +57,27 @@ export default {
},
methods: {
- openText () {
+ openText (group, id) {
+ if (group.prod.includes(id)) return
+ group.prod.push(id)
+ this.updateQuery(this.groups)
+ },
+
+ closeText (group, id) {
+ if (!id) {
+ this.updateQuery(this.groups.filter(grp => grp !== group))
+ } else {
+ group.prod = group.prod.filter(id_ => id_ !== id)
+ this.updateQuery(this.groups)
+ }
+ },
+
+ updateQuery (groups) {
+ // Update the route's query (will not reload the page) and let vue determine what changed.
this.$router.push({
query: {
mode: this.mode,
- texts: [...this.texts, [50]]
+ texts: groups.map(grp => [grp.id, ...grp.prod])
}
})
}