webapp/src/components/Feed/Row2.tsx

42 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-10-31 16:40:55 +00:00
import { createComputed, createSignal, Show, For } from 'solid-js'
2022-09-09 11:53:35 +00:00
import type { Shout } from '../../graphql/types.gen'
import { ArticleCard } from './Card'
2022-09-09 11:53:35 +00:00
const x = [
2023-03-10 17:42:48 +00:00
['12', '12'],
['8', '16'],
['16', '8']
2022-09-09 11:53:35 +00:00
]
2023-01-24 22:15:29 +00:00
export const Row2 = (props: { articles: Shout[]; isEqual?: boolean; nodate?: boolean }) => {
2022-09-09 11:53:35 +00:00
const [y, setY] = createSignal(0)
createComputed(() => setY(Math.floor(Math.random() * x.length)))
return (
<div class="floor">
2022-11-20 21:23:12 +00:00
<div class="wide-container">
<div class="row">
<For each={props.articles}>
{(a, i) => {
return (
<Show when={!!a}>
2023-03-10 17:42:48 +00:00
<div class={`col-md-${props.isEqual ? '12' : x[y()][i()]}`}>
2022-11-20 21:23:12 +00:00
<ArticleCard
article={a}
settings={{
2023-03-10 17:42:48 +00:00
isWithCover: props.isEqual || x[y()][i()] === '16',
2023-01-24 22:15:29 +00:00
nodate: props.isEqual || props.nodate
2022-11-20 21:23:12 +00:00
}}
/>
</div>
</Show>
)
}}
</For>
</div>
2022-09-09 11:53:35 +00:00
</div>
</div>
)
}