mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2024-11-25 17:51:01 +00:00
Code cleanup / format / lint
This commit is contained in:
parent
8cac9df8c6
commit
b89221a535
29 changed files with 239 additions and 262 deletions
|
@ -5,8 +5,8 @@
|
||||||
// Created by Thomas Durand on 26/01/2023.
|
// Created by Thomas Durand on 26/01/2023.
|
||||||
//
|
//
|
||||||
|
|
||||||
import UIKit
|
|
||||||
import MobileCoreServices
|
import MobileCoreServices
|
||||||
|
import UIKit
|
||||||
import UniformTypeIdentifiers
|
import UniformTypeIdentifiers
|
||||||
|
|
||||||
import Models
|
import Models
|
||||||
|
|
|
@ -2,8 +2,8 @@ import Account
|
||||||
import AppAccount
|
import AppAccount
|
||||||
import DesignSystem
|
import DesignSystem
|
||||||
import Env
|
import Env
|
||||||
import SwiftUI
|
|
||||||
import Models
|
import Models
|
||||||
|
import SwiftUI
|
||||||
|
|
||||||
struct SideBarView<Content: View>: View {
|
struct SideBarView<Content: View>: View {
|
||||||
@EnvironmentObject private var appAccounts: AppAccountsManager
|
@EnvironmentObject private var appAccounts: AppAccountsManager
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import SwiftUI
|
|
||||||
import Account
|
import Account
|
||||||
|
import AppAccount
|
||||||
import DesignSystem
|
import DesignSystem
|
||||||
import Env
|
import Env
|
||||||
import Models
|
import Models
|
||||||
import AppAccount
|
import SwiftUI
|
||||||
|
|
||||||
struct AccountSettingsView: View {
|
struct AccountSettingsView: View {
|
||||||
@Environment(\.dismiss) private var dismiss
|
@Environment(\.dismiss) private var dismiss
|
||||||
|
@ -54,7 +54,6 @@ struct AccountSettingsView: View {
|
||||||
} label: {
|
} label: {
|
||||||
Text("account.action.logout")
|
Text("account.action.logout")
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.listRowBackground(theme.primaryBackgroundColor)
|
.listRowBackground(theme.primaryBackgroundColor)
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ import SwiftUI
|
||||||
import UserNotifications
|
import UserNotifications
|
||||||
|
|
||||||
struct ContentSettingsView: View {
|
struct ContentSettingsView: View {
|
||||||
|
|
||||||
@EnvironmentObject private var userPreferences: UserPreferences
|
@EnvironmentObject private var userPreferences: UserPreferences
|
||||||
@EnvironmentObject private var theme: Theme
|
@EnvironmentObject private var theme: Theme
|
||||||
|
|
||||||
|
@ -29,7 +28,6 @@ struct ContentSettingsView: View {
|
||||||
userPreferences.appDefaultPostsSensitive = userPreferences.postIsSensitive
|
userPreferences.appDefaultPostsSensitive = userPreferences.postIsSensitive
|
||||||
userPreferences.appDefaultPostVisibility = userPreferences.postVisibility
|
userPreferences.appDefaultPostVisibility = userPreferences.postVisibility
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Section("settings.content.reading") {
|
Section("settings.content.reading") {
|
||||||
|
@ -54,22 +52,15 @@ struct ContentSettingsView: View {
|
||||||
}
|
}
|
||||||
.disabled(userPreferences.useInstanceContentSettings)
|
.disabled(userPreferences.useInstanceContentSettings)
|
||||||
|
|
||||||
|
|
||||||
Toggle(isOn: $userPreferences.appDefaultPostsSensitive) {
|
Toggle(isOn: $userPreferences.appDefaultPostsSensitive) {
|
||||||
Text("settings.content.default-sensitive")
|
Text("settings.content.default-sensitive")
|
||||||
}
|
}
|
||||||
.disabled(userPreferences.useInstanceContentSettings)
|
.disabled(userPreferences.useInstanceContentSettings)
|
||||||
|
|
||||||
}
|
}
|
||||||
.listRowBackground(theme.primaryBackgroundColor)
|
.listRowBackground(theme.primaryBackgroundColor)
|
||||||
|
|
||||||
}
|
}
|
||||||
.navigationTitle("settings.content.navigation-title")
|
.navigationTitle("settings.content.navigation-title")
|
||||||
.scrollContentBackground(.hidden)
|
.scrollContentBackground(.hidden)
|
||||||
.background(theme.secondaryBackgroundColor)
|
.background(theme.secondaryBackgroundColor)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,7 +101,6 @@ struct PushNotificationsView: View {
|
||||||
Text("settings.push.duplicate.footer")
|
Text("settings.push.duplicate.footer")
|
||||||
}
|
}
|
||||||
.listRowBackground(theme.primaryBackgroundColor)
|
.listRowBackground(theme.primaryBackgroundColor)
|
||||||
|
|
||||||
}
|
}
|
||||||
.navigationTitle("settings.push.navigation-title")
|
.navigationTitle("settings.push.navigation-title")
|
||||||
.scrollContentBackground(.hidden)
|
.scrollContentBackground(.hidden)
|
||||||
|
|
|
@ -75,7 +75,8 @@ struct SettingsTabs: View {
|
||||||
if let index = indexSet.first {
|
if let index = indexSet.first {
|
||||||
let account = appAccountsManager.availableAccounts[index]
|
let account = appAccountsManager.availableAccounts[index]
|
||||||
if let token = account.oauthToken,
|
if let token = account.oauthToken,
|
||||||
let sub = pushNotifications.subscriptions.first(where: { $0.account.token == token }) {
|
let sub = pushNotifications.subscriptions.first(where: { $0.account.token == token })
|
||||||
|
{
|
||||||
Task {
|
Task {
|
||||||
await sub.deleteSubscription()
|
await sub.deleteSubscription()
|
||||||
appAccountsManager.delete(account: account)
|
appAccountsManager.delete(account: account)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import SwiftUI
|
|
||||||
import Models
|
|
||||||
import Env
|
|
||||||
import DesignSystem
|
import DesignSystem
|
||||||
|
import Env
|
||||||
|
import Models
|
||||||
import Network
|
import Network
|
||||||
|
import SwiftUI
|
||||||
|
|
||||||
struct EditFilterView: View {
|
struct EditFilterView: View {
|
||||||
@Environment(\.dismiss) private var dismiss
|
@Environment(\.dismiss) private var dismiss
|
||||||
|
@ -76,7 +76,6 @@ struct EditFilterView: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.listRowBackground(theme.primaryBackgroundColor)
|
.listRowBackground(theme.primaryBackgroundColor)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private var keywordsSection: some View {
|
private var keywordsSection: some View {
|
||||||
|
@ -182,7 +181,7 @@ struct EditFilterView: View {
|
||||||
} else {
|
} else {
|
||||||
let newFilter: ServerFilter = try await client.post(endpoint: ServerFilters.createFilter(json: data),
|
let newFilter: ServerFilter = try await client.post(endpoint: ServerFilters.createFilter(json: data),
|
||||||
forceVersion: .v2)
|
forceVersion: .v2)
|
||||||
self.filter = newFilter
|
filter = newFilter
|
||||||
}
|
}
|
||||||
} catch {}
|
} catch {}
|
||||||
isSavingFilter = false
|
isSavingFilter = false
|
||||||
|
@ -197,7 +196,7 @@ struct EditFilterView: View {
|
||||||
keyword: name,
|
keyword: name,
|
||||||
wholeWord: true),
|
wholeWord: true),
|
||||||
forceVersion: .v2)
|
forceVersion: .v2)
|
||||||
self.keywords.append(keyword)
|
keywords.append(keyword)
|
||||||
} catch {}
|
} catch {}
|
||||||
isSavingFilter = false
|
isSavingFilter = false
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import SwiftUI
|
|
||||||
import Env
|
|
||||||
import Network
|
|
||||||
import DesignSystem
|
import DesignSystem
|
||||||
|
import Env
|
||||||
import Models
|
import Models
|
||||||
|
import Network
|
||||||
|
import SwiftUI
|
||||||
|
|
||||||
public struct FiltersListView: View {
|
public struct FiltersListView: View {
|
||||||
@Environment(\.dismiss) private var dismiss
|
@Environment(\.dismiss) private var dismiss
|
||||||
|
|
|
@ -4,7 +4,7 @@ import Models
|
||||||
import Network
|
import Network
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
extension AppAccount {
|
public extension AppAccount {
|
||||||
private static var keychain: KeychainSwift {
|
private static var keychain: KeychainSwift {
|
||||||
let keychain = KeychainSwift()
|
let keychain = KeychainSwift()
|
||||||
#if !DEBUG && !targetEnvironment(simulator)
|
#if !DEBUG && !targetEnvironment(simulator)
|
||||||
|
@ -13,17 +13,17 @@ extension AppAccount {
|
||||||
return keychain
|
return keychain
|
||||||
}
|
}
|
||||||
|
|
||||||
public func save() throws {
|
func save() throws {
|
||||||
let encoder = JSONEncoder()
|
let encoder = JSONEncoder()
|
||||||
let data = try encoder.encode(self)
|
let data = try encoder.encode(self)
|
||||||
Self.keychain.set(data, forKey: key)
|
Self.keychain.set(data, forKey: key)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func delete() {
|
func delete() {
|
||||||
Self.keychain.delete(key)
|
Self.keychain.delete(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func retrieveAll() -> [AppAccount] {
|
static func retrieveAll() -> [AppAccount] {
|
||||||
migrateLegacyAccounts()
|
migrateLegacyAccounts()
|
||||||
let keychain = Self.keychain
|
let keychain = Self.keychain
|
||||||
let decoder = JSONDecoder()
|
let decoder = JSONDecoder()
|
||||||
|
@ -39,7 +39,7 @@ extension AppAccount {
|
||||||
return accounts
|
return accounts
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func migrateLegacyAccounts() {
|
static func migrateLegacyAccounts() {
|
||||||
let keychain = KeychainSwift()
|
let keychain = KeychainSwift()
|
||||||
let decoder = JSONDecoder()
|
let decoder = JSONDecoder()
|
||||||
let keys = keychain.allKeys
|
let keys = keychain.allKeys
|
||||||
|
@ -52,7 +52,7 @@ extension AppAccount {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func deleteAll() {
|
static func deleteAll() {
|
||||||
let keychain = Self.keychain
|
let keychain = Self.keychain
|
||||||
let keys = keychain.allKeys
|
let keys = keychain.allKeys
|
||||||
for key in keys {
|
for key in keys {
|
||||||
|
|
|
@ -64,7 +64,7 @@ public class PushNotificationsService: ObservableObject {
|
||||||
await withTaskGroup(of: Void.self, body: { group in
|
await withTaskGroup(of: Void.self, body: { group in
|
||||||
group.addTask {
|
group.addTask {
|
||||||
await subscription.fetchSubscription()
|
await subscription.fetchSubscription()
|
||||||
if await subscription.subscription != nil && !forceCreate {
|
if await subscription.subscription != nil, !forceCreate {
|
||||||
await subscription.deleteSubscription()
|
await subscription.deleteSubscription()
|
||||||
await subscription.updateSubscription()
|
await subscription.updateSubscription()
|
||||||
} else if forceCreate {
|
} else if forceCreate {
|
||||||
|
|
|
@ -110,7 +110,8 @@ public class RouterPath: ObservableObject {
|
||||||
} else if let client = client,
|
} else if let client = client,
|
||||||
client.isAuth,
|
client.isAuth,
|
||||||
client.hasConnection(with: url),
|
client.hasConnection(with: url),
|
||||||
let id = Int(url.lastPathComponent) {
|
let id = Int(url.lastPathComponent)
|
||||||
|
{
|
||||||
if url.absoluteString.contains(client.server) {
|
if url.absoluteString.contains(client.server) {
|
||||||
navigate(to: .statusDetail(id: String(id)))
|
navigate(to: .statusDetail(id: String(id)))
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -26,52 +26,37 @@ public class UserPreferences: ObservableObject {
|
||||||
@AppStorage("app_default_post_visibility") public var appDefaultPostVisibility: Models.Visibility = .pub
|
@AppStorage("app_default_post_visibility") public var appDefaultPostVisibility: Models.Visibility = .pub
|
||||||
@AppStorage("app_default_posts_sensitive") public var appDefaultPostsSensitive = false
|
@AppStorage("app_default_posts_sensitive") public var appDefaultPostsSensitive = false
|
||||||
|
|
||||||
|
|
||||||
public var postVisibility: Models.Visibility {
|
public var postVisibility: Models.Visibility {
|
||||||
get{
|
|
||||||
if useInstanceContentSettings {
|
if useInstanceContentSettings {
|
||||||
return serverPreferences?.postVisibility ?? .pub
|
return serverPreferences?.postVisibility ?? .pub
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return appDefaultPostVisibility
|
return appDefaultPostVisibility
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public var postIsSensitive: Bool {
|
public var postIsSensitive: Bool {
|
||||||
get {
|
|
||||||
if useInstanceContentSettings {
|
if useInstanceContentSettings {
|
||||||
return serverPreferences?.postIsSensitive ?? false
|
return serverPreferences?.postIsSensitive ?? false
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return appDefaultPostsSensitive
|
return appDefaultPostsSensitive
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public var autoExpandSpoilers: Bool {
|
public var autoExpandSpoilers: Bool {
|
||||||
get {
|
|
||||||
if useInstanceContentSettings {
|
if useInstanceContentSettings {
|
||||||
return serverPreferences?.autoExpandSpoilers ?? true
|
return serverPreferences?.autoExpandSpoilers ?? true
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return appAutoExpandSpoilers
|
return appAutoExpandSpoilers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public var autoExpandMedia: ServerPreferences.AutoExpandMedia {
|
public var autoExpandMedia: ServerPreferences.AutoExpandMedia {
|
||||||
get {
|
|
||||||
if useInstanceContentSettings {
|
if useInstanceContentSettings {
|
||||||
return serverPreferences?.autoExpandMedia ?? .hideSensitive
|
return serverPreferences?.autoExpandMedia ?? .hideSensitive
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return appAutoExpandMedia
|
return appAutoExpandMedia
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public var pushNotificationsCount: Int {
|
public var pushNotificationsCount: Int {
|
||||||
get {
|
get {
|
||||||
|
|
|
@ -20,7 +20,8 @@ public struct AppAccount: Codable, Identifiable, Hashable {
|
||||||
|
|
||||||
public init(server: String,
|
public init(server: String,
|
||||||
accountName: String?,
|
accountName: String?,
|
||||||
oauthToken: OauthToken? = nil) {
|
oauthToken: OauthToken? = nil)
|
||||||
|
{
|
||||||
self.server = server
|
self.server = server
|
||||||
self.accountName = accountName
|
self.accountName = accountName
|
||||||
self.oauthToken = oauthToken
|
self.oauthToken = oauthToken
|
||||||
|
|
|
@ -35,9 +35,9 @@ public struct NullableString: Codable, Equatable, Hashable {
|
||||||
public init(from decoder: Decoder) throws {
|
public init(from decoder: Decoder) throws {
|
||||||
do {
|
do {
|
||||||
let container = try decoder.singleValueContainer()
|
let container = try decoder.singleValueContainer()
|
||||||
self.value = try container.decode(String.self)
|
value = try container.decode(String.self)
|
||||||
} catch {
|
} catch {
|
||||||
self.value = nil
|
value = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,8 @@ public struct ServerFilter: Codable, Identifiable, Hashable {
|
||||||
public let expireIn: Int?
|
public let expireIn: Int?
|
||||||
}
|
}
|
||||||
|
|
||||||
extension ServerFilter.Context {
|
public extension ServerFilter.Context {
|
||||||
public var iconName: String {
|
var iconName: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .home:
|
case .home:
|
||||||
return "rectangle.on.rectangle"
|
return "rectangle.on.rectangle"
|
||||||
|
@ -39,7 +39,7 @@ extension ServerFilter.Context {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public var name: String {
|
var name: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .home:
|
case .home:
|
||||||
return "Home and lists"
|
return "Home and lists"
|
||||||
|
@ -55,8 +55,8 @@ extension ServerFilter.Context {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension ServerFilter.Action {
|
public extension ServerFilter.Action {
|
||||||
public var label: String {
|
var label: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .warn:
|
case .warn:
|
||||||
return "Hide with a warning"
|
return "Hide with a warning"
|
||||||
|
|
|
@ -57,7 +57,8 @@ public struct ServerFilterData: Encodable {
|
||||||
public init(title: String,
|
public init(title: String,
|
||||||
context: [ServerFilter.Context],
|
context: [ServerFilter.Context],
|
||||||
filterAction: ServerFilter.Action,
|
filterAction: ServerFilter.Action,
|
||||||
expireIn: Int?) {
|
expireIn: Int?)
|
||||||
|
{
|
||||||
self.title = title
|
self.title = title
|
||||||
self.context = context
|
self.context = context
|
||||||
self.filterAction = filterAction
|
self.filterAction = filterAction
|
||||||
|
|
|
@ -76,7 +76,7 @@ class NotificationsViewModel: ObservableObject {
|
||||||
newNotifications = newNotifications.filter { notification in
|
newNotifications = newNotifications.filter { notification in
|
||||||
!consolidatedNotifications.contains(where: { $0.id == notification.id })
|
!consolidatedNotifications.contains(where: { $0.id == notification.id })
|
||||||
}
|
}
|
||||||
self.notifications.append(contentsOf: newNotifications)
|
notifications.append(contentsOf: newNotifications)
|
||||||
consolidatedNotifications.insert(contentsOf: newNotifications.consolidated(), at: 0)
|
consolidatedNotifications.insert(contentsOf: newNotifications.consolidated(), at: 0)
|
||||||
}
|
}
|
||||||
withAnimation {
|
withAnimation {
|
||||||
|
@ -98,7 +98,7 @@ class NotificationsViewModel: ObservableObject {
|
||||||
maxId: lastId,
|
maxId: lastId,
|
||||||
types: queryTypes))
|
types: queryTypes))
|
||||||
consolidatedNotifications.append(contentsOf: newNotifications.consolidated())
|
consolidatedNotifications.append(contentsOf: newNotifications.consolidated())
|
||||||
self.notifications.append(contentsOf: newNotifications)
|
notifications.append(contentsOf: newNotifications)
|
||||||
state = .display(notifications: consolidatedNotifications, nextPageState: newNotifications.count < 15 ? .none : .hasNextPage)
|
state = .display(notifications: consolidatedNotifications, nextPageState: newNotifications.count < 15 ? .none : .hasNextPage)
|
||||||
} catch {
|
} catch {
|
||||||
state = .error(error: error)
|
state = .error(error: error)
|
||||||
|
|
|
@ -163,7 +163,6 @@ struct StatusEditorMediaView: View {
|
||||||
} message: {
|
} message: {
|
||||||
Text(error.error ?? "")
|
Text(error.error ?? "")
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private var altMarker: some View {
|
private var altMarker: some View {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
|
import AVFoundation
|
||||||
import Foundation
|
import Foundation
|
||||||
import PhotosUI
|
import PhotosUI
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
import UIKit
|
import UIKit
|
||||||
import UniformTypeIdentifiers
|
import UniformTypeIdentifiers
|
||||||
import AVFoundation
|
|
||||||
|
|
||||||
@MainActor
|
@MainActor
|
||||||
enum StatusEditorUTTypeSupported: String, CaseIterable {
|
enum StatusEditorUTTypeSupported: String, CaseIterable {
|
||||||
|
@ -74,7 +74,7 @@ struct MovieFileTranseferable: Transferable {
|
||||||
private let url: URL
|
private let url: URL
|
||||||
var compressedVideoURL: URL? {
|
var compressedVideoURL: URL? {
|
||||||
get async {
|
get async {
|
||||||
return await withCheckedContinuation { continuation in
|
await withCheckedContinuation { continuation in
|
||||||
let urlAsset = AVURLAsset(url: url, options: nil)
|
let urlAsset = AVURLAsset(url: url, options: nil)
|
||||||
guard let exportSession = AVAssetExportSession(asset: urlAsset, presetName: AVAssetExportPresetMediumQuality) else {
|
guard let exportSession = AVAssetExportSession(asset: urlAsset, presetName: AVAssetExportPresetMediumQuality) else {
|
||||||
continuation.resume(returning: nil)
|
continuation.resume(returning: nil)
|
||||||
|
@ -84,7 +84,7 @@ struct MovieFileTranseferable: Transferable {
|
||||||
exportSession.outputURL = outputURL
|
exportSession.outputURL = outputURL
|
||||||
exportSession.outputFileType = .mp4
|
exportSession.outputFileType = .mp4
|
||||||
exportSession.shouldOptimizeForNetworkUse = true
|
exportSession.shouldOptimizeForNetworkUse = true
|
||||||
exportSession.exportAsynchronously { () -> Void in
|
exportSession.exportAsynchronously { () in
|
||||||
continuation.resume(returning: outputURL)
|
continuation.resume(returning: outputURL)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,6 +56,7 @@ public class StatusEditorViewModel: ObservableObject {
|
||||||
inflateSelectedMedias()
|
inflateSelectedMedias()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Published var isMediasLoading: Bool = false
|
@Published var isMediasLoading: Bool = false
|
||||||
|
|
||||||
@Published var mediasImages: [StatusEditorMediaContainer] = []
|
@Published var mediasImages: [StatusEditorMediaContainer] = []
|
||||||
|
|
|
@ -225,7 +225,6 @@ public struct StatusRowView: View {
|
||||||
private func makeStatusContentView(status: AnyStatus) -> some View {
|
private func makeStatusContentView(status: AnyStatus) -> some View {
|
||||||
Group {
|
Group {
|
||||||
if !status.spoilerText.asRawText.isEmpty {
|
if !status.spoilerText.asRawText.isEmpty {
|
||||||
|
|
||||||
HStack(alignment: .top) {
|
HStack(alignment: .top) {
|
||||||
Text("⚠︎")
|
Text("⚠︎")
|
||||||
.font(.system(.subheadline, weight: .bold))
|
.font(.system(.subheadline, weight: .bold))
|
||||||
|
@ -376,7 +375,8 @@ public struct StatusRowView: View {
|
||||||
!viewModel.isCompact,
|
!viewModel.isCompact,
|
||||||
theme.statusDisplayStyle == .large,
|
theme.statusDisplayStyle == .large,
|
||||||
status.content.statusesURLs.isEmpty,
|
status.content.statusesURLs.isEmpty,
|
||||||
status.mediaAttachments.isEmpty {
|
status.mediaAttachments.isEmpty
|
||||||
|
{
|
||||||
StatusCardView(card: card)
|
StatusCardView(card: card)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue