separate non featured articles on quadrant view

This commit is contained in:
dennis.ludwig
2021-06-16 11:53:05 +02:00
parent 61d7fa38f2
commit eff1bcbc2b
14 changed files with 581 additions and 441 deletions

View File

@@ -1,32 +1,43 @@
import React from 'react';
import Item from '../Item/Item';
import { Item as mItem } from '../../model';
import './item-list.scss';
import React from "react";
import Item from "../Item/Item";
import { Item as mItem } from "../../model";
import "./item-list.scss";
type ItemListProps = {
items: mItem[];
activeItem?: mItem;
noLeadingBorder?: boolean;
headerStyle?: React.CSSProperties;
itemStyle?: React.CSSProperties[];
greyedOut?: boolean;
};
export default function ItemList({ children, items, activeItem, noLeadingBorder, headerStyle = {}, itemStyle = [] }: React.PropsWithChildren<ItemListProps>) {
return (
<div className='item-list'>
<div className='item-list__header' style={headerStyle}>
{children}
</div>
<div className='item-list__list'>
{items.map((item, i) => (
<Item
key={item.name}
item={item}
noLeadingBorder={noLeadingBorder}
active={activeItem !== null && activeItem !== undefined && activeItem.name === item.name}
style={itemStyle[i]}
/>
))}
</div>
const ItemList: React.FC<ItemListProps> = ({
children,
items,
activeItem,
noLeadingBorder,
headerStyle = {},
itemStyle = [],
greyedOut = false,
}) => (
<div className="item-list">
<div className="item-list__header" style={headerStyle}>
{children}
</div>
);
}
<div className="item-list__list">
{items.map((item, i) => (
<Item
key={item.name}
item={item}
noLeadingBorder={noLeadingBorder}
active={activeItem?.name === item.name}
style={itemStyle[i]}
greyedOut={greyedOut}
/>
))}
</div>
</div>
);
export default ItemList;