aboutsummaryrefslogtreecommitdiff
path: root/src/view/client/main.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/client/main.ts')
-rw-r--r--src/view/client/main.ts46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/view/client/main.ts b/src/view/client/main.ts
deleted file mode 100644
index 5885871..0000000
--- a/src/view/client/main.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { h, withVar, mount, Html } from 'lib/rx'
-import * as Search from 'lib/search'
-import * as Functions from 'lib/functions'
-import * as I18n from 'lib/i18n'
-import * as Filters from 'view/filters'
-import * as Books from 'view/books'
-import * as Book from 'book'
-
-// @ts-ignore
-const sortedBookLibrary: Array<Book> = (bookLibrary as Array<Book.Book>).sort((a, b) =>
- a.authorsSort == b.authorsSort
- ? a.date > b.date
- : a.authorsSort > b.authorsSort)
-
-mount(withVar<Filters.Model>({}, (filters, updateFilters) =>
- withVar('', (search, updateSearch) => {
- const filteredBooks = filters.flatMap(f => search.map(s =>
- sortedBookLibrary.filter(book =>
- (f.read === undefined || book.read === f.read)
- && (s === '' || matchSearch(book, s))
- )
- ))
-
- return [
- h('aside', Filters.view({ filteredBooks, filters, updateFilters })),
- h('main',
- h('header',
- h('input',
- { className: 'g-Search',
- oninput: Functions.debounce(
- (event: Event) => updateSearch(_ => (event.target as HTMLInputElement).value),
- 500
- )
- }
- ),
- filteredBooks.map(fb => I18n.unit(fb.length, 'livre', 'livres'))
- ),
- Books.view(filteredBooks)
- )
- ]
- })
-))
-
-function matchSearch(book: Book.Book, search: string): boolean {
- return Search.match(search, book.title, book.subtitle, ...book.authors)
-}