@@ -132,7 +134,7 @@ export const AllAuthorsView = (props: Props) => {
- {(letter: string, index) => (
+ {(letter, index) => (
-
{
-
-
-
-
- {(author) => (
- <>
-
-
- >
- )}
-
-
-
+
+
+ {(author) => (
+ <>
+
+
+ >
+ )}
+
limit() && searchParams().by !== 'name'}>
diff --git a/src/components/Views/Home.tsx b/src/components/Views/Home.tsx
index 6b36c6f8..7c392994 100644
--- a/src/components/Views/Home.tsx
+++ b/src/components/Views/Home.tsx
@@ -8,7 +8,7 @@ import { Row1 } from '../Feed/Row1'
import Hero from '../Discours/Hero'
import { Beside } from '../Feed/Beside'
import RowShort from '../Feed/RowShort'
-import Slider from '../Feed/Slider'
+import Slider from '../_shared/Slider'
import Group from '../Feed/Group'
import type { Shout, Topic } from '../../graphql/types.gen'
import { t } from '../../utils/intl'
@@ -18,6 +18,7 @@ import { useTopAuthorsStore } from '../../stores/zine/topAuthors'
import { locale } from '../../stores/ui'
import { restoreScrollPosition, saveScrollPosition } from '../../utils/scroll'
import { splitToPages } from '../../utils/splitToPages'
+import { ArticleCard } from '../Feed/Card'
type HomeProps = {
randomTopics: Topic[]
@@ -120,7 +121,21 @@ export const HomeView = (props: HomeProps) => {
wrapper={'author'}
/>
-
+
+
+ {(a: Shout) => (
+
+ )}
+
+
@@ -132,7 +147,21 @@ export const HomeView = (props: HomeProps) => {
{randomLayout()}
-
+
+
+ {(a: Shout) => (
+
+ )}
+
+
{
wrapper={'author'}
/>
-
+
+
+ {(a: Shout) => (
+
+ )}
+
+
{
-
+
+
+ {(a: Shout) => (
+
+ )}
+
+
diff --git a/src/components/Feed/Slider.scss b/src/components/_shared/Slider.scss
similarity index 100%
rename from src/components/Feed/Slider.scss
rename to src/components/_shared/Slider.scss
diff --git a/src/components/Feed/Slider.tsx b/src/components/_shared/Slider.tsx
similarity index 76%
rename from src/components/Feed/Slider.tsx
rename to src/components/_shared/Slider.tsx
index e0fe443d..049bb3b2 100644
--- a/src/components/Feed/Slider.tsx
+++ b/src/components/_shared/Slider.tsx
@@ -1,4 +1,3 @@
-import { ArticleCard } from './Card'
import { Swiper, Navigation, Pagination } from 'swiper'
import type { SwiperOptions } from 'swiper'
import 'swiper/scss'
@@ -6,14 +5,15 @@ import 'swiper/scss/navigation'
import 'swiper/scss/pagination'
import './Slider.scss'
import type { Shout } from '../../graphql/types.gen'
-import { createEffect, createMemo, createSignal, Show, For } from 'solid-js'
-import { Icon } from '../_shared/Icon'
+import { createEffect, createMemo, createSignal, Show, For, JSX } from 'solid-js'
+import { Icon } from './Icon'
interface SliderProps {
title?: string
- articles: Shout[]
+ articles?: Shout[]
slidesPerView?: number
isCardsWithCover?: boolean
+ children?: JSX.Element
}
export default (props: SliderProps) => {
@@ -66,21 +66,7 @@ export default (props: SliderProps) => {
{props.title}
-
-
- {(a: Shout) => (
-
- )}
-
-
+
{props.children}
swiper()?.slideNext()}>
diff --git a/src/locales/ru.json b/src/locales/ru.json
index 49cd9358..a04a7365 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -15,6 +15,7 @@
"By alphabet": "По алфавиту",
"By authors": "По авторам",
"By name": "По имени",
+ "By popularity": "По популярности",
"By rating": "По популярности",
"By relevance": "По релевантности",
"By shouts": "По публикациям",