mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2024-12-23 23:50:36 +00:00
Reworked post header view + add option to hide server name from username
This commit is contained in:
parent
da289dbc1f
commit
0d6eff391b
20 changed files with 51 additions and 13 deletions
|
@ -93,6 +93,7 @@ struct DisplaySettingsView: View {
|
|||
Text(shape.description).tag(shape)
|
||||
}
|
||||
}
|
||||
Toggle("settings.display.full-username", isOn: $theme.displayFullUsername)
|
||||
Picker("settings.display.status.action-buttons", selection: $theme.statusActionsDisplay) {
|
||||
ForEach(Theme.StatusActionsDisplay.allCases, id: \.rawValue) { buttonStyle in
|
||||
Text(buttonStyle.description).tag(buttonStyle)
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.font.scaling-%@" = "Маштаб шрыфту: %@";
|
||||
"settings.display.avatar.position" = "Пазіцыя аватару";
|
||||
"settings.display.avatar.shape" = "Форма аватару";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Налады дысплэю";
|
||||
"settings.display.restore" = "Аднавіць па змаўчанні";
|
||||
"settings.display.section.display" = "Дысплэй";
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
"settings.display.example-toot" = "Publicació d'exemple";
|
||||
"settings.display.avatar.position" = "Posició de les fotos de perfil";
|
||||
"settings.display.avatar.shape" = "Forma de les fotos de perfil";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Configuració de l'aparença";
|
||||
"settings.display.restore" = "Restableix els valors per defecte";
|
||||
"settings.display.section.display" = "Aparença";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Beispielbeitrag";
|
||||
"settings.display.avatar.position" = "Profilbild-Position";
|
||||
"settings.display.avatar.shape" = "Profilbild-Form";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Anzeigeeinstellungen";
|
||||
"settings.display.restore" = "Standard wiederherstellen";
|
||||
"settings.display.section.display" = "Anzeigen";
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
"settings.display.font.scaling-%@" = "Font scaling: %@";
|
||||
"settings.display.avatar.position" = "Avatar position";
|
||||
"settings.display.avatar.shape" = "Avatar shape";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Display Settings";
|
||||
"settings.display.restore" = "Restore defaults";
|
||||
"settings.display.section.display" = "Display";
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
"settings.display.font.scaling-%@" = "Font scaling: %@";
|
||||
"settings.display.avatar.position" = "Avatar position";
|
||||
"settings.display.avatar.shape" = "Avatar shape";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Display Settings";
|
||||
"settings.display.restore" = "Restore defaults";
|
||||
"settings.display.section.display" = "Display";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Publicación de ejemplo";
|
||||
"settings.display.avatar.position" = "Posición del avatar";
|
||||
"settings.display.avatar.shape" = "Forma del avatar";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Ajustes de apariencia";
|
||||
"settings.display.restore" = "Restaurar ajustes predeterminados";
|
||||
"settings.display.section.display" = "Apariencia";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Adibidea";
|
||||
"settings.display.avatar.position" = "Avatarearen kokapena";
|
||||
"settings.display.avatar.shape" = "Avatarearen itxura";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Pantaila ezarpenak";
|
||||
"settings.display.restore" = "Berrezarri defektuzkoa";
|
||||
"settings.display.section.display" = "Pantaila";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Toot d'exemple";
|
||||
"settings.display.avatar.position" = "Position de l'avatar";
|
||||
"settings.display.avatar.shape" = "Forme de l'avatar";
|
||||
"settings.display.full-username" = "Afficher le nom d'utilisateur complet";
|
||||
"settings.display.navigation-title" = "Paramètres d'affichage";
|
||||
"settings.display.restore" = "Restaurer les valeurs par défaut";
|
||||
"settings.display.section.display" = "Affichage";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Post di esempio";
|
||||
"settings.display.avatar.position" = "Posizione dell'avatar";
|
||||
"settings.display.avatar.shape" = "Forma dell'avatar";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Impostazioni di visualizzazione";
|
||||
"settings.display.restore" = "Ripristina i valori predefiniti";
|
||||
"settings.display.section.display" = "Visualizzazione";
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
"settings.display.font.scaling-%@" = "フォントサイズ: %@";
|
||||
"settings.display.avatar.position" = "アバターの位置";
|
||||
"settings.display.avatar.shape" = "アバターの形";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "表示設定";
|
||||
"settings.display.restore" = "デフォルトに戻す";
|
||||
"settings.display.section.display" = "表示";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "글 미리 보기";
|
||||
"settings.display.avatar.position" = "프로필 사진 위치";
|
||||
"settings.display.avatar.shape" = "프로필 사진 모양";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "화면 설정";
|
||||
"settings.display.restore" = "초기 설정으로 되돌리기";
|
||||
"settings.display.section.display" = "화면";
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
"settings.display.font.scaling-%@" = "Font scaling: %@";
|
||||
"settings.display.avatar.position" = "Avatarposisjon";
|
||||
"settings.display.avatar.shape" = "Avatarform";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Visningsinnstillinger";
|
||||
"settings.display.restore" = "Gjenopprett standardinnstillinger";
|
||||
"settings.display.section.display" = "Visning";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Postvoorbeeld";
|
||||
"settings.display.avatar.position" = "Avatarpositie";
|
||||
"settings.display.avatar.shape" = "Avatarvorm";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Weergaveopties";
|
||||
"settings.display.restore" = "Stel opnieuw in";
|
||||
"settings.display.section.display" = "Weergave";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Przykładowy post";
|
||||
"settings.display.avatar.position" = "Położenie awatara";
|
||||
"settings.display.avatar.shape" = "Kształt awatara";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Ustawienia ekranu";
|
||||
"settings.display.restore" = "Przywróć ustawienia domyślne";
|
||||
"settings.display.section.display" = "Ekran";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Example Post";
|
||||
"settings.display.avatar.position" = "Posição do avatar";
|
||||
"settings.display.avatar.shape" = "Formato do avatar";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Ver Configurações";
|
||||
"settings.display.restore" = "Restaurar padrões";
|
||||
"settings.display.section.display" = "Exibir";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "Example Post";
|
||||
"settings.display.avatar.position" = "Avatar Pozisyonu";
|
||||
"settings.display.avatar.shape" = "Avatar Şekli";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "Gösterim Ayarları";
|
||||
"settings.display.restore" = "Varsayılan Ayarlara Geri Döndür";
|
||||
"settings.display.section.display" = "Gösterim";
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"settings.display.example-toot" = "样例嘟文";
|
||||
"settings.display.avatar.position" = "头像位置";
|
||||
"settings.display.avatar.shape" = "头像边框";
|
||||
"settings.display.full-username" = "Display full username";
|
||||
"settings.display.navigation-title" = "显示设置";
|
||||
"settings.display.restore" = "恢复默认设置";
|
||||
"settings.display.section.display" = "显示";
|
||||
|
|
|
@ -7,6 +7,7 @@ public class Theme: ObservableObject {
|
|||
case avatarPosition, avatarShape, statusActionsDisplay, statusDisplayStyle
|
||||
case selectedSet, selectedScheme
|
||||
case followSystemColorSchme
|
||||
case displayFullUsernameTimeline
|
||||
}
|
||||
|
||||
public enum FontState: Int, CaseIterable {
|
||||
|
@ -96,6 +97,7 @@ public class Theme: ObservableObject {
|
|||
@AppStorage(ThemeKey.statusActionsDisplay.rawValue) public var statusActionsDisplay: StatusActionsDisplay = .full
|
||||
@AppStorage(ThemeKey.statusDisplayStyle.rawValue) public var statusDisplayStyle: StatusDisplayStyle = .large
|
||||
@AppStorage(ThemeKey.followSystemColorSchme.rawValue) public var followSystemColorScheme: Bool = true
|
||||
@AppStorage(ThemeKey.displayFullUsernameTimeline.rawValue) public var displayFullUsername: Bool = true
|
||||
|
||||
@Published public var avatarPosition: AvatarPosition = .top
|
||||
@Published public var avatarShape: AvatarShape = .rounded
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import DesignSystem
|
||||
import Models
|
||||
import SwiftUI
|
||||
import Env
|
||||
|
||||
struct StatusRowHeaderView: View {
|
||||
@Environment(\.isInCaptureMode) private var isInCaptureMode: Bool
|
||||
|
@ -33,22 +34,39 @@ struct StatusRowHeaderView: View {
|
|||
if theme.avatarPosition == .top {
|
||||
AvatarView(url: status.account.avatar, size: .status)
|
||||
}
|
||||
VStack(alignment: .leading, spacing: 0) {
|
||||
EmojiTextApp(.init(stringValue: status.account.safeDisplayName), emojis: status.account.emojis)
|
||||
.font(.scaledSubheadline)
|
||||
.fontWeight(.semibold)
|
||||
Group {
|
||||
Text("@\(status.account.acct)") +
|
||||
Text(" ⸱ ") +
|
||||
Text(status.createdAt.relativeFormatted) +
|
||||
Text(" ⸱ ") +
|
||||
Text(Image(systemName: viewModel.status.visibility.iconName))
|
||||
VStack(alignment: .leading, spacing: 4) {
|
||||
HStack(alignment: .center, spacing: 4) {
|
||||
EmojiTextApp(.init(stringValue: status.account.safeDisplayName), emojis: status.account.emojis)
|
||||
.font(.scaledSubheadline)
|
||||
.fontWeight(.semibold)
|
||||
.lineLimit(1)
|
||||
if theme.avatarPosition == .leading {
|
||||
dateView
|
||||
.offset(y: 1)
|
||||
.lineLimit(1)
|
||||
}
|
||||
}
|
||||
if theme.avatarPosition == .top {
|
||||
HStack(spacing: 0) {
|
||||
Text("@\(theme.displayFullUsername ? status.account.acct : status.account.username)") +
|
||||
Text(" ⸱ ") +
|
||||
dateView
|
||||
}
|
||||
.font(.scaledFootnote)
|
||||
.foregroundColor(.gray)
|
||||
.lineLimit(1)
|
||||
}
|
||||
.font(.scaledFootnote)
|
||||
.foregroundColor(.gray)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private var dateView: Text {
|
||||
Text(status.createdAt.relativeFormatted) +
|
||||
Text(" ⸱ ") +
|
||||
Text(Image(systemName: viewModel.status.visibility.iconName))
|
||||
.font(.scaledFootnote)
|
||||
.foregroundColor(.gray)
|
||||
}
|
||||
|
||||
@ViewBuilder
|
||||
private var threadIcon: some View {
|
||||
|
@ -66,7 +84,7 @@ struct StatusRowHeaderView: View {
|
|||
StatusRowContextMenu(viewModel: viewModel)
|
||||
} label: {
|
||||
Image(systemName: "ellipsis")
|
||||
.frame(width: 20, height: 30)
|
||||
.frame(width: 20)
|
||||
}
|
||||
.menuStyle(.borderlessButton)
|
||||
.foregroundColor(.gray)
|
||||
|
|
Loading…
Reference in a new issue