[Framework] Empty and error state handling for the Feed list #18
@ -0,0 +1,47 @@
|
||||
//
|
||||
// FeedUnavailableView.swift
|
||||
// Feed
|
||||
//
|
||||
// Created by Javier Cicchelli on 22/03/2024.
|
||||
// Copyright © 2024 Röck+Cöde. All rights reserved.
|
||||
//
|
||||
|
||||
import ReviewsUIKit
|
||||
import SwiftUI
|
||||
import UIKit
|
||||
|
||||
|
||||
final class FeedUnavailableView: UIHostingController<UnavailableView> {
|
||||
|
||||
// MARK: Initialisers
|
||||
convenience init(
|
||||
systemImage: String,
|
||||
title: String,
|
||||
description: String,
|
||||
button: String? = nil,
|
||||
action: (() -> Void)? = nil
|
||||
) {
|
||||
self.init(rootView: .init(
|
||||
systemImage: systemImage,
|
||||
title: title,
|
||||
description: description,
|
||||
button: button,
|
||||
action: action
|
||||
))
|
||||
}
|
||||
|
||||
// MARK: Functions
|
||||
override func viewSafeAreaInsetsDidChange() {
|
||||
super.viewSafeAreaInsetsDidChange()
|
||||
|
||||
if view.safeAreaInsets.bottom > 0 {
|
||||
additionalSafeAreaInsets = .init(
|
||||
top: 0,
|
||||
left: 0,
|
||||
bottom: -view.safeAreaInsets.bottom,
|
||||
right: 0
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
028134712BACC8CC0074AB4B /* FeedListConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028134702BACC8CC0074AB4B /* FeedListConfiguration.swift */; };
|
||||
028134822BACCC780074AB4B /* FeedListCoordination.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028134812BACCC770074AB4B /* FeedListCoordination.swift */; };
|
||||
028134842BACD0B20074AB4B /* FeedItemCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028134832BACD0B20074AB4B /* FeedItemCoordinator.swift */; };
|
||||
0281348A2BAD08AB0074AB4B /* FeedUnavailableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 028134892BAD08AB0074AB4B /* FeedUnavailableView.swift */; };
|
||||
02909E792BAB6B0200710E14 /* FilterOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E782BAB6B0200710E14 /* FilterOption.swift */; };
|
||||
02909E7B2BAB6D2E00710E14 /* Bundle+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E7A2BAB6D2E00710E14 /* Bundle+Constants.swift */; };
|
||||
02909E7D2BAB7FFE00710E14 /* Review+DTOs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02909E7C2BAB7FFE00710E14 /* Review+DTOs.swift */; };
|
||||
@ -68,6 +69,7 @@
|
||||
028134702BACC8CC0074AB4B /* FeedListConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListConfiguration.swift; sourceTree = "<group>"; };
|
||||
028134812BACCC770074AB4B /* FeedListCoordination.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListCoordination.swift; sourceTree = "<group>"; };
|
||||
028134832BACD0B20074AB4B /* FeedItemCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedItemCoordinator.swift; sourceTree = "<group>"; };
|
||||
028134892BAD08AB0074AB4B /* FeedUnavailableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedUnavailableView.swift; sourceTree = "<group>"; };
|
||||
02909E782BAB6B0200710E14 /* FilterOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterOption.swift; sourceTree = "<group>"; };
|
||||
02909E7A2BAB6D2E00710E14 /* Bundle+Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bundle+Constants.swift"; sourceTree = "<group>"; };
|
||||
02909E7C2BAB7FFE00710E14 /* Review+DTOs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Review+DTOs.swift"; sourceTree = "<group>"; };
|
||||
@ -168,6 +170,7 @@
|
||||
children = (
|
||||
0220ADA22BA90646001E6A9F /* FeedItemView.swift */,
|
||||
02EACF312BABB23A00FF8ECD /* TopWordsView.swift */,
|
||||
028134892BAD08AB0074AB4B /* FeedUnavailableView.swift */,
|
||||
);
|
||||
path = Views;
|
||||
sourceTree = "<group>";
|
||||
@ -498,6 +501,7 @@
|
||||
02DC7FAC2BA51B4C000EEEBE /* FeedItemViewController.swift in Sources */,
|
||||
02909E7B2BAB6D2E00710E14 /* Bundle+Constants.swift in Sources */,
|
||||
02EACF2E2BABA34600FF8ECD /* FeedItemCell.swift in Sources */,
|
||||
0281348A2BAD08AB0074AB4B /* FeedUnavailableView.swift in Sources */,
|
||||
028134842BACD0B20074AB4B /* FeedItemCoordinator.swift in Sources */,
|
||||
02909E7D2BAB7FFE00710E14 /* Review+DTOs.swift in Sources */,
|
||||
0220ADA32BA90646001E6A9F /* FeedItemView.swift in Sources */,
|
||||
|
Loading…
x
Reference in New Issue
Block a user