import { useState, useEffect } from 'react' import { NostrEvent } from 'nostr-tools' import { HighlightVisibility } from '../components/HighlightsPanel' import { UserSettings } from '../services/settingsService' import { ViewMode } from '../components/Bookmarks' interface UseBookmarksUIParams { settings: UserSettings } export const useBookmarksUI = ({ settings }: UseBookmarksUIParams) => { const [isCollapsed, setIsCollapsed] = useState(true) const [isHighlightsCollapsed, setIsHighlightsCollapsed] = useState(true) const [viewMode, setViewMode] = useState('compact') const [showHighlights, setShowHighlights] = useState(true) const [selectedHighlightId, setSelectedHighlightId] = useState(undefined) const [currentArticleCoordinate, setCurrentArticleCoordinate] = useState(undefined) const [currentArticleEventId, setCurrentArticleEventId] = useState(undefined) const [currentArticle, setCurrentArticle] = useState(undefined) const [highlightVisibility, setHighlightVisibility] = useState({ nostrverse: true, friends: true, mine: true }) // Apply UI settings useEffect(() => { if (settings.defaultViewMode) setViewMode(settings.defaultViewMode) if (settings.showHighlights !== undefined) setShowHighlights(settings.showHighlights) setHighlightVisibility({ nostrverse: settings.defaultHighlightVisibilityNostrverse !== false, friends: settings.defaultHighlightVisibilityFriends !== false, mine: settings.defaultHighlightVisibilityMine !== false }) }, [settings]) return { isCollapsed, setIsCollapsed, isHighlightsCollapsed, setIsHighlightsCollapsed, viewMode, setViewMode, showHighlights, setShowHighlights, selectedHighlightId, setSelectedHighlightId, currentArticleCoordinate, setCurrentArticleCoordinate, currentArticleEventId, setCurrentArticleEventId, currentArticle, setCurrentArticle, highlightVisibility, setHighlightVisibility } }