Skip to content

changes to the demo cards and feature card#145

Open
gamersprogrammer wants to merge 2 commits intoAOSSIE-Org:mainfrom
gamersprogrammer:feature/glassy-card
Open

changes to the demo cards and feature card#145
gamersprogrammer wants to merge 2 commits intoAOSSIE-Org:mainfrom
gamersprogrammer:feature/glassy-card

Conversation

@gamersprogrammer
Copy link
Copy Markdown

@gamersprogrammer gamersprogrammer commented Apr 1, 2026

Addressed Issues:

Fixes #

Screenshots/Recordings:

Screenshot_1-4-2026_141922_

Before:
After:

Additional Notes:

This PR introduces a UI refresh to give the component's presentation a more modern, premium SaaS aesthetic while retaining its friendly, approachable brand identity.

Key Design Updates:

  • Transitioned the feature cards and top pill badges to a unified "frosted glass" design system.
  • Applied semi-transparent backgrounds with crisp, thin borders to create depth, allowing the foreground elements to visually float above the rich blue background.
  • Eliminated the previous "monolithic" feel, greatly improving visual hierarchy and making the colorful platform icons pop.

Checklist

  • [yes] My code follows the project's code style and conventions
  • I have made corresponding changes to the documentation (Check if applicable)
  • [yes] My changes generate no new warnings or errors
  • [ Yes] I have joined the Discord server and I will share a link to this PR with the project maintainers there (Don't forget to do this!)
  • [yes] I have read the Contributing Guidelines

⚠️ AI Notice - Important!

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact. AI slop is strongly discouraged and may lead to banning and blocking. Do not spam our repos with AI slop.

Summary by CodeRabbit

  • Style
    • Updated component backgrounds to more consistent semi-transparent tones.
    • Added subtle borders and soft shadowing to badges, demo items, and feature cards.
    • Refined text color contrasts for improved readability and visual consistency.

Copilot AI review requested due to automatic review settings April 1, 2026 13:41
@github-actions github-actions Bot added no-issue-linked PR is not linked to any issue frontend Changes to frontend code labels Apr 1, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 1, 2026

Walkthrough

Updated inline CSS in index.html: replaced some rgba() backgrounds with hex alpha, added border: 1px solid rules, introduced box-shadow on .demo-item and .feature-card, and adjusted text color values for badge, demo-item, and feature-card elements.

Changes

Cohort / File(s) Summary
CSS Styling Updates
index.html
Replaced several rgba() background values with hex-alpha (#A9A9A980) and adjusted one rgba(0,0,0,0.2) to rgba(169,169,169,0.5); added border: 1px solid to .badge, .demo-item, .feature-card; added box-shadow to .demo-item and .feature-card; normalized text colors to #fafafa / #ffffff.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • kpj2006

Poem

I nibble pixels, tweak the light,
Swap rgba for hex at night,
Borders neat and shadows play,
A fresher badge to show the way —
Hooray! ✨🐇

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'changes to the demo cards and feature card' accurately describes the main changes in the PR, which involve CSS updates to demo item cards and feature card styling.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added size/S Small PR (11-50 lines changed) first-time-contributor First PR of an external contributor needs-review labels Apr 1, 2026
Copy link
Copy Markdown

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 PR refreshes the demo page UI styling to give the badge, demo cards, and feature cards a more “frosted glass” look consistent with a premium SaaS aesthetic.

Changes:

  • Updated .badge, .demo-item, and .feature-card backgrounds to semi-transparent “glass” colors, and added thin borders.
  • Added subtle drop shadows to .demo-item and .feature-card for depth.
  • Adjusted heading/body text colors within demo and feature cards.

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

Comment thread index.html
Comment thread index.html Outdated
Comment thread index.html
Comment on lines +141 to +146
background: #A9A9A980;
padding: 20px;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
text-align: center;
border: 1px solid #F8FAFC80;
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

Same compatibility concern here: 8-digit hex colors with alpha (#RRGGBBAA) for the feature card background/border may not be supported in older browsers. Consider expressing these as rgba(...) or adding an rgba fallback for consistency with the rest of the codebase.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@copilot apply changes based on this feedback

Comment thread index.html Outdated
Comment on lines 113 to 117
background: #A9A9A980;
padding: 20px;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
text-align: center;
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

The new “frosted glass” styling is duplicated across .demo-item and .feature-card (background/border/box-shadow, and now also matches .badge partially). To reduce future drift, consider extracting shared values into CSS custom properties (e.g., --frosted-bg/--frosted-border) or a shared utility class applied to these elements.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@copilot apply changes based on this feedback

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
index.html (2)

506-582: ⚠️ Potential issue | 🔴 Critical

Critical HTML structure issue: Sections outside container.

The Qwik/QwikCity (lines 506-531), Next.js (lines 535-551), Vue/Vite (lines 553-569), and Angular (lines 571-582) integration sections are placed OUTSIDE the main .container div (which closes at line 503). This causes:

  1. Layout inconsistency: These sections won't have the max-width: 1200px constraint and won't be centered
  2. Visual breaking: Content will extend full-width instead of matching other sections
  3. HTML structure violation: Improper document flow per Google HTML style guide

Additionally, there's an extra closing </div> at line 601 that doesn't match an opening tag, suggesting the structure is broken.

🔧 Proposed fix to correct structure

Move these sections inside the container before it closes, and remove the duplicate CTA and extra closing tag:

       </div>
     </div>
+
+    <!--Qwik/QwikCity Integration-->
+    <div class="demo-section">
+      <h2>⚡ Qwik / QwikCity Integration</h2>
+      <!-- ... rest of Qwik section ... -->
+    </div>
+
+    <div class="demo-section">
+      <h2>▲ Next.js Integration</h2>
+      <!-- ... rest of Next.js section ... -->
+    </div>
+
+    <div class="demo-section">
+      <h2>🟢 Vue / Vite Integration</h2>
+      <!-- ... rest of Vue section ... -->
+    </div>
+
+    <div class="demo-section">
+      <h2>🅰️ Angular Integration</h2>
+      <!-- ... rest of Angular section ... -->
+    </div>
+
+    <!-- CTA Section -->
+    <div class="cta-section">
+      <h2 style="color: `#fff`; margin-bottom: 20px;">Ready to Get Started?</h2>
+      <a href="https://github.com/AOSSIE-Org/SocialShareButton" class="cta-button" target="_blank" rel="noopener">
+        View on GitHub →
+      </a>
+      <a href="https://discord.gg/prMM922G" class="cta-button discord-btn" target="_blank" rel="noopener noreferrer">
+        Join Discord
+      </a>
+    </div>
   </div>
-
-
-  <!--Qwik/QwikCity Integration-->
-  <div class="demo-section">
-  <!-- ... -->
-</div>
-
-
-
-    <div class="demo-section">
-  <!-- ... Next.js, Vue, Angular sections ... -->
-</div>
-
-
-
-    <!-- CTA Section -->
-    <div class="cta-section">
-      <!-- ... -->
-  </div>
-
-</div>

As per coding guidelines, proper HTML structure and semantics are essential for maintainability and performance.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@index.html` around lines 506 - 582, The integration demo sections
(Qwik/QwikCity, Next.js, Vue/Vite, Angular) and their <div class="demo-section">
blocks were placed outside the main .container (which closes earlier), causing
layout and unmatched-tag issues; move all those demo-section blocks so they are
nested inside the main .container element before its closing tag, remove the
extra/unmatched closing </div> that follows (and any duplicate CTA block
referenced in the comment), and ensure every opened <div class="demo-section">
has a matching closing </div> so the document structure and centering/max-width
behavior are preserved.

483-502: ⚠️ Potential issue | 🟡 Minor

Duplicate CTA section detected.

This "Ready to Get Started?" CTA section is duplicated at lines 587-599. Duplicate content:

  • Hurts SEO (duplicate content penalty)
  • Confuses users
  • Violates the DRY principle
🔧 Proposed fix to remove duplicate

Remove one of the duplicate CTA sections. Since the second occurrence (lines 587-599) appears to be part of a structural issue with content placement, remove the first one and keep the second, but ensure it's properly placed inside the container.

-      <!-- CTA Section -->
-      <div class="cta-section">
-        <h2 style="color: `#fff`; margin-bottom: 20px">Ready to Get Started?</h2>
-        <a
-          href="https://github.com/AOSSIE-Org/SocialShareButton"
-          class="cta-button"
-          target="_blank"
-          rel="noopener"
-        >
-          View on GitHub →
-        </a>
-
-        <a
-          href="https://discord.gg/prMM922G"
-          class="cta-button discord-btn"
-          target="_blank"
-          rel="noopener noreferrer"
-        >
-          Join Discord
-        </a>
-      </div>
     </div>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@index.html` around lines 483 - 502, The file contains a duplicated CTA block
(the <div class="cta-section"> with the h2 "Ready to Get Started?" and the two
<a> buttons linking to the GitHub and Discord URLs); remove one of the
duplicates (prefer keeping the second occurrence) and ensure the remaining <div
class="cta-section"> is correctly placed inside the page container so markup and
styling remain consistent; verify the retained block includes the same anchors
(href="https://github.com/AOSSIE-Org/SocialShareButton" and
href="https://discord.gg/prMM922G") and attributes (class="cta-button" and
class="cta-button discord-btn", target and rel) so behavior and links are
unchanged.
♻️ Duplicate comments (1)
index.html (1)

141-162: 🧹 Nitpick | 🔵 Trivial

Same styling concerns apply to .feature-card.

The .feature-card styling exhibits the same issues as .demo-item:

  • Inconsistent color notation mixing hex alpha and rgba()
  • Potential color contrast issues

Consider applying the same refactoring approach as suggested for .demo-item to ensure consistency across all card components.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@index.html` around lines 141 - 162, The .feature-card rules repeat the same
inconsistent color notation and potential contrast problems as .demo-item;
update .feature-card (selectors: .feature-card, .feature-card h3, .feature-card
p, .feature-icon) to use the same consistent color approach you applied to
.demo-item (e.g., convert hex+alpha to rgba() or use 8-digit hex consistently,
or better: reference shared CSS variables like --bg-color, --text-color with
appropriate alpha), and verify/adjust foreground colors to meet contrast
requirements with their backgrounds.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@index.html`:
- Around line 113-130: The .demo-item styles use mixed color notation and may
have insufficient text contrast; update the .demo-item rule to use consistent
rgba() notation for the background (replace the hex+alpha value `#A9A9A980` with
an equivalent rgba(...) value) and ensure accessible contrast for .demo-item h3
and .demo-item p by choosing darker text or a lighter/less transparent
background (or increase opacity) so the white/near-white text meets WCAG AA;
touch the .demo-item, .demo-item h3 and .demo-item p selectors when applying
these changes.
- Around line 74-79: The `.badge` background color (`#A9A9A980`) yields
insufficient contrast (3.39:1) with the white text; update the `.badge` rule to
meet WCAG AA for normal text by either using a darker/more opaque background
(e.g., increase opacity or choose a darker hex) or by darkening the text color
instead of inheriting white; ensure the final contrast ratio is >= 4.5:1 and
keep the selector name `.badge` when changing styles; optionally prefer a
6-digit hex or rgba() with explicit alpha for clarity/support, but do not
reintroduce IE11 workarounds.

---

Outside diff comments:
In `@index.html`:
- Around line 506-582: The integration demo sections (Qwik/QwikCity, Next.js,
Vue/Vite, Angular) and their <div class="demo-section"> blocks were placed
outside the main .container (which closes earlier), causing layout and
unmatched-tag issues; move all those demo-section blocks so they are nested
inside the main .container element before its closing tag, remove the
extra/unmatched closing </div> that follows (and any duplicate CTA block
referenced in the comment), and ensure every opened <div class="demo-section">
has a matching closing </div> so the document structure and centering/max-width
behavior are preserved.
- Around line 483-502: The file contains a duplicated CTA block (the <div
class="cta-section"> with the h2 "Ready to Get Started?" and the two <a> buttons
linking to the GitHub and Discord URLs); remove one of the duplicates (prefer
keeping the second occurrence) and ensure the remaining <div
class="cta-section"> is correctly placed inside the page container so markup and
styling remain consistent; verify the retained block includes the same anchors
(href="https://github.com/AOSSIE-Org/SocialShareButton" and
href="https://discord.gg/prMM922G") and attributes (class="cta-button" and
class="cta-button discord-btn", target and rel) so behavior and links are
unchanged.

---

Duplicate comments:
In `@index.html`:
- Around line 141-162: The .feature-card rules repeat the same inconsistent
color notation and potential contrast problems as .demo-item; update
.feature-card (selectors: .feature-card, .feature-card h3, .feature-card p,
.feature-icon) to use the same consistent color approach you applied to
.demo-item (e.g., convert hex+alpha to rgba() or use 8-digit hex consistently,
or better: reference shared CSS variables like --bg-color, --text-color with
appropriate alpha), and verify/adjust foreground colors to meet contrast
requirements with their backgrounds.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: db8d2168-5b8e-451b-8289-19a7ba6bf267

📥 Commits

Reviewing files that changed from the base of the PR and between d0686c4 and 93829fc.

📒 Files selected for processing (1)
  • index.html

Comment thread index.html
Comment thread index.html Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (1)
index.html (1)

74-79: ⚠️ Potential issue | 🟠 Major

Color contrast issue persists - still fails WCAG AA.

The .badge background (#A9A9A980) with white text continues to produce insufficient contrast (approximately 3.39:1), failing WCAG AA requirements for normal-size text (minimum 4.5:1). This accessibility issue was previously flagged but remains unresolved.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@index.html` around lines 74 - 79, The .badge rule currently uses background:
`#A9A9A980` with white text which yields ~3.39:1 contrast and fails WCAG AA;
update the .badge CSS to use an accessible color pair—either replace the
translucent `#A9A9A980` with a darker opaque background that achieves at least
4.5:1 against `#ffffff` (e.g., choose a darker hex that passes contrast checks) or
change the text color to a sufficiently dark color while keeping the current
background; confirm the change by testing contrast ratio and apply it to the
.badge selector (reference: .badge, background: `#A9A9A980`, font-size: 14px,
font-weight: 500).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@index.html`:
- Line 74: The CSS uses mixed color-alpha notations for "frosted glass"
backgrounds (.badge, .feature-card use hex+alpha like `#A9A9A980` while .demo-item
uses rgba(169, 169, 169, 0.5)); replace the hex-alpha notation with equivalent
rgba() values for .badge and .feature-card (and any other similar selectors at
the referenced locations) so all frosted glass elements use rgba() consistently,
ensuring the RGB and alpha match the existing hex-alpha appearance.
- Line 74: The CSS uses uppercase hex letters in background color values (e.g.,
background: `#A9A9A980`;) which violates the style guide; update the hex color
literals to lowercase (e.g., `#a9a9a980`) in the background declarations and any
other occurrences (the other similar background/hex entries referenced) so all
hex color values are consistently lowercase; locate and replace the uppercase
hex strings used in the background properties.
- Around line 121-131: The text in .demo-item h3 and .demo-item p fails WCAG AA
contrast against the semi-transparent/gradient background; update the styles for
the selectors .demo-item h3 and .demo-item p to use darker text colors (or
adjust the demo-item background to be darker/less transparent) so both maintain
at least a 4.5:1 contrast ratio against the rendered background, verify with a
contrast checker using the actual blended background, and commit the updated CSS
declarations for those selectors.

---

Duplicate comments:
In `@index.html`:
- Around line 74-79: The .badge rule currently uses background: `#A9A9A980` with
white text which yields ~3.39:1 contrast and fails WCAG AA; update the .badge
CSS to use an accessible color pair—either replace the translucent `#A9A9A980`
with a darker opaque background that achieves at least 4.5:1 against `#ffffff`
(e.g., choose a darker hex that passes contrast checks) or change the text color
to a sufficiently dark color while keeping the current background; confirm the
change by testing contrast ratio and apply it to the .badge selector (reference:
.badge, background: `#A9A9A980`, font-size: 14px, font-weight: 500).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 99ca2d8f-50b4-479a-911f-b957c10cff42

📥 Commits

Reviewing files that changed from the base of the PR and between 93829fc and 2ca3996.

📒 Files selected for processing (1)
  • index.html

Comment thread index.html
Comment thread index.html
Comment on lines 121 to 131
.demo-item h3 {
color: #fff;
color: #ffffff;
margin-bottom: 15px;
font-size: 16px;
}

.demo-item p {
font-size: 13px;
margin-bottom: 15px;
color: rgba(255, 255, 255, 0.8);
color: #fafafa;
}
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.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check color contrast for .demo-item text elements

python << 'EOF'
def hex_to_rgb(hex_color):
    """Convert hex to RGB."""
    hex_color = hex_color.lstrip('#')
    return tuple(int(hex_color[i:i+2], 16) for i in (0, 2, 4))

def relative_luminance(rgb):
    """Calculate relative luminance."""
    def adjust(channel):
        c = channel / 255.0
        return c / 12.92 if c <= 0.03928 else ((c + 0.055) / 1.055) ** 2.4
    return 0.2126 * adjust(rgb[0]) + 0.7152 * adjust(rgb[1]) + 0.0722 * adjust(rgb[2])

def contrast_ratio(lum1, lum2):
    """Calculate contrast ratio."""
    lighter = max(lum1, lum2)
    darker = min(lum1, lum2)
    return (lighter + 0.05) / (darker + 0.05)

# Background gradient colors
bg_start_rgb = hex_to_rgb('#667eea')
bg_end_rgb = hex_to_rgb('#764ba2')
bg_mid = tuple((bg_start_rgb[i] + bg_end_rgb[i]) // 2 for i in range(3))

# .demo-item background (semi-transparent gray at 50% opacity)
item_bg_rgb = (169, 169, 169)
item_alpha = 0.5

# Blend semi-transparent background with gradient
blended_bg = tuple(int(item_bg_rgb[i] * item_alpha + bg_mid[i] * (1 - item_alpha)) for i in range(3))

# Text colors
h3_text_rgb = hex_to_rgb('#ffffff')
p_text_rgb = hex_to_rgb('#fafafa')

lum_bg = relative_luminance(blended_bg)
lum_h3 = relative_luminance(h3_text_rgb)
lum_p = relative_luminance(p_text_rgb)

ratio_h3 = contrast_ratio(lum_bg, lum_h3)
ratio_p = contrast_ratio(lum_bg, lum_p)

print(f".demo-item effective background: #{blended_bg[0]:02x}{blended_bg[1]:02x}{blended_bg[2]:02x}")
print(f"\n.demo-item h3 (16px, `#ffffff`):")
print(f"  Contrast ratio: {ratio_h3:.2f}:1")
print(f"  WCAG AA normal text (≥4.5:1): {'PASS' if ratio_h3 >= 4.5 else 'FAIL'}")
print(f"  WCAG AA large text (≥3:1): {'PASS' if ratio_h3 >= 3.0 else 'FAIL'}")
print(f"\n.demo-item p (13px, `#fafafa`):")
print(f"  Contrast ratio: {ratio_p:.2f}:1")
print(f"  WCAG AA normal text (≥4.5:1): {'PASS' if ratio_p >= 4.5 else 'FAIL'}")
print(f"  WCAG AA large text (≥3:1): {'PASS' if ratio_p >= 3.0 else 'FAIL'}")
EOF

Repository: AOSSIE-Org/SocialShareButton

Length of output: 367


Address insufficient color contrast for .demo-item text elements.

The text colors used in .demo-item h3 (#ffffff at 16px) and .demo-item p (#fafafa at 13px) fail WCAG AA compliance when rendered against the semi-transparent background blended with the gradient. Actual contrast ratios are 3.39:1 and 3.25:1 respectively, falling short of the required 4.5:1 for normal text. Consider lightening the background or choosing a darker text color to meet accessibility standards.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@index.html` around lines 121 - 131, The text in .demo-item h3 and .demo-item
p fails WCAG AA contrast against the semi-transparent/gradient background;
update the styles for the selectors .demo-item h3 and .demo-item p to use darker
text colors (or adjust the demo-item background to be darker/less transparent)
so both maintain at least a 4.5:1 contrast ratio against the rendered
background, verify with a contrast checker using the actual blended background,
and commit the updated CSS declarations for those selectors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

first-time-contributor First PR of an external contributor frontend Changes to frontend code needs-review no-issue-linked PR is not linked to any issue size/S Small PR (11-50 lines changed)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants