Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
735ba4f
Align Talk component UI with Tickets page: layout, dropdown, logo adj…
iamapoorv476 Dec 11, 2025
c9f27ad
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
a51c37a
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
c3bdcb5
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
62b9589
Update app/eventyay/common/templates/common/base.html
iamapoorv476 Dec 12, 2025
a4bbb9c
Update app/eventyay/presale/templates/pretixpresale/event/base.html
iamapoorv476 Dec 12, 2025
e6f7b49
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
6d24dd8
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
ceba3c8
Update app/eventyay/static/pretixpresale/scss/main.scss
iamapoorv476 Dec 12, 2025
d9e8bc9
Update app/eventyay/presale/templates/pretixpresale/event/base.html
iamapoorv476 Dec 12, 2025
3450888
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
3a1ed99
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
0d4740d
Update app/eventyay/presale/templates/pretixpresale/event/base.html
iamapoorv476 Dec 12, 2025
457a1a8
Update app/eventyay/common/templates/common/base.html
iamapoorv476 Dec 12, 2025
737cfdb
Update app/eventyay/common/templates/common/base.html
iamapoorv476 Dec 12, 2025
2d32ce5
Update app/eventyay/static/pretixpresale/scss/_event.scss
iamapoorv476 Dec 12, 2025
b6a5e46
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
b830c47
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
05b974a
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
75f2d31
Merge branch 'enext' into enext
mariobehling Dec 12, 2025
853a2ef
Update app/eventyay/static/pretixpresale/scss/_theme.scss
iamapoorv476 Dec 12, 2025
2a7df9d
Remove duplicate header-right styles from custom.css
iamapoorv476 Dec 12, 2025
6e83287
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
8218e71
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
b78fb0c
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
b608a8f
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
86c8b19
Update app/eventyay/presale/templates/pretixpresale/event/base.html
iamapoorv476 Dec 12, 2025
8c22530
Update app/eventyay/static/cfp/css/_layout.css
iamapoorv476 Dec 12, 2025
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
47 changes: 19 additions & 28 deletions app/eventyay/common/templates/common/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
<body data-datetimeformat="{{ js_datetime_format }}" data-dateformat="{{ js_date_format }}" data-datetimelocale="{{ js_locale }}">
<div id="top-bg" class="header {{ request.event.display_settings.header_pattern|default:"bg-primary" }}">
{% if request.event and request.event.header_image %}
{# we’re not lazy-loading the header image, even though it can be large, because it’s a bit jarring to see it flash in 100ms after the page load #}
{# we're not lazy-loading the header image, even though it can be large, because it's a bit jarring to see it flash in 100ms after the page load #}
<img src="{{ request.event.header_image.url }}" id="header-image" alt="{{ request.event.name }}">
{% endif %}
</div>
Expand All @@ -87,39 +87,30 @@ <h1 class="public-event-header">
<div class="event-logo">
<a href="{% block nav_link %}{% endblock nav_link %}">
{% if request.event and request.event.logo %}
<img loading="lazy" src="{{ request.event.logo.url }}" id="event-logo" alt="{% translate "The event’s logo" %}">
<img loading="lazy" src="{{ request.event.logo.url }}" id="event-logo" alt="{% translate "The event's logo" %}">
{% endif %}
</a>
</div>
<div class="header-row-right">
{% if request.event and request.event.locales|length > 1 and not is_html_export %}
{% if request.event.locales|length > 3 %}
<details id="locale-dropdown-label" class="dropdown locales" aria-haspopup="menu" role="menu">
<summary>
{% for l, name in request.event.named_locales %}
{% if l|lower == request.LANGUAGE_CODE|lower %}{{ name }}{% endif %}
{% endfor %}
<i class="fa fa-caret-down ml-1"></i>
</summary>
<div id="locale-dropdown" class="dropdown-content dropdown-content-s{% if rtl %}e{% else %}w{% endif %}">
{% for l, name in request.event.named_locales %}
{# MODIFIED: Always use dropdown for multiple languages #}
<details id="locale-dropdown-label" class="dropdown locales" aria-haspopup="menu" role="menu">
<summary>
{% for l, name in request.event.named_locales %}
{% if l|lower == request.LANGUAGE_CODE|lower %}{{ name }}{% endif %}
{% endfor %}

Copilot AI Dec 11, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The summary element is missing a visual indicator caret (dropdown arrow). While the CSS adds an ::after pseudo-element with '▼', this is not included in the HTML. Consider adding an explicit Font Awesome icon like the other implementation in common/base.html (line 53 uses <i class="fa fa-caret-down ml-1"></i>), or ensure the CSS ::after pseudo-element is consistently applied.

Suggested change
<i class="fa fa-caret-down ml-1"></i>

Copilot uses AI. Check for mistakes.
</summary>
<div id="locale-dropdown" class="dropdown-content dropdown-content-s{% if rtl %}e{% else %}w{% endif %}">
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
{% for l, name in request.event.named_locales %}
{% if l|lower != request.LANGUAGE_CODE|lower %}
{% cfp_locale_switch_url l as locale_switch_url %}
<a href="{{ locale_switch_url }}"
class="dropdown-item {% if l|lower == request.LANGUAGE_CODE|lower %}active{% endif %}" role="menuitem" tabindex="-1">{{ name }}</a>
{% endfor %}
</div>
</details>
{% else %}
<div class="locales-inline">
{% for l, name in request.event.named_locales %}
{% cfp_locale_switch_url l as locale_switch_url %}
<a href="{{ locale_switch_url }}"
class="locale-link {% if l|lower == request.LANGUAGE_CODE|lower %}active{% endif %}">
{{ name }}
</a>
class="dropdown-item" role="menuitem" tabindex="-1">{{ name }}</a>
{% endif %}
{% endfor %}
</div>
{% endif %}
</details>
{% endif %}
{% block header_right %}{% endblock header_right %}
{% if request.event and request.user.is_authenticated and not is_html_export %}
Expand All @@ -128,7 +119,7 @@ <h1 class="public-event-header">
<summary>
{{ request.user.get_display_name }} <i class="fa fa-caret-down ml-1"></i>
</summary>
<div id="user-dropdown" class="dropdown-content dropdown-content-s{% if rtl %}e{% else %}w{% endif %}">
<div id="user-dropdown" class="dropdown-content dropdown-content-s{% if rtl %}e{% else %}w{% endif %}">
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
<a href="{% url "eventyay_common:orders"%}" class="dropdown-item" role="menuitem" tabindex="-1">
<i class="fa fa-shopping-cart mr-2 mb-1"></i>
{% translate "My orders" %}
Expand All @@ -146,7 +137,7 @@ <h1 class="public-event-header">
{% translate "Event emails" %}
</a>
<hr>
<a href="{% url "eventyay_common:account.general"%}" class="dropdown-item" role="menuitem" tabindex="-1">
<a href="{% url "eventyay_common:account.general"%}" class="dropdown-item" role="menuitem" tabindex="-1">
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
<i class="fa fa-user mr-2 mb-1"></i>
{% translate "Account" %}
</a>
Expand Down Expand Up @@ -217,4 +208,4 @@ <h1 class="public-event-header">
</div>
{% include "common/includes/modals.html" %}
</body>
</html>
</html>
62 changes: 50 additions & 12 deletions app/eventyay/presale/templates/pretixpresale/event/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,41 @@
<img src="{{ event.settings.event_logo_image.url }}" alt="{% translate 'Event logo' %}" class="img-fluid event-logo-image">
</div>
{% endif %}
<div class="container page-header-links {% if event.settings.theme_color_background|upper != "#FFFFFF" or event.settings.logo_image_large %}page-header-links-outside{% endif %}">
<div class="container-fluid page-header-links {% if event.settings.theme_color_background|upper != "#FFFFFF" or event.settings.logo_image_large %}page-header-links-outside{% endif %}">

Copilot AI Dec 11, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing from container to container-fluid alters the responsive behavior significantly. The container class uses fixed-width breakpoints while container-fluid spans the full viewport width. Ensure this change is intentional and that the layout still maintains appropriate content width constraints at larger viewport sizes, especially considering the horizontal padding added via the CSS classes.

Suggested change
<div class="container-fluid page-header-links {% if event.settings.theme_color_background|upper != "#FFFFFF" or event.settings.logo_image_large %}page-header-links-outside{% endif %}">
<div class="container page-header-links {% if event.settings.theme_color_background|upper != "#FFFFFF" or event.settings.logo_image_large %}page-header-links-outside{% endif %}">

Copilot uses AI. Check for mistakes.
{% if event.settings.theme_color_background|upper != "#FFFFFF" or event.settings.logo_image_large %}
<div class="pull-right header-part flip hidden-print header-content">
<div class="header-part header-right hidden-print header-content">
<nav class="locales" aria-label="{% trans "select language" %}">
{% if event.settings.locales|length > 1 %}
{% for l in languages %}
<a href="{% url "presale:locale.set" %}?locale={{ l.code }}&next={{ request.path }}{% if request.META.QUERY_STRING %}%3F{{ request.META.QUERY_STRING|urlencode }}{% endif %}" class="{% if l.code == request.LANGUAGE_CODE %}active{% endif %}" rel="nofollow" lang="{{ l.code }}" hreflang="{{ l.code }}">
{{ l.name_local }}</a>
{% endfor %}
<details id="locale-dropdown-label" class="dropdown locales" aria-haspopup="menu" role="menu">
<summary>
{% for l in languages %}
{% if l.code == request.LANGUAGE_CODE %}{{ l.name_local }}{% endif %}
{% endfor %}
<i class="fa fa-caret-down ml-1"></i>
</summary>
Comment on lines +48 to +54

Copilot AI Dec 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The details/summary dropdown implementation lacks proper keyboard accessibility. The summary element should have a tabindex="0" to ensure keyboard users can focus and activate it. Additionally, consider adding aria-expanded attribute that toggles based on the open state of the details element for better screen reader support.

Copilot uses AI. Check for mistakes.
<div id="locale-dropdown" class="dropdown-content dropdown-content-sw">
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
{% for l in languages %}
{% if l.code != request.LANGUAGE_CODE %}
<a href="{% url "presale:locale.set" %}?locale={{ l.code }}&next={{ request.path }}{% if request.META.QUERY_STRING %}%3F{{ request.META.QUERY_STRING|urlencode }}{% endif %}"
class="dropdown-item"
rel="nofollow"
lang="{{ l.code }}"
hreflang="{{ l.code }}"
role="menuitem"
tabindex="-1">
{{ l.name_local }}
</a>
{% endif %}
{% endfor %}
</div>
</details>
{% endif %}
</nav>
{% include "pretixpresale/fragment_login_status.html" %}
</div>
{% endif %}
{% if request.event.settings.organizer_link_back %}
<div class="pull-left header-part flip hidden-print">
<div class="header-part header-left hidden-print">
<a href="{% eventurl request.organizer "presale:organizer.index" %}">
&laquo; {% blocktrans trimmed with name=request.organizer.name %}
Show all events of {{ name }}
Expand All @@ -70,12 +89,31 @@
<div class=" {% if event_logo and event.settings.logo_image_large %}logo-large{% endif %}">
{% if event.settings.locales|length > 1 %}
{% if event.settings.theme_color_background|upper == "#FFFFFF" and not event.settings.logo_image_large %}
<div class="{% if not event_logo or not event.settings.logo_image_large %}pull-right flip{% endif %} loginbox hidden-print">
<div class="{% if not event_logo or not event.settings.logo_image_large %}header-right{% endif %} loginbox hidden-print">
<nav class="locales" aria-label="{% trans "select language" %}">
{% for l in languages %}
<a href="{% url "presale:locale.set" %}?locale={{ l.code }}&next={{ request.path }}{% if request.META.QUERY_STRING %}%3F{{ request.META.QUERY_STRING|urlencode }}{% endif %}" class="{% if l.code == request.LANGUAGE_CODE %}active{% endif %}" rel="nofollow">
{{ l.name_local }}</a>
{% endfor %}
<details id="locale-dropdown-label" class="dropdown locales" aria-haspopup="menu" role="menu">
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
<summary>
{% for l in languages %}
{% if l.code == request.LANGUAGE_CODE %}{{ l.name_local }}{% endif %}
{% endfor %}
<i class="fa fa-caret-down ml-1"></i>
</summary>
Comment on lines +94 to +100

Copilot AI Dec 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The details/summary dropdown implementation lacks proper keyboard accessibility. The summary element should have a tabindex="0" to ensure keyboard users can focus and activate it. Additionally, consider adding aria-expanded attribute that toggles based on the open state of the details element for better screen reader support.

Copilot uses AI. Check for mistakes.
<div id="locale-dropdown" class="dropdown-content dropdown-content-sw">

Copilot AI Dec 11, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate ID 'locale-dropdown' exists in the same template (lines 55 and 101). HTML IDs must be unique within a document. Since both dropdown implementations can appear on the same page (one for when theme_color_background != "#FFFFFF" and another for when theme_color_background == "#FFFFFF"), this creates invalid HTML. Consider using classes instead of IDs for the dropdown content, or ensure these elements are mutually exclusive.

Suggested change
<div id="locale-dropdown" class="dropdown-content dropdown-content-sw">
<div class="locale-dropdown dropdown-content dropdown-content-sw">

Copilot uses AI. Check for mistakes.
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
{% for l in languages %}
{% if l.code != request.LANGUAGE_CODE %}
<a href="{% url "presale:locale.set" %}?locale={{ l.code }}&next={{ request.path }}{% if request.META.QUERY_STRING %}%3F{{ request.META.QUERY_STRING|urlencode }}{% endif %}"
class="dropdown-item"
rel="nofollow"
lang="{{ l.code }}"
hreflang="{{ l.code }}"
role="menuitem"
tabindex="-1">
{{ l.name_local }}
</a>
{% endif %}
{% endfor %}
</div>
</details>
</nav>
</div>
{% endif %}
Expand Down
89 changes: 75 additions & 14 deletions app/eventyay/static/cfp/css/_layout.css
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ header {

#event-logo {
max-height: 140px;
border-radius: 10px;
border-radius: 0 !important;
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
}

.header-wrapper {
Expand Down Expand Up @@ -74,10 +74,14 @@ header {
display: flex;
flex-wrap: nowrap;
flex-shrink: 0;
align-items: flex-end;
align-items: center;
gap: 1rem;
font-size: 1rem;

/* Inline locale links */

/* FIXED: Change inline locale links to dropdown */
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
/* Remove or comment out these styles: */
/*
.locales-inline {
display: inline-block;
margin-right: 0.8rem;
Expand All @@ -101,31 +105,72 @@ header {
font-weight: bold;
opacity: 1;
}
*/


Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
.locales {
margin-right: 20px;
position: relative;

summary {
cursor: pointer;
color: white;
list-style: none;
padding: 6px 12px;

border-radius: 4px;
display: flex;
align-items: center;
gap: 8px;
transition: background 0.2s;



Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
&::after {
content: '▼';
font-size: 0.7em;
margin-left: 4px;
}
}

summary::-webkit-details-marker {
display: none;
}

.dropdown-content {
position: absolute;
top: 100%;
right: 0;
background: white;
border: 1px solid var(--color-grey-lighter);
border-radius: 4px;
right: 0;
left: auto;
min-width: 100px;
min-width: 150px;
margin-top: 4px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
z-index: 1000;

.dropdown-item {
display: block;
padding: 8px 16px;
color: var(--color-grey-dark, #333);
text-decoration: none;
transition: background 0.2s;

&:hover {
background-color: var(--color-primary-lighter);
color: var(--color-grey-dark);
background-color: var(--color-primary-lighter, #e3f2fd);
color: var(--color-grey-dark, #333);
text-decoration: none;
}

&.active {
background-color: var(--color-primary);
color: white;
font-weight: bold;

&::before {
content: '✓ ';
margin-right: 6px;
}

&:hover {
background-color: var(--color-primary-dark, var(--color-primary));
Expand All @@ -147,15 +192,30 @@ header {
}

#main-card {
min-height: 300px;
box-shadow: 0 5px 10px rgb(0 0 0 / 0.2);
padding: 0;
min-height: 470.4px;
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
margin-bottom: 10px;
padding-left:15px;
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
padding-right: 15px;
margin-left: 0px;
margin-right: 0px;
line-height: 20px;
Comment thread
iamapoorv476 marked this conversation as resolved.
text-size-adjust: 100%;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Fixed min-height: 470.4px on #main-card is a brittle, device‑specific value that may cause layout issues on smaller screens.

This value is likely tuned to a specific viewport and can introduce scrollbars or large empty space on other screen sizes. Consider a more responsive approach (e.g., percentage-based height, content-driven min-height, or a rounded rem/px value) so it scales cleanly across breakpoints.

Suggested implementation:

  min-height: 30rem;

If #main-card still appears too tall on smaller screens, consider adding a responsive constraint such as min-height: min(30rem, 60vh); (if your browser support matrix allows) or overriding min-height within existing mobile breakpoints/media queries to reduce it on narrow viewports.




Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
border: none;
box-shadow: none !important;
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated

main {
padding: var(--size-spacer);
}
}
.header-row-right details.locales {
margin: 0;
padding: 0;
display: flex;
align-items: center;
}

#event-nonpublic {
background: var(--color-danger);
Expand All @@ -182,13 +242,14 @@ footer {
}
}


#main-container {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
max-width: 1140px;
max-width: 1200px !important;
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
margin-top: 3.8rem !important;
}

Expand Down Expand Up @@ -263,7 +324,7 @@ footer {
padding: 0;
#event-logo {
max-height: 120px;
border-radius: 10px;
border-radius: 0 !important;
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
}
}

Expand Down Expand Up @@ -335,4 +396,4 @@ footer {
}
}
}
}
}
4 changes: 2 additions & 2 deletions app/eventyay/static/pretixpresale/scss/_event.scss
Original file line number Diff line number Diff line change
Expand Up @@ -167,15 +167,15 @@ section.front-page {
max-height: 140px;
max-width: 240px;
width: auto;
border-radius: 10px;
border-radius: 0 !important;

Copilot AI Dec 12, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using !important on the border-radius property is overly aggressive and may cause issues with specificity in the future. Consider refactoring the CSS to use proper specificity without relying on !important, or document why this override is necessary if it's truly unavoidable.

Copilot uses AI. Check for mistakes.
}

@media (max-width: 768px) {
.event-logo-image {
max-height: 120px;
max-width: 120px;
width: auto;
border-radius: 10px;
border-radius: 0 !important;
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
margin-bottom: 10px;
}
}
Expand Down
11 changes: 11 additions & 0 deletions app/eventyay/static/pretixpresale/scss/_theme.scss
Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,14 @@ h2.content-header {
.header-content {
display: flex;
}
.page-header-links {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
}
.header-part.header-right {
display: flex;
gap: 1rem;
align-items: center;
}
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
Comment thread
iamapoorv476 marked this conversation as resolved.
Outdated
Loading