Skip to content

Commit

Permalink
feat(templates): login button
Browse files Browse the repository at this point in the history
  • Loading branch information
arturu committed Jul 5, 2023
1 parent 789c768 commit dcb2e84
Show file tree
Hide file tree
Showing 2 changed files with 242 additions and 0 deletions.
130 changes: 130 additions & 0 deletions templates/layout/page--front.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
{#
/**
* @file
* Default theme implementation to display a single page.
*
* The doctype, html, head and body tags are not in this template. Instead they
* can be found in the html.html.twig template in this directory.
*
* Available variables:
*
* General utility variables:
* - base_path: The base URL path of the Drupal installation. Will usually be
* "/" unless you have installed Drupal in a sub-directory.
* - is_front: A flag indicating if the current page is the front page.
* - logged_in: A flag indicating if the user is registered and signed in.
* - is_admin: A flag indicating if the user has permission to access
* administration pages.
*
* Site identity:
* - front_page: The URL of the front page. Use this instead of base_path when
* linking to the front page. This includes the language domain or prefix.
*
* Page content (in order of occurrence in the default page.html.twig):
* - messages: Status and error messages. Should be displayed prominently.
* - node: Fully loaded node, if there is an automatically-loaded node
* associated with the page and the node ID is the second argument in the
* page's path (e.g. node/12345 and node/12345/revisions, but not
* comment/reply/12345).
*
* Regions:
* - page.header: Items for the header region.
* - page.primary_menu: Items for the primary menu region.
* - page.secondary_menu: Items for the secondary menu region.
* - page.highlighted: Items for the highlighted content region.
* - page.help: Dynamic help text, mostly for admin pages.
* - page.content: The main content of the current page.
* - page.sidebar_first: Items for the first sidebar.
* - page.sidebar_second: Items for the second sidebar.
* - page.footer: Items for the footer region.
* - page.breadcrumb: Items for the breadcrumb region.
*
* @see template_preprocess_page()
* @see html.html.twig
*
* @ingroup themeable
*/
#}
<div id="it-page-front">
{% embed '@bootstrap_italia/layout/header/_partial.header.html.twig' %}
{% block headerSlim %}
{% embed '@bootstrap_italia/layout/header/_partial.header-slim.html.twig' %}
{% block headerSlimRightZone %}
<div class="it-header-slim-right-zone" role="navigation">
{% if page.header_slim_language %}
{{ page.header_slim_language }}
{% endif %}

{% if slim_header_action_type != 'full' %}
<div class="it-access-top-wrapper">
{% endif %}

{% if logged_in %}
{% if page.header_slim_action %}
{{ page.header_slim_action }}
{% endif %}
{% elseif slim_header_action_active_login %}
{# Compliance C.SI.5.1 and C.SI.5.2 Municipality #}
{% set login_button_attributes = create_attribute() %}
{% if pa_website_validator_type == 'municipality' %}
{% set login_button_attributes = login_button_attributes.setAttribute('data-element', 'personal-area-login') %}
{% endif %}
{% set login_button_attributes = login_button_attributes.setAttribute('data-focus-mouse', 'false') %}

{% embed '@bi-bcl/button/button.html.twig' with {
label: 'Login to your personal area'|t,
variant: 'default',
tag: 'a',
size: 'xs',
url: slim_header_action_url ?: path('user.login'),
button_classes: [
'btn-icon',
slim_header_action_type == 'full' ? 'btn-full'
],
label_classes: ['d-none', 'd-lg-block'],
button_attributes: login_button_attributes,
} %}
{% block after %}
{% if slim_header_action_type == 'full' and slim_header_action_icon %}
{% include '@bi-bcl/icon/icon.html.twig' with {
name: 'scuola_svg-user',
color: 'white',
icon_classes: ['ms-3']
} %}
{% endif %}
{% endblock %}
{% endembed %}
{% endif %}{# End login button for anonymous user. #}

{% if slim_header_action_type != 'full' %}
</div>{# End it-access-top-wrapper. #}
{% endif %}
</div>{# End it-header-slim-right-zone. #}
{% endblock %}
{% endembed %}
{% endblock %}
{% endembed %}

{% block homePageTitle %}
<h1 class="visually-hidden" id="it-main-content">{{ site_name }}</h1>
{% endblock %}

{% include '@bootstrap_italia/layout/front/_partial.home-first-row.html.twig' %}
{% include '@bootstrap_italia/layout/front/_partial.home-second-row.html.twig' %}

{% if show_main_content_in_front %}
{% include '@bootstrap_italia/layout/content/_partial.content.html.twig' %}
{% endif %}

{% include '@bootstrap_italia/layout/front/_partial.home-third-row.html.twig' %}
{% include '@bootstrap_italia/layout/front/_partial.home-fourth-row.html.twig' %}

{# If you need a fifth row, copy this file in your theme,
then insert the new line between the fourth and the last row.
For example:
include '@your_child_theme/path/to/_partial.home-fifth-row.html.twig'
#}

{% include '@bootstrap_italia/layout/front/_partial.home-last-row.html.twig' %}
{% include '@bootstrap_italia/layout/footer/_partial.footer.html.twig' %}
</div>
112 changes: 112 additions & 0 deletions templates/layout/page.html.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{#
/**
* @file
* Default theme implementation to display a single page.
*
* The doctype, html, head and body tags are not in this template. Instead they
* can be found in the html.html.twig template in this directory.
*
* Available variables:
*
* General utility variables:
* - base_path: The base URL path of the Drupal installation. Will usually be
* "/" unless you have installed Drupal in a sub-directory.
* - is_front: A flag indicating if the current page is the front page.
* - logged_in: A flag indicating if the user is registered and signed in.
* - is_admin: A flag indicating if the user has permission to access
* administration pages.
*
* Site identity:
* - front_page: The URL of the front page. Use this instead of base_path when
* linking to the front page. This includes the language domain or prefix.
*
* Page content (in order of occurrence in the default page.html.twig):
* - messages: Status and error messages. Should be displayed prominently.
* - node: Fully loaded node, if there is an automatically-loaded node
* associated with the page and the node ID is the second argument in the
* page's path (e.g. node/12345 and node/12345/revisions, but not
* comment/reply/12345).
*
* Regions:
* - page.header: Items for the header region.
* - page.primary_menu: Items for the primary menu region.
* - page.secondary_menu: Items for the secondary menu region.
* - page.highlighted: Items for the highlighted content region.
* - page.help: Dynamic help text, mostly for admin pages.
* - page.content: The main content of the current page.
* - page.sidebar_first: Items for the first sidebar.
* - page.sidebar_second: Items for the second sidebar.
* - page.footer: Items for the footer region.
* - page.breadcrumb: Items for the breadcrumb region.
*
* @see template_preprocess_page()
* @see html.html.twig
*
* @ingroup themeable
*/
#}
<div id="page-default">
{% embed '@bootstrap_italia/layout/header/_partial.header.html.twig' %}
{% block headerSlim %}
{% embed '@bootstrap_italia/layout/header/_partial.header-slim.html.twig' %}
{% block headerSlimRightZone %}
<div class="it-header-slim-right-zone" role="navigation">
{% if page.header_slim_language %}
{{ page.header_slim_language }}
{% endif %}

{% if slim_header_action_type != 'full' %}
<div class="it-access-top-wrapper">
{% endif %}

{% if logged_in %}
{% if page.header_slim_action %}
{{ page.header_slim_action }}
{% endif %}
{% elseif slim_header_action_active_login %}
{# Compliance C.SI.5.1 and C.SI.5.2 Municipality #}
{% set login_button_attributes = create_attribute() %}
{% if pa_website_validator_type == 'municipality' %}
{% set login_button_attributes = login_button_attributes.setAttribute('data-element', 'personal-area-login') %}
{% endif %}
{% set login_button_attributes = login_button_attributes.setAttribute('data-focus-mouse', 'false') %}

{% embed '@bi-bcl/button/button.html.twig' with {
label: 'Login to your personal area'|t,
variant: 'default',
tag: 'a',
size: 'xs',
url: slim_header_action_url ?: path('user.login'),
button_classes: [
'btn-icon',
slim_header_action_type == 'full' ? 'btn-full'
],
label_classes: ['d-none', 'd-lg-block'],
button_attributes: login_button_attributes,
} %}
{% block before %}
{% if slim_header_action_type == 'full' and slim_header_action_icon %}
<span class="rounded-icon" aria-hidden="true">
{% include '@bi-bcl/icon/icon.html.twig' with {
name: 'scuola_svg-user',
color: 'primary',
} %}
</span>&nbsp;
{% endif %}
{% endblock %}
{% endembed %}
{% endif %}{# End login button for anonymous user. #}

{% if slim_header_action_type != 'full' %}
</div>{# End it-access-top-wrapper. #}
{% endif %}
</div>{# End it-header-slim-right-zone. #}
{% endblock %}
{% endembed %}
{% endblock %}
{% endembed %}
{% include '@bootstrap_italia/layout/content/_partial.before-content.html.twig' %}
{% include '@bootstrap_italia/layout/content/_partial.content.html.twig' %}
{% include '@bootstrap_italia/layout/content/_partial.after-content.html.twig' %}
{% include '@bootstrap_italia/layout/footer/_partial.footer.html.twig' %}
</div>

0 comments on commit dcb2e84

Please sign in to comment.