You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Thumbnail Support:** Each post has an optional 80×80px rounded thumbnail image to the left of the plain card
594
+
-**Clickable Posts:** When `href` is provided, the entire post block (thumbnail + card) is wrapped in an `<a>` tag (`.blog-list__link`)
595
+
-**Hover Effect:** Background transitions to `$obsidian` on hover (section background is `$charcoal`)
596
+
-**Text Colour Preservation:** Inside the link wrapper, explicit colours set on `.card__title` (`$quicksilver`), `.card__text` (`$pewter`), `.card__icon` (`$pewter`) to prevent `<a>` tag colour inheritance
-**Purpose:** Alternating image/text rows showcasing portfolio projects, used below the featured project on the Portfolio page
651
+
-**Component:**`PortfolioList` in `modules/` — accepts `heading` (`React.ReactNode`) and `projects` array
652
+
-**Layout:** Mirrors WorkingOn module — full-width rows with screenshot on one side and text on the other, alternating sides via `flex-row-reverse` on odd-indexed items
-**Issue:** Divider expand animation did not play on the BlogFeatured section
682
+
-**Root Cause:** Bootstrap's `w-25` utility class sets `width: 25% !important`, overriding the `@keyframes` animation starting at `width: 0`
683
+
-**Fix:** Removed `w-25` class from the Divider in BlogFeatured (and PortfolioFeatured), letting the `@keyframes` animation control width from 0% to 25%
684
+
-**Pattern:** Any section that needs an animated divider must NOT use Bootstrap width utilities — use `@keyframes` directly
685
+
686
+
### Build Verification
687
+
-**Verified:**`npm run build-storybook` completed successfully after all Blog page, Portfolio page, and module changes
688
+
689
+
---
690
+
555
691
## Next Session Considerations
556
692
- Replace WorkingOn placeholder SVGs with actual screenshots of drupal.org/project/pub_options and bloodcancerunited.org
557
693
- Add Onyx color to Design Specs ColorPalette component and stories
558
-
- Portfolio page design/implementation
559
-
- Blog page layout
560
-
- Contact page with form
694
+
- Contact page with form (reuse ContactForm module)
561
695
- Responsive behavior verification across breakpoints
562
696
- Accessibility audit (ARIA labels, keyboard nav, color contrast)
563
697
- Performance: consider reducing animation complexity on mobile
698
+
- Update CLAUDE.md project layout to include new modules and pages
'A component-driven personal website built with React, TypeScript, and Storybook. Every component is designed, documented, and tested inside Storybook before integration.',
41
-
imageSrc: imgStyling,
40
+
imageSrc: pubOptionsImg,
42
41
imageAlt: 'jorgecalderon.codes in Storybook',
43
42
buttonLabel: 'View Source',
44
43
buttonHref: 'https://github.com/jorgecalderon',
@@ -48,7 +47,7 @@ const sampleProjects = [
48
47
type: 'Client Project',
49
48
description:
50
49
'A headless Drupal architecture powering a multi-site content platform with custom modules, automated deployments, and performance-tuned infrastructure on AWS.',
'A component-driven personal website built with React, TypeScript, and Storybook. Every component is designed, documented, and tested inside Storybook before integration.',
'A headless Drupal architecture powering a multi-site content platform with custom modules, automated deployments, and performance-tuned infrastructure on AWS.',
0 commit comments