mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-10-31 08:15:24 +00:00
7f1b6086ae
* Add a developer flag for the search tab Introduces a globalSearchEnabled user preference (off by default) with a toggle in Developer Options, used to gate the new search experience. * Support search role tabs in the tab coordinator Migrates the NavigationTabCoordinator to SwiftUI's value-based Tab API and adds an isSearch option so a tab can adopt the iOS 26 .search role, which detaches it into the trailing search button in the tab bar. * Moves room search to a new screen Adds a new screen that filters the alternate room summary provider as you type, shows an empty state, and lists matching rooms with their matrix identifier. Supports hardware keyboard selection (arrow keys to move through results, return to open) by reaching into the system search field. * Present search in a dedicated tab Adds the search tab to the chats flow on iOS 26 when the flag is enabled, rendered as the detached .search role button. The Cmd+K shortcut now selects this tab, and the home screen's inline search is hidden while the tab is available. * Remove the old global search screen The dedicated search tab replaces the Cmd+K floating window, so the GlobalSearchScreen, its window plumbing in the WindowManager, and its presentation in the chats flow are all removed.
66 lines
3.9 KiB
Swift
66 lines
3.9 KiB
Swift
// swiftlint:disable all
|
||
// Generated using SwiftGen — https://github.com/SwiftGen/SwiftGen
|
||
|
||
import Foundation
|
||
|
||
// swiftlint:disable superfluous_disable_command file_length implicit_return
|
||
|
||
// MARK: - Strings
|
||
|
||
// swiftlint:disable explicit_type_interface function_parameter_count identifier_name line_length
|
||
// swiftlint:disable nesting type_body_length type_name vertical_whitespace_opening_braces
|
||
internal nonisolated enum UntranslatedL10n {
|
||
/// Search
|
||
internal static var screenHomeTabSearch: String { return UntranslatedL10n.tr("Untranslated", "screen_home_tab_search") }
|
||
/// Search for rooms
|
||
internal static var screenSearchEmptyStateMessage: String { return UntranslatedL10n.tr("Untranslated", "screen_search_empty_state_message") }
|
||
/// Start searching...
|
||
internal static var screenSearchEmptyStateTitle: String { return UntranslatedL10n.tr("Untranslated", "screen_search_empty_state_title") }
|
||
/// There are no results for “%1$@.” Try a new search term.
|
||
internal static func screenSearchNoResultsMessage(_ p1: Any) -> String {
|
||
return UntranslatedL10n.tr("Untranslated", "screen_search_no_results_message", String(describing: p1))
|
||
}
|
||
/// Clear all data currently stored on this device?
|
||
/// Sign in again to access your account data and messages.
|
||
internal static var softLogoutClearDataDialogContent: String { return UntranslatedL10n.tr("Untranslated", "soft_logout_clear_data_dialog_content") }
|
||
/// Clear data
|
||
internal static var softLogoutClearDataDialogTitle: String { return UntranslatedL10n.tr("Untranslated", "soft_logout_clear_data_dialog_title") }
|
||
/// Warning: Your personal data (including encryption keys) is still stored on this device.
|
||
///
|
||
/// Clear it if you’re finished using this device, or want to sign in to another account.
|
||
internal static var softLogoutClearDataNotice: String { return UntranslatedL10n.tr("Untranslated", "soft_logout_clear_data_notice") }
|
||
/// Clear all data
|
||
internal static var softLogoutClearDataSubmit: String { return UntranslatedL10n.tr("Untranslated", "soft_logout_clear_data_submit") }
|
||
/// Clear personal data
|
||
internal static var softLogoutClearDataTitle: String { return UntranslatedL10n.tr("Untranslated", "soft_logout_clear_data_title") }
|
||
/// Sign in to recover encryption keys stored exclusively on this device. You need them to read all of your secure messages on any device.
|
||
internal static var softLogoutSigninE2eWarningNotice: String { return UntranslatedL10n.tr("Untranslated", "soft_logout_signin_e2e_warning_notice") }
|
||
/// Your homeserver (%1$s) admin has signed you out of your account %2$s (%3$s).
|
||
internal static func softLogoutSigninNotice(_ p1: UnsafePointer<CChar>, _ p2: UnsafePointer<CChar>, _ p3: UnsafePointer<CChar>) -> String {
|
||
return UntranslatedL10n.tr("Untranslated", "soft_logout_signin_notice", p1, p2, p3)
|
||
}
|
||
/// Sign in
|
||
internal static var softLogoutSigninTitle: String { return UntranslatedL10n.tr("Untranslated", "soft_logout_signin_title") }
|
||
/// Untranslated
|
||
internal static var untranslated: String { return UntranslatedL10n.tr("Untranslated", "untranslated") }
|
||
/// Plural format key: "%#@VARIABLE@"
|
||
internal static func untranslatedPlural(_ p1: Int) -> String {
|
||
return UntranslatedL10n.tr("Untranslated", "untranslated_plural", p1)
|
||
}
|
||
}
|
||
// swiftlint:enable explicit_type_interface function_parameter_count identifier_name line_length
|
||
// swiftlint:enable nesting type_body_length type_name vertical_whitespace_opening_braces
|
||
|
||
// MARK: - Implementation Details
|
||
|
||
nonisolated extension UntranslatedL10n {
|
||
static func tr(_ table: String, _ key: String, _ args: CVarArg...) -> String {
|
||
// No need to check languages, we always default to en for untranslated strings
|
||
guard let bundle = Bundle.lprojBundle(for: "en") else { return key }
|
||
let format = NSLocalizedString(key, tableName: table, bundle: bundle, comment: "")
|
||
return String(format: format, locale: Locale(identifier: "en"), arguments: args)
|
||
}
|
||
}
|
||
|
||
// swiftlint:enable all
|