Skip to content

Conversation

@iamapoorv476
Copy link

@iamapoorv476 iamapoorv476 commented Dec 11, 2025

Changes made:

  • Unified content container width for Tickets page and Talk component
  • Removed content box shadow from the Tickets and Talk Component
  • Replaced hardcoded language selector with dropdown
  • Verified layout responsiveness across mobile and desktop
  • Removed automatic corner rounding from logo
  • Ensured consistent horizontal alignment of language selector and user menu across components

Screenshots:

Before:
Screenshot 2025-12-07 203022

After:
Screenshot 2025-12-08 013758

Before:
Screenshot 2025-12-09 000712

After:
Screenshot 2025-12-11 111104

Before:
Screenshot 2025-12-09 153529

After:
Screenshot 2025-12-11 111350

Linked Issue:

Fixes #1365

Summary by Sourcery

Align Talk component layout and event pages with the Tickets page for consistent header, container, and language selector behavior.

New Features:

  • Introduce a unified dropdown-based language selector across Talk and presale/event pages.

Enhancements:

  • Standardize header alignment and spacing between language selector and user menu across components.
  • Adjust main content container width and spacing to match the Tickets page layout.
  • Remove box shadows and automatic logo corner rounding for a flatter, cleaner visual style.

@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Dec 11, 2025

Reviewer's Guide

Aligns the Talk component and Tickets page headers by unifying container widths, removing card shadows, standardizing logo styling, and replacing inline locale links with dropdowns that are horizontally aligned with the user menu across views.

Flow diagram for unified header layout between Tickets and Talk components

flowchart LR
  Header["Header container (top-bg / page-header-links)"]
  HeaderLeft["header-part.header-left\n(Organizer back link, optional)"]
  HeaderCenter["Event logo (event-logo)\nBorder-radius: 0"]
  HeaderRight["header-part.header-right\nAligned controls"]

  HeaderRightLocales["Locales dropdown (details.locales)\nAlways dropdown, no inline links"]
  HeaderRightUser["User menu dropdown\n(fragment_login_status / user dropdown)"]

  MainContainer["Main container (main-container / container-fluid)\nmax-width: 1200px, unified padding"]
  MainCard["Main card (main-card / main-box)\nNo box-shadow, border:none"]

  Header --> HeaderLeft
  Header --> HeaderCenter
  Header --> HeaderRight

  HeaderRight --> HeaderRightLocales
  HeaderRight --> HeaderRightUser

  Header --> MainContainer
  MainContainer --> MainCard
Loading

File-Level Changes

Change Details Files
Standardized event header layout and logo styling between CFP/Talk and Tickets views.
  • Removed rounded corners from event logos by forcing zero border-radius in CFP and event pages, including responsive variants.
  • Adjusted header right section alignment from bottom-aligned to vertically centered with consistent gaps between elements.
  • Converted the main header container on the presale event base template to use a full-width fluid container for better alignment with the common layout.
app/eventyay/static/cfp/css/_layout.css
app/eventyay/static/pretixpresale/scss/_event.scss
app/eventyay/presale/templates/pretixpresale/event/base.html
Replaced inline language selector links with a consistent dropdown implementation across presale and common layouts.
  • Commented out/removed styling for inline locale links and introduced styles for a details/summary-based locale dropdown, including caret indicator and active-item checkmark.
  • Updated presale event base template to wrap language options in a details.dropdown with a summary showing the current locale and dropdown-content listing other languages.
  • Modified common base template to always use the dropdown locale selector (removing the inline variant), ensuring consistency with the Talk component’s header.
  • Aligned dropdown content and summary styles (colors, spacing, positioning) to match the Tickets page and integrate with existing dropdown components.
app/eventyay/static/cfp/css/_layout.css
app/eventyay/presale/templates/pretixpresale/event/base.html
app/eventyay/common/templates/common/base.html
app/eventyay/static/pretixpresale/scss/main.scss
Unified card/container presentation by removing box shadows and aligning widths with the Tickets page.
  • Removed box-shadow from the main CFP card (#main-card), adjusted its min-height, margins, padding, and typography-related properties to match Tickets styling.
  • Disabled the main box shadow in presale main.scss (commented out box-shadow on .main-box) and removed an additional modal box shadow to flatten the UI.
  • Adjusted the main container max-width to 1200px and enforced it with !important to match Tickets page width.
  • Ensured #main-card uses no border and no box shadow for a flat layout aligned with the Tickets page.
app/eventyay/static/cfp/css/_layout.css
app/eventyay/static/pretixpresale/scss/main.scss
Aligned header left/right sections and language selector/user menu horizontally with flexbox utilities.
  • Introduced .page-header-links as a flex container with space-between alignment, padding, and wrapping support in multiple SCSS files so presale headers behave like the Tickets header.
  • Defined .header-part.header-left and .header-part.header-right helpers to control horizontal positioning (auto margins) and to vertically center contents with consistent gaps.
  • Updated presale base template header markup to use header-left/header-right classes instead of pull-left/pull-right for alignment, and ensured locales
    integrates with this flex layout.
  • Added a targeted rule for .header-row-right details.locales to display inline-flex and align center, keeping the language selector aligned with the user menu.
app/eventyay/presale/templates/pretixpresale/event/base.html
app/eventyay/static/pretixpresale/scss/custom.css
app/eventyay/static/pretixpresale/scss/custom.scss
app/eventyay/static/pretixpresale/scss/_theme.scss
app/eventyay/static/cfp/css/_layout.css

Assessment against linked issues

Issue Objective Addressed Explanation
#1365 Unify content container width and remove the content area shadow on Talk Component and Tickets pages so that all public-facing pages share the same horizontal container width and flatter layout.
#1365 Ensure the event logo retains its original shape by removing any automatic corner rounding on all relevant public-facing pages (Talk Component and Tickets).
#1365 Update the language selector on Talk Component pages to use a dropdown (showing the current language as selected and others in the list) and align the logo on the left with the language selector/user menu on the right consistently with the Tickets page.

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey there - I've reviewed your changes - here's some feedback:

  • The layout adjustments for .page-header-links / .header-part are duplicated across custom.css, custom.scss, and _theme.scss; consider consolidating these rules into a single SCSS source to avoid divergence and simplify future maintenance.
  • Several style changes rely on !important (e.g. logo border-radius, #main-card box-shadow) or commented‑out properties; it may be cleaner to remove or refactor the underlying rules instead of overriding them with !important or leaving dead code.
  • The new <details>-based language dropdown uses role="menu" / role="menuitem" but otherwise relies on native <details> behavior; you may want to either remove the ARIA menu roles and let the native disclosure semantics stand, or add the appropriate ARIA attributes and keyboard handling to fully match the menu pattern.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The layout adjustments for `.page-header-links` / `.header-part` are duplicated across `custom.css`, `custom.scss`, and `_theme.scss`; consider consolidating these rules into a single SCSS source to avoid divergence and simplify future maintenance.
- Several style changes rely on `!important` (e.g. logo `border-radius`, `#main-card` box-shadow) or commented‑out properties; it may be cleaner to remove or refactor the underlying rules instead of overriding them with `!important` or leaving dead code.
- The new `<details>`-based language dropdown uses `role="menu"` / `role="menuitem"` but otherwise relies on native `<details>` behavior; you may want to either remove the ARIA menu roles and let the native disclosure semantics stand, or add the appropriate ARIA attributes and keyboard handling to fully match the menu pattern.

## Individual Comments

### Comment 1
<location> `app/eventyay/static/cfp/css/_layout.css:195-202` </location>
<code_context>
-  min-height: 300px;
-  box-shadow: 0 5px 10px rgb(0 0 0 / 0.2);
-  padding: 0;
+  min-height: 470.4px;
+  margin-bottom: 10px;
+  padding-left:15px;
+  padding-right: 15px;
+  margin-left: 0px;
+  margin-right: 0px;
+  line-height: 20px;
+  text-size-adjust: 100%;
+
+
</code_context>

<issue_to_address>
**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.
</issue_to_address>

### Comment 2
<location> `app/eventyay/static/pretixpresale/scss/main.scss:54-55` </location>
<code_context>
 .locales{
     align-content: center;
 }
+.locales summary {
+  color: white !important;
+}
+
</code_context>

<issue_to_address>
**suggestion (bug_risk):** Forcing `.locales summary` text to white with `!important` may hurt contrast on light header backgrounds and is hard to override.

Because this selector is broad and uses `!important`, it will style all locale dropdown summaries, including on light headers where white text may become unreadable and block theme overrides. Please scope this color to only the dark-header variant(s) or use a more specific selector without `!important` so theme styles can override it where needed.

Suggested implementation:

```
.header-dark .locales summary {
  color: #fff;
}

```

1. Replace `.header-dark` with the actual dark-header or dark-theme class used in your layout (e.g. `.navbar-dark`, `.topbar--dark`, etc.).
2. If there are multiple dark header variants, you may want to duplicate or extend this rule for each relevant parent selector (e.g. `.header-dark .locales summary, .navbar-dark .locales summary { ... }`).
3. If light themes should define their own summary color explicitly, ensure corresponding selectors exist elsewhere in your SCSS to set a suitable contrasting color.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines 195 to 202
min-height: 470.4px;
margin-bottom: 10px;
padding-left:15px;
padding-right: 15px;
margin-left: 0px;
margin-right: 0px;
line-height: 20px;
text-size-adjust: 100%;
Copy link
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.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request aligns the Talk component UI with the Tickets page to achieve visual consistency across different sections of the application. The changes focus on standardizing the layout, removing visual elements like box shadows and logo corner rounding, and replacing inline language selectors with a unified dropdown approach.

Key Changes:

  • Unified content container width across components (max-width: 1200px) and removed box shadows for a flatter design
  • Replaced inline language links with a consistent dropdown implementation across all components
  • Removed automatic corner rounding from logo images (border-radius: 0) across event pages and Talk component

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 23 comments.

Show a summary per file
File Description
app/eventyay/static/pretixpresale/scss/main.scss Commented out box-shadow on .main-box and added white color styling for locale dropdown summary
app/eventyay/static/pretixpresale/scss/custom.scss Added flexbox layout properties for page header alignment and spacing
app/eventyay/static/pretixpresale/scss/custom.css Converted nested SCSS styles to flat CSS with flexbox layout for headers
app/eventyay/static/pretixpresale/scss/_theme.scss Added duplicate flexbox layout rules for page header alignment
app/eventyay/static/pretixpresale/scss/_event.scss Changed logo border-radius from 10px to 0 for both desktop and mobile views
app/eventyay/static/cfp/css/_layout.css Extensive changes including language dropdown styling, container width adjustment (1200px), min-height specification, and removal of box shadows
app/eventyay/presale/templates/pretixpresale/event/base.html Replaced inline language links with dropdown implementation in two conditional sections, changed container to container-fluid
app/eventyay/common/templates/common/base.html Removed conditional logic for inline vs dropdown language selector, now always uses dropdown for multiple languages

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +115 to +122
.page-header-links {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
padding-left: 1rem;
padding-right: 1rem;
}
Copy link

Copilot AI Dec 11, 2025

Choose a reason for hiding this comment

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

Duplicate style definition detected. The .page-header-links selector is defined twice in this file (lines 108-114 and 115-122), with the second definition overriding the first. The first definition (lines 108-114) only contains nested styles for link colors, while the second adds layout properties. These should be merged into a single block to avoid confusion and maintain cleaner code.

Copilot uses AI. Check for mistakes.
iamapoorv476 and others added 18 commits December 12, 2025 09:20
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

Fix UI issues on Talk Component pages

1 participant