Style Brand Identity: Sync Approved Logo Assets inside Page Footer Layout#60
Conversation
|
@revatikadam0607 is attempting to deploy a commit to the Shiv Raj Singh's projects Team on Vercel. A member of the Team first needs to authorize it. |
📝 WalkthroughWalkthroughThe footer's Column 1 branding block was updated to replace the favicon-based logo and plain "MeetOnMemory" text with an inline SVG mark and styled typography rendering "MeetOn" with "Memory" emphasized. No other footer structure or behavior changed. ChangesFooter Branding Update
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@client/src/components/Footer.jsx`:
- Around line 29-40: The inline SVG in Footer.jsx is using kebab-case attributes
that trigger React DOM warnings in JSX. Update the SVG elements inside the
footer logo so the <defs> gradient and <path> use camelCase props: change
stop-color in the <stop> elements to stopColor, and change stroke-width,
stroke-linecap, and stroke-linejoin on the <path> to strokeWidth, strokeLinecap,
and strokeLinejoin while keeping the Footer component’s SVG structure unchanged.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: ec842b50-41a0-4d9c-afde-5c686f46ef91
📒 Files selected for processing (1)
client/src/components/Footer.jsx
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" className="w-10 h-10 transition-transform duration-300"> | ||
| <defs> | ||
| <linearGradient id="footerInfinityGrad" x1="0%" y1="0%" x2="100%" y2="100%"> | ||
| <stop offset="0%" stop-color="#2563eb" /> | ||
| <stop offset="100%" stop-color="#7c3aed" /> | ||
| </linearGradient> | ||
| </defs> | ||
| <path d="M25,50 C25,35 38,30 50,50 C62,70 75,65 75,50 C75,35 62,30 50,50 C38,70 25,65 25,50 Z" | ||
| fill="none" stroke="url(#footerInfinityGrad)" stroke-width="11" stroke-linecap="round" stroke-linejoin="round"/> | ||
| <circle cx="25" cy="50" r="6.5" fill="#2563eb" /> | ||
| <circle cx="75" cy="50" r="6.5" fill="#7c3aed" /> | ||
| </svg> |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## Footer.jsx outline\n'
ast-grep outline client/src/components/Footer.jsx --view expanded || true
printf '\n## Footer.jsx lines 1-80\n'
cat -n client/src/components/Footer.jsx | sed -n '1,80p'
printf '\n## package.json snippets\n'
cat -n package.json | sed -n '1,220p' 2>/dev/null || trueRepository: imuniqueshiv/MeetOnMemory
Length of output: 5036
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## client/package.json\n'
cat -n client/package.json | sed -n '1,220p'
printf '\n## repo lint/config files\n'
fd -a 'eslint*' . -t f || true
fd -a '.eslintrc*' . -t f || true
fd -a 'vite.config.*' client -t f || true
fd -a 'tsconfig*.json' client -t f || true
printf '\n## search for react lint rules / jsx-svg rules\n'
rg -n --hidden --glob '!**/node_modules/**' 'react/jsx-(?:camelcase|no-duplicate-props)|svg|stop-color|stroke-width' client . || trueRepository: imuniqueshiv/MeetOnMemory
Length of output: 20365
🌐 Web query:
React SVG attributes stop-color stroke-width invalid DOM property warning behavior pass through
💡 Result:
In React, SVG attributes must be written in camelCase (e.g., strokeWidth, stopColor, fillRule) rather than the standard hyphenated (kebab-case) SVG syntax used in raw files [1][2][3]. Using hyphenated attributes like stroke-width or stop-color in JSX will trigger an "Invalid DOM property" warning [1][4][5]. React enforces this convention to maintain consistency across its property system, as JSX transforms hyphenated attributes into JavaScript property identifiers, which do not support hyphens [1][2]. To resolve these warnings, you must convert the attributes to their canonical React camelCase equivalents [1][6][7]. Common conversions include: - stroke-width -> strokeWidth [2][5] - stop-color -> stopColor [2][5] - fill-rule -> fillRule [1][5] - clip-path -> clipPath [1][2] While React historically experimented with passing through all SVG attributes [8][9], current best practices and the React engine require adherence to camelCase for native SVG elements to avoid console warnings and ensure proper attribute handling [10][6][5]. If you are dealing with large numbers of SVG files, it is recommended to use automated conversion tools such as: - VS Code extensions (e.g., React SVG Fixer) [11] - Online SVG-to-JSX converters [2][3] - Codemods [12] These tools automate the process of sanitizing attributes, stripping XML declarations, and converting style strings into objects, which are also requirements for rendering SVGs successfully in React [2][3].
Citations:
- 1: https://stackoverflow.com/questions/39088153/how-do-i-get-rid-of-react-error-warnings-telling-me-to-change-svg-attributes-to
- 2: https://vectorinput.ae/en/tools/svg-to-jsx
- 3: https://cloudyconvert.com/blog/svg-to-jsx-in-react
- 4: https://stackoverflow.com/questions/66685543/reactjs-invalid-dom-property-error-on-svg-elements
- 5: [bug]: Invalid DOM Properties Warnings keploy/keploy#1681
- 6: https://legacy.reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html
- 7: https://legacy.reactjs.org/docs/dom-elements.html
- 8: Pass all SVG attributes through react/react#5714
- 9: SVG attributes and ARIA attributes with different pattern react/react#5617
- 10: https://react.dev/warnings/unknown-prop
- 11: https://marketplace.visualstudio.com/items?itemName=bdhamithkumara.react-svg-fixer
- 12: Codemod for SVG Attributes react/react#6213
Use camelCase SVG props in this JSX.
stop-color, stroke-width, stroke-linecap, and stroke-linejoin should be stopColor, strokeWidth, strokeLinecap, and strokeLinejoin to avoid React DOM warnings.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@client/src/components/Footer.jsx` around lines 29 - 40, The inline SVG in
Footer.jsx is using kebab-case attributes that trigger React DOM warnings in
JSX. Update the SVG elements inside the footer logo so the <defs> gradient and
<path> use camelCase props: change stop-color in the <stop> elements to
stopColor, and change stroke-width, stroke-linecap, and stroke-linejoin on the
<path> to strokeWidth, strokeLinecap, and strokeLinejoin while keeping the
Footer component’s SVG structure unchanged.
|
Hi @imuniqueshiv ! Thanks for reviewing and merging my latest PR. I really appreciate it! 😊 I have two more improvement ideas that I think would enhance the overall user experience:
Since these are two separate features, would it be possible to create two separate issues for them? I'd be happy to claim them individually and submit separate PRs to keep each change focused and easy to review. If you're okay with these ideas, I'd love to work on them. Thanks! 🚀 |
@revatikadam0607 Thanks for the suggestions and for your continued contributions! 😊 Regarding your ideas: 🌙 Dark/Light Theme Toggle has already been created as Issue #24 and is currently assigned to another contributor. Also, I noticed there are currently a couple of unassigned issues available. If you're interested, feel free to claim one of those as well. |
Thank you! If you're okay with it, could you please create the issue for the Professional Cursor Effect and assign it to me? I'd be happy to work on it. Also, I'll take a look at the currently unassigned issues and message you if I find one I'd like to contribute to. Additionally, if this PR is successfully merged for ECSoC'26, could you please add the ECSoC26 level label to it? It would help ensure my contribution is counted correctly for the event. Thank you so much! |
@revatikadam0607 Thanks for your interest in contributing! I've created Issue #63 for the Professional Cursor Effect and reserved it for you. Since our assignment workflow is comment-based, I can't assign the issue until you comment on it. Please head over to #63 and comment /claim as soon as possible. Once your comment is posted, I'll assign the issue to you immediately. If your PR follows the project guidelines and is successfully merged, the appropriate ECSoC26 label will be applied where applicable. Happy coding! 🚀 |
Thank you so much for creating the issue and reserving it for me! 😊 |
|
Hi @imuniqueshiv |
closes #58
This pull request aligns the MeetOnMemory global application footer with the latest approved visual branding standards established in the navbar context. It cleanly replaces the legacy favicon asset references with an optimized, vector-rendered native Infinite Neural Node symbol, establishing absolute typographic and graphic consistency across the entire viewport hierarchy.
🎨 Key Structural Enhancements
Memorywith the global blue theme accent.📸 Visual Comparison (Before vs. After)
BEFORE :

AFTER:

📋 Affected Asset Files Checklist
client/src/components/Footer.jsx— Replaced image nodes with clean inline layout configurations.@imuniqueshiv If any further changes are required, please feel free to let me know, and kindly consider merging this PR once everything looks good!
And could you please add the same labels that were added to issue #58 for this Pull Request as well? Thank you!
Summary by CodeRabbit