@@ -102,76 +102,14 @@ is:open -author:app/dependabot label:"priority"
102102
103103See [ GitHub's search syntax documentation] ( https://docs.github.com/en/search-github/searching-on-github/searching-issues-and-pull-requests ) for all available qualifiers.
104104
105- ## 🏗️ Architecture
106-
107- ### Technology Stack
105+ ## 🏗️ Technology Stack
108106
109107- ** [ WXT] ( https://wxt.dev/ ) ** - Cross-browser extension framework
110108- ** [ Svelte 5] ( https://svelte.dev/ ) ** - Reactive UI framework with runes API
111109- ** [ TypeScript] ( https://www.typescriptlang.org/ ) ** - Type-safe development
112110- ** [ Tailwind CSS 4] ( https://tailwindcss.com/ ) ** - Utility-first styling
113111- ** [ Vite] ( https://vitejs.dev/ ) ** - Fast build tool
114112
115- ### Project Structure
116-
117- ```
118- pullscope/
119- ├── src/
120- │ ├── entrypoints/ # Extension entry points
121- │ │ ├── background.ts # Background service worker
122- │ │ ├── content.ts # Content script loader
123- │ │ ├── content/
124- │ │ │ └── GithubPRFilter.svelte # Main content script
125- │ │ ├── popup/
126- │ │ │ ├── popup.ts # Popup entry
127- │ │ │ └── Popup.svelte # Popup UI
128- │ │ └── options/
129- │ │ ├── options.ts # Options page entry
130- │ │ └── Options.svelte # Options UI
131- │ ├── lib/
132- │ │ ├── types/ # TypeScript types
133- │ │ │ └── filter.ts
134- │ │ ├── stores/ # Svelte stores
135- │ │ │ └── filters.ts # Filter state management
136- │ │ ├── utils/ # Utility functions
137- │ │ │ ├── logger.ts # Logging framework
138- │ │ │ ├── dom.ts # DOM utilities
139- │ │ │ └── validation.ts # Filter validation
140- │ │ ├── components/ # Shared UI components
141- │ │ │ ├── ErrorDisplay.svelte
142- │ │ │ ├── Toast.svelte
143- │ │ │ └── FilterEditor.svelte
144- │ │ ├── github.ts # GitHub integration
145- │ │ └── storage.ts # Storage API wrapper
146- │ └── assets/ # Icons and images
147- ├── wxt.config.ts # WXT configuration
148- ├── tailwind.config.ts # Tailwind configuration
149- └── tsconfig.json # TypeScript configuration
150- ```
151-
152- ### Key Components
153-
154- ** Filter Store** (` src/lib/stores/filters.ts ` )
155-
156- - Centralized state management
157- - Automatic sync with browser storage
158- - Real-time updates across components
159- - Storage change listener for cross-tab sync
160-
161- ** GitHub Integration** (` src/lib/github.ts ` )
162-
163- - Multiple fallback selectors for robustness
164- - Token-based duplicate detection
165- - Form submission triggering
166- - Proper event dispatching
167-
168- ** Content Script** (` src/entrypoints/content/GithubPRFilter.svelte ` )
169-
170- - Waits for DOM elements to load
171- - Debounced URL change handler
172- - Real-time filter toggle listener
173- - Toast notifications
174-
175113## 🤝 Contributing
176114
177115Contributions are welcome! Please feel free to submit a Pull Request.
0 commit comments