feat: Add favicon provider setting (Google vs DuckDuckGo) #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
⚙️ Favicon Provider Settings
Closes #3
✨ What's New
Adds a Favicon Provider setting that allows users to choose between Google and DuckDuckGo favicon services.
🎯 Motivation
Privacy Considerations:
📦 Implementation
1. FaviconProvider Enum
2. Settings Integration
@AppStorage3. Dynamic Favicon Loading
FavoriteRowViewreads provider from AppStorage🖼️ Settings UI
New Appearance Section:
🔧 API Endpoints
Google:
https://www.google.com/s2/favicons?domain={domain}&sz=32DuckDuckGo:
https://icons.duckduckgo.com/ip3/{domain}.ico✅ Testing
Tested Scenarios:
📝 Changes
New Files:
FaviconProvider.swift- Provider enum with URL generation logicModified Files:
SettingsView.swift- Added Appearance section with provider pickerContentView.swift- Use selected provider for favicon URLs🎨 UI Improvements
🔐 Privacy Benefits
Users can now choose DuckDuckGo if they prefer:
Ready for review! 🚀