Skip to content
This repository was archived by the owner on Mar 7, 2026. It is now read-only.

Commit afb1b2c

Browse files
authored
Revert AboutView's UI changes and fix some bugs
1 parent 7460dc2 commit afb1b2c

2 files changed

Lines changed: 16 additions & 57 deletions

File tree

Sources/prostore/views/AboutView.swift

Lines changed: 14 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -41,72 +41,56 @@ struct AboutView: View {
4141
var body: some View {
4242
NavigationStack {
4343
List {
44-
VStack(spacing: 12) {
44+
VStack(spacing: 8) {
4545
if let url = appIconURL {
4646
AsyncImage(url: url) { phase in
4747
if let img = phase.image {
4848
img
4949
.resizable()
5050
.scaledToFit()
5151
.frame(width: 120, height: 120)
52-
.clipShape(RoundedRectangle(cornerRadius: 24, style: .continuous))
53-
.shadow(color: Color.black.opacity(0.2), radius: 6, x: 0, y: 2)
54-
.background(
55-
RoundedRectangle(cornerRadius: 24, style: .continuous)
56-
.fill(Color.blue.opacity(0.1)) // Subtle background
57-
)
58-
.padding(4)
52+
.clipShape(RoundedRectangle(cornerRadius: 20, style: .continuous))
53+
.shadow(radius: 6)
5954
} else if phase.error != nil {
6055
Image(systemName: "app.fill")
6156
.resizable()
6257
.scaledToFit()
6358
.frame(width: 80, height: 80)
64-
.foregroundColor(.blue.opacity(0.6)) // Tinted fallback
59+
.foregroundColor(.secondary)
6560
} else {
6661
ProgressView()
67-
.tint(.blue) // Tinted spinner
6862
.frame(width: 80, height: 80)
6963
}
7064
}
71-
.animation(.easeIn(duration: 0.3), value: url) // Fade-in animation
7265
}
7366

7467
Text("ProStore")
7568
.font(.title2)
76-
.fontWeight(.bold) // Bolder for emphasis
77-
.foregroundColor(.primary)
69+
.fontWeight(.semibold)
7870

7971
Text("Version \(versionString)")
8072
.font(.footnote)
8173
.foregroundColor(.secondary)
8274
}
8375
.frame(maxWidth: .infinity)
84-
.padding(.vertical, 24) // More spacing
76+
.padding(.vertical, 20)
8577
.listRowInsets(EdgeInsets())
86-
.background(Color.blue.opacity(0.05)) // Subtle list row background
8778

88-
Section(header: Text("Credits")
89-
.font(.headline)
90-
.foregroundColor(.primary)
91-
.padding(.top, 8)) {
79+
Section(header: Text("Credits")) {
9280
ForEach(credits) { c in
9381
CreditRow(credit: c)
9482
}
9583
}
9684
}
97-
.listStyle(.insetGrouped)
98-
.background(Color(UIColor.systemBackground)) // Clean background
99-
.navigationTitle("About ProStore")
100-
.navigationBarTitleDisplayMode(.inline)
101-
.accentColor(.blue) // Consistent blue accent
85+
.listStyle(InsetGroupedListStyle())
86+
.navigationTitle("About")
10287
}
10388
}
10489
}
10590

10691
struct CreditRow: View {
10792
let credit: Credit
10893
@Environment(\.openURL) var openURL
109-
@State private var isTapped = false // For button animation
11094

11195
var body: some View {
11296
HStack(spacing: 12) {
@@ -115,31 +99,21 @@ struct CreditRow: View {
11599
img
116100
.resizable()
117101
.scaledToFill()
118-
.frame(width: 48, height: 48)
119-
.clipShape(Circle())
120-
.overlay(
121-
Circle()
122-
.stroke(Color.blue.opacity(0.3), lineWidth: 1) // Modern border
123-
)
124102
} else if phase.error != nil {
125103
Image(systemName: "person.crop.circle.fill")
126104
.resizable()
127105
.scaledToFill()
128-
.frame(width: 48, height: 48)
129-
.foregroundColor(.blue.opacity(0.6)) // Tinted fallback
130106
} else {
131107
ProgressView()
132-
.tint(.blue) // Tinted spinner
133-
.frame(width: 48, height: 48)
134108
}
135109
}
136-
.animation(.easeIn(duration: 0.3), value: credit.avatarURL) // Fade-in animation
110+
.frame(width: 44, height: 44)
111+
.clipShape(Circle())
112+
.overlay(Circle().stroke(Color(UIColor.separator), lineWidth: 0.5))
137113

138-
VStack(alignment: .leading, spacing: 4) {
114+
VStack(alignment: .leading, spacing: 2) {
139115
Text(credit.name)
140116
.font(.body)
141-
.fontWeight(.medium)
142-
.foregroundColor(.primary)
143117
Text(credit.role)
144118
.font(.subheadline)
145119
.foregroundColor(.secondary)
@@ -148,29 +122,14 @@ struct CreditRow: View {
148122
Spacer()
149123

150124
Button {
151-
isTapped = true
152125
openURL(credit.profileURL)
153-
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
154-
isTapped = false
155-
}
156126
} label: {
157127
Image(systemName: "arrow.up.right.square")
158128
.imageScale(.large)
159-
.foregroundColor(.blue)
160-
.padding(8)
161-
.background(Color.blue.opacity(0.1)) // Subtle button background
162-
.clipShape(Circle())
163-
.scaleEffect(isTapped ? 0.9 : 1.0) // Tap animation
129+
.foregroundColor(.primary) // Neutral color instead of blue
164130
}
165131
.buttonStyle(BorderlessButtonStyle())
166-
.animation(.easeInOut(duration: 0.2), value: isTapped) // Smooth tap animation
167132
}
168133
.padding(.vertical, 8)
169-
.padding(.horizontal, 8)
170-
.background(
171-
RoundedRectangle(cornerRadius: 12)
172-
.fill(Color.blue.opacity(0.05)) // Subtle row background
173-
)
174-
.padding(.horizontal, 4)
175134
}
176135
}

project.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ targets:
3030
properties:
3131
CFBundleDisplayName: "ProStore"
3232
CFBundleName: "prostore"
33-
CFBundleVersion: "19"
34-
CFBundleShortVersionString: "1.3.0"
33+
CFBundleVersion: "20"
34+
CFBundleShortVersionString: "1.3.1"
3535
UILaunchStoryboardName: "LaunchScreen"
3636
NSPrincipalClass: "UIApplication"
3737
NSAppTransportSecurity:

0 commit comments

Comments
 (0)