Skip to content

fix: footer layout and styles for improved responsiveness#2330

Merged
limetech merged 1 commit into
masterfrom
fix/footer-copyright-on-right
Aug 12, 2025
Merged

fix: footer layout and styles for improved responsiveness#2330
limetech merged 1 commit into
masterfrom
fix/footer-copyright-on-right

Conversation

@zackspear

@zackspear zackspear commented Aug 11, 2025

Copy link
Copy Markdown
Contributor
  • Added a footer spacer div to enhance layout structure.
  • Changed footer display to grid for better alignment on larger screens.
  • Adjusted footer spacer visibility for mobile and desktop views.

Summary by CodeRabbit

  • Style
    • Refined footer layout on desktop: switched to a grid with a central spacer for cleaner alignment and predictable spacing.
    • Improved visual balance between left, center, and right footer content; reduces crowding near copyright.
    • Spacer remains hidden on mobile to keep the footer compact; no functional changes.
    • Cleaned up CSS by removing unnecessary flex properties for related elements.

- Added a footer spacer div to enhance layout structure.
- Changed footer display to grid for better alignment on larger screens.
- Adjusted footer spacer visibility for mobile and desktop views.
@zackspear zackspear requested a review from ljm42 August 11, 2025 23:40
@coderabbitai

coderabbitai Bot commented Aug 11, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Footer markup adds a spacer div between user notice and copyright. CSS switches footer layout to a 3-column grid on desktop, introduces .footer-spacer visibility rules, and removes several flex-based styles to align with the grid approach.

Changes

Cohort / File(s) Summary
Footer markup spacer
emhttp/plugins/dynamix/include/DefaultPageLayout/Footer.php
Inserts <div class="footer-spacer">&nbsp;</div> after the user-notice span to occupy center space in the footer. No logic changes.
Footer CSS grid layout
emhttp/plugins/dynamix/styles/default-base.css
Replaces desktop footer flex layout with CSS grid (auto 1fr auto), adds .footer-spacer rules (hidden on mobile, shown on desktop), and removes obsolete flex properties from footer regions and title image.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested labels

7.2

Suggested reviewers

  • ljm42
  • elibosley

Poem

A hop, a skip, a grid I weave,
Between left and right I softly cleave.
A spacer blooms—so neat, so wide—
To balance steps on the footer’s side.
Thump-thump! says bunny, CSS in tune,
Our layout hums beneath the moon. 🥕✨

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/footer-copyright-on-right

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 1

🧹 Nitpick comments (4)
emhttp/plugins/dynamix/include/DefaultPageLayout/Footer.php (2)

59-59: Hide spacer from assistive tech and remove non-breaking space

The spacer is purely presentational. Prevent it from being announced by screen readers and avoid using non-breaking space for layout.

-    <div class="footer-spacer">&nbsp;</div>
+    <div class="footer-spacer" aria-hidden="true"></div>

59-59: Optional: Avoid extra spacer markup by placing items via CSS Grid

You can keep only two elements and place the right block into the third grid column, removing the need for the spacer node. If you prefer to keep the current approach for simplicity, feel free to skip.

  • Markup change (remove spacer):
-    <div class="footer-spacer" aria-hidden="true"></div>
  • CSS additions (outside this file) to explicitly place columns:
@media (min-width: 768px) {
  #footer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .footer-left { grid-column: 1; }
  #copyright { grid-column: 3; justify-self: end; }
}
emhttp/plugins/dynamix/styles/default-base.css (2)

704-706: Make spacer non-interactive

Not critical, but disabling pointer events on the spacer avoids it intercepting clicks in the empty middle column.

 .footer-spacer {
-    display: none; /* Hidden by default on mobile */
+    display: none; /* Hidden by default on mobile */
+    pointer-events: none;
 }

738-740: Explicitly place spacer in the middle column (clarity/robustness)

Auto-placement will put the second child in column 2 today, but making intent explicit reduces coupling to DOM order.

 @media (min-width: 768px) {
   .footer-left {
     justify-content: flex-start;
   }
   .footer-spacer {
-    display: block; /* Show on desktop */
+    display: block; /* Show on desktop */
+    grid-column: 2;
   }

Optionally also add (outside these lines) for explicit placement:

@media (min-width: 768px) {
  .footer-left { grid-column: 1; }
  #copyright { grid-column: 3; }
}
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 18fdb23 and 58e8dc8.

📒 Files selected for processing (2)
  • emhttp/plugins/dynamix/include/DefaultPageLayout/Footer.php (1 hunks)
  • emhttp/plugins/dynamix/styles/default-base.css (3 hunks)
🔇 Additional comments (2)
emhttp/plugins/dynamix/styles/default-base.css (2)

703-703: No functional change

This appears to be a structural/formatting-only delta within .footer-left. Nothing to action.


737-737: No functional change

This looks like a brace/whitespace change from the previous block. Nothing to action.

Comment on lines +676 to 678
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;

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.

🛠️ Refactor suggestion

Use minmax(0, 1fr) to prevent overflow in the center track

Grid tracks with plain 1fr can respect the min-content size of children, causing unexpected overflow/wrapping. Using minmax(0, 1fr) ensures the middle track can shrink as intended.

-        display: grid;
-        grid-template-columns: auto 1fr auto;
+        display: grid;
+        grid-template-columns: auto minmax(0, 1fr) auto;

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In emhttp/plugins/dynamix/styles/default-base.css around lines 676 to 678, the
grid-template-columns uses "auto 1fr auto" which allows the center column to
grow based on min-content and can cause overflow; replace the middle track with
a shrinkable track by changing it to "auto minmax(0, 1fr) auto" so the center
column can correctly shrink and prevent overflow/wrapping.

@ljm42 ljm42 added the 7.2 label Aug 12, 2025
@limetech limetech merged commit ce9b3ab into master Aug 12, 2025
4 checks passed
@limetech limetech deleted the fix/footer-copyright-on-right branch August 12, 2025 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants