diff --git a/src/app/pages/partners/active-filters/active-filters.scss b/src/app/pages/partners/active-filters/active-filters.scss index 701f4cd70..fc2d385b5 100644 --- a/src/app/pages/partners/active-filters/active-filters.scss +++ b/src/app/pages/partners/active-filters/active-filters.scss @@ -5,10 +5,6 @@ padding: 0; - @include wider-than($phone-max) { - margin-top: 4rem; - } - > div { display: flex; flex-direction: row; diff --git a/src/app/pages/partners/controls/controls.js b/src/app/pages/partners/controls/controls.js index 55848e2e2..0d4e622b6 100644 --- a/src/app/pages/partners/controls/controls.js +++ b/src/app/pages/partners/controls/controls.js @@ -118,8 +118,6 @@ export default function Controls({advancedFilterOptions, typeOptions}) { - -
diff --git a/src/app/pages/partners/controls/controls.scss b/src/app/pages/partners/controls/controls.scss index 12a7e8611..4e8e60b38 100644 --- a/src/app/pages/partners/controls/controls.scss +++ b/src/app/pages/partners/controls/controls.scss @@ -52,14 +52,12 @@ $breakpt-med: 93em * $scale-factor; } .partners .desktop.controls { - background-color: ui-color(white); - border-bottom: thin solid ui-color(form-border); - border-radius: 0.4rem; - display: grid; - grid-gap: 3rem; - margin-top: 3rem; - padding: 3rem; + background-color: transparent; + display: flex; + gap: 3rem; + justify-content: center; position: relative; + margin: 3rem auto; max-width: 120rem; width: 100%; @@ -67,10 +65,6 @@ $breakpt-med: 93em * $scale-factor; display: none; } - @include wider-than($breakpt-med) { - grid-auto-flow: column; - } - .filter-button, .button-with-dropdown { @include title-font(1.8rem); @@ -78,8 +72,7 @@ $breakpt-med: 93em * $scale-factor; color: text-color(normal); } - .button-row, - .other-controls { + .button-row { display: grid; grid-row-gap: 1rem; justify-content: left; @@ -95,11 +88,6 @@ $breakpt-med: 93em * $scale-factor; justify-content: right; } - .button-with-popover .popover { - border-top-left-radius: 0.3rem; - border-top-right-radius: 0; - right: 0; - } } // Breaking encapsulation slightly @@ -143,6 +131,7 @@ $breakpt-med: 93em * $scale-factor; } .popover-container { + max-width: $text-content-max; position: absolute; top: 100%; width: 100%; diff --git a/src/app/pages/partners/mobile-controls/mobile-controls.scss b/src/app/pages/partners/mobile-controls/mobile-controls.scss index 2a5b886f7..7e1f1e651 100644 --- a/src/app/pages/partners/mobile-controls/mobile-controls.scss +++ b/src/app/pages/partners/mobile-controls/mobile-controls.scss @@ -4,12 +4,11 @@ align-items: center; display: grid; grid-column-gap: 1rem; - padding: $normal-margin; width: 100%; @include width-up-to($phone-max) { - background-color: ui-color(page-bg); grid-template-columns: 1fr auto auto; + padding: $normal-margin; position: sticky; top: 5rem; z-index: 2; @@ -41,6 +40,7 @@ } .result-count { + @include set-font(body-large); margin-top: 0; } diff --git a/src/app/pages/partners/partners.js b/src/app/pages/partners/partners.js index b42338ad8..de8e01b2c 100644 --- a/src/app/pages/partners/partners.js +++ b/src/app/pages/partners/partners.js @@ -110,15 +110,28 @@ function Partners({data}) { {confirmation && }
-

{headline}

- +
+

{headline}

+ + +
+
+
+
+
+
+

+ Search our technology partners to find the best option for your course +

- +
-
section { + padding-left: $normal-margin; + padding-right: $normal-margin; + } + + h2 { + text-align: center; + } + @include width-up-to($phone-max) { .desktop { display: none; diff --git a/src/app/pages/partners/results/results.scss b/src/app/pages/partners/results/results.scss index e9ffee95b..342931504 100644 --- a/src/app/pages/partners/results/results.scss +++ b/src/app/pages/partners/results/results.scss @@ -3,8 +3,12 @@ .partners .results { padding: 2rem 0 20rem; + width: 100%; + max-width: $content-max; + margin: 0 auto; @include width-up-to($phone-max) { + grid-template-columns: 100%; padding: 0 $normal-margin 6rem; } @@ -12,23 +16,59 @@ min-height: 60rem; } - >:first-child { - @include width-up-to($phone-max) { - margin-bottom: $normal-margin; + .result-columns { + align-items: start; + display: grid; + gap: 4rem; + grid-template-columns: calc(100% - 38rem) 34rem; + max-width: 100%; + + @include width-up-to($tablet-max) { + grid-template-columns: 100%; + gap: 5rem; } - @include wider-than($phone-max) { - margin-bottom: 3rem; + .result-column { + display: flex; + flex-direction: column; + justify-content: center; + gap: 5rem; + } + } + + .heading-and-result-grid { + border: thin solid os-color(light-blue); + border-top-width: 1.1rem; + margin: 0 auto; + max-width: 100%; + padding: 4rem; + + &.results-10 { + border-color: os-color(gold); + } + + &.results-7 { + border-color: os-color(deep-green); + } + + &.results-4 { + border-color: os-color(orange); + } + + &.results-1 { + border-color: os-color(yellow); + } + + &.results-new { + border-color: os-color(blue); } } - h2 { - margin: 0; + h3 { + @include title-font(2.6rem); + margin-bottom: 2rem; width: 100%; text-align: center; - background-color: ui-color(form-border); - padding: $normal-margin 0; - border: thin solid ui-color(black); } /* @@ -49,30 +89,16 @@ @mixin partner-grid { display: grid; - grid-auto-rows: minmax(min-content, 100%); - padding: 0; - - @include width-between($phone-max, $first-break) { - grid-template-columns: repeat(2, 1fr); - } - @include width-between($first-break, $second-break) { - grid-template-columns: repeat(3, 1fr); - } - @include width-between($second-break, $third-break) { - grid-template-columns: repeat(4, 1fr); - } - @include wider-than($third-break) { - grid-template-columns: repeat(5, 1fr); - } + grid-template-columns: repeat(auto-fill, 21rem); + justify-content: center; @include width-up-to($phone-max) { grid-gap: 1.5rem; - justify-content: center; + grid-template-columns: auto; } @include wider-than($phone-max) { grid-gap: 3rem; - justify-content: left; } .partner-card { @@ -82,8 +108,7 @@ @mixin partner-card { background-color: ui-color(white); - border-radius: 0.3rem; - box-shadow: $card-shadow; + border: thin solid os-color(light-gray); color: inherit; display: grid; grid-row-gap: 1rem; @@ -156,7 +181,6 @@ .boxed { gap: 3rem; - padding: 0; @include width-up-to($phone-max) { gap: $normal-margin; diff --git a/src/app/pages/partners/results/results.tsx b/src/app/pages/partners/results/results.tsx index fbbfc9556..8b59ed589 100644 --- a/src/app/pages/partners/results/results.tsx +++ b/src/app/pages/partners/results/results.tsx @@ -1,6 +1,5 @@ import React from 'react'; -import ResultGrid, {badgeImage, useOnSelect} from './result-grid'; -import PartnerCard from '~/components/partner-card/partner-card'; +import ResultGrid from './result-grid'; import useSearchContext from '../search-context'; import partnerFeaturePromise from '~/models/salesforce-partners'; import {useDataFromPromise} from '~/helpers/page-data-utils'; @@ -211,35 +210,6 @@ function resultEntry(pd: PartnerData) { }; } -function Sidebar({entries}: {entries: PartnerEntry[]}) { - const onSelect = useOnSelect(); - - return ( -
-
-

Startups

-
    - {entries.map(({type, title, logoUrl, tags}) => ( -
  • - t.value).filter((v) => v !== null)} - onClick={onSelect} - badgeImage={badgeImage} - analyticsContentType='Partner Profile' - /> -
  • - ))} -
- -
-
- ); -} - const headings: Record = { '10': '10+ years as Technology Partners', '7': '7-10 years as partners', @@ -254,11 +224,14 @@ function HeadingAndResultGrid({ entries }: { age: Ages; - entries: PartnerEntry[]; + entries?: PartnerEntry[]; }) { + if (!entries) { + return null; + } return ( -
-

{headings[age as Ages]}

+
+

{age === 'new' ? 'Welcome new partners' : headings[age as Ages]}

); @@ -305,57 +278,35 @@ function ResultGridLoader({ }, {} as Record); const foundAges = ages.filter((a) => partnersByAge[a]); - if (startups.length > 0) { - const [firstAge, ...otherAges] = foundAges; - - return ( -
- - - { - otherAges.length > 0 - ? -
- {otherAges.slice(0, 1).map((age) => ( - - ))} - -
- {otherAges.slice(1).map((age) => ( - - ))} -
- :
-

Startups

- -
- } -
- ); - } return (
- {foundAges.map((age) => ( - - ))} + +
+
+ {foundAges.filter((a) => ['7', '4', '1'].includes(a)).map((age) => ( + + ))} +
+
+ + {startups.length > 0 && +
+

Startups as partners

+ +
+ } +
+