-
Notifications
You must be signed in to change notification settings - Fork 134
feat(enext): unify event page #1223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 4 commits
98f0d60
1dd861b
f1541df
57efd2d
6af0274
90638cd
44b73f1
6827661
79f3261
bf54aef
38d388d
1431218
989c2d0
9824a85
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -24,6 +24,12 @@ | |||||||||||||||||||||||||||||||||
| {% endblock nav_link %} | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| {% block header_tabs %} | ||||||||||||||||||||||||||||||||||
| {% comment %} <a href="{}" class="header-tab"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-info-circle"></i> {% translate "Info" %} | ||||||||||||||||||||||||||||||||||
| </a> {% endcomment %} | ||||||||||||||||||||||||||||||||||
| <a href="{% url 'presale:event.index' event=request.event.slug organizer=request.event.organizer.slug %}" class="header-tab"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-ticket"></i> {% translate "Tickets" %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
| {% if schedule or request.event.current_schedule %} | ||||||||||||||||||||||||||||||||||
| <a href="{{ request.event.urls.schedule }}" class="header-tab {% if "/schedule/" in request.path_info %}active{% endif %}"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-calendar"></i> {{ phrases.schedule.schedule }} | ||||||||||||||||||||||||||||||||||
|
|
@@ -44,11 +50,15 @@ | |||||||||||||||||||||||||||||||||
| <i class="fa fa-link"></i> {{ link.label }} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
| {% endfor %} | ||||||||||||||||||||||||||||||||||
| {% if request.event.display_settings.ticket_link %} | ||||||||||||||||||||||||||||||||||
| <a href="{{ request.event.display_settings.ticket_link }}" class="header-tab"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-ticket"></i> {% translate "Tickets" %} | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| {% with cfp=request.event.cfp %} | ||||||||||||||||||||||||||||||||||
| <a class="header-tab {% if not cfp.is_open and not access_code.is_valid %}disabled{% endif %}" | ||||||||||||||||||||||||||||||||||
| href="{{ request.event.urls.submit }}{{ submit_qs }}"> | ||||||||||||||||||||||||||||||||||
| {% if cfp.is_open or access_code.is_valid %} | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-bullhorn"></i> {% translate "Call for Speakers" %} | ||||||||||||||||||||||||||||||||||
| {% endif %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
| <a class="header-tab {% if not cfp.is_open and not access_code.is_valid %}disabled{% endif %}" | |
| href="{{ request.event.urls.submit }}{{ submit_qs }}"> | |
| {% if cfp.is_open or access_code.is_valid %} | |
| <i class="fa fa-bullhorn"></i> {% translate "Call for Speakers" %} | |
| {% endif %} | |
| </a> | |
| {% if cfp.is_open or access_code.is_valid %} | |
| <a class="header-tab {% if "/cfp/" in request.path_info %}active{% endif %}" | |
| href="{{ request.event.urls.submit }}{{ submit_qs }}"> | |
| <i class="fa fa-bullhorn"></i> {% translate "Call for Speakers" %} | |
| </a> | |
| {% else %} | |
| <a class="header-tab disabled" tabindex="-1" aria-disabled="true" href="#"> | |
| <i class="fa fa-bullhorn"></i> {% translate "Call for Speakers (Closed)" %} | |
| </a> | |
| {% endif %} |
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -81,20 +81,15 @@ | |||||||||
| {% endblocktranslate %} | ||||||||||
| </div> | ||||||||||
| {% endif %} | ||||||||||
| <div class="container{% block container_width %}{% endblock container_width %}" id="main-container"> | ||||||||||
| <div class="container{% block container_width %}{% endblock container_width %}" id="main-container" style="margin-top: 3.8rem"> | ||||||||||
|
||||||||||
| <div class="container{% block container_width %}{% endblock container_width %}" id="main-container" style="margin-top: 3.8rem"> | |
| <div class="container{% block container_width %}{% endblock container_width %}" id="main-container"> |
Outdated
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Inline styles should be moved to CSS files for better maintainability. The PR description mentions this as future work, but adding more inline styles increases technical debt. Consider defining this style in _layout.css.
| <img loading="lazy" src="{{ request.event.logo.url }}" id="event-logo" alt="{% translate "The event’s logo" %}" style="border-radius: 10px;"> | |
| <img loading="lazy" src="{{ request.event.logo.url }}" id="event-logo" alt="{% translate "The event’s logo" %}" class="event-logo-img"> |
Outdated
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inline style should be moved to CSS file. The border-radius styling would be more maintainable in the external CSS, potentially as part of the #event-logo selector that already exists.
| <img loading="lazy" src="{{ request.event.logo.url }}" id="event-logo" alt="{% translate "The event’s logo" %}" style="border-radius: 10px;"> | |
| <img loading="lazy" src="{{ request.event.logo.url }}" id="event-logo" alt="{% translate "The event’s logo" %}"> |
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -59,7 +59,7 @@ | |||||||||
| <img id="header-image" src="{{ MEDIA_PREFIX }}{{ event_logo }}" alt="{{ event.name }}" class="event-logo" /> | ||||||||||
| {% endif %} | ||||||||||
| </div> | ||||||||||
| <header {% if event_logo %} class="custom-header" {% endif %}> | ||||||||||
| <header {% if event_logo %} class="custom-header" {% endif %} style="margin-top: -3.8rem;"> | ||||||||||
|
||||||||||
| <header {% if event_logo %} class="custom-header" {% endif %} style="margin-top: -3.8rem;"> | |
| <header {% if event_logo %} class="custom-header header-margin-top" {% endif %}> |
Outdated
Copilot
AI
Nov 13, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inline style should be moved to CSS as mentioned in the PR description. The negative margin should be defined in the CSS file, either as part of the 'custom-header' class or through a modifier class.
| <header {% if event_logo %} class="custom-header" {% endif %} style="margin-top: -3.8rem;"> | |
| <header{% if event_logo %} class="custom-header"{% endif %}> |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -3,37 +3,64 @@ | |||||||||||||||||||||||||||||||||
| {% load eventurl %} | ||||||||||||||||||||||||||||||||||
| {% load event_tags %} | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| <nav id="schedule-nav"{% if with_margin %} class="p-3"{% endif %}> | ||||||||||||||||||||||||||||||||||
| <div class="navigation"> | ||||||||||||||||||||||||||||||||||
| <nav style="margin-top: 10px; margin-bottom: 3rem; overflow: scroll;"> | ||||||||||||||||||||||||||||||||||
| <div class="navigation" style="font-size: 1.65rem; display: flex; gap: 2rem;"> | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
| <a class="header-tab underline"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-ticket"></i> {% translate "Tickets" %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| {% if request.event|get_feature_flag:'show_schedule' %} | ||||||||||||||||||||||||||||||||||
| <div class="navigation-button"> | ||||||||||||||||||||||||||||||||||
| <a href="{{ request.event.talk_schedule_url }}" class="header-nav btn btn-outline-success"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-calendar"></i> {% translate "Schedule" %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||
| <div class="navigation-button"> | ||||||||||||||||||||||||||||||||||
| <a href="{{ request.event.talk_session_url }}" class="header-nav btn btn-outline-success"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-comments-o"></i> {% translate "Sessions" %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||
| <div class="navigation-button"> | ||||||||||||||||||||||||||||||||||
| <a href="{{ request.event.talk_speaker_url }}" class="header-nav btn btn-outline-success"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-group"></i> {% translate "Speakers" %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||
| <a href="{{ request.event.talk_schedule_url }}" class="header-tab "> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-calendar"></i> {% translate "Schedule" %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| <a href="{{ request.event.talk_session_url }}" class="header-tab"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-comments-o"></i> {% translate "Sessions" %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| <a href="{{ request.event.talk_speaker_url }}" class="header-tab"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-group"></i> {% translate "Speakers" %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
| {% endif %} | ||||||||||||||||||||||||||||||||||
| <div class="navigation-button"> | ||||||||||||||||||||||||||||||||||
| <a target="_blank" class="header-nav btn btn-outline-success" data-toggle="popover"> | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-ticket"></i> {% translate "Tickets" %} | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| {% with cfp=request.event.cfp %} | ||||||||||||||||||||||||||||||||||
| <a class="header-tab {% if not cfp.is_open and not access_code.is_valid %}disabled{% endif %}" | ||||||||||||||||||||||||||||||||||
| href="{{ request.event.urls.submit }}{{ submit_qs }}"> | ||||||||||||||||||||||||||||||||||
| {% if cfp.is_open or access_code.is_valid %} | ||||||||||||||||||||||||||||||||||
| <i class="fa fa-bullhorn"></i> {% translate "Call for Speakers" %} | ||||||||||||||||||||||||||||||||||
| {% endif %} | ||||||||||||||||||||||||||||||||||
| </a> | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
| <a class="header-tab {% if not cfp.is_open and not access_code.is_valid %}disabled{% endif %}" | |
| href="{{ request.event.urls.submit }}{{ submit_qs }}"> | |
| {% if cfp.is_open or access_code.is_valid %} | |
| <i class="fa fa-bullhorn"></i> {% translate "Call for Speakers" %} | |
| {% endif %} | |
| </a> | |
| {% if cfp.is_open or access_code.is_valid %} | |
| <a class="header-tab" | |
| href="{{ request.event.urls.submit }}{{ submit_qs }}"> | |
| <i class="fa fa-bullhorn"></i> {% translate "Call for Speakers" %} | |
| </a> | |
| {% else %} | |
| <span class="header-tab disabled" title="{% translate 'Call for Speakers is closed' %}"> | |
| <i class="fa fa-bullhorn"></i> {% translate "Call for Speakers" %} | |
| </span> | |
| {% endif %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please follow this.
Outdated
Copilot
AI
Nov 13, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Invalid HTML attribute 'join-event-link' without a value. This should either be removed, prefixed with 'data-' (e.g., 'data-join-event-link'), or given a value if it's meant to be an ID attribute (e.g., 'id="join-event-link"').
| <a join-event-link class="header-tab join-event {% if request.path_info == '/onlinevideo' %}underline{% endif %}" | |
| <a data-join-event-link class="header-tab join-event {% if request.path_info == '/onlinevideo' %}underline{% endif %}" |
Outdated
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Inline styles embedded in <style> tags within templates should be moved to external CSS files for better maintainability, reusability, and caching. The PR description mentions this as future work, but consider creating a dedicated CSS file for navigation styles now to avoid increasing technical debt.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -7,7 +7,8 @@ | |||||
| {{ show_organizer_area|json_script:"show_organizer_area" }} | ||||||
| {{ 'popover-profile'|json_script:"popover_toggle" }} | ||||||
| {{ base_path|json_script:"base_path" }} | ||||||
| <nav class="login-hdr" aria-label='{% translate "account" %}'> | ||||||
| <nav class="login-hdr" aria-label="{% translate 'account' %}" style="{% if request.event and request.event.settings.event_logo_image %}margin-right: 18rem{% else %}margin-right: 0{% endif %}"> | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. suggestion: Inline style for margin-right may cause layout issues on smaller screens. Use responsive CSS classes or media queries to ensure margin-right adapts to various screen sizes for consistent header layout. Suggested implementation: You must add the following CSS to your main stylesheet (e.g., .login-hdr--with-logo {
margin-right: 18rem;
}
@media (max-width: 768px) {
.login-hdr--with-logo {
margin-right: 0;
}
}This ensures the margin is only applied on larger screens and adapts responsively for smaller screens.
|
||||||
| <nav class="login-hdr" aria-label="{% translate 'account' %}" style="{% if request.event and request.event.settings.event_logo_image %}margin-right: 18rem{% else %}margin-right: 0{% endif %}"> | |
| <nav class="login-hdr{% if request.event and request.event.settings.event_logo_image %} login-hdr--with-logo{% endif %}" aria-label="{% translate 'account' %}"> |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -42,9 +42,6 @@ header { | |||||
| .header-wrapper { | ||||||
| width: 100%; | ||||||
| max-width: calc(100vw - 8px); | ||||||
| display: flex; | ||||||
| justify-content: space-between; | ||||||
| align-items: flex-end; | ||||||
| word-break: keep-all; | ||||||
| flex-wrap: nowrap; | ||||||
| } | ||||||
|
|
@@ -76,6 +73,8 @@ header { | |||||
| display: flex; | ||||||
| flex-wrap: nowrap; | ||||||
| flex-shrink: 0; | ||||||
| align-items: flex-end; | ||||||
| font-size: 1rem; | ||||||
|
|
||||||
| /* Inline locale links */ | ||||||
| .locales-inline { | ||||||
|
|
@@ -137,6 +136,11 @@ header { | |||||
| } | ||||||
| } | ||||||
|
|
||||||
| .public-event-header { | ||||||
| display: flex; | ||||||
| margin-bottom: 14px | ||||||
|
||||||
| margin-bottom: 14px | |
| margin-bottom: 14px; |
Outdated
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The overflow: scroll property will always show scrollbars even when content doesn't overflow. Consider using overflow: auto instead, which only shows scrollbars when necessary.
| overflow: scroll; | |
| overflow: auto; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please follow this.
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The padding-bottom of 6rem inside a max-width: 576px media query seems excessively large and could cause significant whitespace issues on mobile devices. Consider reducing this value or verify if this is the intended behavior.
| padding-bottom: 6rem; | |
| padding-bottom: 2rem; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove commented-out code rather than leaving it in the codebase. If this Info tab feature might be needed in the future, document it in an issue or task tracker instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please follow this.