diff --git a/src/App.tsx b/src/App.tsx index 86bc1d5..fbc564d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,4 +1,5 @@ import { useState } from 'react'; +import { Search, FolderSearch, Library, BookOpen, UserCircle, Settings as SettingsIcon, Menu, Info, Shield, ChevronRight, ChevronLeft, BookMarked } from 'lucide-react'; import './App.css'; import { webAPI } from './api'; import ReaderModal from './components/ReaderModal'; @@ -54,6 +55,10 @@ function App() { root.style.setProperty('--app-text', theme.text); root.style.setProperty('--reader-bg', theme.readerBg); root.style.setProperty('--reader-paper', theme.readerPaper); + // @ts-ignore + root.style.setProperty('--app-primary', theme.primary || '#0f172a'); + // @ts-ignore + root.style.setProperty('--app-primary-hover', theme.primaryHover || '#1e293b'); root.style.setProperty('--arabic-font', `"${settings.arabicFont}", serif`); root.style.setProperty('--latin-font', `"${settings.latinFont}", sans-serif`); }, [settings]); @@ -124,8 +129,8 @@ function App() { const totalPages = Math.ceil(totalResults / limit); return ( -
-
+
+
{/* Logo & Title */}
@@ -137,39 +142,39 @@ function App() {
@@ -189,40 +194,44 @@ function App() { ) : activeTab === 'catalog' ? ( setReadingConfig({ bookId })} /> ) : activeTab === 'more' ? ( -
-

Lainnya

+
+

+ Lainnya +

- - - - -
) : (
{activeTab === 'advanced_search' && ( -
-

Cari Lanjut (Berdasarkan Kategori)

+
+

+ Cari Lanjut (Berdasarkan Kategori) +

)} -
- setQuery(e.target.value)} - placeholder="Cari di sini..." - className="flex-1 p-3 md:p-4 rounded-lg border-2 border-[#8d6e63] text-lg md:text-xl focus:outline-none focus:border-[#4e342e] bg-white shadow-inner" - /> + +
+
+ +
+ setQuery(e.target.value)} + placeholder="Cari di sini..." + className="w-full pl-4 pr-12 py-4 rounded-xl border-2 border-black/10 text-lg md:text-xl focus:outline-none focus:border-[var(--app-primary)] bg-[var(--reader-paper)] shadow-inner transition-all" + /> +
- {error &&
{error}
} + {error &&
{error}
} {totalResults > 0 && ( -
- Total Hasil: {totalResults.toLocaleString()} - Halaman {currentPage} dari {totalPages} +
+ Total Hasil: {totalResults.toLocaleString()} + Halaman {currentPage} dari {totalPages}
)}
{results.map((r, i) => ( -
-
+
+
- Jilid: {r.part} | Halaman: {r.page} + Jilid: {r.part} | Halaman: {r.page}
{r.book_name && (
- - ≡اôأ {r.book_name} + + {r.book_name}
)}
setReadingConfig({ bookId: r.book_id, pageId: r.page_id, highlightQuery: query })} - className="text-2xl leading-loose cursor-pointer hover:bg-[#fbf8f1] active:bg-[#f0e8d0] p-3 rounded-lg border border-transparent hover:border-[#d7ccc8] active:border-[#d7ccc8] transition-all" + className="text-2xl leading-loose cursor-pointer hover:bg-[var(--app-primary)]/5 active:bg-[var(--app-primary)]/10 p-4 rounded-xl border border-transparent hover:border-[var(--app-primary)]/20 transition-all text-justify" title="Klik teks untuk membaca halaman ini" dangerouslySetInnerHTML={{ __html: r.snippet }} />
))} {!loading && results.length === 0 && query && !error && ( -

Tidak ada hasil ditemukan.

+
+ +

Tidak ada hasil ditemukan.

+
)}
{totalResults > 0 && ( -
+
- + {currentPage} / {totalPages}
)} @@ -323,75 +342,78 @@ function App() { {/* Footer (Hidden on mobile because it's replaced by Lainnya menu) */} -