diff --git a/src/components/SubTask/SubTaskComp.vue b/src/components/SubTask/SubTaskComp.vue new file mode 100644 index 0000000..0d25653 --- /dev/null +++ b/src/components/SubTask/SubTaskComp.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/components/SubTask/SubTaskList.vue b/src/components/SubTask/SubTaskList.vue new file mode 100644 index 0000000..a4911b3 --- /dev/null +++ b/src/components/SubTask/SubTaskList.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/src/components/Task/TaskComp.vue b/src/components/Task/TaskComp.vue index fd7c6ae..84db6b1 100644 --- a/src/components/Task/TaskComp.vue +++ b/src/components/Task/TaskComp.vue @@ -28,6 +28,14 @@

{{ description }}

+ + @@ -340,6 +349,49 @@ export default Vue.extend({ } } + .subtasksButton { + display: flex; + align-items: center; + + opacity: 0; + @media (pointer: none), (pointer: coarse) { + opacity: 0.5; + } + transition: opacity 0.2s; + + background-color: transparent; + padding: 1px; + border: 0; + cursor: pointer; + + .dropdownIcon { + * { + transition: stroke 0.2s; + } + &:hover * { + .light-mode & { + stroke: $independence-gray0; + } + .dark-mode & { + stroke: $dark-primary; + } + } + } + + &.openedSubtasksButton { + .dropdownIcon { + transform: rotate(180deg); + } + } + &.closedSubtasksButton { + .dropdownIcon { + transform: rotate(0deg); + } + } + } + &:hover .subtasksButton { + opacity: 1; + } } } } diff --git a/src/components/icon/Dropdown.vue b/src/components/icon/Dropdown.vue new file mode 100644 index 0000000..e66d2b6 --- /dev/null +++ b/src/components/icon/Dropdown.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/static/icons/source_icons_down-round-arrow.svg b/src/static/icons/source_icons_down-round-arrow.svg new file mode 100644 index 0000000..4a67454 --- /dev/null +++ b/src/static/icons/source_icons_down-round-arrow.svg @@ -0,0 +1,4 @@ + + + +