Skip to content

feat(blog): premium UI upgrade for Blog 1 (₹47L case study)#39

Draft
Copilot wants to merge 35 commits intomainfrom
copilot/featureblog1-premium-ui
Draft

feat(blog): premium UI upgrade for Blog 1 (₹47L case study)#39
Copilot wants to merge 35 commits intomainfrom
copilot/featureblog1-premium-ui

Conversation

Copy link
Contributor

Copilot AI commented Dec 11, 2025

Implements comprehensive UI enhancements for the ₹47 lakh investment mistake case study blog post per detailed UX specification. Preserves canonical content while adding premium visual components and accessibility improvements.

Core Changes

New Components (BlogDetail.js)

  • ComparisonChart: Actual vs ideal portfolio bar chart with illustrative data
  • GoldHighlightBox: Prominent ₹47,00,000 opportunity cost callout
  • MidBlogCTA: Educational 12-point portfolio check after key section
  • RelatedPosts: Responsive grid with hover effects

Content Rendering Enhancement
Intelligent injection of components at specific content markers without modifying source HTML:

// Splits content by section markers and injects components
const markers = {
  numberChanged: 'The Number That Changed Everything',
  howDoes: 'How Does This Even Happen?',
  partHurts: 'The Part That Hurts Most',
};

// Replaces existing gold box, adds chart before it, inserts CTA after sections

Typography & Readability (App.css)

  • Line-height: 1.8 for prose content
  • Base text: 18px with responsive scaling
  • Max-width: 42rem (prose constraint)
  • Enhanced heading hierarchy with gold theme colors

UI Elements

  • Hero image: Dark finance dashboard SVG (placeholder for licensed asset)
  • "Before You Read" disclaimer box below metadata (3-line educational notice)
  • WhatsApp/LinkedIn share buttons with proper rel="noopener noreferrer"
  • Emotional closure text (gold italic) before final CTA
  • Styled disclaimer section with gold left border

Accessibility

  • Semantic HTML: <article>, <section>, proper heading hierarchy
  • ARIA labels on all interactive elements
  • Meaningful alt text on images
  • Client-side URL handling via useState/useEffect

Files Modified

  • BlogDetail.js: Complete restructure with enhanced rendering (588 lines)
  • App.css: Blog-specific typography rules (93 lines)
  • staticBlogData.js: Image path update (2 lines)
  • hero-47l-dashboard.svg: Premium placeholder hero (new file)

Brand Theme: Black/grey base + gold accent (#DAA520) maintained throughout.

TODO: Replace SVG hero with licensed 1200x400px finance dashboard image (see comment in BlogDetail.js line 395).

Original prompt

Implement premium UI and readability upgrades for Blog 1 (₹47 lakh case study) based on the canonical content and detailed UX spec.

Repository: mauryaakash2555/premium-invest-8
Base branch: main
New branch to create: feature/blog1-premium-ui

Canonical content:

  • Use the uploaded Word file content (Blog_1_Final_47_Lakh_Loss - Copy.docx) as the canonical source for the article body and disclaimers.
  • The user has also pasted the final article text into chat; treat this as matching the Word file and preserve it verbatim.

Target blog page:

  • Blog file name / slug: investment-advice-misstep.md (₹47 lakh story)
  • Blog page component is likely at: pages/blog/[slug].tsx or app/(site)/blog/[slug]/page.tsx. If there are multiple templates, update the blog-post template used by the site.
  • Styling: Tailwind CSS. Maintain BM Wealth theme: black/grey base + gold accent #DAA520.

Implementation requirements (follow exactly):

  1. BRANCH + COMMITS
  • Create branch: feature/blog1-premium-ui off main.
  • Commit each logical change with clear messages, e.g.:
    • "restore: blog1 original content"
    • "ui: add gold highlight box"
    • "ui: add share buttons"
    • etc.
  • After local verification, create a single PR from feature/blog1-premium-ui to main with the PR title and description provided below.
  1. RESTORE ORIGINAL BLOG CONTENT
  • Replace the current blog body for Blog 1 with the exact text provided in chat / Word file.
  • Preserve paragraphs, headings, examples, and all disclaimers verbatim.
  • Do NOT paraphrase or reword anything.
  • Ensure there is a clearly defined content source for this post, likely investment-advice-misstep.md or an equivalent MD/MDX or data source file; update only that content source (and not inline text in components) so future edits are centralized.
  1. HERO / COVER IMAGE
  • Replace any broken or generic hero image for this post with a premium dark finance dashboard hero.
  • Prefer a stable local asset such as /public/images/blogs/hero-47l-dashboard.jpg. If this file or a similar hero does not exist, add a new placeholder image asset in an appropriate public/images path and include a TODO: update with licensed hero code comment where the src is used.
  • Ensure the <Image> wrapper (Next.js next/image) has:
    • className="w-full h-60 md:h-72 object-cover rounded-xl" (or equivalent applying those styles).
  • Use descriptive alt text: "Finance dashboard with charts — BM Wealth case study".
  1. "BEFORE YOU READ" BOX (below metadata)
  • Immediately under the blog title and metadata (date, read time, etc.), add an informational callout box with:
    • Container classes: rounded-xl border-2 with border color #DAA520, background #0d0d0d, text near-white (e.g., text-white/90), padding p-4 md:p-5.
    • Text content EXACTLY:
      • Line 1: This is a real case study, anonymised for privacy.
      • Line 2: Shared strictly for educational awareness.
      • Line 3: No products or investments are being recommended.
  • Keep semantics simple: a <section> or <div role="note"> is fine; ensure it appears directly beneath the metadata.
  1. SHARE BUTTONS (under the info box)
  • Under the "Before you read" box, add two inline share buttons (likely <a> styled as buttons):
    • WhatsApp share URL: https://wa.me/?text=${encodeURIComponent(currentUrl)}.
    • LinkedIn share URL: https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(currentUrl)}.
  • currentUrl should be derived from the actual runtime URL in the blog page component. In an app router, you can use usePathname and process.env.NEXT_PUBLIC_SITE_URL as base, or a similar approach; ensure it works in the browser only (guard against SSR where necessary).
  • Buttons must:
    • Open in a new tab: target="_blank".
    • Use rel="noopener noreferrer".
    • Use accessible aria-labels like aria-label="Share on WhatsApp" and aria-label="Share on LinkedIn".
    • Have clear visual differentiation, e.g.:
      • WhatsApp: green background (e.g., bg-[#25D366]) with white text and rounded-md px-4 py-2 text-sm font-medium flex items-center gap-2.
      • LinkedIn: blue background (e.g., bg-[#0A66C2]) with similar white text / rounded styling.
  1. ₹47,00,000 GOLD HIGHLIGHT BOX
  • At the part of the article where the opportunity cost is revealed (the section starting with "The opportunity cost: ₹47,00,000" and the emphasized sentence "Not ₹47,000. Not ₹4.7 lakh. Nearly half a crore rupees in potential wealth—gone."), insert a gold highlight section with semantic HTML:
    • Wrap with <section aria-labelledby="opportunity-cost" className="...">.
    • Inside, include a visually prominent box with:
      • Background: #DAA520.
      • Text color: black.
      • Rounded corners: rounded-xl.
      • Shadow: shadow-lg.
      • Centered content: text-center flex flex-col items-center justify-center.
      • Padding and spacing appropriate for mobile/desktop.
    • Content:
      • A heading or big line for the amount, with resp...

This pull request was created as a result of the following prompt from Copilot chat.

Implement premium UI and readability upgrades for Blog 1 (₹47 lakh case study) based on the canonical content and detailed UX spec.

Repository: mauryaakash2555/premium-invest-8
Base branch: main
New branch to create: feature/blog1-premium-ui

Canonical content:

  • Use the uploaded Word file content (Blog_1_Final_47_Lakh_Loss - Copy.docx) as the canonical source for the article body and disclaimers.
  • The user has also pasted the final article text into chat; treat this as matching the Word file and preserve it verbatim.

Target blog page:

  • Blog file name / slug: investment-advice-misstep.md (₹47 lakh story)
  • Blog page component is likely at: pages/blog/[slug].tsx or app/(site)/blog/[slug]/page.tsx. If there are multiple templates, update the blog-post template used by the site.
  • Styling: Tailwind CSS. Maintain BM Wealth theme: black/grey base + gold accent #DAA520.

Implementation requirements (follow exactly):

  1. BRANCH + COMMITS
  • Create branch: feature/blog1-premium-ui off main.
  • Commit each logical change with clear messages, e.g.:
    • "restore: blog1 original content"
    • "ui: add gold highlight box"
    • "ui: add share buttons"
    • etc.
  • After local verification, create a single PR from feature/blog1-premium-ui to main with the PR title and description provided below.
  1. RESTORE ORIGINAL BLOG CONTENT
  • Replace the current blog body for Blog 1 with the exact text provided in chat / Word file.
  • Preserve paragraphs, headings, examples, and all disclaimers verbatim.
  • Do NOT paraphrase or reword anything.
  • Ensure there is a clearly defined content source for this post, likely investment-advice-misstep.md or an equivalent MD/MDX or data source file; update only that content source (and not inline text in components) so future edits are centralized.
  1. HERO / COVER IMAGE
  • Replace any broken or generic hero image for this post with a premium dark finance dashboard hero.
  • Prefer a stable local asset such as /public/images/blogs/hero-47l-dashboard.jpg. If this file or a similar hero does not exist, add a new placeholder image asset in an appropriate public/images path and include a TODO: update with licensed hero code comment where the src is used.
  • Ensure the <Image> wrapper (Next.js next/image) has:
    • className="w-full h-60 md:h-72 object-cover rounded-xl" (or equivalent applying those styles).
  • Use descriptive alt text: "Finance dashboard with charts — BM Wealth case study".
  1. "BEFORE YOU READ" BOX (below metadata)
  • Immediately under the blog title and metadata (date, read time, etc.), add an informational callout box with:
    • Container classes: rounded-xl border-2 with border color #DAA520, background #0d0d0d, text near-white (e.g., text-white/90), padding p-4 md:p-5.
    • Text content EXACTLY:
      • Line 1: This is a real case study, anonymised for privacy.
      • Line 2: Shared strictly for educational awareness.
      • Line 3: No products or investments are being recommended.
  • Keep semantics simple: a <section> or <div role="note"> is fine; ensure it appears directly beneath the metadata.
  1. SHARE BUTTONS (under the info box)
  • Under the "Before you read" box, add two inline share buttons (likely <a> styled as buttons):
    • WhatsApp share URL: https://wa.me/?text=${encodeURIComponent(currentUrl)}.
    • LinkedIn share URL: https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(currentUrl)}.
  • currentUrl should be derived from the actual runtime URL in the blog page component. In an app router, you can use usePathname and process.env.NEXT_PUBLIC_SITE_URL as base, or a similar approach; ensure it works in the browser only (guard against SSR where necessary).
  • Buttons must:
    • Open in a new tab: target="_blank".
    • Use rel="noopener noreferrer".
    • Use accessible aria-labels like aria-label="Share on WhatsApp" and aria-label="Share on LinkedIn".
    • Have clear visual differentiation, e.g.:
      • WhatsApp: green background (e.g., bg-[#25D366]) with white text and rounded-md px-4 py-2 text-sm font-medium flex items-center gap-2.
      • LinkedIn: blue background (e.g., bg-[#0A66C2]) with similar white text / rounded styling.
  1. ₹47,00,000 GOLD HIGHLIGHT BOX
  • At the part of the article where the opportunity cost is revealed (the section starting with "The opportunity cost: ₹47,00,000" and the emphasized sentence "Not ₹47,000. Not ₹4.7 lakh. Nearly half a crore rupees in potential wealth—gone."), insert a gold highlight section with semantic HTML:
    • Wrap with <section aria-labelledby="opportunity-cost" className="...">.
    • Inside, include a visually prominent box with:
      • Background: #DAA520.
      • Text color: black.
      • Rounded corners: rounded-xl.
      • Shadow: shadow-lg.
      • Centered content: text-center flex flex-col items-center justify-center.
      • Padding and spacing appropriate for mobile/desktop.
    • Content:
      • A heading or big line for the amount, with responsive text sizes, e.g. text-3xl md:text-5xl font-extrabold tracking-tight showing ₹47,00,000.
      • Below it, a smaller line (around 20px / text-lg md:text-2xl) containing the existing sentence from the article in bold: Not ₹47,000. Not ₹4.7 lakh. Nearly half a crore rupees... while preserving the full original sentence text exactly.
  • Ensure the rest of the surrounding paragraph text still appears to preserve narrative continuity.
  1. READABILITY & TYPOGRAPHY
  • Wrap the main article body in a container that:
    • Uses leading-[1.8].
    • Has base text-[18px].
    • Uses space-y-6 between paragraphs.
    • Constrains width to something like max-w-prose and centers with mx-auto if appropriate.
  • If the project uses Tailwind Typography (prose classes), use .prose but override font size/line height minimally, e.g. prose prose-invert max-w-prose prose-p:leading-[1.8] prose-p:text-[18px].
  • Ensure heading hierarchy in the article uses <h1> for the page title and <h2>/<h3> inside content as appropriate.
  1. GOLD DIVIDERS
  • Between major content sections (roughly around each H2 or logical section break like "How Does This Even Happen?", "What Every Investor Must Understand", "Are You in the Same Situation?", etc.), insert gold dividers:
    • <hr className="border-0 border-t border-[#DAA520]/40 my-12" />.
  • Place them in the MD/MDX content or via the rendered component structure, whichever fits the current blog architecture.
  1. COMPARISON BAR CHART (Style B: Gold vs Grey)
  • Implement a small chart section titled:
    • Actual vs Ideal Portfolio Outcome (7-Year Period).
  • Place this section immediately before the ₹47,00,000 highlight gold box.
  • Implementation details:
    • If repo already uses a chart library (e.g., Recharts, Chart.js), reuse it and follow the existing patterns.
    • If no chart library is present, create a lightweight, accessible inline SVG with two vertical bars representing:
      • Actual portfolio outcome (grey, e.g., #6b6b6b).
      • Ideal portfolio outcome (gold, #DAA520).
    • Wrap in a dark card background with rounded corners and padding.
    • Add labels beneath bars (e.g., "Actual" and "Ideal") and numeric text inside/above bars.
    • Add a caption below the chart: Illustrative comparison based on historical benchmarks — not a forecast.
  • Numbers should be illustrative and consistent with the idea of a ₹47 lakh opportunity cost (e.g., one bar at ₹X, another at ₹X+47L) but must not be presented as guarantees.
  1. MID-BLOG CTA (Educational-only)
  • After the section titled "How Does This Even Happen?" (roughly 30% into the article), insert a mid-article CTA box with:
    • Container: rounded-xl, border color #DAA520, background #0d0d0d, padding (e.g., p-6 md:p-8), and some margin-y.
    • Title: Free 12-Point Portfolio Check (Educational Only) as a bold heading inside the CTA.
    • Short bullet list describing what the check covers:
      • Check goal alignment
      • Identify hidden costs
      • Review risk suitability
      • Understand insurance vs investment separation
    • A single button-like link at the bottom:
      • Label: Request Educational Review.
      • URL: https://wa.me/918850977259.
      • Styled as a primary button consistent with BM Wealth theme (black or dark background with gold border text, or gold background with black text) but explicitly avoid words like "advice", "recommendation", "guarantee", or promising returns in this box.
  1. EMOTIONAL CLOSURE (before final CTA / contact details)
  • Immediately before the final contact/CTA section near the end of the article (where WhatsApp number, website, address, etc. appear), add centered italic text in gold color:
    • Content (two lines, line break allowed):
      Don’t wait 7 years to discover hidden losses.
      One correct decision today can change decades.
      
    • Style: text-center text-[#DAA520] italic text-lg md:text-xl my-10.
  1. DISCLAIMER STYLING (do NOT change content)
  • Wrap the entire disclaimer block (starting from Important Disclaimers & Regulatory Information: through to the end of the disclaimer text) inside a styled container:
    • Background: #0f0f0f.
    • Border-left: 4px solid #DAA520.
    • Padding: p-6 md:p-8.
    • Text size: around text-sm md:text-[15px].
    • Line-height: leading-[1.7].
  • Add a small gold heading just before the disclaimer text:
    • Important Disclosures (Please Read) styled in gold, but DO NOT alter the disclaimer paragraph content itself.
  • Preserve every character of the disclaimer body text exactly.
  1. RELATED POSTS SECTION
  • At the very bottom of the blog page, below the main article and disclaimers, add a "Related Posts" section (if not already present) or ensure this specific post shows a "Related Posts" block with 3 cards:
    • Section title: Related Posts.
    • Layout: responsive grid using grid grid-cols-1 md:grid-cols-3 gap-6 mt-12 (or similar).
    • Each card:
      • Dark background (e.g., bg-[#111]).
      • rounded-xl overflow-hidden border border-transparent transition hover:border-[#DAA520] hover:-translate-y-1 hover:shadow-lg.
      • Top image area with fixed height (e.g., h-40 w-full object-cover).
      • Below the image, show post title and maybe date/read time.
    • Use an existing posts data source (e.g., a posts array, CMS data, or MDX frontmatter) to auto-select three recent posts or posts that share a tag/category with Blog 1. Avoid including the current post itself.
  1. ACCESSIBILITY & SEO
  • Ensure:
    • All images have meaningful alt attributes.
    • Share buttons and CTA button use aria-label and role="button" where appropriate for links styled as buttons.
    • target="_blank" links include rel="noopener noreferrer".
    • Page uses proper heading order (h1 for title, h2 for major sections, h3 for subsections, etc.).
    • Landmarks like <main>, <article>, <section> are used appropriately for structure.
  1. FALLBACKS & SAFETY
  • If the expected hero image file path does not exist, add a placeholder image file in public/images/blogs/ (or current repo convention) and use that.
  • If there is no chart library in the project, implement the bar chart using an inline <svg> and minimal React/JS logic.
  • Add TODO comments where future upgrades are needed (e.g., replacing placeholder hero image with a licensed asset).
  1. TESTING & PR DETAILS
  • Manually verify (and document in PR description as a checklist) that:
    • Blog text is identical to the Word file / provided text.
    • Hero image displays, uses the correct height, and has the correct alt text.
    • Gold highlight box for ₹47,00,000 appears with correct styling and content.
    • Comparison chart renders and shows the explanatory caption.
    • Share buttons open the correct URLs in a new tab.
    • Disclaimer block content is unchanged, with new styling applied.
  • PR Title (use exactly):
    • feat(blog): premium UI & readability upgrade for Blog 1 (₹47L case study)
  • PR Description: follow the structure below in the created PR:
    • Summary of UI/UX improvements
    • Implementation details per numbered requirement above (1–15)
    • Notes on any TODOs or placeholders (hero image, chart library, etc.)
    • Manual QA checklist with items marked [ ] for reviewer to tick off

Finally, once everything is implemented:

  • Provide, back in this chat, a list of changed files (relative paths),
  • Show the git diff for each changed file (unified diff format),
  • Provide a rendered preview reference: Storybook snapshot name, screenshot filenames/paths (desktop and mobile), or deployed preview URL if available.

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 30 commits December 11, 2025 03:59
Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
…ghter gradient)

Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
…ges-desktop

Fix header background images cut off on desktop pages
Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
…t-responsiveness

Restore responsive hero height scaling on large screens
Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
…r-top

Fix hero background positioning on desktop screens
…hero images

Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
…hero images

Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
…e-top-again

[WIP] Fix(hero): inline top-center backgroundPosition for hero images on desktop
…e-top

Add inline backgroundPosition to hero sections (note: overridden by existing CSS !important rules)
Updated image dimensions for optimization.
Updated image dimensions for optimization.
Adjust hero section height and background properties for desktop.
Added styles to ensure the hero image displays fully on desktop without cropping, and included an optional gradient overlay.
Added styles for a cinematic hero section in App.css.
Removed old styles for hero image on desktop and added new styles for a cinematic hero section.
Refactor blog post fetching and improve layout styles.
Removed unused CSS styles and adjusted hero section properties.
@vercel
Copy link

vercel bot commented Dec 11, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
bmwealth-react Ready Ready Preview Comment Dec 11, 2025 10:06am
premium-invest-8 Ready Ready Preview Comment Dec 11, 2025 10:06am

Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
@vercel
Copy link

vercel bot commented Dec 11, 2025

Deployment failed with the following error:

Resource is limited - try again in 1 hour (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/akashs-projects-7840bca9?upgradeToPro=build-rate-limit

Copilot AI and others added 3 commits December 11, 2025 10:15
Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
…handling

Co-authored-by: mauryaakash2555 <246499468+mauryaakash2555@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement premium UI and readability upgrades for Blog 1 feat(blog): premium UI upgrade for Blog 1 (₹47L case study) Dec 11, 2025
@mauryaakash2555 mauryaakash2555 force-pushed the main branch 2 times, most recently from 6fd9d66 to 776f391 Compare December 17, 2025 07:38
@mauryaakash2555 mauryaakash2555 force-pushed the main branch 3 times, most recently from ad3a7bc to 74b07c2 Compare December 20, 2025 13:01
@mauryaakash2555 mauryaakash2555 force-pushed the main branch 2 times, most recently from cca89cf to da01cd7 Compare January 17, 2026 11:23
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