This commit is contained in:
Igor Lobanov 2023-11-04 17:09:29 +01:00
parent d4e0d43a55
commit 8ca38a6fd9

View File

@ -46,28 +46,26 @@ export const AllAuthorsView = (props: AllAuthorsViewProps) => {
}) })
const byLetter = createMemo<{ [letter: string]: Author[] }>(() => { const byLetter = createMemo<{ [letter: string]: Author[] }>(() => {
return sortedAuthors() return sortedAuthors().reduce(
.slice(0, 1) (acc, author) => {
.reduce( let letter = ''
(acc, author) => { if (author && author.name) {
let letter = '' const nameParts = author.name.trim().split(' ')
if (author && author.name) { const lastName = nameParts.pop()
const nameParts = author.name.trim().split(' ') if (lastName && lastName.length > 0) {
const lastName = nameParts.pop() letter = lastName[0].toUpperCase()
if (lastName && lastName.length > 0) {
letter = lastName[0].toUpperCase()
}
} }
}
if (/[^ËА-яё]/.test(letter) && lang() === 'ru') letter = '@' if (/[^ËА-яё]/.test(letter) && lang() === 'ru') letter = '@'
if (!acc[letter]) acc[letter] = [] if (!acc[letter]) acc[letter] = []
acc[letter].push(author) acc[letter].push(author)
return acc return acc
}, },
{} as { [letter: string]: Author[] } {} as { [letter: string]: Author[] }
) )
}) })
const sortedKeys = createMemo<string[]>(() => { const sortedKeys = createMemo<string[]>(() => {