import { type ReactNode } from "react"; import { View, Text, TouchableOpacity, StyleSheet } from "react-native"; import { resolvePalette } from "../../utils/epubTheme"; import type { ReadingSettings } from "../../types/reader"; interface ReaderToolbarProps { title: string; chapterTitle: string; progressPct: number; settings: ReadingSettings; isBookmarked: boolean; onBack: () => void; onToggleToc: () => void; onToggleSettings: () => void; onToggleBookmarks: () => void; onToggleBookmarkHere: () => void; } export function ReaderToolbar({ title, chapterTitle, progressPct, settings, isBookmarked, onBack, onToggleToc, onToggleSettings, onToggleBookmarks, onToggleBookmarkHere, }: ReaderToolbarProps): ReactNode { const palette = resolvePalette(settings); return ( {title} {chapterTitle ? ( {chapterTitle} ) : null} {isBookmarked ? "★" : "☆"} Aa ); } const styles = StyleSheet.create({ bar: { paddingTop: 8, paddingHorizontal: 8, paddingBottom: 6, }, row: { flexDirection: "row", alignItems: "center", }, titles: { flex: 1, marginHorizontal: 8, }, title: { fontSize: 14, fontWeight: "600", }, chapter: { fontSize: 11, opacity: 0.7, }, iconButton: { paddingHorizontal: 8, paddingVertical: 4, minWidth: 28, alignItems: "center", }, icon: { fontSize: 28, lineHeight: 30, }, iconSmall: { fontSize: 17, fontWeight: "600", }, progressTrack: { height: 3, borderRadius: 2, backgroundColor: "rgba(127,127,127,0.25)", marginTop: 6, overflow: "hidden", }, progressFill: { height: "100%", backgroundColor: "#4f8ef7", }, });