Skip to content

style(bottom-bar): refine icons and normalize button sizing#387

Merged
TrueBankai416 merged 1 commit into
copilot/replace-floating-widgets-barfrom
main
Feb 14, 2026
Merged

style(bottom-bar): refine icons and normalize button sizing#387
TrueBankai416 merged 1 commit into
copilot/replace-floating-widgets-barfrom
main

Conversation

@TrueBankai416
Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings February 14, 2026 02:25
@TrueBankai416 TrueBankai416 merged commit 8a33507 into copilot/replace-floating-widgets-bar Feb 14, 2026
8 checks passed
Copy link
Copy Markdown
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 refines the BottomBar component by replacing emoji icons with professional SVG icons and normalizing button dimensions for a more polished appearance. The changes modernize the visual design by introducing proper Discord and Matrix logos, updating the coffee button's color scheme to a brown/coffee theme, and implementing fixed-size buttons that collapse to icon-only squares on mobile devices.

Changes:

  • Replaced emoji icons (💬, Matrix text logo, ☕) with SVG graphics for Discord, Matrix, and coffee buttons
  • Standardized button dimensions with fixed 170px width and 44px height on desktop, 44px squares on mobile
  • Updated coffee button color scheme from blue (#5F7FFF) to brown/beige (#c49a6c) theme
  • Added button content centering and adjusted padding to 0 14px

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
src/components/BottomBar/styles.module.css Normalized button sizing with fixed dimensions, updated coffee button colors, added icon-specific sizing classes, and refined responsive mobile styles
src/components/BottomBar/index.tsx Replaced emoji icons with inline SVG elements for Discord and Matrix, and SVG image element for coffee button

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

Comment on lines +126 to +134
<image
className={styles.coffeeImage}
href="https://assets.nicepagecdn.com/0ae97ec5/5379283/images/buy-me-a-coffee6984-removebg-preview.png"
x="0"
y="0"
width="64"
height="64"
preserveAspectRatio="xMidYMid meet"
/>
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The coffee icon is loading from an external third-party CDN (assets.nicepagecdn.com), which introduces several concerns:

  1. Security Risk: External resources can be modified or compromised without your control, potentially introducing malicious content or tracking scripts.

  2. Reliability: The icon will fail to load if the external CDN is down or slow, affecting user experience.

  3. Performance: Loading from external domains requires additional DNS lookups and connections, slowing down page load.

  4. Privacy: External requests expose user data (IP addresses, referrer headers) to third parties.

The repository already has a local Buy Me A Coffee SVG at static/img/buymeacoffee-button.svg. Consider using a local SVG path icon instead, or extracting just the coffee cup icon portion as an inline SVG to match the Discord and Matrix icon patterns.

Copilot uses AI. Check for mistakes.
Comment on lines +99 to +105
overflow: visible;
}

.coffeeImage {
transform-box: fill-box;
transform-origin: center;
transform: scale(1.65);
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The overflow: visible property on the coffee icon container combined with transform: scale(1.65) on the image causes the icon to extend beyond its 20px×20px container boundaries. This is inconsistent with the Discord and Matrix icons which are properly constrained to their declared dimensions.

This overflow can cause visual alignment issues and may clip adjacent content or overlap with other elements. Consider either:

  1. Adjusting the container size to accommodate the scaled image (e.g., width: 33px; height: 33px to account for 20px × 1.65)
  2. Reducing the scale factor to fit within 20px×20px
  3. Using an inline SVG path like the other icons for consistent sizing
Suggested change
overflow: visible;
}
.coffeeImage {
transform-box: fill-box;
transform-origin: center;
transform: scale(1.65);
}
.coffeeImage {
transform-box: fill-box;
transform-origin: center;

Copilot uses AI. Check for mistakes.
Comment on lines +68 to 70
background-color: #c49a6c;
color: #2f1f12;
}
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The coffee button colors have changed from a blue theme (#5F7FFF) to a brown/beige theme (#c49a6c with dark brown text #2f1f12). While this may be intentional to match coffee/branding, the color contrast ratio should be verified for accessibility compliance.

According to WCAG 2.1 AA standards, the contrast ratio between #c49a6c (background) and #2f1f12 (text) should be at least 4.5:1 for normal text or 3:1 for large text. Please verify this meets accessibility requirements, especially for users with visual impairments.

Copilot uses AI. Check for mistakes.
Comment on lines 46 to 110
<svg
className={`${styles.icon} ${styles.matrixIcon}`}
viewBox="0 0 24 24"
viewBox="0 0 72 72"
aria-hidden="true"
focusable="false"
>
<rect x="1" y="1" width="22" height="22" rx="4" fill="rgba(0, 0, 0, 0.18)" />
<path
d="M7 6H5V18H7V16H6V8H7V6ZM17 6V8H18V16H17V18H19V6H17Z"
fill="currentColor"
/>
<path
d="M8.8 16V8H10.7L12 10.5L13.3 8H15.2V16H13.7V10.8L12.7 12.8H11.3L10.3 10.8V16H8.8Z"
fill="currentColor"
/>
<g>
<circle cx="36" cy="36" r="28" fill="#b1cc33" />
<path
fill="#fff"
fillRule="evenodd"
d="M30.698 20.513c0-1.171.95-2.124 2.124-2.124 7.95 0 14.395 6.432 14.395 14.366 0 1.17-.95 2.12-2.124 2.12a2.122 2.122 0 0 1-2.123-2.12c0-5.593-4.544-10.127-10.148-10.127a2.122 2.122 0 0 1-2.124-2.115z"
clipRule="evenodd"
/>
<path
fill="#fff"
fillRule="evenodd"
d="M51.483 30.639c1.173 0 2.124.949 2.124 2.12 0 7.933-6.445 14.365-14.395 14.365a2.122 2.122 0 0 1-2.124-2.12c0-1.17.95-2.119 2.124-2.119 5.604 0 10.147-4.534 10.147-10.126 0-1.171.95-2.12 2.124-2.12z"
clipRule="evenodd"
/>
<path
fill="#fff"
fillRule="evenodd"
d="M41.335 51.487c0 1.171-.95 2.12-2.124 2.12-7.95 0-14.395-6.432-14.395-14.366 0-1.17.951-2.119 2.124-2.119s2.124.949 2.124 2.12c0 5.592 4.543 10.126 10.147 10.126 1.173 0 2.124.949 2.124 2.12z"
clipRule="evenodd"
/>
<path
fill="#fff"
fillRule="evenodd"
d="M20.517 41.36a2.122 2.122 0 0 1-2.124-2.118c0-7.934 6.445-14.366 14.395-14.366 1.173 0 2.124.949 2.124 2.12 0 1.17-.95 2.119-2.124 2.119-5.604 0-10.147 4.534-10.147 10.127 0 1.17-.951 2.119-2.124 2.119z"
clipRule="evenodd"
/>
</g>
<g>
<circle cx="36" cy="36" r="28" fill="none" stroke="#000" strokeWidth="2" />
<path
fill="none"
stroke="#000"
strokeLinecap="round"
strokeWidth="2"
d="M30.698 20.513c0-1.171.95-2.12 2.124-2.12 7.95 0 14.395 6.432 14.395 14.366 0 1.17-.95 2.12-2.124 2.12a2.122 2.122 0 0 1-2.123-2.12c0-5.593-4.544-10.127-10.148-10.127a2.122 2.122 0 0 1-2.124-2.12z"
/>
<path
fill="none"
stroke="#000"
strokeLinecap="round"
strokeWidth="2"
d="M51.483 30.639c1.173 0 2.124.949 2.124 2.12 0 7.933-6.445 14.365-14.395 14.365a2.122 2.122 0 0 1-2.124-2.12c0-1.17.95-2.119 2.124-2.119 5.604 0 10.147-4.534 10.147-10.126 0-1.171.95-2.12 2.124-2.12z"
/>
<path
fill="none"
stroke="#000"
strokeLinecap="round"
strokeWidth="2"
d="M41.335 51.487c0 1.171-.95 2.12-2.124 2.12-7.95 0-14.395-6.432-14.395-14.366 0-1.17.951-2.119 2.124-2.119s2.124.949 2.124 2.12c0 5.592 4.543 10.126 10.147 10.126 1.173 0 2.124.949 2.124 2.12z"
/>
<path
fill="none"
stroke="#000"
strokeLinecap="round"
strokeWidth="2"
d="M20.517 41.36a2.122 2.122 0 0 1-2.124-2.118c0-7.934 6.445-14.366 14.395-14.366 1.173 0 2.124.949 2.124 2.12 0 1.17-.95 2.119-2.124 2.119-5.604 0-10.147 4.534-10.147 10.127 0 1.17-.951 2.119-2.124 2.119z"
/>
</g>
</svg>
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The Matrix icon has been completely replaced with a different design. The old icon was a simple text-based "M" logo (viewBox 0 0 24 24), while the new icon is a more complex circular design with the Element/Matrix logo (viewBox 0 0 72 72).

This change is significant because:

  1. The new icon is more complex with multiple paths, circles, and strokes
  2. It includes hardcoded colors (#b1cc33 green fill, #fff white paths, #000 black strokes) instead of using currentColor
  3. Unlike the Discord icon which adapts to the button's text color, this icon will always display in green/white/black regardless of the button's color scheme

Consider whether this is intentional, or if the icon should use currentColor for fills and strokes to maintain consistency with the Discord icon's theming approach.

Copilot uses AI. Check for mistakes.
justify-content: center;
gap: 8px;
padding: 10px 20px;
width: 170px;
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The button has been given a fixed width of 170px. This rigid sizing may cause issues with:

  1. Text overflow: Button labels have varying lengths ("Join Discord" = 12 chars, "Join Matrix" = 11 chars, "Buy me a coffee" = 16 chars). A fixed 170px width may not accommodate all text comfortably, especially with the 14px horizontal padding on each side (28px total), leaving only 142px for icon + gap + text.

  2. Internationalization: If this application supports multiple languages, translated button text may not fit within the fixed 170px constraint.

  3. Flexibility: The previous padding-based approach (10px 20px) allowed buttons to naturally size to their content.

Consider using min-width: 170px instead of width: 170px to allow buttons to expand if needed while maintaining a minimum size for visual consistency.

Suggested change
width: 170px;
min-width: 170px;

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants