This commit is contained in:
2025-11-12 05:27:50 +05:30
parent 1f21ab38fc
commit 3cac047709

View File

@@ -37,12 +37,12 @@ export default function MainContent({
articles, articles,
onSelectArticle, onSelectArticle,
}: { }: {
articles: any[]; articles: ArticleModel[];
onSelectArticle: (index: number) => void; onSelectArticle: (index: number) => void;
}) { }) {
const [visibleArticles, setVisibleArticles] = React.useState<ArticleModel[]>(articles); const [visibleArticles, setVisibleArticles] = React.useState<ArticleModel[]>(articles);
const [activeTag, setActiveTag] = React.useState<string | null>(null); const [activeTag, setActiveTag] = React.useState<string>('all');
const filterArticlesByTag = (tag: string) => { const filterArticlesByTag = (tag: string) => {
if (tag === 'all') { if (tag === 'all') {
@@ -75,11 +75,9 @@ export default function MainContent({
return ( return (
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 4 }}> <Box sx={{ display: 'flex', flexDirection: 'column', gap: 4 }}>
<div> <Typography variant="h1" gutterBottom>
<Typography variant="h1" gutterBottom> Blog
Blog </Typography>
</Typography>
</div>
<Box <Box
sx={{ sx={{
display: { xs: 'flex', sm: 'none' }, display: { xs: 'flex', sm: 'none' },
@@ -113,61 +111,21 @@ export default function MainContent({
overflow: 'auto', overflow: 'auto',
}} }}
> >
<Chip {['all', 'infra', 'code', 'media', 'monitoring'].map((tag) => (
onClick={() => handleTagClick('all')} <Chip
size="medium" key={tag}
label="All categories" onClick={() => handleTagClick(tag)}
color={activeTag === 'all' ? 'primary' : 'default'} size="medium"
variant={activeTag === 'all' ? 'filled' : 'outlined'} label={tag === 'all' ? 'All categories' : tag.charAt(0).toUpperCase() + tag.slice(1)}
sx={{ color={activeTag === tag ? 'primary' : 'default'}
borderRadius: '8px', variant={activeTag === tag ? 'filled' : 'outlined'}
fontWeight: activeTag === 'all' ? 600 : 400, sx={{
}} borderRadius: '8px',
/> fontWeight: activeTag === tag ? 600 : 400,
<Chip textTransform: 'capitalize',
onClick={() => handleTagClick('infra')} }}
size="medium" />
label="Infra" ))}
color={activeTag === 'infra' ? 'primary' : 'default'}
variant={activeTag === 'infra' ? 'filled' : 'outlined'}
sx={{
borderRadius: '8px',
fontWeight: activeTag === 'infra' ? 600 : 400,
}}
/>
<Chip
onClick={() => handleTagClick('code')}
size="medium"
label="Code"
color={activeTag === 'code' ? 'primary' : 'default'}
variant={activeTag === 'code' ? 'filled' : 'outlined'}
sx={{
borderRadius: '8px',
fontWeight: activeTag === 'code' ? 600 : 400,
}}
/>
<Chip
onClick={() => handleTagClick('media')}
size="medium"
label="Media"
color={activeTag === 'media' ? 'primary' : 'default'}
variant={activeTag === 'media' ? 'filled' : 'outlined'}
sx={{
borderRadius: '8px',
fontWeight: activeTag === 'media' ? 600 : 400,
}}
/>
<Chip
onClick={() => handleTagClick('monitoring')}
size="medium"
label="Monitoring"
color={activeTag === 'monitoring' ? 'primary' : 'default'}
variant={activeTag === 'monitoring' ? 'filled' : 'outlined'}
sx={{
borderRadius: '8px',
fontWeight: activeTag === 'all' ? 600 : 400,
}}
/>
</Box> </Box>
<Box <Box
sx={{ sx={{