fix: AddAccountView (#1764)

* fix typo

* format number of users and posts

* add thumbnail and re-layout
This commit is contained in:
Thai D. V 2023-12-19 13:25:31 +07:00 committed by GitHub
parent 260dbd351a
commit ca13e61b53
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 90 additions and 52 deletions

View file

@ -177,25 +177,63 @@ struct AddAccountView: View {
instanceName = instance.name instanceName = instance.name
} label: { } label: {
VStack(alignment: .leading, spacing: 4) { VStack(alignment: .leading, spacing: 4) {
Text(instance.name) LazyImage(url: instance.thumbnail) { state in
.font(.scaledHeadline) if let image = state.image {
.foregroundColor(.primary) image
Text(instance.info?.shortDescription ?? "") .resizable()
.font(.scaledBody) .scaledToFill()
.foregroundStyle(Color.secondary) } else {
(Text("instance.list.users-\(instance.users)") Rectangle().fill(theme.tintColor.opacity(0.1))
+ Text("") }
+ Text("instance.list.posts-\(instance.statuses)")) }
.font(.scaledFootnote) .frame(height: 100)
.foregroundStyle(Color.secondary) .frame(maxWidth: .infinity)
.clipped()
VStack(alignment: .leading) {
HStack {
Text(instance.name)
.font(.scaledHeadline)
.foregroundColor(.primary)
Spacer()
(Text("instance.list.users-\(formatAsNumber(instance.users))")
+ Text("")
+ Text("instance.list.posts-\(formatAsNumber(instance.statuses))"))
.foregroundStyle(theme.tintColor)
}
.padding(.bottom, 5)
Text(instance.info?.shortDescription?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "")
.foregroundStyle(Color.secondary)
.lineLimit(10)
}
.font(.scaledFootnote)
.padding(10)
} }
} }
.listRowBackground(theme.primaryBackgroundColor) .background(theme.primaryBackgroundColor)
.listRowBackground(Color.clear)
.listRowInsets(EdgeInsets(top: 10, leading: 0, bottom: 10, trailing: 0))
.listRowSeparator(.hidden)
.clipShape(RoundedRectangle(cornerRadius: 5))
.overlay {
RoundedRectangle(cornerRadius: 5)
.stroke(lineWidth: 1)
.fill(theme.tintColor)
}
} }
} }
} }
} }
private func formatAsNumber(_ string: String) -> String {
(Int(string) ?? 0)
.formatted(
.number
.notation(.compactName)
.locale(.current)
)
}
private var placeholderRow: some View { private var placeholderRow: some View {
VStack(alignment: .leading, spacing: 4) { VStack(alignment: .leading, spacing: 4) {
Text("placeholder.loading.short") Text("placeholder.loading.short")

View file

@ -7638,7 +7638,7 @@
"ca" : { "ca" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "translated",
"value" : "Add account" "value" : "Add Account"
} }
}, },
"de" : { "de" : {
@ -7722,7 +7722,7 @@
"tr" : { "tr" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "translated",
"value" : "Add account" "value" : "Add Account"
} }
}, },
"uk" : { "uk" : {
@ -10971,115 +10971,115 @@
"localizations" : { "localizations" : {
"be" : { "be" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Дадаць уліковы запіс" "value" : "Дадаць уліковы запіс"
} }
}, },
"ca" : { "ca" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Afegeix un compte" "value" : "Afegeix un compte"
} }
}, },
"de" : { "de" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Konto hinzufügen" "value" : "Konto hinzufügen"
} }
}, },
"en" : { "en" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "translated",
"value" : "Add account" "value" : "Add Account"
} }
}, },
"en-GB" : { "en-GB" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "translated",
"value" : "Add account" "value" : "Add Account"
} }
}, },
"es" : { "es" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Añadir cuenta" "value" : "Añadir cuenta"
} }
}, },
"eu" : { "eu" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Gehitu kontua" "value" : "Gehitu kontua"
} }
}, },
"fr" : { "fr" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Ajouter un compte" "value" : "Ajouter un compte"
} }
}, },
"it" : { "it" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Aggiungi account" "value" : "Aggiungi account"
} }
}, },
"ja" : { "ja" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "アカウントの追加" "value" : "アカウントの追加"
} }
}, },
"ko" : { "ko" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "계정 추가" "value" : "계정 추가"
} }
}, },
"nb" : { "nb" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Legg til konto" "value" : "Legg til konto"
} }
}, },
"nl" : { "nl" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Account toevoegen" "value" : "Account toevoegen"
} }
}, },
"pl" : { "pl" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Dodaj konto" "value" : "Dodaj konto"
} }
}, },
"pt-BR" : { "pt-BR" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Adicionar conta" "value" : "Adicionar conta"
} }
}, },
"tr" : { "tr" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Hesap Ekle" "value" : "Hesap Ekle"
} }
}, },
"uk" : { "uk" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Додати підключення" "value" : "Додати підключення"
} }
}, },
"zh-Hans" : { "zh-Hans" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "添加账户" "value" : "添加账户"
} }
}, },
"zh-Hant" : { "zh-Hant" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "新增帳戶" "value" : "新增帳戶"
} }
} }
@ -38356,115 +38356,115 @@
"localizations" : { "localizations" : {
"be" : { "be" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Дадаць уліковы запіс" "value" : "Дадаць уліковы запіс"
} }
}, },
"ca" : { "ca" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Afegeix un compte" "value" : "Afegeix un compte"
} }
}, },
"de" : { "de" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Konto hinzufügen" "value" : "Konto hinzufügen"
} }
}, },
"en" : { "en" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "translated",
"value" : "Add account" "value" : "Add Account"
} }
}, },
"en-GB" : { "en-GB" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "translated",
"value" : "Add account" "value" : "Add Account"
} }
}, },
"es" : { "es" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Añadir cuenta" "value" : "Añadir cuenta"
} }
}, },
"eu" : { "eu" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Gehitu kontua" "value" : "Gehitu kontua"
} }
}, },
"fr" : { "fr" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Ajouter un compte" "value" : "Ajouter un compte"
} }
}, },
"it" : { "it" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Aggiungi un account" "value" : "Aggiungi un account"
} }
}, },
"ja" : { "ja" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "アカウントの追加" "value" : "アカウントの追加"
} }
}, },
"ko" : { "ko" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "계정 추가" "value" : "계정 추가"
} }
}, },
"nb" : { "nb" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Legg til konto" "value" : "Legg til konto"
} }
}, },
"nl" : { "nl" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Account toevoegen" "value" : "Account toevoegen"
} }
}, },
"pl" : { "pl" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Dodaj konto" "value" : "Dodaj konto"
} }
}, },
"pt-BR" : { "pt-BR" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Adicionar conta" "value" : "Adicionar conta"
} }
}, },
"tr" : { "tr" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Hesap Ekle" "value" : "Hesap Ekle"
} }
}, },
"uk" : { "uk" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "Додати обліковий запис" "value" : "Додати обліковий запис"
} }
}, },
"zh-Hans" : { "zh-Hans" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "添加账户" "value" : "添加账户"
} }
}, },
"zh-Hant" : { "zh-Hant" : {
"stringUnit" : { "stringUnit" : {
"state" : "translated", "state" : "needs_review",
"value" : "新增帳戶" "value" : "新增帳戶"
} }
} }