Path: blob/a-new-beginning/Folium-iOS/Classes/Cells/BlurredCollectionViewCell.swift
2 views
//
// BlurredCollectionViewCell.swift
// Folium-iOS
//
// Created by Jarrod Norwell on 13/7/2025.
//
import UIKit
class BlurredCollectionViewCell : UICollectionViewCell {
var visualEffectView: UIVisualEffectView!
override init(frame: CGRect) {
super.init(frame: frame)
visualEffectView = .init(effect: UIVibrancyEffect(blurEffect: UIBlurEffect(style: .systemMaterialLight)))
visualEffectView.translatesAutoresizingMaskIntoConstraints = false
insertSubview(visualEffectView, belowSubview: self)
visualEffectView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor).isActive = true
visualEffectView.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor).isActive = true
visualEffectView.bottomAnchor.constraint(equalTo: safeAreaLayoutGuide.bottomAnchor).isActive = true
visualEffectView.trailingAnchor.constraint(equalTo: safeAreaLayoutGuide.trailingAnchor).isActive = true
let realVisualEffectView: UIVisualEffectView = .init(effect: UIBlurEffect(style: .systemMaterialLight))
realVisualEffectView.translatesAutoresizingMaskIntoConstraints = false
insertSubview(realVisualEffectView, belowSubview: visualEffectView)
realVisualEffectView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor).isActive = true
realVisualEffectView.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor).isActive = true
realVisualEffectView.bottomAnchor.constraint(equalTo: safeAreaLayoutGuide.bottomAnchor).isActive = true
realVisualEffectView.trailingAnchor.constraint(equalTo: safeAreaLayoutGuide.trailingAnchor).isActive = true
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
class BlurredIntermediateCollectionViewCell : UICollectionViewCell {
var visualEffectView: UIVisualEffectView!
override init(frame: CGRect) {
super.init(frame: frame)
let effect: UIVisualEffect = if #available(iOS 26, *) {
UIGlassEffect(style: .regular)
} else {
UIVibrancyEffect(blurEffect: UIBlurEffect(style: .systemThinMaterial))
}
visualEffectView = .init(effect: effect)
visualEffectView.translatesAutoresizingMaskIntoConstraints = false
insertSubview(visualEffectView, belowSubview: self)
visualEffectView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor).isActive = true
visualEffectView.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor).isActive = true
visualEffectView.bottomAnchor.constraint(equalTo: safeAreaLayoutGuide.bottomAnchor).isActive = true
visualEffectView.trailingAnchor.constraint(equalTo: safeAreaLayoutGuide.trailingAnchor).isActive = true
if #unavailable(iOS 26) {
let realVisualEffectView: UIVisualEffectView = .init(effect: UIBlurEffect(style: .systemMaterialLight))
realVisualEffectView.translatesAutoresizingMaskIntoConstraints = false
insertSubview(realVisualEffectView, belowSubview: visualEffectView)
realVisualEffectView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor).isActive = true
realVisualEffectView.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor).isActive = true
realVisualEffectView.bottomAnchor.constraint(equalTo: safeAreaLayoutGuide.bottomAnchor).isActive = true
realVisualEffectView.trailingAnchor.constraint(equalTo: safeAreaLayoutGuide.trailingAnchor).isActive = true
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}