summaryrefslogtreecommitdiff
path: root/app/views/shared/issuable/_sidebar_todo.html.haml
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/shared/issuable/_sidebar_todo.html.haml')
-rw-r--r--app/views/shared/issuable/_sidebar_todo.html.haml30
1 files changed, 8 insertions, 22 deletions
diff --git a/app/views/shared/issuable/_sidebar_todo.html.haml b/app/views/shared/issuable/_sidebar_todo.html.haml
index 8411327566b..de4df016cfb 100644
--- a/app/views/shared/issuable/_sidebar_todo.html.haml
+++ b/app/views/shared/issuable/_sidebar_todo.html.haml
@@ -1,29 +1,15 @@
- is_collapsed = local_assigns.fetch(:is_collapsed, false)
-- todo = issuable_sidebar[:todo] || {}
+- has_todo = !!issuable_sidebar.dig(:current_user, :todo, :id)
-- todo_text = _('Add todo')
-- mark_text = _('Mark todo as done')
-- todo_icon = sprite_icon('todo-add')
-- mark_icon = sprite_icon('todo-done', css_class: 'todo-undone')
-
-- mark_content = is_collapsed ? mark_icon : mark_text
-- todo_content = is_collapsed ? todo_icon : todo_text
+- todo_button_data = issuable_todo_button_data(issuable_sidebar, is_collapsed)
+- button_title = has_todo ? todo_button_data[:mark_text] : todo_button_data[:todo_text]
+- button_icon = has_todo ? todo_button_data[:mark_icon] : todo_button_data[:todo_icon]
%button.issuable-todo-btn.js-issuable-todo{ type: 'button',
class: (is_collapsed ? 'btn-blank sidebar-collapsed-icon dont-change-state has-tooltip' : 'btn btn-default issuable-header-btn float-right'),
- title: (todo[:id] ? mark_text : todo_text),
- 'aria-label' => (todo[:id] ? mark_text : todo_text),
- data: { todo_text: todo_text,
- mark_text: mark_text,
- todo_icon: is_collapsed ? todo_icon : nil,
- mark_icon: is_collapsed ? mark_icon : nil,
- issuable_id: issuable_sidebar[:id],
- issuable_type: issuable_sidebar[:type],
- create_path: issuable_sidebar[:create_todo_path],
- delete_path: todo[:delete_path] } }
+ title: button_title,
+ 'aria-label' => button_title,
+ data: todo_button_data }
%span.issuable-todo-inner.js-issuable-todo-inner<
- - if todo[:id]
- = mark_content
- - else
- = todo_content
+ = is_collapsed ? button_icon : button_title
= icon('spin spinner', 'aria-hidden': 'true')