From bbac1b6c3e87327932c713810bda7cef0b60d69e Mon Sep 17 00:00:00 2001 From: makinosp Date: Sat, 24 Aug 2024 15:11:30 +0900 Subject: [PATCH] refact: improvement UI of LocationCardView, LocationDetailView --- .../Views/Location/LocationCardView.swift | 57 ++++++++++--------- .../Views/Location/LocationDetailView.swift | 5 +- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/harmonie/Views/Location/LocationCardView.swift b/harmonie/Views/Location/LocationCardView.swift index 83fdf96..1c9dbc8 100644 --- a/harmonie/Views/Location/LocationCardView.swift +++ b/harmonie/Views/Location/LocationCardView.swift @@ -51,40 +51,41 @@ struct LocationCardView: View { func locationCardContent(instance: Instance) -> some View { HStack(alignment: .top) { - VStack(alignment: .leading) { - Text(instance.world.name) - .font(.body) - HStack { - Text(instance.typeDescription) - .font(.footnote) - .foregroundStyle(Color.gray) - Spacer() - Text(personAmount(instance)) - .font(.footnote) - .foregroundStyle(Color.gray) - } - ScrollView(.horizontal) { - HStack(spacing: -8) { - ForEach(location.friends) { friend in - ZStack { - Circle() - .foregroundStyle(friend.status.color) - .frame(size: Constants.IconSize.thumbnailOutside) - CircleURLImage( - imageUrl: friend.thumbnailUrl, - size: Constants.IconSize.thumbnail - ) + locationThumbnail(instance.world.imageUrl) + Spacer() + HStack { + VStack(alignment: .leading) { + Text(instance.world.name) + .font(.body) + HStack { + Text(instance.typeDescription) + .font(.footnote) + .foregroundStyle(Color.gray) + Text(personAmount(instance)) + .font(.footnote) + .foregroundStyle(Color.gray) + } + ScrollView(.horizontal) { + HStack(spacing: -8) { + ForEach(location.friends) { friend in + ZStack { + Circle() + .foregroundStyle(friend.status.color) + .frame(size: Constants.IconSize.thumbnailOutside) + CircleURLImage( + imageUrl: friend.thumbnailUrl, + size: Constants.IconSize.thumbnail + ) + } } } } } + .frame(maxWidth: .infinity, alignment: .leading) + Constants.Icon.forward } - .padding() - .frame(maxWidth: .infinity, alignment: .leading) - Spacer() - locationThumbnail(instance.world.imageUrl) - .padding() } + .padding() } func personAmount(_ instance: Instance) -> String { diff --git a/harmonie/Views/Location/LocationDetailView.swift b/harmonie/Views/Location/LocationDetailView.swift index b043995..a205ec4 100644 --- a/harmonie/Views/Location/LocationDetailView.swift +++ b/harmonie/Views/Location/LocationDetailView.swift @@ -50,7 +50,9 @@ struct LocationDetailView: View { var friendList: some View { ForEach(location.friends) { friend in NavigationLink(value: Selected(id: friend.id)) { - HStack { + Label { + Text(friend.displayName) + } icon: { ZStack { Circle() .foregroundStyle(friend.status.color) @@ -60,7 +62,6 @@ struct LocationDetailView: View { size: Constants.IconSize.thumbnail ) } - Text(friend.displayName) } .frame(maxWidth: .infinity, alignment: .leading) .contentShape(Rectangle())