diff --git a/Gemfile b/Gemfile index a366fac7e..9c0436d25 100644 --- a/Gemfile +++ b/Gemfile @@ -18,7 +18,7 @@ gem 'bootsnap', '>= 1.4.2', require: false gem 'activerecord-import' gem 'acts_as_list' -gem 'activeadmin' +gem 'activeadmin', '~> 3.2.0' gem 'activeadmin_addons' gem 'devise', '>= 4.7.1' gem 'cancancan' diff --git a/Gemfile.lock b/Gemfile.lock index 9ed7c3267..180a12173 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,40 +1,40 @@ GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.6) - actionpack (= 6.1.7.6) - activesupport (= 6.1.7.6) + actioncable (6.1.7.8) + actionpack (= 6.1.7.8) + activesupport (= 6.1.7.8) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.6) - actionpack (= 6.1.7.6) - activejob (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionmailbox (6.1.7.8) + actionpack (= 6.1.7.8) + activejob (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) mail (>= 2.7.1) - actionmailer (6.1.7.6) - actionpack (= 6.1.7.6) - actionview (= 6.1.7.6) - activejob (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionmailer (6.1.7.8) + actionpack (= 6.1.7.8) + actionview (= 6.1.7.8) + activejob (= 6.1.7.8) + activesupport (= 6.1.7.8) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.6) - actionview (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionpack (6.1.7.8) + actionview (= 6.1.7.8) + activesupport (= 6.1.7.8) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.6) - actionpack (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + actiontext (6.1.7.8) + actionpack (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) nokogiri (>= 1.8.5) - actionview (6.1.7.6) - activesupport (= 6.1.7.6) + actionview (6.1.7.8) + activesupport (= 6.1.7.8) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -43,8 +43,9 @@ GEM actionpack addressable active_material (1.5.2) - activeadmin (3.2.0) + activeadmin (3.2.4) arbre (~> 1.2, >= 1.2.1) + csv formtastic (>= 3.1) formtastic_i18n (>= 0.4) inherited_resources (~> 1.7) @@ -59,28 +60,28 @@ GEM sassc sassc-rails xdan-datetimepicker-rails (~> 2.5.1) - activejob (6.1.7.6) - activesupport (= 6.1.7.6) + activejob (6.1.7.8) + activesupport (= 6.1.7.8) globalid (>= 0.3.6) - activemodel (6.1.7.6) - activesupport (= 6.1.7.6) + activemodel (6.1.7.8) + activesupport (= 6.1.7.8) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (6.1.7.6) - activemodel (= 6.1.7.6) - activesupport (= 6.1.7.6) + activerecord (6.1.7.8) + activemodel (= 6.1.7.8) + activesupport (= 6.1.7.8) activerecord-import (1.4.0) activerecord (>= 4.2) - activestorage (6.1.7.6) - actionpack (= 6.1.7.6) - activejob (= 6.1.7.6) - activerecord (= 6.1.7.6) - activesupport (= 6.1.7.6) + activestorage (6.1.7.8) + actionpack (= 6.1.7.8) + activejob (= 6.1.7.8) + activerecord (= 6.1.7.8) + activesupport (= 6.1.7.8) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.6) + activesupport (6.1.7.8) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -111,7 +112,7 @@ GEM bootsnap (1.12.0) msgpack (~> 1.2) brakeman (5.2.3) - builder (3.2.4) + builder (3.3.0) bullet (7.0.2) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) @@ -154,11 +155,12 @@ GEM nokogiri (~> 1.10, >= 1.10.4) rubyzip (>= 1.3.0, < 3) coderay (1.1.3) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.4) connection_pool (2.2.5) countries (5.1.1) sixarm_ruby_unaccent (~> 1.1) crass (1.0.6) + csv (3.3.0) database_cleaner-active_record (2.0.1) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) @@ -189,7 +191,7 @@ GEM request_store (>= 1.0) ruby2_keywords draper-cancancan (1.1.1) - erubi (1.12.0) + erubi (1.13.0) execjs (2.8.1) factory_bot (6.2.1) activesupport (>= 5.0.0) @@ -292,14 +294,14 @@ GEM marcel (1.0.4) matrix (0.4.2) memoist (0.16.2) - method_source (1.0.0) + method_source (1.1.0) mini_magick (4.11.0) mini_mime (1.1.5) - mini_portile2 (2.8.6) - minitest (5.23.1) + mini_portile2 (2.8.7) + minitest (5.25.1) msgpack (1.5.3) multi_json (1.15.0) - net-imap (0.4.9.1) + net-imap (0.4.14) date net-protocol net-pop (0.1.2) @@ -308,11 +310,11 @@ GEM timeout net-scp (1.2.1) net-ssh (>= 2.6.5) - net-smtp (0.4.0.1) + net-smtp (0.5.0) net-protocol net-ssh (7.0.1) - nio4r (2.7.0) - nokogiri (1.16.5) + nio4r (2.7.3) + nokogiri (1.16.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) optimist (3.0.1) @@ -338,7 +340,7 @@ GEM public_suffix (4.0.7) puma (5.6.8) nio4r (~> 2.0) - racc (1.8.0) + racc (1.8.1) rack (2.2.9) rack-cors (1.1.1) rack (>= 2.0.0) @@ -346,20 +348,20 @@ GEM rack rack-test (2.1.0) rack (>= 1.3) - rails (6.1.7.6) - actioncable (= 6.1.7.6) - actionmailbox (= 6.1.7.6) - actionmailer (= 6.1.7.6) - actionpack (= 6.1.7.6) - actiontext (= 6.1.7.6) - actionview (= 6.1.7.6) - activejob (= 6.1.7.6) - activemodel (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + rails (6.1.7.8) + actioncable (= 6.1.7.8) + actionmailbox (= 6.1.7.8) + actionmailer (= 6.1.7.8) + actionpack (= 6.1.7.8) + actiontext (= 6.1.7.8) + actionview (= 6.1.7.8) + activejob (= 6.1.7.8) + activemodel (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) bundler (>= 1.15.0) - railties (= 6.1.7.6) + railties (= 6.1.7.8) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -372,15 +374,15 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (6.1.7.6) - actionpack (= 6.1.7.6) - activesupport (= 6.1.7.6) + railties (6.1.7.8) + actionpack (= 6.1.7.8) + activesupport (= 6.1.7.8) method_source rake (>= 12.2) thor (~> 1.0) rainbow (3.1.1) - rake (13.1.0) - ransack (4.1.1) + rake (13.2.1) + ransack (4.2.1) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n @@ -405,8 +407,8 @@ GEM actionpack (>= 5.2) railties (>= 5.2) retriable (3.1.2) - rexml (3.2.8) - strscan (>= 3.0.9) + rexml (3.3.6) + strscan roo (2.10.0) nokogiri (~> 1) rubyzip (>= 1.3.0, < 3.0.0) @@ -491,9 +493,9 @@ GEM sprockets (4.2.1) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) sprockets (>= 3.0.0) sshkit (1.21.2) net-scp (>= 1.1.2) @@ -504,7 +506,7 @@ GEM diff-lcs patience_diff test-prof (1.0.9) - thor (1.3.0) + thor (1.3.1) tilt (2.0.10) timecop (0.9.5) timeout (0.4.1) @@ -545,14 +547,14 @@ GEM rails (>= 3.2.16) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.15) + zeitwerk (2.6.17) PLATFORMS ruby DEPENDENCIES active_link_to - activeadmin + activeadmin (~> 3.2.0) activeadmin_addons activerecord-import acts_as_list diff --git a/app/admin/tpi_sector_clusters.rb b/app/admin/tpi_sector_clusters.rb index 01ff7f672..89b7471df 100644 --- a/app/admin/tpi_sector_clusters.rb +++ b/app/admin/tpi_sector_clusters.rb @@ -6,7 +6,7 @@ menu priority: 8, parent: 'TPI' - permit_params :name + permit_params :name, sector_ids: [] filter :name_contains @@ -25,4 +25,12 @@ column :name, &:name_link actions end + + form do |f| + f.inputs do + f.input :name + f.input :sectors, as: :check_boxes, collection: TPISector.all.order(:name) + end + f.actions + end end diff --git a/app/assets/images/newsletter_background/newsletter_img_new.png b/app/assets/images/newsletter_background/newsletter_img_new.png new file mode 100644 index 000000000..75196e5e9 Binary files /dev/null and b/app/assets/images/newsletter_background/newsletter_img_new.png differ diff --git a/app/assets/images/tpi/funders/climate-arc.png b/app/assets/images/tpi/funders/climate-arc.png new file mode 100644 index 000000000..5ea5c5af5 Binary files /dev/null and b/app/assets/images/tpi/funders/climate-arc.png differ diff --git a/app/assets/images/tpi/funders/climateworks.png b/app/assets/images/tpi/funders/climateworks.png new file mode 100644 index 000000000..ffd355b53 Binary files /dev/null and b/app/assets/images/tpi/funders/climateworks.png differ diff --git a/app/assets/images/tpi/funders/ftse-russell-horizontal.png b/app/assets/images/tpi/funders/ftse-russell-horizontal.png new file mode 100644 index 000000000..a73900044 Binary files /dev/null and b/app/assets/images/tpi/funders/ftse-russell-horizontal.png differ diff --git a/app/assets/images/tpi/funders/ftse-russell-new.png b/app/assets/images/tpi/funders/ftse-russell-new.png new file mode 100644 index 000000000..fabf921bc Binary files /dev/null and b/app/assets/images/tpi/funders/ftse-russell-new.png differ diff --git a/app/assets/images/tpi/funders/laudes-foundation.png b/app/assets/images/tpi/funders/laudes-foundation.png new file mode 100644 index 000000000..ad24ab926 Binary files /dev/null and b/app/assets/images/tpi/funders/laudes-foundation.png differ diff --git a/app/assets/images/tpi/funders/lseg-foundation.png b/app/assets/images/tpi/funders/lseg-foundation.png new file mode 100644 index 000000000..fd51daf72 Binary files /dev/null and b/app/assets/images/tpi/funders/lseg-foundation.png differ diff --git a/app/assets/images/tpi/home/ascor.png b/app/assets/images/tpi/home/ascor.png new file mode 100644 index 000000000..f603d1cf3 Binary files /dev/null and b/app/assets/images/tpi/home/ascor.png differ diff --git a/app/assets/images/tpi/home/aum.png b/app/assets/images/tpi/home/aum.png new file mode 100644 index 000000000..316e93a2b Binary files /dev/null and b/app/assets/images/tpi/home/aum.png differ diff --git a/app/assets/images/tpi/home/banks.png b/app/assets/images/tpi/home/banks.png new file mode 100644 index 000000000..7cf018b97 Binary files /dev/null and b/app/assets/images/tpi/home/banks.png differ diff --git a/app/assets/images/tpi/home/corporate-carbon-performance.png b/app/assets/images/tpi/home/corporate-carbon-performance.png new file mode 100644 index 000000000..bfbf3cf13 Binary files /dev/null and b/app/assets/images/tpi/home/corporate-carbon-performance.png differ diff --git a/app/assets/images/tpi/home/corporate-management-quality.png b/app/assets/images/tpi/home/corporate-management-quality.png new file mode 100644 index 000000000..9f85a88ca Binary files /dev/null and b/app/assets/images/tpi/home/corporate-management-quality.png differ diff --git a/app/assets/images/tpi/home/energy.png b/app/assets/images/tpi/home/energy.png new file mode 100644 index 000000000..6fc65b13e Binary files /dev/null and b/app/assets/images/tpi/home/energy.png differ diff --git a/app/assets/images/tpi/home/food.png b/app/assets/images/tpi/home/food.png new file mode 100644 index 000000000..8cad666b1 Binary files /dev/null and b/app/assets/images/tpi/home/food.png differ diff --git a/app/assets/images/tpi/home/industry.png b/app/assets/images/tpi/home/industry.png new file mode 100644 index 000000000..938f88fb9 Binary files /dev/null and b/app/assets/images/tpi/home/industry.png differ diff --git a/app/assets/images/tpi/home/supporters.png b/app/assets/images/tpi/home/supporters.png new file mode 100644 index 000000000..fc42abf0a Binary files /dev/null and b/app/assets/images/tpi/home/supporters.png differ diff --git a/app/assets/images/tpi/home/transport.png b/app/assets/images/tpi/home/transport.png new file mode 100644 index 000000000..65a97de5e Binary files /dev/null and b/app/assets/images/tpi/home/transport.png differ diff --git a/app/assets/images/tpi/partners/grantham-bigger.png b/app/assets/images/tpi/partners/grantham-bigger.png new file mode 100644 index 000000000..0711f83f2 Binary files /dev/null and b/app/assets/images/tpi/partners/grantham-bigger.png differ diff --git a/app/assets/images/tpi/partners/lse-bigger.png b/app/assets/images/tpi/partners/lse-bigger.png new file mode 100644 index 000000000..bb5afd922 Binary files /dev/null and b/app/assets/images/tpi/partners/lse-bigger.png differ diff --git a/app/assets/stylesheets/tpi.scss b/app/assets/stylesheets/tpi.scss index 2f893d93a..5ad486cab 100644 --- a/app/assets/stylesheets/tpi.scss +++ b/app/assets/stylesheets/tpi.scss @@ -55,7 +55,7 @@ html { body { overflow-x: hidden; - font-family: $family-sans-serif; + font-family: $font-family-regular; @include desktop { overflow-x: visible; diff --git a/app/assets/stylesheets/tpi/_banner.scss b/app/assets/stylesheets/tpi/_banner.scss index 8b3aae076..9cd010d38 100644 --- a/app/assets/stylesheets/tpi/_banner.scss +++ b/app/assets/stylesheets/tpi/_banner.scss @@ -15,10 +15,10 @@ .partners__title { display: flex; justify-content: flex-end; - font-size: $size-7; + font-size: $size-8; color: $grey-dark; line-height: 0.938rem; - margin-bottom: 20px; + margin-bottom: 5px; } .partners { @@ -26,14 +26,6 @@ align-items: center; justify-content: end; gap: 30px; - - &__grantham { - max-height: 38px; - } - - &__lse { - max-height: 42px; - } } } } diff --git a/app/assets/stylesheets/tpi/_filters.scss b/app/assets/stylesheets/tpi/_filters.scss index 020085533..fc9845e14 100644 --- a/app/assets/stylesheets/tpi/_filters.scss +++ b/app/assets/stylesheets/tpi/_filters.scss @@ -109,7 +109,7 @@ padding: 6px 12px; cursor: pointer; font-size: 14px; - font-family: $family-sans-serif; + font-family: $font-family-regular; margin-right: 16px; margin-bottom: 10px; } diff --git a/app/assets/stylesheets/tpi/_footer.scss b/app/assets/stylesheets/tpi/_footer.scss index 3cf8e05f9..22ac9a20a 100644 --- a/app/assets/stylesheets/tpi/_footer.scss +++ b/app/assets/stylesheets/tpi/_footer.scss @@ -45,6 +45,7 @@ justify-content: space-around; @include mobile { + flex-direction: column; font-size: 14px; } diff --git a/app/assets/stylesheets/tpi/_latest-information.scss b/app/assets/stylesheets/tpi/_latest-information.scss index 0b3b0b562..e461f64bc 100644 --- a/app/assets/stylesheets/tpi/_latest-information.scss +++ b/app/assets/stylesheets/tpi/_latest-information.scss @@ -29,7 +29,7 @@ $dots-space: 1.3rem; &__header { margin-bottom: 36px; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; } &__description { @@ -79,7 +79,7 @@ $dots-space: 1.3rem; &__button-text { font-size: 16px; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; color: $white; } diff --git a/app/assets/stylesheets/tpi/_pages.scss b/app/assets/stylesheets/tpi/_pages.scss index 144a4860e..7946439b9 100644 --- a/app/assets/stylesheets/tpi/_pages.scss +++ b/app/assets/stylesheets/tpi/_pages.scss @@ -130,7 +130,7 @@ $margin-between-list-items: 20px; &.text-description { display: flex; - font-family: $family-sans-serif; + font-family: $font-family-regular; .pages__content-logos { grid-template-columns: repeat(2, 1fr); @@ -167,7 +167,7 @@ $margin-between-list-items: 20px; &.logo-description { display: block; - font-family: $family-sans-serif; + font-family: $font-family-regular; .pages__content-logos { grid-template-columns: repeat(2, 1fr); diff --git a/app/assets/stylesheets/tpi/_publications.scss b/app/assets/stylesheets/tpi/_publications.scss index 4219b9b79..b4f160416 100644 --- a/app/assets/stylesheets/tpi/_publications.scss +++ b/app/assets/stylesheets/tpi/_publications.scss @@ -86,7 +86,7 @@ $max-lines: 3; &__title-text { margin-bottom: 20px; font-size: 20px !important; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; color: $dark; @include desktop { diff --git a/app/assets/stylesheets/tpi/_search.scss b/app/assets/stylesheets/tpi/_search.scss index f8a44497d..118d58f71 100644 --- a/app/assets/stylesheets/tpi/_search.scss +++ b/app/assets/stylesheets/tpi/_search.scss @@ -7,7 +7,7 @@ margin-top: 20px; > a { - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; } } diff --git a/app/assets/stylesheets/tpi/_selector.scss b/app/assets/stylesheets/tpi/_selector.scss index 7939a319a..91c6255da 100644 --- a/app/assets/stylesheets/tpi/_selector.scss +++ b/app/assets/stylesheets/tpi/_selector.scss @@ -52,7 +52,7 @@ .selector__option { padding-inline: 16px; color: $ascor-color; - font-family: $family-sans-serif; + font-family: $font-family-regular; font-size: 16px; font-style: normal; font-weight: 400; diff --git a/app/assets/stylesheets/tpi/buttons.scss b/app/assets/stylesheets/tpi/buttons.scss index 449430a0d..d8e3dbfeb 100644 --- a/app/assets/stylesheets/tpi/buttons.scss +++ b/app/assets/stylesheets/tpi/buttons.scss @@ -3,7 +3,7 @@ $button-border-width: 4px; .link { - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; cursor: pointer; &.is-hovered, @@ -32,7 +32,7 @@ $button-border-width: 4px; $button-height: 40px; min-width: 160px; height: $button-height; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; cursor: pointer; border-radius: 0 !important; diff --git a/app/assets/stylesheets/tpi/charts/companies_accordion.scss b/app/assets/stylesheets/tpi/charts/companies_accordion.scss index 67d88f518..48a2188de 100644 --- a/app/assets/stylesheets/tpi/charts/companies_accordion.scss +++ b/app/assets/stylesheets/tpi/charts/companies_accordion.scss @@ -25,7 +25,7 @@ $tpi-level-chart-colors: #86A9F9 #5587F7 #2465F5 #0A4BDC #083AAB #9747FF; .item-title { display: flex; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; font-size: $size-5; justify-content: space-between; margin-bottom: 0.75rem; diff --git a/app/assets/stylesheets/tpi/charts/cp-performance.scss b/app/assets/stylesheets/tpi/charts/cp-performance.scss index fb132574a..95208bb8a 100644 --- a/app/assets/stylesheets/tpi/charts/cp-performance.scss +++ b/app/assets/stylesheets/tpi/charts/cp-performance.scss @@ -190,7 +190,7 @@ background-color: $blue; border: none; color: $white; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; width: 160px; } } diff --git a/app/assets/stylesheets/tpi/charts/mq-sector-pie-chart.scss b/app/assets/stylesheets/tpi/charts/mq-sector-pie-chart.scss index 3a32f8be2..09525a77a 100644 --- a/app/assets/stylesheets/tpi/charts/mq-sector-pie-chart.scss +++ b/app/assets/stylesheets/tpi/charts/mq-sector-pie-chart.scss @@ -16,7 +16,7 @@ $tpi-pie-chart-colors: #86A9F9 #5587F7 #2465F5 #0A4BDC #083AAB #9747FF; tspan { &:not(.highcharts-strong) { font-size: $size-7; - font-family: $family-sans-serif; + font-family: $font-family-bold; } } } diff --git a/app/assets/stylesheets/tpi/pages/ascor.scss b/app/assets/stylesheets/tpi/pages/ascor.scss index e1b10af8a..9e65b6344 100644 --- a/app/assets/stylesheets/tpi/pages/ascor.scss +++ b/app/assets/stylesheets/tpi/pages/ascor.scss @@ -277,7 +277,7 @@ $see-more-width-tablet: 130px; &__title { color: $dark; - font-family: $family-sans-serif; + font-family: $font-family-regular; font-size: 24px !important; line-height: 1.7rem; font-weight: 400; @@ -287,7 +287,7 @@ $see-more-width-tablet: 130px; &__subtitle { color: $grey-dark; - font-family: $family-sans-serif; + font-family: $font-family-regular; font-size: 12px; } @@ -304,7 +304,7 @@ $see-more-width-tablet: 130px; display: flex; &__title { - font-family: $family-sans-serif; + font-family: $font-family-regular; font-size: 20px !important; display: flex; align-items: center; @@ -378,7 +378,7 @@ $see-more-width-tablet: 130px; display: flex; &__title { - font-family: $family-sans-serif; + font-family: $font-family-regular; font-weight: 700; font-size: 16px; display: flex; @@ -388,7 +388,7 @@ $see-more-width-tablet: 130px; } &__source { - font-family: $family-sans-serif; + font-family: $font-family-regular; font-size: 14px !important; line-height: 40px; @@ -449,7 +449,7 @@ $see-more-width-tablet: 130px; } &__source { - font-family: $family-sans-serif; + font-family: $font-family-regular; font-size: 14px !important; a { @@ -574,7 +574,7 @@ $see-more-width-tablet: 130px; width: 400px; h3 { - font-family: $family-sans-serif; + font-family: $font-family-regular; font-size: 24px !important; font-weight: 700; padding: 20px 0; @@ -655,4 +655,4 @@ $see-more-width-tablet: 130px; } } } -} \ No newline at end of file +} diff --git a/app/assets/stylesheets/tpi/pages/banks-index.scss b/app/assets/stylesheets/tpi/pages/banks-index.scss index 76d358d0f..529bab25c 100644 --- a/app/assets/stylesheets/tpi/pages/banks-index.scss +++ b/app/assets/stylesheets/tpi/pages/banks-index.scss @@ -1,6 +1,44 @@ @import "../variables"; .banks-index-page { + &__info { + background-color: $blue; + padding: 40px 0 30px 0; + border-bottom: 1px solid #FFFFFF1F; + text-align: justify; + + strong { + color: $white; + } + + .title { + color: $white; + font-size: $size-4; + font-family: $font-family-bold; + margin-bottom: 20px; + } + + .description { + color: $white; + font-size: $size-6; + font-family: $font-family-regular; + margin-bottom: 10px + } + + ol { + color: $white; + padding-left: 20px; + + li { + padding: 10px 0; + } + + li::marker { + font-weight: bold; + } + } + } + .banks-header { min-height: 100px; display: flex; diff --git a/app/assets/stylesheets/tpi/pages/company.scss b/app/assets/stylesheets/tpi/pages/company.scss index b399c7bba..b985cf308 100644 --- a/app/assets/stylesheets/tpi/pages/company.scss +++ b/app/assets/stylesheets/tpi/pages/company.scss @@ -223,12 +223,12 @@ .level-description { color: $dark; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; padding: 0 30px; } .assessment-count { - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; } } } diff --git a/app/assets/stylesheets/tpi/pages/home.scss b/app/assets/stylesheets/tpi/pages/home.scss index aa2ee8190..e1b13a629 100644 --- a/app/assets/stylesheets/tpi/pages/home.scss +++ b/app/assets/stylesheets/tpi/pages/home.scss @@ -47,47 +47,22 @@ } } - .left-size { - max-width: 80%; - margin-top: 15px; - margin-bottom: 15px; - - @include tablet { - max-width: 60%; - } - - @include tablet { - max-width: 45%; - } - } - - .title { - color: $white; - } - - .description { + &__title { display: flex; - justify-content: center; - line-height: $size-4; - position: relative; + justify-content: space-around; + flex-direction: row; - @media #{$tablet-portrait} { - justify-content: left; - width: 100%; + @include mobile { + flex-direction: column; + align-items: center; } - &:before { - content: ''; - display: block; - position: absolute; - width: 8px; - height: 100%; - background-color: $blue-ribbon; - left: -1.5rem; - - @include tablet { - left: -32px; - } + &__description { + max-width: 10rem; + text-align: center; + margin: 30px auto; + border: 1px solid #ffffffa1; + padding: 10px; } } @@ -102,7 +77,7 @@ } @include from($tablet) { - height: 5rem; + height: 5rem !important; width: 280px; max-width: 280px; margin-top: 50px; @@ -129,9 +104,10 @@ } .assessment-box { - padding: 20px 30px; - padding-bottom: 70px; position: relative; + color: $white; + background-color: $blue-darker; + text-align: center; &__header { font-size: 18px; @@ -139,81 +115,33 @@ &__title { margin-top: 30px; - font-size: 40px; + font-size: 30px; font-family: $font-family-bold; - line-height: 48px; - max-width: 270px; - } - - &.publicly-listed-equities { - color: $white; - background-color: $blue-darker; - background-image: image-url('tpi/home/office-building.svg'); - background-repeat: no-repeat; - background-position: right -70px bottom 30px; - } + height: 100px; + line-height: 70px; - &.banks { - background-color: $blue-ribbon; - color: $white; - background-image: image-url('tpi/home/bank.svg'); - background-repeat: no-repeat; - background-position: right -70px bottom 30px; - } + br { + display: none; + } - &.corporate-bonds { - background-color: $blue-dark; - color: $white; - background-image: image-url('tpi/home/bond.svg'); - background-repeat: no-repeat; - background-position: right -70px bottom 30px; - } + @include from($tablet) { + height: 200px; + line-height: 170px; - &.ascor { - background-color: $blue; - color: $white; - background-image: image-url('tpi/home/countries.svg'); - background-repeat: no-repeat; - background-position: right -70px bottom 30px; - } + br { + display: block; + } - &.disabled { - position: relative; - - &:before { - position: absolute; - content: ''; - left: 0; - top: 0; - bottom: 0; - right: 0; - background: $black; - opacity: 0.6; - z-index: 1; + span { + display: inline-block; + vertical-align: middle; + line-height: 40px; + } } } - &:after { - content: ''; - display: block; - position: absolute; - border: 2px solid $white; - background-color: $blue-dark; - background-image: image-url('tpi/icons/plus-white.svg'); - background-repeat: no-repeat; - background-position: center; - border-radius: 50%; - width: 40px; - height: 40px; - right: 20px; - bottom: 20px; - } - - &:not(.disabled):hover { - &:after { - background-color: $white; - background-image: image-url('tpi/icons/plus-darker.svg'); - } + &__sectors { + margin: 10px 0; } } } @@ -225,345 +153,93 @@ font-size: 1.125rem !important; } - .container { + .at-glance-container { display: flex; flex-direction: column; + gap: 20px; + justify-content: space-between; - @include tablet { + @include from($desktop) { flex-direction: row; } - } - &__stats { - @include mobile { - padding-bottom: 50px; - } - - @include tablet { - padding-right: 20px; - width: 50%; + &__first { + order: -1; } + } - @include desktop { - padding-right: 30px; - } + .at-glance-note { + font-size: $size-8; + margin-top: 1rem; + } - @include widescreen { - padding-right: 80px; - } + .at-glance-container:before { + content: ""; + border: 1px $blue-ribbon solid; + align-self: stretch; + } + &__stats { h3 { color: $grey-dark; } .stat-boxes { display: grid; - grid-template-columns: 1fr 1fr; gap: 30px; padding: 30px 0px; - @include desktop { - gap: 30px 50px; - } - - @include widescreen { - gap: 30px 70px; - } - - &--benchmarks { - gap: 30px 40px; - grid-template-columns: 1fr; - - @include tablet { - grid-template-columns: 1fr 1fr; - } - } - } - - .stat-box { - text-align: right; - color: $grey-dark; - padding: 10px 0px; - @include mobile { - max-width: 180px; - } - - &__number { - font-size: 2.25rem; - line-height: 1em; - font-family: $font-family-bold; - color: $blue; - - @include tablet { - font-size: 3rem; - } - } - - &__title { - font-size: 0.875rem; - - @include tablet { - font-size: 1.125rem; - } - } - - background-repeat: no-repeat; - background-position: left center; - background-size: 60px; - - @include tablet { - background-size: 80px; - } - - &--supporters { - background-image: image-url('tpi/home/support.svg'); - } - - &--combined-aum { - background-image: image-url('tpi/home/money-bag.svg'); - } - - &--companies { - background-image: image-url('tpi/home/companies.svg'); - } - - &--sectors { - background-image: image-url('tpi/home/sectors.svg'); - } - - &--countries { - background-image: image-url('tpi/home/location.svg'); - } - - &--market-cap { - background-image: image-url('tpi/home/market-cap.svg'); - } - } - - .stat-box-b { - color: $grey-dark; - display: grid; - grid-template-columns: 80px 1fr; - gap: 0px 15px; - - @include tablet { - gap: 10px 15px; - padding: 10px 0px; - } - - &__number { - text-align: right; - font-size: 2.25rem; - line-height: 1em; - font-family: $font-family-bold; - color: $blue; - - @include tablet { - font-size: 3rem; - } + grid-template-columns: 1fr; } - &__title { - line-height: 1.5rem; - max-width: 300px; - font-size: 0.875rem; - - @include tablet { - font-size: 1.125rem; - } + @include from($tablet) { + grid-template-columns: 1fr 1fr; } - &--benchmarks { - @include tablet { - grid-column: 1 / span 2; - } + @include desktop { + gap: 30px 25px; } - } - } - - &__news { - position: relative; - &:before { - content: ''; - position: absolute; - background: $blue; - left: -$gap; - width: 100vw; - top: -50px; - bottom: -50px; - z-index: -1; - } - - @include tablet { - padding-left: 20px; - width: 50%; - - &:before { - left: 0; - width: 50vw; + @include widescreen { + gap: 30px 70px; } - } - @include desktop { - padding-left: 30px; - } - - @include widescreen { - padding-left: 80px; - } - - h2 { - color: $white; - } - - h3 { - padding-left: 10px; - margin-bottom: 20px; - border-left: 4px solid $blue-ribbon; - font-size: 18px !important; - color: $white; - } - - .twitter-timeline { - height: 600px; - } - - .news-more { - display: flex; - flex-direction: column; - gap: 30px; - margin-top: 50px; - - @include tablet { - justify-content: space-between; + .stat-box { + display: flex; flex-direction: row; - } + gap: 30px; - &__learn-more { - > div { - display: flex; - flex-direction: column; - gap: 15px; - - a { - color: $white; - - &:hover { - text-decoration: underline; - } - } + &__icon { + width: 70px; + height: 70px; - .with-icon { - display: inline-flex; - gap: 10px; - align-items: center; + img { + width: 70px; + height: auto; } - - .icon { - width: 2rem; - height: 2rem; - background: $white; - background-position: center; - background-repeat: no-repeat; - border-radius: 50%; - } - - .icon__news { - background-image: image-url('tpi/home/news.svg'); - } - - .icon__events { - background-image: image-url('tpi/home/events.svg'); - } - } - } - - &__social-media { - .icon__twitter { - width: 2rem; - height: 2rem; - background-image: image-url('icon_twitter/twitter_white.svg'); - background-repeat: no-repeat; - } - - .icon__linkedin { - width: 2rem; - height: 2rem; - background-image: image-url('icon_linkedin/icon_linkedin_white.svg'); - background-repeat: no-repeat; - } - } - - > div { - > div { - padding: 10px; - } - } - } - } - } - - &__case-studies-supporters, - &__latest-research { - .slider-container { - @include mobile { - margin-left: -1.5rem; - width: 100vw; - } - - .tns-slider { - display: flex; - } - - .tns-outer { - position: relative; - } - - .tns-inner { - padding: 1px; - } - - .tns-controls { - button { - margin: auto 0; - position: absolute; - top: 0; - bottom: 0; - border: none; - border-radius: 50%; - height: 48px; - width: 48px; - background-color: $blue-ribbon; - z-index: 1; - color: $white; - - @include mobile { - height: 38px; - width: 38px; } - &:focus{ - outline: none; + &__content { + min-width: 120px; } - &[disabled] { - display: none; - } + &__number { + font-size: 1.25rem; + line-height: 1em; + font-family: $font-family-bold; - &[data-controls=next] { - right: 0; @include tablet { - right: -25px; + font-size: 1.25rem; } } - &[data-controls=prev] { - left: 0; - @include tablet { - left: -25px; - } + &__title { + font-size: 0.875rem; + + @include tablet { + font-size: 1.125rem; + } } } } @@ -571,84 +247,18 @@ } &__case-studies-supporters { - border-bottom: 1px solid rgba(89, 91, 93, 0.2); - - .section-description { - margin-top: 20px; + .subtitle { + color: $blue-ribbon; } ul { - list-style: inside; + list-style: none; - li { - font-size: 24px; - - a { - margin-left: -15px; - font-size: 16px; - color: $black; - } - } - } - - .case-studies-container { - .case-study { - display: block; - - height: 280px; - border: 1px solid $grey-medium; - padding-top: 90px; - padding-bottom: 60px; - padding-left: 40px; - padding-right: 40px;; - - position: relative; - - img { - position: absolute; - max-height: 35px; - left: 20px; - top: 20px; - } - - &__title { - color: $blue-ribbon; - font-size: 1.125rem; - line-height: 1.25rem; - } - - &__text { - color: $grey-dark; - font-size: 0.875rem; - } - - &.is-hoverable { - cursor: pointer; - - &:after { - content: ''; - display: block; - position: absolute; - background-color: $blue-dark; - background-image: image-url('tpi/icons/plus-white.svg'); - background-repeat: no-repeat; - background-position: center; - background-size: 13px; - border-radius: 50%; - width: 33px; - height: 33px; - right: 20px; - bottom: 20px; - } - - &:hover { - &:after { - background-color: $white; - background-image: image-url('tpi/icons/plus-darker.svg'); - border: 2px solid $blue-dark; - } - } - } + li:before { + content: "\f00c"; /* FontAwesome Unicode */ + font-family: FontAwesome; + display: inline-block; + margin-right: 10px; } } } @@ -657,6 +267,12 @@ border-bottom: 1px solid rgba(89, 91, 93, 0.2); .section-description { + .tns-item { + padding-right: 0 !important; + border-right: 2px solid $blue-ribbon; + height: 300px + } + .research-box { padding: 15px; @@ -667,10 +283,9 @@ height: 100%; display: block; - color: $dark; - font-size: 12px; + color: $blue-ribbon; + font-size: 15px; background: $white; - border: 1px solid $grey-medium; > img { width: 100%; @@ -692,7 +307,7 @@ &__author { color: $blue-ribbon; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; } } } @@ -700,11 +315,37 @@ &__funders { .section-description { - display: flex; - align-items: center; - justify-content: space-evenly; - flex-wrap: wrap; - gap: 30px; + .subtitle { + font-family: $font-family-bold; + } + + .images { + display: flex; + gap: 20px; + margin: 10px 0; + + @include mobile { + flex-direction: column; + } + + img { + max-height: 70px; + + @include mobile { + max-height: 100%; + max-width: 150px; + margin: auto; + } + } + } + + .info { + font-family: $font-family-bold; + + a { + text-decoration: underline; + } + } } } @@ -735,7 +376,7 @@ align-items: center; color: $dark; display: flex; - font-family: $family-sans-serif-bold; + font-family: $font-family-bold; font-size: 20px; justify-content: space-between; width: 100%; @@ -759,6 +400,11 @@ padding-bottom: $size-4; } + .content { + text-align: justify; + text-justify: inter-word; + } + a { color: $white; } diff --git a/app/assets/stylesheets/tpi/pages/sectors-index.scss b/app/assets/stylesheets/tpi/pages/sectors-index.scss index 5fbb6a9d2..1a25a0cf9 100644 --- a/app/assets/stylesheets/tpi/pages/sectors-index.scss +++ b/app/assets/stylesheets/tpi/pages/sectors-index.scss @@ -17,7 +17,7 @@ } &.weight-normal { - font-family: $family-sans-serif; + font-family: $font-family-regular; } } diff --git a/app/controllers/tpi/home_controller.rb b/app/controllers/tpi/home_controller.rb index 6f1b0ccba..67feee9a2 100644 --- a/app/controllers/tpi/home_controller.rb +++ b/app/controllers/tpi/home_controller.rb @@ -20,14 +20,18 @@ def index page&.contents&.find_by(code: 'supporters_without_logo')&.text.to_i, total_market_cap: page&.contents&.find_by(code: 'total_market_cap')&.text || '-', combined_aum: page&.contents&.find_by(code: 'combined_aum')&.text || '-', - sectors_count: TPISector.with_companies.count + corporate_management_quality: page&.contents&.find_by(code: 'corporate_management_quality')&.text || '-', + corporate_carbon_performance: page&.contents&.find_by(code: 'corporate_carbon_performance')&.text || '-', + sectors_count: TPISector.with_companies.count, + ascor_countries: ASCOR::Country.published.count, + banks: Bank.published.count } } @latest_researches = Publication .published .includes([:image_attachment, :author_image_attachment]) .order(publication_date: :desc) - .take(4) + .take(3) fixed_navbar('Dashboard', admin_root_path) end diff --git a/app/javascript/components/tpi/MqBetaModal.jsx b/app/javascript/components/tpi/MqBetaModal.jsx index d12274d85..02c493fd2 100644 --- a/app/javascript/components/tpi/MqBetaModal.jsx +++ b/app/javascript/components/tpi/MqBetaModal.jsx @@ -66,7 +66,7 @@ const MqBetaModal = ({ enabled, page }) => {
Management Quality methodology

- The TPI Centre has developed an update to its Management Quality + TPI Centre has developed an update to its Management Quality (MQ) methodology, which is displayed here as a BETA methodology.

@@ -80,7 +80,8 @@ const MqBetaModal = ({ enabled, page }) => {

A report detailing what’s new in the BETA MQ methodology, - and a review of its impact on company scoring, can be found here. + and a review of its impact on company scoring, can be found + here.

Carbon Performance assessments are not affected by using this diff --git a/app/javascript/components/tpi/Navbar.js b/app/javascript/components/tpi/Navbar.js index 65d68781c..0f1894c2f 100644 --- a/app/javascript/components/tpi/Navbar.js +++ b/app/javascript/components/tpi/Navbar.js @@ -112,8 +112,8 @@ function renderMenuItem(menuItem, index) { ); } -const NavbarComponent = ({ items, openSearchMode }) => { - const [tpi, publications, about, faq, newsletter, search] = items; +const NavbarComponent = ({ items }) => { + const [tpi, publications, about, contactUs] = items; const [isOpen, setIsOpen] = useState(false); return (

@@ -122,14 +122,6 @@ const NavbarComponent = ({ items, openSearchMode }) => { Transition Pathway Initiative logo - - {search.hasIcon && } - { {about.content && about.content.map((menuItem, i) => renderMenuItem(menuItem, i))}
- - - {faq.entry} -
- {newsletter.entry} - - - {search.hasIcon && } + {contactUs.entry}
@@ -259,8 +232,7 @@ NavbarComponent.propTypes = { hasIcon: PropTypes.bool, className: PropTypes.string }) - ).isRequired, - openSearchMode: PropTypes.func.isRequired + ).isRequired }; const Navbar = ({ items, controls }) => { diff --git a/app/views/layouts/tpi/_footer.html.erb b/app/views/layouts/tpi/_footer.html.erb index aafa544bd..1541238ad 100644 --- a/app/views/layouts/tpi/_footer.html.erb +++ b/app/views/layouts/tpi/_footer.html.erb @@ -1,30 +1,23 @@ diff --git a/app/views/layouts/tpi/_header.html.erb b/app/views/layouts/tpi/_header.html.erb index 622d865b4..8070a0919 100644 --- a/app/views/layouts/tpi/_header.html.erb +++ b/app/views/layouts/tpi/_header.html.erb @@ -50,20 +50,9 @@ active: active_menu_page?(@about_pages_paths) }, { - entry: "Use of the Centre's data", - path: '/use-of-the-centre-s-data', - active: active_menu_page?('/use-of-the-centre-s-data') - }, - { - entry: 'Newsletter', - path: tpi_newsletter_path, - active: active_menu_page?(tpi_newsletter_path) - }, - { - entry: 'Search', - hasIcon: true, - path: tpi_search_path, - active: active_menu_page?(tpi_search_path) + entry: 'Contact Us', + path: 'mailto:tpi@lse.ac.uk', + active: false }, ], controls: { diff --git a/app/views/layouts/tpi/_hosted_by.html.erb b/app/views/layouts/tpi/_hosted_by.html.erb index 404c1b97b..f1fdd0023 100644 --- a/app/views/layouts/tpi/_hosted_by.html.erb +++ b/app/views/layouts/tpi/_hosted_by.html.erb @@ -4,17 +4,17 @@
The London School of Economics and Political Sciences Grantham Research Institute on Climate Change and the Environment
- \ No newline at end of file + diff --git a/app/views/tpi/ascor/index.html.erb b/app/views/tpi/ascor/index.html.erb index 8fe75487e..73bd04c2d 100644 --- a/app/views/tpi/ascor/index.html.erb +++ b/app/views/tpi/ascor/index.html.erb @@ -1,5 +1,4 @@ <% content_for :page_title, "ASCOR Tool - Transition Pathway Initiative" %> -<% content_for :hosted_by do %><% end %>
\ No newline at end of file +
diff --git a/app/views/tpi/ascor/show.html.erb b/app/views/tpi/ascor/show.html.erb index cf9900a34..6eebfd0a1 100644 --- a/app/views/tpi/ascor/show.html.erb +++ b/app/views/tpi/ascor/show.html.erb @@ -1,5 +1,4 @@ <% content_for :page_title, "#{@country.name} - Transition Pathway Initiative" %> -<% content_for :hosted_by do %><% end %>
<%= render 'contact' %> -
\ No newline at end of file + diff --git a/app/views/tpi/banks/index.html.erb b/app/views/tpi/banks/index.html.erb index c240c3b5e..1bd1a24fd 100644 --- a/app/views/tpi/banks/index.html.erb +++ b/app/views/tpi/banks/index.html.erb @@ -2,6 +2,20 @@ <% content_for :page_description, "Compare and assess how prepared the world’s largest banks are for the transition to a low-carbon economy" %>
+
+
+
Introduction
+

Our goal is to provide high-quality data to evaluate and compare the progress banks are making in aligning their financing activities with the goals of the Paris Agreement. In 2024, the TPI Centre assessed 26 major international banks, 10 US super-regional banks, and two custodian banks on two elements:

+
    +
  1. + Net Zero Banking Assessment Framework (NZBAF), an investor-led framework developed in consultation with IIGCC and Ceres evaluating banks on 72 sub-indicators across ten areas, such as their decarbonisation strategy, climate governance, or exposure and emissions disclosure. +
  2. +
  3. + Carbon Performance, an in-depth quantitative assessment of which sectors and business activities are covered by banks’ decarbonisation targets over different timeframes and their level of alignment with low carbon benchmarks (1.5°C, Below 2°C, International and National Pledges). +
  4. +
+
+