diff options
Diffstat (limited to 'app/views/shared/issuable/_sidebar_todo.html.haml')
-rw-r--r-- | app/views/shared/issuable/_sidebar_todo.html.haml | 30 |
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') |