Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dkhamsing/news
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: renaesop/news
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 18 commits
  • 67 files changed
  • 2 contributors

Commits on Jun 26, 2025

  1. 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]>
    Claude Code and claude committed Jun 26, 2025
    Configuration menu
    Copy the full SHA
    e10daca View commit details
    Browse the repository at this point in the history
  2. 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]>
    Claude Code and claude committed Jun 26, 2025
    Configuration menu
    Copy the full SHA
    48e0532 View commit details
    Browse the repository at this point in the history
  3. 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]>
    Claude Code and claude committed Jun 26, 2025
    Configuration menu
    Copy the full SHA
    3e02298 View commit details
    Browse the repository at this point in the history
  4. 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]>
    Claude Code and claude committed Jun 26, 2025
    Configuration menu
    Copy the full SHA
    65030f3 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2025

  1. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    4e66625 View commit details
    Browse the repository at this point in the history
  2. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    03755ab View commit details
    Browse the repository at this point in the history
  3. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    29caf4f View commit details
    Browse the repository at this point in the history
  4. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    e71eca9 View commit details
    Browse the repository at this point in the history
  5. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    820d681 View commit details
    Browse the repository at this point in the history
  6. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    1e75a71 View commit details
    Browse the repository at this point in the history
  7. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    ad2a6ab View commit details
    Browse the repository at this point in the history
  8. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    0068f62 View commit details
    Browse the repository at this point in the history
  9. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    8031802 View commit details
    Browse the repository at this point in the history
  10. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    614a4af View commit details
    Browse the repository at this point in the history
  11. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    7438349 View commit details
    Browse the repository at this point in the history
  12. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    bc1153c View commit details
    Browse the repository at this point in the history
  13. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    30a23ed View commit details
    Browse the repository at this point in the history
  14. 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]>
    Claude Code and claude committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    7e1e505 View commit details
    Browse the repository at this point in the history
Loading