SYMBOL INDEX (54 symbols across 28 files) FILE: src/background/rules.ts function initSchedule (line 45) | async function initSchedule() { FILE: src/entrypoints/content.ts method main (line 3) | main() { FILE: src/lib/components/AppearanceSwitch.tsx function AppearanceSwitch (line 3) | function AppearanceSwitch({ className = "" }: { className?: string }) { FILE: src/lib/components/Button.tsx type ButtonProps (line 38) | interface ButtonProps FILE: src/lib/components/Input.tsx type InputProps (line 5) | interface InputProps FILE: src/lib/components/Pagination.tsx type PaginationLinkProps (line 37) | type PaginationLinkProps = { FILE: src/lib/components/Sheet.tsx type SheetContentProps (line 52) | interface SheetContentProps FILE: src/lib/config.ts function getConfig (line 43) | async function getConfig() { function setConfig (line 52) | async function setConfig(config: Partial) { FILE: src/lib/hooks/use-dark.ts function getSnapshot (line 6) | function getSnapshot() { function getServerSnapshot (line 10) | function getServerSnapshot(): undefined { function subscribe (line 14) | function subscribe(callback: () => void) { function useSystemDark (line 22) | function useSystemDark() { type Theme (line 27) | type Theme = (typeof themeOptions)[number] function isDarkMode (line 29) | function isDarkMode(setting?: Theme | null, isSystemDark?: boolean) { function useDark (line 33) | function useDark(themeKey = "use-dark") { FILE: src/lib/messaging.ts type ExtensionMessage (line 1) | type ExtensionMessage = { function sendToBackground (line 6) | function sendToBackground(message: ExtensionMessage) { function sendToContentScript (line 18) | function sendToContentScript({ FILE: src/lib/offscreen.ts function setupOffscreenDocument (line 4) | async function setupOffscreenDocument(path: string) { FILE: src/lib/report.ts function isSampled (line 1) | function isSampled(rate) { function report (line 6) | function report({ FILE: src/lib/rss.ts function getPageRSS (line 4) | async function getPageRSS() { FILE: src/lib/rsshub.ts function ruleHandler (line 7) | function ruleHandler(rule: Rule, params, url, html, success, fail) { function formatBlank (line 74) | function formatBlank(str1, str2) { function getPageRSSHub (line 89) | function getPageRSSHub(data: { function getWebsiteRSSHub (line 214) | function getWebsiteRSSHub(data: { url: string; rules: string }) { FILE: src/lib/rules.ts function parseRules (line 9) | function parseRules(rules: string, forceJSON?: boolean) { function getRulesCount (line 33) | function getRulesCount(rules: Rules) { function getRemoteRules (line 46) | async function getRemoteRules() { FILE: src/lib/storage.ts function getLocalStorage (line 1) | function getLocalStorage(key: string) { function setLocalStorage (line 14) | function setLocalStorage(key: string, value: T) { FILE: src/lib/types.ts type Rule (line 1) | type Rule = { type Rules (line 8) | type Rules = { type RSSData (line 15) | type RSSData = { FILE: src/lib/utils.ts function cn (line 5) | function cn(...inputs: ClassValue[]) { function removeFunctionFields (line 9) | function removeFunctionFields(obj) { function parseRSS (line 18) | function parseRSS(content: string) { function fetchRSSContent (line 36) | async function fetchRSSContent(url: string) { function getRadarRulesUrl (line 46) | function getRadarRulesUrl(rsshubDomain: string) { FILE: src/options/Siderbar.tsx function SiderbarContent (line 16) | function SiderbarContent({ withClose }: { withClose?: boolean }) { function Siderbar (line 80) | function Siderbar() { FILE: src/options/index.tsx function Options (line 11) | function Options() { FILE: src/options/routes/About.tsx function About (line 6) | function About() { FILE: src/options/routes/General.tsx function General (line 20) | function General() { FILE: src/options/routes/Rules.tsx function RulesPagination (line 25) | function RulesPagination({ function RulesList (line 82) | function RulesList({ function Rules (line 137) | function Rules() { FILE: src/popup/RSSItem.tsx function RSSItem (line 13) | function RSSItem({ FILE: src/popup/RSSList.tsx function RSSList (line 5) | function RSSList({ type, list }: { type: string; list: RSSData[] }) { FILE: src/popup/index.tsx function IndexPopup (line 11) | function IndexPopup() { FILE: src/tabs/offscreen.tsx type OffscreenMessage (line 5) | type OffscreenMessage = { function OffscreenPage (line 10) | function OffscreenPage() { FILE: src/tabs/preview.tsx function PreviewPage (line 23) | function PreviewPage() {