diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 3966076..32a6122 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -35,7 +35,17 @@ site-sidebar { } :root { - --error-color: rgb(155, 35, 24); /* Pico color red 650 */ + --error-color: #861D13; /* Pico red 700 */ + --error-bg: #F8DCD6; /* Pico red 100 */ + /* For jade, light on dark looks better */ + --success-color: #70FCBA; /* Pico jade 100 */ + --success-bg: #015234; /* Pico jade 700 */ + --backlog-color: #424751; /* Pico zinc 700 */ + --backlog-bg: #E0E3E7; /* Pico zinc 100 */ + --analysis-color: #5B4200; /* Pico amber 700 */ + --analysis-bg: #FDDEA6; /* Pico amber 100 */ + --info-color: #014C75; /* Pico azure 700 */ + --info-bg: #D1E5FB; /* Pico azure 100 */ } form { @@ -54,3 +64,14 @@ form { } } } + +.badge { + font-size: 0.875em; + padding: 0.25em 0.5em; + border: 1px solid var(--border-color, currentColor); + color: var(--color, currentColor); + background-color: var(--background-color, transparent); + border-radius: 1em / 0.5em; + font-weight: 500; + text-transform: uppercase; +} diff --git a/app/assets/stylesheets/tasks.css b/app/assets/stylesheets/tasks.css new file mode 100644 index 0000000..31bc12b --- /dev/null +++ b/app/assets/stylesheets/tasks.css @@ -0,0 +1,19 @@ +.task-status { + --color: var(--backlog-color); + --background-color: var(--backlog-bg); + + &.analysis { + --color: var(--analysis-color); + --background-color: var(--analysis-bg); + } + + &.development { + --color: var(--info-color); + --background-color: var(--info-bg); + } + + &.fulfillment { + --color: var(--success-color); + --background-color: var(--success-bg); + } +} diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index d606fb6..b3c1693 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -11,7 +11,7 @@ class TasksController < ApplicationController Task.all end - @tasks = @tasks.includes(:project) + @tasks = @tasks.includes(:project, :status) end def show; end diff --git a/app/helpers/tasks_helper.rb b/app/helpers/tasks_helper.rb index 9c43d7e..75ace05 100644 --- a/app/helpers/tasks_helper.rb +++ b/app/helpers/tasks_helper.rb @@ -8,4 +8,11 @@ module TasksHelper 'Tasks' end + + # @param status [TaskStatus] + def task_status_badge(status) + # TODO: extract into a component probably + + content_tag(:span, status.name, class: ['badge', 'task-status', status.category.dasherize]) + end end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index bd2e000..2f6e934 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -17,8 +17,8 @@ - <%# Includes all stylesheet files in app/assets/stylesheets %> <%= stylesheet_link_tag 'pico.jade.min.css', "data-turbo-track": "reload" %> + <%# Includes all stylesheet files in app/assets/stylesheets %> <%= stylesheet_link_tag :app, "data-turbo-track": "reload" %> <%= javascript_importmap_tags %> diff --git a/app/views/tasks/index.html.slim b/app/views/tasks/index.html.slim index 60d40dc..3f37f61 100644 --- a/app/views/tasks/index.html.slim +++ b/app/views/tasks/index.html.slim @@ -11,6 +11,7 @@ h1= tasks_index_title - cache task do tr td= link_to task.full_number, task_path(task) + td= task_status_badge task.status td= task.title td = link_to 'Edit', edit_task_path(task)