diff --git a/src/assets/scss/_variables.scss b/src/assets/scss/_variables.scss index 2f07212..ef67533 100644 --- a/src/assets/scss/_variables.scss +++ b/src/assets/scss/_variables.scss @@ -26,3 +26,5 @@ $families: ( @function setColorFromId($id) { @return map-get($families, $id); } + +$text-card-header-height: 4rem; diff --git a/src/assets/scss/main.scss b/src/assets/scss/main.scss index 697d708..ee138ea 100644 --- a/src/assets/scss/main.scss +++ b/src/assets/scss/main.scss @@ -3,8 +3,11 @@ @import 'bootstrap'; -html, body, #app { +html, +body, +#app { height: 100%; + overflow: hidden; } #app { @@ -13,7 +16,8 @@ html, body, #app { } main { - height: 100%; + flex: 1; + overflow-y: auto; } // Layouts @@ -24,15 +28,6 @@ main { height: 100%; } -.split-screen { - display: flex; - height: 100%; - - & > * { - flex-basis: 50%; - } -} - .container-fill { display: flex; flex-direction: column; diff --git a/src/pages/Library.vue b/src/pages/Library.vue index 256761f..6f65367 100644 --- a/src/pages/Library.vue +++ b/src/pages/Library.vue @@ -1,23 +1,37 @@ @@ -81,10 +95,88 @@ export default { texts: parents.map(parent => [parent.id, ...parent.children]) } }) + }, + + onMainTextClick (mainTextIndex) { + if (mainTextIndex === this.texts.length - 1) return + this.parents.push(this.parents.splice(mainTextIndex, 1)[0]) + this.updateQuery(this.parents) + }, + + onSubTextClick (mainTextIndex, subTextIndex) { + // FIXME clean this + const children = this.parents[mainTextIndex].children + let needUpdate = false + if (subTextIndex !== children.length - 1) { + children.push(children.splice(subTextIndex, 1)[0]) + needUpdate = true + } + if (mainTextIndex !== this.texts.length - 1) { + this.parents.push(this.parents.splice(mainTextIndex, 1)[0]) + needUpdate = true + } + + if (needUpdate) { + this.updateQuery(this.parents) + } } } } diff --git a/src/pages/library/CardList.vue b/src/pages/library/CardList.vue index 178256d..211ff7b 100644 --- a/src/pages/library/CardList.vue +++ b/src/pages/library/CardList.vue @@ -1,5 +1,5 @@