diff --git a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist index 6badcb09f..575dc6248 100644 --- a/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Mastodon.xcodeproj/xcuserdata/mainasuk.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,33 +7,68 @@ AppShared.xcscheme_^#shared#^_ orderHint - 26 + 32 CoreDataStack.xcscheme_^#shared#^_ orderHint - 24 + 33 Mastodon - ASDK.xcscheme_^#shared#^_ orderHint - 2 - - Mastodon - JP.xcscheme_^#shared#^_ - - orderHint - 23 + 7 Mastodon - RTL.xcscheme_^#shared#^_ orderHint - 3 + 8 Mastodon - Release.xcscheme_^#shared#^_ + + orderHint + 6 + + Mastodon - ar.xcscheme_^#shared#^_ + + orderHint + 5 + + Mastodon - ca.xcscheme_^#shared#^_ + + orderHint + 30 + + Mastodon - en.xcscheme_^#shared#^_ orderHint 1 + Mastodon - es-419.xcscheme_^#shared#^_ + + orderHint + 3 + + Mastodon - es.xcscheme_^#shared#^_ + + orderHint + 2 + + Mastodon - fr.xcscheme_^#shared#^_ + + orderHint + 4 + + Mastodon - jp.xcscheme_^#shared#^_ + + orderHint + 28 + + Mastodon - zh_Hans.xcscheme_^#shared#^_ + + orderHint + 29 + Mastodon.xcscheme_^#shared#^_ orderHint @@ -42,7 +77,7 @@ MastodonIntent.xcscheme_^#shared#^_ orderHint - 25 + 31 MastodonIntents.xcscheme_^#shared#^_ @@ -57,12 +92,12 @@ NotificationService.xcscheme_^#shared#^_ orderHint - 4 + 9 ShareActionExtension.xcscheme_^#shared#^_ orderHint - 27 + 35 SuppressBuildableAutocreation diff --git a/Mastodon/Resources/es-419.lproj/Localizable.strings b/Mastodon/Resources/es-419.lproj/Localizable.strings index 862c2b37b..7b60cd0cd 100644 --- a/Mastodon/Resources/es-419.lproj/Localizable.strings +++ b/Mastodon/Resources/es-419.lproj/Localizable.strings @@ -248,7 +248,7 @@ pulsá en el enlace para confirmar tu cuenta."; "Scene.Register.Error.Reason.Unreachable" = "%@ parece no existir"; "Scene.Register.Error.Special.EmailInvalid" = "Esta no es una dirección de correo electrónico válida"; "Scene.Register.Error.Special.PasswordTooShort" = "La contraseña es demasiado corta (debe tener al menos 8 caracteres)"; -"Scene.Register.Error.Special.UsernameInvalid" = "El nombre de usuario sólo debe contener caracteres alfanuméricos sin signos diacríticos y subguiones ("_")"; +"Scene.Register.Error.Special.UsernameInvalid" = "El nombre de usuario sólo debe contener caracteres alfanuméricos sin signos diacríticos y subguiones (\"_\")"; "Scene.Register.Error.Special.UsernameTooLong" = "El nombre de usuario es demasiado largo (no puede tener más de 30 caracteres)"; "Scene.Register.Input.Avatar.Delete" = "Eliminar"; "Scene.Register.Input.DisplayName.Placeholder" = "nombre para mostrar"; @@ -349,4 +349,4 @@ el que quieras."; "Scene.Thread.BackTitle" = "Mensaje"; "Scene.Thread.Title" = "Mensaje de %@"; "Scene.Welcome.Slogan" = "La red social, -nuevamente en tu poder."; \ No newline at end of file +nuevamente en tu poder."; diff --git a/Mastodon/Scene/Profile/Header/View/ProfileHeaderView.swift b/Mastodon/Scene/Profile/Header/View/ProfileHeaderView.swift index c45a0f648..90f2e7a11 100644 --- a/Mastodon/Scene/Profile/Header/View/ProfileHeaderView.swift +++ b/Mastodon/Scene/Profile/Header/View/ProfileHeaderView.swift @@ -160,6 +160,8 @@ final class ProfileHeaderView: UIView { let relationshipActionButton: ProfileRelationshipActionButton = { let button = ProfileRelationshipActionButton() button.titleLabel?.font = .systemFont(ofSize: 17, weight: .semibold) + button.titleLabel?.adjustsFontSizeToFitWidth = true + button.titleLabel?.minimumScaleFactor = 0.5 return button }() @@ -406,9 +408,10 @@ extension ProfileHeaderView { relationshipActionButton.topAnchor.constraint(equalTo: dashboardContainerView.topAnchor), relationshipActionButton.leadingAnchor.constraint(greaterThanOrEqualTo: statusDashboardView.trailingAnchor, constant: 8), relationshipActionButton.trailingAnchor.constraint(equalTo: dashboardContainerView.readableContentGuide.trailingAnchor), - relationshipActionButton.widthAnchor.constraint(equalToConstant: ProfileHeaderView.friendshipActionButtonSize.width).priority(.defaultHigh), + relationshipActionButton.widthAnchor.constraint(greaterThanOrEqualToConstant: ProfileHeaderView.friendshipActionButtonSize.width).priority(.required - 1), relationshipActionButton.heightAnchor.constraint(equalToConstant: ProfileHeaderView.friendshipActionButtonSize.height).priority(.defaultHigh), ]) + relationshipActionButton.setContentHuggingPriority(.required - 10, for: .horizontal) bioContainerView.preservesSuperviewLayoutMargins = true metaContainerStackView.addArrangedSubview(bioContainerView) diff --git a/Mastodon/Scene/Profile/Header/View/ProfileRelationshipActionButton.swift b/Mastodon/Scene/Profile/Header/View/ProfileRelationshipActionButton.swift index aed539047..fffb061b4 100644 --- a/Mastodon/Scene/Profile/Header/View/ProfileRelationshipActionButton.swift +++ b/Mastodon/Scene/Profile/Header/View/ProfileRelationshipActionButton.swift @@ -53,6 +53,8 @@ extension ProfileRelationshipActionButton { setBackgroundImage(.placeholder(color: actionOptionSet.backgroundColor.withAlphaComponent(0.5)), for: .highlighted) setBackgroundImage(.placeholder(color: actionOptionSet.backgroundColor.withAlphaComponent(0.5)), for: .disabled) + titleEdgeInsets = UIEdgeInsets(top: 0, left: 4, bottom: 0, right: 4) + activityIndicatorView.stopAnimating() if let option = actionOptionSet.highPriorityAction(except: .editOptions), option == .blocked || option == .suspended { diff --git a/Mastodon/Scene/Profile/Header/View/ProfileStatusDashboardMeterView.swift b/Mastodon/Scene/Profile/Header/View/ProfileStatusDashboardMeterView.swift index 0f32f3304..53cd21f60 100644 --- a/Mastodon/Scene/Profile/Header/View/ProfileStatusDashboardMeterView.swift +++ b/Mastodon/Scene/Profile/Header/View/ProfileStatusDashboardMeterView.swift @@ -33,6 +33,9 @@ final class ProfileStatusDashboardMeterView: UIView { label.adjustsFontSizeToFitWidth = true label.minimumScaleFactor = 0.8 } + label.setContentCompressionResistancePriority(.defaultHigh, for: .horizontal) + label.adjustsFontSizeToFitWidth = true + label.minimumScaleFactor = 0.5 return label }() diff --git a/Mastodon/Scene/Search/Search/View/SearchRecommendCollectionHeader.swift b/Mastodon/Scene/Search/Search/View/SearchRecommendCollectionHeader.swift index 91ec0128c..a828c64b6 100644 --- a/Mastodon/Scene/Search/Search/View/SearchRecommendCollectionHeader.swift +++ b/Mastodon/Scene/Search/Search/View/SearchRecommendCollectionHeader.swift @@ -13,6 +13,8 @@ class SearchRecommendCollectionHeader: UIView { let label = UILabel() label.textColor = Asset.Colors.Label.primary.color label.font = .systemFont(ofSize: 20, weight: .semibold) + label.adjustsFontSizeToFitWidth = true + label.minimumScaleFactor = 0.6 return label }() @@ -71,6 +73,7 @@ extension SearchRecommendCollectionHeader { titleLabel.setContentHuggingPriority(.defaultLow - 1, for: .horizontal) horizontalStackView.addArrangedSubview(titleLabel) horizontalStackView.addArrangedSubview(seeAllButton) + seeAllButton.setContentCompressionResistancePriority(.defaultHigh + 10, for: .horizontal) containerStackView.addArrangedSubview(horizontalStackView) containerStackView.addArrangedSubview(descriptionLabel) diff --git a/Mastodon/Scene/Settings/SettingsViewController.swift b/Mastodon/Scene/Settings/SettingsViewController.swift index c6e41e624..e93668801 100644 --- a/Mastodon/Scene/Settings/SettingsViewController.swift +++ b/Mastodon/Scene/Settings/SettingsViewController.swift @@ -63,15 +63,20 @@ class SettingsViewController: UIViewController, NeedsDependency { let notifyLabel = UILabel() private(set) lazy var notifySectionHeader: UIView = { let view = notifySectionHeaderStackView + notifyLabel.translatesAutoresizingMaskIntoConstraints = false notifyLabel.adjustsFontForContentSizeCategory = true notifyLabel.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: UIFont.systemFont(ofSize: 20, weight: .semibold)) notifyLabel.textColor = Asset.Colors.Label.primary.color notifyLabel.text = L10n.Scene.Settings.Section.Notifications.Trigger.title + notifyLabel.adjustsFontSizeToFitWidth = true + notifyLabel.minimumScaleFactor = 0.5 + view.addArrangedSubview(notifyLabel) view.addArrangedSubview(whoButton) whoButton.setContentHuggingPriority(.defaultHigh + 1, for: .horizontal) whoButton.setContentHuggingPriority(.defaultHigh + 1, for: .vertical) + return view }() @@ -86,6 +91,8 @@ class SettingsViewController: UIViewController, NeedsDependency { whoButton.contentEdgeInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5) whoButton.layer.cornerRadius = 10 whoButton.clipsToBounds = true + whoButton.titleLabel?.adjustsFontSizeToFitWidth = true + whoButton.titleLabel?.minimumScaleFactor = 0.5 return whoButton }()