Files
element-x-ios/ElementX/Sources/AppHooks/Hooks/SettingsScreenHook.swift
T

27 lines
948 B
Swift

//
// Copyright 2026 Element Creations Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
// Please see LICENSE files in the repository root for full details.
//
import SwiftUI
nonisolated protocol SettingsScreenHookProtocol: Sendable {
/// An extra Form section rendered between the user and the account sections,
/// advertising whatever is holding the account back.
/// - Parameter completeProfileAction: Opens the own profile editor.
@MainActor func accountStatusSection(completeProfileAction: @escaping () -> Void) -> AnyView?
/// Called whenever the settings screen appears, so the section reflects what the user just did.
@MainActor func refreshAccountStatus()
}
struct DefaultSettingsScreenHook: SettingsScreenHookProtocol {
func accountStatusSection(completeProfileAction: @escaping () -> Void) -> AnyView? {
nil
}
func refreshAccountStatus() { }
}