Run lint and prettier
CI Pipeline / test (20) (pull_request) Successful in 3m0s
CI Pipeline / test (18) (pull_request) Successful in 3m18s
CI Pipeline / e2e (firefox) (pull_request) Successful in 3m20s
CI Pipeline / e2e (chromium) (pull_request) Successful in 3m54s
CI Pipeline / e2e (webkit) (pull_request) Successful in 3m41s
CI Pipeline / performance (pull_request) Successful in 3m3s
CI Pipeline / visual-regression (pull_request) Successful in 7m12s
CI Pipeline / storybook (pull_request) Successful in 1m29s
CI Pipeline / lint (pull_request) Failing after 1m7s
CI Pipeline / build (pull_request) Successful in 1m20s

This commit is contained in:
adilallo
2025-10-07 17:27:07 -06:00
parent c991e22f09
commit 6bd751957c
40 changed files with 96370 additions and 524 deletions
+1 -1
View File
@@ -106,7 +106,7 @@ const AskOrganizer = memo(
</div>
</section>
);
}
},
);
AskOrganizer.displayName = "AskOrganizer";
+1 -1
View File
@@ -12,7 +12,7 @@ const Avatar = memo(
const baseStyles = `rounded-[var(--radius-measures-radius-full)] object-cover ${sizeStyles[size]} ${className}`;
return <img src={src} alt={alt} className={baseStyles} {...props} />;
}
},
);
Avatar.displayName = "Avatar";
+1 -1
View File
@@ -16,7 +16,7 @@ const AvatarContainer = memo(
{children}
</div>
);
}
},
);
AvatarContainer.displayName = "AvatarContainer";
+1 -1
View File
@@ -108,7 +108,7 @@ const Button = memo(
{children}
</button>
);
}
},
);
Button.displayName = "Button";
+1 -1
View File
@@ -123,7 +123,7 @@ const ContentContainer = memo(
</div>
</div>
);
}
},
);
ContentContainer.displayName = "ContentContainer";
+1 -1
View File
@@ -179,7 +179,7 @@ const ContentLockup = memo(
)}
</div>
);
}
},
);
ContentLockup.displayName = "ContentLockup";
+1 -1
View File
@@ -91,7 +91,7 @@ const ContentThumbnailTemplate = memo(
</div>
</Link>
);
}
},
);
ContentThumbnailTemplate.displayName = "ContentThumbnailTemplate";
+1 -2
View File
@@ -28,7 +28,7 @@ class ErrorBoundary extends Component {
Something went wrong
</h2>
<p className="text-[var(--color-content-default-secondary)] mb-[var(--spacing-scale-016)]">
We're sorry, but something unexpected happened.
We&apos;re sorry, but something unexpected happened.
</p>
<button
onClick={() => this.setState({ hasError: false, error: null })}
@@ -46,4 +46,3 @@ class ErrorBoundary extends Component {
}
export default ErrorBoundary;
+1 -1
View File
@@ -42,7 +42,7 @@ const FeatureGrid = memo(({ title, subtitle, className = "" }) => {
href: "#conflict-resolution",
},
],
[]
[],
);
return (
<section
+1 -1
View File
@@ -33,7 +33,7 @@ const HeaderTab = memo(
/>
</div>
);
}
},
);
HeaderTab.displayName = "HeaderTab";
+1 -1
View File
@@ -46,7 +46,7 @@ const HeroBanner = memo(
</div>
</section>
);
}
},
);
HeroBanner.displayName = "HeroBanner";
+4 -4
View File
@@ -79,10 +79,10 @@ const HomeHeader = memo(() => {
? size === "home" || size === "homeMd"
? "homeMd"
: size === "large"
? "large"
: size === "homeXlarge"
? "homeXlarge"
: "xsmallUseCases"
? "large"
: size === "homeXlarge"
? "homeXlarge"
: "xsmallUseCases"
: size
}
variant={
+1 -1
View File
@@ -33,7 +33,7 @@ const ImagePlaceholder = memo(
{text}
</div>
);
}
},
);
ImagePlaceholder.displayName = "ImagePlaceholder";
+20 -20
View File
@@ -95,26 +95,26 @@ const Logo = memo(({ size = "default", showText = true }) => {
size === "homeHeaderXsmall"
? sizes.homeHeaderXsmall
: size === "homeHeaderSm"
? sizes.homeHeaderSm
: size === "homeHeaderMd"
? sizes.homeHeaderMd
: size === "homeHeaderLg"
? sizes.homeHeaderLg
: size === "homeHeaderXl"
? sizes.homeHeaderXl
: size === "header"
? sizes.header
: size === "headerMd"
? sizes.headerMd
: size === "headerLg"
? sizes.headerLg
: size === "headerXl"
? sizes.headerXl
: size === "footer"
? sizes.footer
: size === "footerLg"
? sizes.footerLg
: sizes.default;
? sizes.homeHeaderSm
: size === "homeHeaderMd"
? sizes.homeHeaderMd
: size === "homeHeaderLg"
? sizes.homeHeaderLg
: size === "homeHeaderXl"
? sizes.homeHeaderXl
: size === "header"
? sizes.header
: size === "headerMd"
? sizes.headerMd
: size === "headerLg"
? sizes.headerLg
: size === "headerXl"
? sizes.headerXl
: size === "footer"
? sizes.footer
: size === "footerLg"
? sizes.footerLg
: sizes.default;
return (
<Link href="/" className="block" aria-label="CommunityRule Logo">
+1 -1
View File
@@ -25,7 +25,7 @@ const MenuBar = memo(
{children}
</nav>
);
}
},
);
MenuBar.displayName = "MenuBar";
+1 -1
View File
@@ -158,7 +158,7 @@ const MenuBarItem = memo(
{children}
</a>
);
}
},
);
MenuBarItem.displayName = "MenuBarItem";
+1 -1
View File
@@ -116,7 +116,7 @@ const MiniCard = memo(
{cardContent}
</div>
);
}
},
);
MiniCard.displayName = "MiniCard";
+46 -43
View File
@@ -1,58 +1,61 @@
import React, { memo } from "react";
const NavigationItem = memo(({
href = "#",
children,
variant = "default",
size = "default",
className = "",
disabled = false,
...props
}) {
// Variant styles
const variantStyles = {
default:
"bg-transparent text-[var(--color-content-default-brand-primary)] border border-transparent hover:bg-[var(--color-surface-default-tertiary)] hover:text-[var(--color-content-default-brand-primary)] active:bg-transparent active:text-[var(--color-content-default-brand-primary)] active:border-[var(--color-content-default-brand-primary)] disabled:bg-[var(--color-surface-default-tertiary)] disabled:text-[var(--color-content-default-tertiary)] disabled:border-[var(--color-content-default-tertiary)] disabled:opacity-50 disabled:cursor-not-allowed",
};
const NavigationItem = memo(
({
href = "#",
children,
variant = "default",
size = "default",
className = "",
disabled = false,
...props
}) => {
// Variant styles
const variantStyles = {
default:
"bg-transparent text-[var(--color-content-default-brand-primary)] border border-transparent hover:bg-[var(--color-surface-default-tertiary)] hover:text-[var(--color-content-default-brand-primary)] active:bg-transparent active:text-[var(--color-content-default-brand-primary)] active:border-[var(--color-content-default-brand-primary)] disabled:bg-[var(--color-surface-default-tertiary)] disabled:text-[var(--color-content-default-tertiary)] disabled:border-[var(--color-content-default-tertiary)] disabled:opacity-50 disabled:cursor-not-allowed",
};
// Size styles
const sizeStyles = {
default:
"px-[var(--spacing-scale-016)] py-[var(--spacing-scale-016)] gap-[var(--spacing-scale-004)]",
xsmall:
"px-[var(--spacing-scale-004)] py-[var(--spacing-scale-002)] gap-[var(--spacing-scale-004)]",
};
// Size styles
const sizeStyles = {
default:
"px-[var(--spacing-scale-016)] py-[var(--spacing-scale-016)] gap-[var(--spacing-scale-004)]",
xsmall:
"px-[var(--spacing-scale-004)] py-[var(--spacing-scale-002)] gap-[var(--spacing-scale-004)]",
};
// Text styles based on size
const textStyles = {
default: "font-inter text-[10px] leading-[12px] font-medium tracking-[0%]",
xsmall: "font-inter text-[10px] leading-[12px] font-medium tracking-[0%]",
};
// Text styles based on size
const textStyles = {
default:
"font-inter text-[10px] leading-[12px] font-medium tracking-[0%]",
xsmall: "font-inter text-[10px] leading-[12px] font-medium tracking-[0%]",
};
const baseStyles = `inline-flex items-center ${sizeStyles[size]} rounded-[var(--radius-measures-radius-full)] ${textStyles[size]} transition-all duration-200 cursor-pointer`;
const baseStyles = `inline-flex items-center ${sizeStyles[size]} rounded-[var(--radius-measures-radius-full)] ${textStyles[size]} transition-all duration-200 cursor-pointer`;
// Determine which variant to use
let finalVariant = variant;
if (disabled) {
finalVariant = "default"; // The disabled state is handled by disabled: utilities
}
// Determine which variant to use
let finalVariant = variant;
if (disabled) {
finalVariant = "default"; // The disabled state is handled by disabled: utilities
}
const combinedStyles = `${baseStyles} ${variantStyles[finalVariant]} ${className}`;
const combinedStyles = `${baseStyles} ${variantStyles[finalVariant]} ${className}`;
if (disabled) {
return (
<span className={combinedStyles} {...props}>
{children}
</span>
);
}
if (disabled) {
return (
<span className={combinedStyles} {...props}>
<a href={href} className={combinedStyles} {...props}>
{children}
</span>
</a>
);
}
return (
<a href={href} className={combinedStyles} {...props}>
{children}
</a>
);
});
);
NavigationItem.displayName = "NavigationItem";
+1 -1
View File
@@ -20,7 +20,7 @@ const NumberedCards = memo(({ title, subtitle, cards }) => {
text: card.text,
})),
}),
[title, subtitle, cards]
[title, subtitle, cards],
);
return (
+2 -2
View File
@@ -80,7 +80,7 @@ const QuoteBlock = memo(
const handleImageError = (error) => {
console.warn(
`QuoteBlock: Failed to load avatar image for ${author}:`,
error
error,
);
setImageError(true);
setImageLoading(false);
@@ -244,7 +244,7 @@ const QuoteBlock = memo(
</div>
</section>
);
}
},
);
QuoteBlock.displayName = "QuoteBlock";
+6 -6
View File
@@ -8,7 +8,7 @@ const RelatedArticles = memo(
// Memoize filtered posts to prevent unnecessary re-computations
const filteredPosts = useMemo(
() => relatedPosts.filter((post) => post.slug !== currentPostSlug),
[relatedPosts, currentPostSlug]
[relatedPosts, currentPostSlug],
);
const [currentIndex, setCurrentIndex] = useState(0);
@@ -44,7 +44,7 @@ const RelatedArticles = memo(
: "none",
scrollBehavior: !isMobile ? "smooth" : "auto",
}),
[isMobile, currentIndex]
[isMobile, currentIndex],
);
// Memoize progress bar style calculation
@@ -54,10 +54,10 @@ const RelatedArticles = memo(
index === currentIndex
? `${progress}%`
: index < currentIndex
? "100%"
: "0%",
? "100%"
: "0%",
}),
[currentIndex, progress]
[currentIndex, progress],
);
// Check if we're on mobile (below lg breakpoint)
@@ -155,7 +155,7 @@ const RelatedArticles = memo(
</div>
</section>
);
}
},
);
RelatedArticles.displayName = "RelatedArticles";
+1 -1
View File
@@ -71,7 +71,7 @@ const RuleCard = memo(
)}
</div>
);
}
},
);
RuleCard.displayName = "RuleCard";
+1 -1
View File
@@ -52,7 +52,7 @@ const SectionHeader = memo(
</div>
</div>
);
}
},
);
SectionHeader.displayName = "SectionHeader";
+1 -1
View File
@@ -88,7 +88,7 @@ const WebVitalsDashboard = memo(() => {
},
}));
});
}
},
);
}
}, []);