From f3a86c61455b7701f0b093425840793d12490986 Mon Sep 17 00:00:00 2001 From: Liam Morley Date: Mon, 25 Oct 2021 15:07:29 -0400 Subject: [PATCH] Add cateory icon to home page --- app/assets/stylesheets/buttons.scss | 4 +- app/assets/stylesheets/colors.scss | 8 ++++ app/presenters/category_presenter.rb | 43 +++++++++++++------ .../_quality_framework_indicators.erb | 2 +- app/views/home/index.html.erb | 2 +- app/views/sqm_categories/show.html.erb | 2 +- spec/presenters/category_presenter_spec.rb | 18 +++++--- spec/views/home/index.html.erb_spec.rb | 2 +- 8 files changed, 57 insertions(+), 24 deletions(-) diff --git a/app/assets/stylesheets/buttons.scss b/app/assets/stylesheets/buttons.scss index 6117f6ab..0ecf979a 100644 --- a/app/assets/stylesheets/buttons.scss +++ b/app/assets/stylesheets/buttons.scss @@ -1,12 +1,12 @@ @import "colors"; .view-details { - background-color: #01788E; + background-color: $blue; font-family: 'Bitter', sans-serif; font-weight: 600; font-size: 14px; color: $white; padding: 8px 16px; - border: 0px; + border: 0; text-decoration: none; } diff --git a/app/assets/stylesheets/colors.scss b/app/assets/stylesheets/colors.scss index fa26ed10..d1de3207 100644 --- a/app/assets/stylesheets/colors.scss +++ b/app/assets/stylesheets/colors.scss @@ -41,6 +41,14 @@ $ideal: $purple; color: $blue; } +.color-lime { + color: $lime; +} + +.color-teal { + color: $teal; +} + .color-gray-2 { color: $gray-2; } diff --git a/app/presenters/category_presenter.rb b/app/presenters/category_presenter.rb index 1326acb8..199ef410 100644 --- a/app/presenters/category_presenter.rb +++ b/app/presenters/category_presenter.rb @@ -17,19 +17,36 @@ class CategoryPresenter @category.slug end - def icon - case name - when 'Teachers & Leadership' - 'apple-alt' - when 'School Culture' - 'school' - when 'Resources' - 'users-cog' - when 'Academic Learning' - 'graduation-cap' - else 'Community & Wellbeing' - 'heart' - end + def icon_class + icon_suffix = case name + when 'Teachers & Leadership' + 'apple-alt' + when 'School Culture' + 'school' + when 'Resources' + 'users-cog' + when 'Academic Learning' + 'graduation-cap' + when 'Community & Wellbeing' + 'heart' + end + "fas fa-#{icon_suffix}" + end + + def icon_color_class + color_suffix = case name + when 'Teachers & Leadership' + 'blue' + when 'School Culture' + 'red' + when 'Resources' + 'black' + when 'Academic Learning' + 'lime' + when 'Community & Wellbeing' + 'teal' + end + "color-#{color_suffix}" end def subcategories(academic_year:, school:) diff --git a/app/views/dashboard/_quality_framework_indicators.erb b/app/views/dashboard/_quality_framework_indicators.erb index 63163693..06add49c 100644 --- a/app/views/dashboard/_quality_framework_indicators.erb +++ b/app/views/dashboard/_quality_framework_indicators.erb @@ -1,7 +1,7 @@
<% category_presenters.each do |category_presenter| %>
- +

diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb index 7b4cf381..f398f3aa 100644 --- a/app/views/home/index.html.erb +++ b/app/views/home/index.html.erb @@ -44,7 +44,7 @@

diff --git a/app/views/sqm_categories/show.html.erb b/app/views/sqm_categories/show.html.erb index 541e9255..2f15ddc1 100644 --- a/app/views/sqm_categories/show.html.erb +++ b/app/views/sqm_categories/show.html.erb @@ -3,7 +3,7 @@ <% @categories.each do |category| %> <% end %> diff --git a/spec/presenters/category_presenter_spec.rb b/spec/presenters/category_presenter_spec.rb index badce4d5..156b7ede 100644 --- a/spec/presenters/category_presenter_spec.rb +++ b/spec/presenters/category_presenter_spec.rb @@ -44,10 +44,18 @@ describe CategoryPresenter do end it 'returns the correct icon for the given category' do - expect(teachers_and_leadership_presenter.icon).to eq 'apple-alt' - expect(school_culture_presenter.icon).to eq 'school' - expect(resources_presenter.icon).to eq 'users-cog' - expect(academic_learning_presenter.icon).to eq 'graduation-cap' - expect(community_and_wellbeing_presenter.icon).to eq 'heart' + expect(teachers_and_leadership_presenter.icon_class).to eq 'fas fa-apple-alt' + expect(school_culture_presenter.icon_class).to eq 'fas fa-school' + expect(resources_presenter.icon_class).to eq 'fas fa-users-cog' + expect(academic_learning_presenter.icon_class).to eq 'fas fa-graduation-cap' + expect(community_and_wellbeing_presenter.icon_class).to eq 'fas fa-heart' + end + + it 'returns the correct color for the given category' do + expect(teachers_and_leadership_presenter.icon_color_class).to eq 'color-blue' + expect(school_culture_presenter.icon_color_class).to eq 'color-red' + expect(resources_presenter.icon_color_class).to eq 'color-black' + expect(academic_learning_presenter.icon_color_class).to eq 'color-lime' + expect(community_and_wellbeing_presenter.icon_color_class).to eq 'color-teal' end end diff --git a/spec/views/home/index.html.erb_spec.rb b/spec/views/home/index.html.erb_spec.rb index 11ba40b7..0237c2cb 100644 --- a/spec/views/home/index.html.erb_spec.rb +++ b/spec/views/home/index.html.erb_spec.rb @@ -5,7 +5,7 @@ describe 'home/index.html.erb' do before :each do assign :districts, [create(:district), create(:district)] - assign :categories, [create(:sqm_category)] + assign :categories, [CategoryPresenter.new(category: create(:sqm_category))] render end