-
Notifications
You must be signed in to change notification settings - Fork 54
Comparing changes
Open a pull request
base repository: dkhamsing/news
base: main
head repository: renaesop/news
compare: main
- 18 commits
- 67 files changed
- 2 contributors
Commits on Jun 26, 2025
-
Add favorites feature to save and view liked news articles
- Create FavoritesManager to handle saving/loading favorite articles - Add FavoritesViewController to display saved articles - Add favorite button to NewsCell base class - Update SceneDelegate to add tab bar with News and Favorites tabs - Update ApolloHandler and ApolloCell as example implementation - Support add/remove favorites with heart button - Support swipe to delete and clear all favorites 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e10daca - Browse repository at this point
Copy the full SHA e10dacaView commit details -
Add favorite buttons to all news cell types and handlers
- Add favoriteButton to layout in all 29 news cell types - Update all news handlers to configure favorite buttons - Add configureFavoriteButton extension method to NewsCell - Ensure favorite button shows correct state (filled/unfilled heart) - Position favorite buttons consistently in top-right corner - Adjust existing constraints to prevent overlap with favorite button - Support both table view and collection view cells 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 48e0532 - Browse repository at this point
Copy the full SHA 48e0532View commit details -
Fix NewsCell scope error by moving extension to correct file
- Move NewsCell extension from Extension.swift to NewsCell.swift - Add both UITableView and UICollectionView variants of configureFavoriteButton - Resolve compilation error: "Cannot find type 'NewsCell' in scope" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3e02298 - Browse repository at this point
Copy the full SHA 3e02298View commit details -
Fix configureFavoriteButton method for UIKitCell and LilNewsCell
- Add configureFavoriteButton method to UIKitCell (UITableViewCell) - Add configureFavoriteButton method to LilNewsCell (UICollectionViewCell) - Resolve compilation error: "Value of type 'UIKitCell' has no member 'configureFavoriteButton'" - Both cells now support the same favorite button configuration as NewsCell subclasses 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 65030f3 - Browse repository at this point
Copy the full SHA 65030f3View commit details
Commits on Jun 27, 2025
-
Add in-app browser support for CNN articles
- Add SFSafariViewController import to CNNHandler - Override didSelectRowAt to use SFSafariViewController instead of external Safari - Add findViewController() extension method to UIView for presenting Safari view - CNN articles now open in-app while other news sources remain unchanged 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e66625 - Browse repository at this point
Copy the full SHA 4e66625View commit details -
Optimize favorites list styling to match CNN layout
- Create new FavoritesCell with CNN-style layout (210pt image height, large bold titles) - Update FavoritesViewController to use FavoritesCell instead of generic NewsCell - Simplify cell configuration using CNN cell pattern - Improve visual consistency across news views with unified large image layout - Increase estimated row height to 280pt for better performance 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 03755ab - Browse repository at this point
Copy the full SHA 03755abView commit details -
Fix favorites list styling using existing NewsCell with CNN layout
- Remove separate FavoritesCell to avoid compilation issues - Implement CNN-style layout directly in FavoritesViewController - Add setupCNNStyleCell method to configure NewsCell with CNN appearance - Maintain 210pt image height, bold title, and proper spacing - Ensure compatibility with existing NewsCell infrastructure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 29caf4f - Browse repository at this point
Copy the full SHA 29caf4fView commit details -
Add immersive article detail view with floating controls
- Create ArticleDetailViewController with WKWebView for full-screen reading experience - Add floating return button, source label, and favorite button with semi-transparent backgrounds - Implement loading progress bar and error handling for better UX - Update all handlers (NewsTableHandler, NewsCollectionHandler, CNNHandler, FavoritesViewController) to use unified detail view - Remove SFSafariViewController popup approach in favor of navigation-based immersive experience - Support haptic feedback for favorite button interactions 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e71eca9 - Browse repository at this point
Copy the full SHA e71eca9View commit details -
Add CNN-specific article detail layout with dedicated view structure
- Add automatic CNN article detection based on source name - Implement dedicated CNN layout with top title bar and bottom controls - Top container: back button and article title display - Bottom container: source label and favorite button - Middle area: WebView for article content - Preserve existing immersive layout for non-CNN articles - Maintain all existing functionality including favorites and navigation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 820d681 - Browse repository at this point
Copy the full SHA 820d681View commit details -
Add ArticleDetailViewController to Xcode project file
- Add PBXBuildFile reference for ArticleDetailViewController.swift - Add PBXFileReference entry in project structure - Include file in main TheNews group - Add to build sources phase for compilation - Fix "Cannot find 'ArticleDetailViewController' in scope" error 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1e75a71 - Browse repository at this point
Copy the full SHA 1e75a71View commit details -
Simplify CNN article detail layout - remove bottom controls
- Remove bottom container with source label and favorite button - Reduce top container height from 80pt to 60pt - Set title label to single line display - WebView now extends to bottom safe area - Cleaner, more focused layout for CNN articles 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ad2a6ab - Browse repository at this point
Copy the full SHA ad2a6abView commit details -
Remove CNN-specific detail layout, use consistent immersive design
- Remove isCNNArticle detection logic - Delete setupCNNLayout method and related UI elements - Remove topContainer, bottomContainer, and titleLabel properties - All articles now use the same immersive floating controls design - Consistent user experience across all news sources 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0068f62 - Browse repository at this point
Copy the full SHA 0068f62View commit details -
Add gradient blur overlay to immersive article detail view
- Add UIVisualEffectView with systemMaterialDark blur effect - Implement gradient mask for smooth fade-out effect - Blur overlay covers top 120pt area with gradient transparency - Remove individual button/label backgrounds - now use shared blur - Add viewDidLayoutSubviews to update gradient frame on rotation - Improves readability while maintaining immersive experience 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8031802 - Browse repository at this point
Copy the full SHA 8031802View commit details -
Optimize immersive detail layout - reduce blur overlay and move butto…
…ns up - Reduce blur effect view height from 120pt to 80pt - Move back/favorite buttons closer to top (constant: 20 → 8) - Minimize blur overlay coverage to preserve main content visibility - Ensure article content is fully visible when page loads - Better balance between control visibility and content immersion 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 614a4af - Browse repository at this point
Copy the full SHA 614a4afView commit details -
Replace blur overlay with macOS-style text shadows for controls
- Remove blur effect view and gradient mask completely - Add text shadow to back button, source label, and favorite button - Shadow properties: black color, (0,1) offset, 0.8 opacity, 2pt radius - Mimics macOS desktop icon text shadow for better readability - Clean immersive experience without background overlays - Reset button positioning to 20pt from safe area top 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7438349 - Browse repository at this point
Copy the full SHA 7438349View commit details -
Change status bar to dark content (white background) in article detail
- Change preferredStatusBarStyle from .lightContent to .darkContent - Status bar now shows dark text/icons on white/light background - Consistent with typical article reading experience 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bc1153c - Browse repository at this point
Copy the full SHA bc1153cView commit details -
Add dislike functionality for articles with dedicated button
- Extend FavoritesManager with dislike methods (save, remove, toggle, check) - Add dislikeButton next to favorite button in article detail view - Implement mutual exclusivity: liking removes dislike, disliking removes like - Use thumbsdown/thumbsdown.fill icons for dislike states - Add text shadow effect consistent with other controls - Include haptic feedback for user interactions - Store dislikes in UserDefaults with separate key 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 30a23ed - Browse repository at this point
Copy the full SHA 30a23edView commit details -
Add dislike button to CNN-style news cells
- Extend NewsCell base class with dislikeButton and dislikeAction - Add updateDislikeButton method and dislikeButtonTapped handler - Update configureFavoriteButton to also configure dislike button - Modify CNNCell layout to include dislike button next to favorite - Position dislike button 8pt to the left of favorite button - Update summary text constraints to accommodate both buttons - Maintain consistent 44x44pt button sizes with systemGray tint 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7e1e505 - Browse repository at this point
Copy the full SHA 7e1e505View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...main