Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions assets/css/wishlistAlert.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
.WishlistAlert {
border-radius: 8px;
padding: 48px 40px;
width: 100%;
max-width: 100%;
position: fixed;
bottom: 0;
left: 0;
z-index: 99;
background-color: var(--theme-lightest);

@screen sm {
top: 30px;
right: 30px;
left: auto;
height: fit-content;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
box-shadow: 0px 0px 8px 0px #5454544d;
max-width: 518px;
padding: 24px 20px;
width: calc(100vw - 60px);
}

&-iconClose {
position: absolute;
top: 10px;
right: 10px;
width: 35px;
cursor: pointer;
}

&-title {
@apply mb-0 paragraph-2;
}
}
131 changes: 131 additions & 0 deletions assets/css/wishlistModal.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
.WishListButton {
display: inline-flex;
}

.WishListModal {
z-index: 30;

&-body {
display: flex;
flex-direction: column;
gap: 1.5rem;
max-height: 70vh;
overflow-y: auto;
}

&-section {
display: flex;
flex-direction: column;
gap: 0.75rem;
}

&-title {
@apply block mb-6 text-center text-black;
}

&-titleSection {
@apply paragraph-2;
font-weight: 700;
color: var(--black);
}

&-form {
display: flex;
flex-direction: column;
gap: 0.5rem;
}

&-formRow {
display: flex;
gap: rem-convert(8px);
align-items: stretch;

.FieldInput-blockInput {
flex: 1 1 auto;
}
}

&-grid {
display: grid;
gap: 0.5rem;

@screen md {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

&-card {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 1.25rem;
border-radius: 12px;
background: var(--theme-lightest);
text-align: left;
cursor: pointer;
transition: border-color 0.15s ease;

&:hover:not(.WishListModal--selected) {
background: var(--theme-lighter);
}
}
&-cardIcon {
width: rem-convert(18px);
height: rem-convert(18px);
flex: 0 0 auto;
}

&-list {
display: flex;
flex-direction: column;
gap: rem-convert(8px);
margin: 0;
padding: 0;
list-style: none;
}

&-item {
display: flex;
align-items: center;
justify-content: space-between;
gap: rem-convert(12px);
padding: rem-convert(10px) rem-convert(12px);
border: 1px solid var(--grey);
border-radius: rem-convert(12px);
}

&-remove {
display: inline-flex;
align-items: center;
gap: rem-convert(6px);
flex: 0 0 auto;
margin-left: auto;
padding: 0.5rem 0.75rem;

svg {
width: 1rem;
height: 1rem;
}
}
}

@media (min-width: 1024px) {
.WishListModal.MobileDrawer {
top: 50%;
bottom: auto;
left: 50%;
right: auto;
width: min(560px, 92vw);
max-height: 85vh;
overflow-y: auto;
border-radius: rem-convert(20px);
}

.WishListModal.MobileDrawer.is-open {
transform: translate(-50%, -50%);
}

.WishListModal.MobileDrawer::before {
content: none;
}
}
9 changes: 4 additions & 5 deletions assets/icons/heart-fill.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 4 additions & 3 deletions assets/icons/heart.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 39 additions & 41 deletions base.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,33 @@

<!DOCTYPE html>
<html lang="{{ lang_code }}">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>
{% block title %}
{{ SEOnePageTitle() }}
{% endblock %}
</title>
<meta name="description" content="{% block meta_desc %}{{ SEOnePageDesc() }}{% endblock %}">
{% block robots %}{% endblock %}

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

<link rel="canonical" href="{{ SEOnePageCanonical() }}"/>
{% block breadcrumb_json %}
{{ SEOneBreadcrumbJsonLd(breadcrumb)|raw }}
{% endblock %}
<link rel="icon" type=" image/png" href="{{ asset('dist/favicons/favicon-96x96.png') }} " sizes=" 96x96"/>
<link rel="icon" type=" image/svg+xml" href="{{ asset('dist/favicons/favicon.svg') }}"/>
<link rel="shortcut icon" href="{{ asset('dist/favicons/favicon.ico') }}"/>
<link rel="apple-touch-icon" sizes=" 180x180" href="{{ asset(' dist/favicons/apple-touch-icon.png') }} "/>
<link rel="manifest" href="{{ asset('dist/favicons/site.webmanifest') }}"/>
{% block hreflang %}
{{SEOneHreflang()|raw}}
{% endblock %}

<link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>
{% block title %}
{{ SEOnePageTitle() }}
{% endblock %}
</title>
<meta name="description" content="{% block meta_desc %}{{ SEOnePageDesc() }}{% endblock %}"> {% block robots %}{% endblock %}

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

<link rel="canonical" href="{{ SEOnePageCanonical() }}"/>
{% block breadcrumb_json %}
{{ SEOneBreadcrumbJsonLd(breadcrumb)|raw }}
{% endblock %}
<link rel="icon" type=" image/png" href="{{ asset('dist/favicons/favicon-96x96.png') }} " sizes=" 96x96"/>
<link rel="icon" type=" image/svg+xml" href="{{ asset('dist/favicons/favicon.svg') }}"/>
<link rel="shortcut icon" href="{{ asset('dist/favicons/favicon.ico') }}"/>
<link rel="apple-touch-icon" sizes=" 180x180" href="{{ asset(' dist/favicons/apple-touch-icon.png') }} "/>
<link rel="manifest" href="{{ asset('dist/favicons/site.webmanifest') }}"/>
{% block hreflang %}
{{SEOneHreflang()|raw}}
{% endblock %}

<link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">

{% block stylesheets %}
{{ encore_entry_link_tags('app') }}
Expand All @@ -43,19 +42,18 @@
{% endblock %}
</head>

<body class="no-js {% block body_class %}{% endblock %}">
{% block header %}
{{ include('@components/Layout/Header/Header.html.twig') }}
{% endblock %}
<body class="no-js {% block body_class %}{% endblock %}">
{% block header %}
{{ include('@components/Layout/Header/Header.html.twig') }}
{% endblock %}

<main {% block stimulus_controller %}{% endblock %}>
{% block body %}{% endblock %}
</main>
<main {% block stimulus_controller %} {% endblock %}> {% block body %}{% endblock %}
</main>

{% block footer %}
{{ include('@components/Layout/Footer/Footer.html.twig') }}
{% endblock %}
{% block footer %}
{{ include('@components/Layout/Footer/Footer.html.twig') }}
{% endblock %}

{% block modals %}{% endblock %}
</body>
</html>
{% block modals %}{% endblock %}
</body>
</html>
10 changes: 5 additions & 5 deletions components/Layout/PseSelector/PseSelector.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
'data-action': 'live#action:prevent',
'data-live-action-param': 'save',
}},
) }}
) }}
{% set outOfStock = this.isStockManaged() and currentPse.quantity == 0 %}
<div class="flex items-center justify-between">
<div class="flex items-center gap-2">
Expand Down Expand Up @@ -45,10 +45,10 @@
{% set available = true %}
<li>
<button type="button" class="FilterPill FilterPill--drawer {{ currentCombination[attr.id] == value.id ? 'active' : '' }}" data-action="filter-choice#updateLabel drawer#close live#action" data-live-action-param="updateCurrentCombination" data-live-attr-param="{{ attr.id }}" data-live-value-param="{{ value.id }}" data-filter-choice-label-param="{{ value.label }}" {% if not available %} disabled {% endif %}>
{% if value.color is defined %}
<span class="FilterPill-icon" style="color:{{ value.color }}">{{ ux_icon('circle') }}</span>
{% endif %}
{{ value.label }}
{% if value.color is defined %}
<span class="FilterPill-icon" style="color:{{ value.color }}">{{ ux_icon('circle') }}</span>
{% endif %}
{{ value.label }}
</button>
</li>
{% endfor %}
Expand Down
2 changes: 0 additions & 2 deletions index.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

{% block body %}

{# {{ component('HeaderHighlights') }}#}

{{ component('Flexy:CrossSelling', {categoryId: 1, title: 'Last seen products'|trans}) }}

<div class="bg-theme-lighter">
Expand Down
64 changes: 22 additions & 42 deletions src/UiComponents/ProductCard/ProductCard.css
Original file line number Diff line number Diff line change
Expand Up @@ -6,54 +6,18 @@
background: var(--white);
@apply rounded-lg;
z-index: 0;
.ButtonWishList {
transition: 0.2s;
display: none;

@screen sm {
display: block;
}
svg {
max-width: 35px;
}
&:focus-visible {
outline: none;
}

.in-wishlist-icon {
display: none;

&:hover {
svg {
color: var(--theme-medium);
}
}
}

.not-in-wishlist-icon {
display: inline-block;

&:hover {
svg {
color: var(--theme);
}
}
}

&.in-wishlist {
.in-wishlist-icon {
display: inline-block;
}
&:focus,
&:focus-visible {
outline: none;

.not-in-wishlist-icon {
display: none;
}
.ProductCard-img {
outline: 2px solid theme('colors.gray.400');
}
}

&-header {
margin-bottom: 0.5rem;
position: absolute;
margin-bottom: 0.5rem;
display: flex;
justify-content: space-between;
width: 100%;
Expand Down Expand Up @@ -229,4 +193,20 @@
outline: 2px solid theme('colors.gray.400');
}
}

&:has(.WishListModal) {
z-index: initial;
}
}

.WishListButton {
width: 2.5rem;
height: 2.5rem;
padding: 0.5rem;

> svg {
width: 100%;
height: 100%;
object-fit: contain;
}
}
Loading