         return tableView
     }()
 
+    private var sections = AboutSection.allCases
     private let headerView = AboutHeaderView()
 
     override func viewDidLoad() {

            make.edges.equalToSuperview()
        }
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 4
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

import UIKit

class AboutViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, AboutHeaderViewDelegate {
    
    enum AboutSection: CaseIterable {
        case aboutHeader
        case aboutCategories
        
        var numberOfRows: Int {
            switch self {
            case .aboutHeader:
                return 1
            case .aboutCategories:
                return 3
            }
        }
        
        func configureCell(cell: UITableViewCell, with headerView: UIView, for row: Int) {
            switch self {
            case .aboutHeader:
                cell.contentView.addSubview(headerView)
                cell.contentView.backgroundColor = .systemGroupedBackground
                headerView.snp.makeConstraints { make in
                    make.edges.equalTo(cell)
                }
            case .aboutCategories:
                switch row {
                case 0: cell.textLabel?.text = UIConstants.strings.aboutRowHelp
                case 1: cell.textLabel?.text = UIConstants.strings.aboutRowRights
                case 2: cell.textLabel?.text = UIConstants.strings.aboutRowPrivacy
                default: break
                }
            }
            cell.backgroundColor = .secondarySystemGroupedBackground
            cell.selectionStyle = .gray
            cell.textLabel?.textColor = .primaryText
            cell.layoutMargins = UIEdgeInsets.zero
            
        }
        
        func categoryUrl(for row: Int) -> URL? {
            switch self {
            case .aboutHeader:
                return nil
            case .aboutCategories:
                switch row {
                case 0:
                    return URL(string: "https://support.mozilla.org/\(AppInfo.config.supportPath)")
                case 1:
                    return Bundle.main.url(forResource: AppInfo.config.rightsFile, withExtension: nil)
                case 2:
                    return URL(string: "https://www.mozilla.org/privacy/firefox-focus")
                default:
                    return nil
                }
            }
        }
    }

    private lazy var tableView: UITableView = {
        let tableView = UITableView(frame: .zero, style: .insetGrouped)
