diff --git a/gulp-tasks/paths.js b/gulp-tasks/paths.js index 751e25fa..bcb0b6e2 100755 --- a/gulp-tasks/paths.js +++ b/gulp-tasks/paths.js @@ -7,7 +7,11 @@ module.exports = { }, styles: { src: ['src/**/*.scss'], // src of styles to watch - minifySrc: ['src/wmcads/assets/sass/wmcads.scss', 'src/www/wmcads-website.scss'], // List of scss file(s) which should be processed, linted & minified + minifySrc: [ + 'src/wmcads/assets/sass/wmcads.scss', + 'src/www/wmcads-website.scss', + 'src/www/pages/templates/templates.scss' + ], // List of scss file(s) which should be processed, linted & minified output: 'build/css/', // output location of minified styles reactNativeSrc: 'src/wmcads/assets/sass/wmcads.scss' }, diff --git a/src/wmcads/assets/sass/_typography.scss b/src/wmcads/assets/sass/_typography.scss index 9619df6b..644fe6a4 100755 --- a/src/wmcads/assets/sass/_typography.scss +++ b/src/wmcads/assets/sass/_typography.scss @@ -59,7 +59,8 @@ h2, } h3, -.h3 { +.h3, +h3 a { @include type-setting(3); } diff --git a/src/wmcads/assets/sass/_utilities.scss b/src/wmcads/assets/sass/_utilities.scss index 0e93c37b..d3588258 100755 --- a/src/wmcads/assets/sass/_utilities.scss +++ b/src/wmcads/assets/sass/_utilities.scss @@ -42,7 +42,6 @@ } &--main { - margin-top: $size-md; margin-bottom: $size-lg; flex-grow: 1; } diff --git a/src/wmcads/assets/sass/wmcads-grid/_grid-spacing.scss b/src/wmcads/assets/sass/wmcads-grid/_grid-spacing.scss index 847628d5..1d0e0830 100755 --- a/src/wmcads/assets/sass/wmcads-grid/_grid-spacing.scss +++ b/src/wmcads/assets/sass/wmcads-grid/_grid-spacing.scss @@ -57,7 +57,7 @@ @if $breakpoint-name == "" or $breakpoint-value == "" { &.wmcads-col-1, &.wmcads-col-1-1 { - padding-right: 0; + // padding-right: 0; padding-left: 0; } } @else { diff --git a/src/wmcads/components/_components.scss b/src/wmcads/components/_components.scss index d2db40b3..e6e086f0 100755 --- a/src/wmcads/components/_components.scss +++ b/src/wmcads/components/_components.scss @@ -9,6 +9,7 @@ @import "document/document"; // document @import "file-download/file-download"; // File download @import "form-elements/form-elements"; // Form elements +@import "hub-header/hub-header"; // Hub header @import "inset-text/inset-text"; // Inset text @import "in-text-step/in-text-step"; // In-text step @import "link/link"; // Link elements diff --git a/src/wmcads/components/breadcrumb/_breadcrumb.njk b/src/wmcads/components/breadcrumb/_breadcrumb.njk index 50e1e809..752fb3fe 100755 --- a/src/wmcads/components/breadcrumb/_breadcrumb.njk +++ b/src/wmcads/components/breadcrumb/_breadcrumb.njk @@ -12,6 +12,7 @@ And we show the current page breadcrumb at all times. {% set class = ' ' + params.classModifiers if params.classModifiers %} {% set ariaLabel = params.exampleAria + " example breadcrumbs" if params.exampleAria else "Breadcrumbs" %} +{% if params.pageTitle != "Homepage Template" -%} +{%- endif %} {% endmacro %} \ No newline at end of file diff --git a/src/wmcads/components/content-card/_content-card.njk b/src/wmcads/components/content-card/_content-card.njk index 848bfb33..d2cbe3e5 100755 --- a/src/wmcads/components/content-card/_content-card.njk +++ b/src/wmcads/components/content-card/_content-card.njk @@ -4,19 +4,18 @@ {# Opening & closing tags #} {% set tag = "a" if params.clickable else "div" %} {% set attributes = " href=\"#\" target=\"_self\"" if params.clickable else "" %} -{# HTML content #} -{% set html = params.html if params.html else " -
-

Lorem ipsum dolor sit amet

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-
-" %} +{% set title = params.title if params.title else "Lorem ipsum dolor sit amet" %} {# set title text #} +{% set eventTitle = params.eventTitle if params.eventTitle else "Event" %} {# set eventTitle text #} +{% set copy = params.copy if params.copy else "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." %} {# set copy text #} +{% set eventCopy = params.eventCopy if params.eventCopy else "A short sentence explaining what this is, it can be 2 lines." %} {# set copy text #} + {# This macro checks if it's being called inside a {% call %} tag #} {# It's an easier way to pass in larger html content #} -<{{tag}}{{attributes | safe}} class="wmcads-content-card{{"--blue" if params.isCta else "" }}"> +<{{tag}}{{attributes | safe}} class="wmcads-content-card{{"--blue" if params.isCta else "" }} {{"wmcads-content-card--event" if params.isEvent else "" }} {{"wmcads-content-card--news" if params.isNews else "" }} "> {% if(params.src) %} - content image + content image {% endif %} {% if(params.isCta) %}
@@ -25,12 +24,29 @@

Lorem ipsum dolor sit amet

+ {% else %} + {% if(params.isEvent) %} +
+

{{eventTitle}}

+

24 January 2021

+

{{eventCopy}}

+
+ {% else %} + {% if(params.isNews) %} +

24 January 2021

+

{{title}}

+

{{copy}}

{% else %} {%- if caller -%} {{ caller() }} {%- else -%} - {{ html | safe }} - {%- endif -%} +
+

{{title}}

+

{{copy}}

+
+ {%- endif -%} + {%- endif -%} + {%- endif -%} {% endif %} {% endmacro %} diff --git a/src/wmcads/components/content-card/_content-card.scss b/src/wmcads/components/content-card/_content-card.scss index 9b8ecca7..e9ae05cb 100755 --- a/src/wmcads/components/content-card/_content-card.scss +++ b/src/wmcads/components/content-card/_content-card.scss @@ -12,12 +12,15 @@ .wmcads-content-card { display: block; - min-height: 150px; + height: 100%; border-bottom: 5px solid get-color(primary); color: get-color(text); - background-color: $white; text-decoration: none; + @media screen and (max-width: $breakpoint-sm) { + margin: 0 0 $size-lg 0; + } + @at-root a#{&} { display: block; color: get-color(text); @@ -43,4 +46,32 @@ } } + &--event { + h2, + h3 { + margin: 0 0 $size-sm 0; + } + } + + &--news { + border: 0; + + p { + margin: 0; + } + + h3 { + a { + margin: $size-sm 0; + } + } + } + + h3 { + margin: $size-sm 0; + } + + img { + padding: 1px; + } } diff --git a/src/wmcads/components/hub-header/_hub-header.njk b/src/wmcads/components/hub-header/_hub-header.njk new file mode 100644 index 00000000..550694a7 --- /dev/null +++ b/src/wmcads/components/hub-header/_hub-header.njk @@ -0,0 +1,10 @@ +{% macro wmcadsHubHeader(params) %} +
+
+ +
+

Page title

+
Subtext
+
+
+{% endmacro %} \ No newline at end of file diff --git a/src/wmcads/components/hub-header/_hub-header.scss b/src/wmcads/components/hub-header/_hub-header.scss new file mode 100644 index 00000000..34c0b553 --- /dev/null +++ b/src/wmcads/components/hub-header/_hub-header.scss @@ -0,0 +1,73 @@ +.wmcads-hub-header { + display: flex; + position: relative; + height: 230px; + color: $white; + background: get-color(primary); + + .left-pane { + display: inline-block; + position: relative; + width: 50%; + height: 100%; + } + + .left-pane:after { + content: ""; + display: inline-block; + position: absolute; + top: 33px; + right: -92px; + width: 164px; + height: 164px; + margin-right: 10px; + transform: rotate(45deg); + border-radius: 0 120px 0 0; + background-color: get-color(primary); + } + + img { + display: inline-block; + width: 50%; + height: 100%; + object-fit: cover; + } + + .text-pane { + position: absolute; + left: calc((100% - 960px) / 2); + max-width: 468px; + overflow: auto; + } + + h1 { + margin: 56px 0 0; + color: $white; + } + + .text { + max-width: 448px; + margin-top: 10px; + } +} + +@media (max-width: 927px) { + .wmcads-hub-header { + .left-pane { + width: 100%; + } + + .left-pane:after { + display: none; + } + + img { + display: none; + } + + .text-pane { + left: 0; + max-width: 100%; + } + } +} diff --git a/src/wmcads/components/link/link/_link.scss b/src/wmcads/components/link/link/_link.scss index dbea8c1c..5d276a27 100755 --- a/src/wmcads/components/link/link/_link.scss +++ b/src/wmcads/components/link/link/_link.scss @@ -4,7 +4,8 @@ .wmcads-link { @at-root a:not([class*="wmcads-"]), & { - color: get-color(cta, 10, dark); + display: inline-block; + color: get-color(cta); font-weight: bold; text-decoration: underline; cursor: pointer; @@ -18,6 +19,12 @@ } } + h1, + h2, + h3 { + color: get-color(cta, 10, dark); + } + &--with-chevron { display: inline-flex; @@ -42,3 +49,11 @@ } } } + +a { + h1, + h2, + h3 { + color: get-color(cta); + } +} diff --git a/src/wmcads/components/page-header/_page-header.njk b/src/wmcads/components/page-header/_page-header.njk index de48a21a..b2c6be59 100644 --- a/src/wmcads/components/page-header/_page-header.njk +++ b/src/wmcads/components/page-header/_page-header.njk @@ -3,17 +3,20 @@ {% set text = params.text if params.text else "Page header" %} {% set iconName = params.icon if params.icon else "" %} -
- header image -
- {% if iconName !== "" %} +
+ {% if(params.title) %} +
+
+ {% if iconName !== "" %} {{ wmcadsIcon({ icon: iconName, class: 'wmcads-page-header__icon' }) | trim }} {% endif %} -

{{text}}

+

{{text}}

+
+ {% endif %}
{% endmacro %} \ No newline at end of file diff --git a/src/wmcads/components/page-header/_page-header.scss b/src/wmcads/components/page-header/_page-header.scss index 6fa6166d..353e5561 100644 --- a/src/wmcads/components/page-header/_page-header.scss +++ b/src/wmcads/components/page-header/_page-header.scss @@ -1,9 +1,39 @@ .wmcads-page-header { display: block; - position: relative; - height: 150px; + height: 300px; color: $white; background: $black; + background-repeat: no-repeat; + background-position: center; + background-size: cover; + + &__home { + height: 420px; + + .wmcads-page-header { + &-box { + width: 75%; + background-color: get-color(primary); + + @media all and (max-width: 400px) { + width: 90%; + } + + h1 { + padding: 20px 20px 20px 30px; + color: $white; + + @media all and (max-width: 400px) { + font-size: 2rem; + } + } + } + + &-container { + height: 420px; + } + } + } img { display: block; @@ -12,30 +42,39 @@ object-fit: cover; } + &-container { + display: flex; + min-height: 300px; + flex-direction: row; + flex-wrap: nowrap; + justify-content: flex-start; + align-content: flex-start; + align-items: flex-start; + } + &-box { - position: relative; - height: calc(100% - 105px); - padding: 6px 10px; - color: $black; + height: fit-content; + padding: 5px 10px; background: $white; + align-self: center; + + h1 { + margin: 0; + padding: 15px; + } + } &__icon { display: block; position: absolute; - top: -35px; - left: 0; - width: 35px; - height: 35px; - padding: 5px; + width: 46px; + height: 46px; + margin: 8px 0 0 8px; background: $white; + fill: get-color(primary); } - h1 { - margin: 0; - color: $black; - font-size: 28px; - } } @media (min-width: 400px) { @@ -46,10 +85,13 @@ } &-box { - position: absolute; - top: 41px; - left: 8%; + top: 120px; + left: 0; height: auto; + + &__home { + top: 110px; + } } &__icon { diff --git a/src/www/_layouts/_template-master-layout.njk b/src/www/_layouts/_template-master-layout.njk new file mode 100755 index 00000000..8a7b772b --- /dev/null +++ b/src/www/_layouts/_template-master-layout.njk @@ -0,0 +1,56 @@ + + + + {% include "www/_partials/_template_head.njk" %} + + + + + + {# header #} + {% from "wmcads/patterns/header/_header.njk" import wmcadsHeader %} + {{ + wmcadsHeader ({ + id: "mega-menu", + navItems: navItems, + banner: true, + linkTopLevel: true, + breadcrumbs: { + section: section, + pageTitle: pageTitle + } + }) + }} + {# header #} + + {# main #} +
+ {% block body %}{% endblock %} +
+ {# main #} + + + {% from "wmcads/patterns/footer/_footer.njk" import wmcadsFooter %} + {{ + wmcadsFooter({ + feedback: true, + bottomMenu: [{ + name: "Privacy & Cookies Policy", + link: "https://www.wmca.org.uk/policies" + }] + }) + }} + + + + {% include "www/_partials/_scripts.njk" %} + + + + diff --git a/src/www/_layouts/template-layout-fullwidth.njk b/src/www/_layouts/template-layout-fullwidth.njk new file mode 100755 index 00000000..705f898e --- /dev/null +++ b/src/www/_layouts/template-layout-fullwidth.njk @@ -0,0 +1,5 @@ +{% extends "www/_layouts/_template-master-layout.njk" %} + +{% block body %} + {% block content %}{% endblock content %} +{% endblock body%} \ No newline at end of file diff --git a/src/www/_partials/_template_head.njk b/src/www/_partials/_template_head.njk new file mode 100755 index 00000000..ba02b4be --- /dev/null +++ b/src/www/_partials/_template_head.njk @@ -0,0 +1,33 @@ + + + + {# If homepage #} + {% if section == "Home" %} + Home - West Midlands Combined Authority Design System + {% else %} + {# Else any other pages #} + {{ pageTitle | striptags}} - West Midlands Combined Authority Design System + {% endif %} + + + + + {# Favicons #} + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/www/assets/json/merged.njk.json b/src/www/assets/json/merged.njk.json index 2888e835..ae6d97b6 100755 --- a/src/www/assets/json/merged.njk.json +++ b/src/www/assets/json/merged.njk.json @@ -56,6 +56,9 @@ { "name": "Form elements" }, + { + "name": "Hub header" + }, { "name": "Inset text" }, @@ -130,7 +133,15 @@ ] }, { - "name": "User research" + "name": "Templates", + "subnavItems": [ + { + "name": "Homepage" + }, + { + "name": "Content Template" + } + ] } ], "colors": { diff --git a/src/www/data.njk.json b/src/www/data.njk.json index ebeb4b6a..f2c096b7 100644 --- a/src/www/data.njk.json +++ b/src/www/data.njk.json @@ -56,6 +56,9 @@ { "name": "Form elements" }, + { + "name": "Hub header" + }, { "name": "Inset text" }, @@ -130,7 +133,7 @@ ] }, { - "name": "User research" + "name": "Templates" } ], "colors": { diff --git a/src/www/pages/components/content-card/index.njk b/src/www/pages/components/content-card/index.njk index b0158780..63eb523e 100755 --- a/src/www/pages/components/content-card/index.njk +++ b/src/www/pages/components/content-card/index.njk @@ -26,22 +26,37 @@
  • When it is used in a set of cards for navigation purposes. Instead, use a Navigation card.
  • +

    Regular Card

    + {{ compExample([ - wmcadsContentCard({src: true}), - wmcadsContentCard(), wmcadsContentCard({ - html: ' -
    -

    Headline

    -

    A short sentence explaining what this is, it can be 2 lines.

    -
    - ' }) ]) }} +

    With Image

    + +{{ + compExample([ + wmcadsContentCard({ + src: true, + isSrcDefault: true + }) + ]) +}} + +

    Without Image

    + +{{ + compExample([ + wmcadsContentCard() + ]) +}} + + +

    {# Navigation card #}

    Navigation card

    @@ -62,12 +77,32 @@
  • When multiple interactive components within the card are used. Instead, use a Content card.
  • +

    Navigation Card

    + {{ - compExample([ - wmcadsContentCard({clickable: true, src: true}), + compExample([ wmcadsContentCard({ clickable: true - }), + }) + ]) +}} + +

    With Image

    + +{{ + compExample([ + wmcadsContentCard({ + clickable: true, + src: true, + isSrcDefault: true + }) + ]) +}} + +

    Call To Action Card

    + +{{ + compExample([ wmcadsContentCard({ clickable: true, isCta: true @@ -75,4 +110,27 @@ ]) }} +

    Event Card

    + +{{ + compExample([ + wmcadsContentCard({ + clickable: true, + isEvent: true + }) + ]) +}} + +

    News Card

    + +{{ + compExample([ + wmcadsContentCard({ + src: true, + clickable: true, + isNews: true + }) + ]) +}} + {% endblock %} diff --git a/src/www/pages/components/hub-header/index.njk b/src/www/pages/components/hub-header/index.njk new file mode 100644 index 00000000..4be008f6 --- /dev/null +++ b/src/www/pages/components/hub-header/index.njk @@ -0,0 +1,12 @@ +{% extends "www/_layouts/layout-left-pane.njk" %} +{% set pageTitle="Hub header" %} +{% from "wmcads/components/hub-header/_hub-header.njk" import wmcadsHubHeader %} +{% from "www/_partials/component-example/component-example.njk" import compExample %} + +{% block content %} +{{ + compExample([ + wmcadsHubHeader() + ],{iframe:true}) +}} +{% endblock %} \ No newline at end of file diff --git a/src/www/pages/components/page-header/index.njk b/src/www/pages/components/page-header/index.njk index 28dbc9b1..74c861f7 100644 --- a/src/www/pages/components/page-header/index.njk +++ b/src/www/pages/components/page-header/index.njk @@ -4,10 +4,39 @@ {% from "www/_partials/component-example/component-example.njk" import compExample %} {% block content %} +

    Header with page name

    {{ compExample([ - wmcadsPageHeader(), - wmcadsPageHeader({icon:'general-info'}) + wmcadsPageHeader({ + title: true + }) + ]) +}} +

    Header with page name and icon

    +{{ + compExample([ + wmcadsPageHeader({ + title: true, + icon:'general-info' + }) + ]) +}} +

    Plain Header

    +{{ + compExample([ + wmcadsPageHeader({ + title: false + }) + ]) +}} +

    Homepage Header

    +{{ + compExample([ + wmcadsPageHeader({ + title: true, + text: "Building a healthier, happier, better connected and more prosperous West Midlands", + home: true + }) ]) }} {% endblock %} \ No newline at end of file diff --git a/src/www/pages/index.njk b/src/www/pages/index.njk index d7a8980f..fc7652bc 100755 --- a/src/www/pages/index.njk +++ b/src/www/pages/index.njk @@ -54,21 +54,6 @@ {# Internal navigation #}

    Design System

    - {# User research #} -
    - {{ - wmcadsContentTilesNormal({ - classModifiers: 'wmcads-content-tile--with-one-link', - title: "User research", - copy: "

    Start with user needs to make sure you're building the right thing

    ", - smallTitle: true, - readMore: true, - link: '/user-research/', - linkText: 'Read more about user research', - linkTitle: 'User research' - }) - }} -
    {# Styles #}
    {{ @@ -114,6 +99,21 @@ }) }}
    + {# Templates #} +
    + {{ + wmcadsContentTilesNormal({ + classModifiers: 'wmcads-content-tile--with-one-link', + title: "Templates", + copy: "

    Example template layouts

    ", + smallTitle: true, + readMore: true, + link: '/templates/', + linkText: 'Read more about templates', + linkTitle: 'Templates' + }) + }} +

    diff --git a/src/www/pages/templates/content-template/content-template.scss b/src/www/pages/templates/content-template/content-template.scss new file mode 100644 index 00000000..e69de29b diff --git a/src/www/pages/templates/content-template/index.njk b/src/www/pages/templates/content-template/index.njk new file mode 100644 index 00000000..7e904b6a --- /dev/null +++ b/src/www/pages/templates/content-template/index.njk @@ -0,0 +1,98 @@ +{% extends "www/_layouts/template-layout-fullwidth.njk" %} +{% set pageTitle="Content Page Template" %} {% set section = "Templates" %} +{# Imports #} +{%- from "wmcads/components/content-tiles/normal/_normal.njk" import wmcadsContentTilesNormal -%} +{% from "wmcads/components/link/link/_link.njk" import wmcadsLink %} +{% from "wmcads/components/inset-text/_inset-text.njk" import wmcadsInsetText %} +{% from "wmcads/components/icon/_icon.njk" import wmcadsIcon %} +{% from "wmcads/components/content-card/_content-card.njk" import wmcadsContentCard %} +{# Set array of tiles #} +{% block content %} + +{# About the style guide #} +
    + header image +
    +
    +
    +
    +

    {{ pageTitle | safe}}

    +

    From 2018, we’re responsible for the region's Adult Education Budget (AEB).

    +

    We target priority growth sectors from the Local Industrial Strategy. This improves skills and secure jobs in communities. It also helps to improve productivity in the region.

    +

    What the budget is

    +

    The budget helps residents and employers get the skills needed in the region. This helps people to get the jobs they need and increases the skills of current employees. It unlocks specialist training as well.

    +

    It also allows for more flexible and tailored learning programmes in the region. This helps people to take part in learning, build confidence and their wellbeing. It unlocks opportunities for more people.

    +

    Our challenges

    +

    We set out the challenges for the labour market in our Regional Skills Plan:

    +

    High levels of unemployment in some parts of the region + Poverty is growing for people who are working because of low wages + Low skill levels with less people qualified to skill level 4, or no qualifications at all + Employers struggle to find people with the skills they need

    +

    We use the budget to help improve confidence and opportunities for residents. It helps business find staff with the skills they need too.

    +

    Priorities for the budget

    +

    We will fund adult education through a range of delivery partners. Through commissioning, the budget will focus on:

    +

    Innovation

    +

    Looking at new ways of delivering learning. These will align with our priorities in the construction and digital sectors.

    +

    Talent & Progression

    +

    We'll develop new job schemes, and help build the skills of people in employment.

    +

    Collaboration

    +

    Working with our provider partners, we'll create an agile skills system. It will align to the needs of businesses and residents.

    +

    Sustainability

    +

    We're developing agreements with providers. These will check delivery against our key priorities. It will also track the impact of this approach.

    +
    +
    +
    +
    + {{ + wmcadsContentCard({ + src: true, + isThirdCard: true, + title: 'Who weve funded', + copy: 'See which councils and providers weve funded, and what for.' + }) + }} +
    +
    + {{ + wmcadsContentCard({ + src: true, + isThirdCard: true, + title: 'Find training schemes', + copy: 'You can find training and education providers weve funded online.' + }) + }} +
    +
    + {{ + wmcadsContentCard({ + src: true, + isThirdCard: true, + title: 'Contact us', + copy: 'Get in touch if you want to know more about the budget.' + }) + }} +
    +
    + {{ + wmcadsContentCard({ + src: true, + isThirdCard: true, + title: 'Pharetra Sollicitudin', + copy: 'Donec sed odio dui. Nullam quis risus eget urna mollis ornareleo.' + }) + }} +
    +
    + {{ + wmcadsContentCard({ + src: true, + isDoubleCard: true, + title: 'Pharetra Sollicitudin Bibendum', + copy: 'Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo.' + }) + }} +
    +
    +
    +
    +{% endblock %} diff --git a/src/www/pages/templates/homepage/homepage.scss b/src/www/pages/templates/homepage/homepage.scss new file mode 100644 index 00000000..1932721b --- /dev/null +++ b/src/www/pages/templates/homepage/homepage.scss @@ -0,0 +1,35 @@ +.homepage { + .what-we-do { + svg { + display: block; + width: 50px; + height: 50px; + fill: get-color(primary); + } + + a { + display: block; + width: 90%; + } + + div { + margin: 0 0 20px 0; + } + } + + h2, + h3, + p, + .what-we-do, + .wmcads-link { + @media screen and (max-width: $breakpoint-sm) { + padding: 0 $size-sm; + } + } +} + +.wmcads-container.homepage { + @media screen and (max-width: $breakpoint-sm) { + padding: 0; + } +} diff --git a/src/www/pages/templates/homepage/index.njk b/src/www/pages/templates/homepage/index.njk new file mode 100644 index 00000000..ec699af1 --- /dev/null +++ b/src/www/pages/templates/homepage/index.njk @@ -0,0 +1,214 @@ +{% extends "www/_layouts/template-layout-fullwidth.njk" %} +{% set pageTitle="Homepage Template" %} {% set section = "Templates" %} +{% set section="Templates" %} +{# Imports #} +{% from "wmcads/components/page-header/_page-header.njk" import wmcadsPageHeader %} +{% from "wmcads/components/link/link/_link.njk" import wmcadsLink %} +{% from "wmcads/components/inset-text/_inset-text.njk" import wmcadsInsetText %} +{% from "wmcads/components/icon/_icon.njk" import wmcadsIcon %} +{% from "wmcads/components/content-card/_content-card.njk" import wmcadsContentCard %} +{# Set array of tiles #} +{% block content %} + +{# About the style guide #} +{{ + wmcadsPageHeader({ + title: true, + text: "Building a healthier, happier, better connected and more prosperous West Midlands", + home: true, + topm: true + }) +}} +
    +
    +
    +

    What is the Combined Authority?

    +

    Combined Authorites are set up to improve their region’s economies. We invest in the region through collaboration with our partners, but we don’t replace local councils.

    +
    +
    +

    The Mayor

    +

    We’re led by the Mayor of the West Midlands. The current mayor is Andy Street, who is in office until May 2021.

    +

    The Mayor chairs the WMCA Board and acts as a voice for the region, nationally and globally.

    +
    +
    +

    What we do

    +
    + + +
    + + + + Environment +
    +
    + + + + Housing and Land +
    + + +
    + + + + Transport +
    +
    + + + + Wellbeing +
    +
    + +

    Latest News

    +
    +
    + {{ + wmcadsContentCard({ + src: true, + title: 'Wednesbury to Brierley Hill tram extension opens', + copy: 'The new line opens today, linking passengers to Dudley and Merry Hill. The extension was originally proposed in 1990, and was funded through the historic Devolution Deal in 2016.', + isNews: true, + isNewsFirst: true + }) + }} +
    +
    + {{ + wmcadsContentCard({ + src: true, + title: 'WMCA donates computers to school children to tackle digital divide', + copy: '150 old staff laptops will be donated to Wowdot', + isNews: true, + isNewsSub: true + }) + }} +
    +
    + {{ + wmcadsContentCard({ + src: true, + title: 'Historic devolution agreement reached', + copy: 'The Government will contribute 40 million over the next 30 years', + isNews: true, + isNewsSub: true + }) + }} +
    +
    +See all news stories + +
    +
    + {{ + wmcadsContentCard({ + src: true, + isSrcDefault: true, + title: 'Coronavirus support', + copy: 'Get advice and support during the pandemic such as finding a new job and applying for business grants.', + clickable: true + }) + }} +
    +
    + {{ + wmcadsContentCard({ + src: true, + isSrcDefault: true, + title: '2021 Mayoral election', + copy: 'Find out what the Mayor is reponsible for and how to vote.', + clickable: true + }) + }} +
    +
    +
    +
    + {{ + wmcadsContentCard({ + title: 'Upskill yourself in lockdown', + copy: 'Find out what the Mayor is reponsible for and how to vote.', + clickable: true + }) + }} +
    +
    + {{ + wmcadsContentCard({ + title: 'Thrive at Work', + copy: 'Join our free workplace wellbeing scheme to keep staff healthy, motivated and productive.', + clickable: true + }) + }} +
    +
    + {{ + wmcadsContentCard({ + title: 'Annual Plan 2021 - 2022', + copy: 'We’ve set our ambitions for each of our priorities over the next year.', + clickable: true + }) + }} +
    +
    + +

    Upcoming events

    +
    +
    + {{ + wmcadsContentCard({ + eventTitle: 'Mayors Mentors', + eventCopy: 'Find out about the Mayor’s Mentors scheme and how it can help you grow.', + clickable: true, + isEvent: true + }) + }} +
    +
    + {{ + wmcadsContentCard({ + eventTitle: 'Greater Birmingham LEP Skills Day', + eventCopy: 'Hear from employers and training providers on upskilling opportunities available.', + clickable: true, + isEvent: true + }) + }} +
    +
    + {{ + wmcadsContentCard({ + eventTitle: 'Sprint exhibition - Walsall', + eventCopy: 'Learn and ask questions about the upcoming Sprint works in the region.', + clickable: true, + isEvent: true + }) + }} +
    +
    +See all WMCA events + +
    +{% endblock %} diff --git a/src/www/pages/templates/index.njk b/src/www/pages/templates/index.njk new file mode 100644 index 00000000..4994e699 --- /dev/null +++ b/src/www/pages/templates/index.njk @@ -0,0 +1,7 @@ +{% extends "www/_layouts/layout-left-pane.njk" %} +{% set pageTitle = "Templates" %} +{% set section = "Templates" %} + +{% block content %} +

    Example templates that make up the main West Midlands Combined Authority Website

    +{% endblock %} \ No newline at end of file diff --git a/src/www/pages/templates/templates.scss b/src/www/pages/templates/templates.scss new file mode 100644 index 00000000..d5844ff0 --- /dev/null +++ b/src/www/pages/templates/templates.scss @@ -0,0 +1,9 @@ +// Vars +@import "../../../wmcads/assets/sass/vars"; + +// Mixins +@import "../../../wmcads/assets/sass/mixins"; + +// Template specific styles +@import "homepage/homepage"; // Homepage +