feat: 固定按钮

This commit is contained in:
jinyaqiu 2025-09-01 14:07:03 +08:00
parent c069f0f205
commit 6bc0648fc7
2 changed files with 58 additions and 64 deletions

View File

@ -81,6 +81,7 @@ struct UserInfo: View {
// //
GeometryReader { geometry in GeometryReader { geometry in
ZStack(alignment: .bottom) {
ScrollView { ScrollView {
VStack(spacing: 0) { VStack(spacing: 0) {
// Spacer - // Spacer -
@ -128,13 +129,16 @@ struct UserInfo: View {
.cornerRadius(20) .cornerRadius(20)
.padding(.horizontal) .padding(.horizontal)
// Spacer - //
if !isKeyboardVisible { Spacer(minLength: 40) // +
Spacer(minLength: 0) }
.frame(height: geometry.size.height * 0.1) // 10% of available height .frame(minHeight: geometry.size.height) //
.padding(.bottom, isKeyboardVisible ? 300 : 0) //
} }
// Continue Button // Fixed Button at bottom
VStack {
Spacer()
Button(action: { Button(action: {
if showUsername { if showUsername {
let parameters: [String: Any] = [ let parameters: [String: Any] = [
@ -150,11 +154,9 @@ struct UserInfo: View {
switch result { switch result {
case .success(let response): case .success(let response):
print("✅ 用户信息更新成功") print("✅ 用户信息更新成功")
// Update local state with the new user info
if let userData = response.data { if let userData = response.data {
self.userName = userData.username self.userName = userData.username
} }
// Navigate using router
Router.shared.navigate(to: .blindBox(mediaType: .image)) Router.shared.navigate(to: .blindBox(mediaType: .image))
case .failure(let error): case .failure(let error):
@ -181,19 +183,11 @@ struct UserInfo: View {
.fill(Color.themePrimary) .fill(Color.themePrimary)
) )
} }
.padding(.horizontal, 32) // .padding(.horizontal, 32)
.padding(.bottom, isKeyboardVisible ? 20 : 40) .padding(.bottom, isKeyboardVisible ? 20 : 40)
.animation(.easeInOut, value: showUsername) .animation(.easeInOut, value: showUsername)
.frame(maxWidth: .infinity)
//
if isKeyboardVisible {
Spacer(minLength: 0)
.frame(height: 20) //
} }
} }
.frame(minHeight: geometry.size.height) //
}
} }
.background(Color.themeTextWhiteSecondary) .background(Color.themeTextWhiteSecondary)
} }

View File

@ -46,7 +46,7 @@ struct WakeApp: App {
if authState.isAuthenticated { if authState.isAuthenticated {
// //
NavigationStack(path: $router.path) { NavigationStack(path: $router.path) {
BlindBoxView(mediaType: .all) UserInfo()
.navigationDestination(for: AppRoute.self) { route in .navigationDestination(for: AppRoute.self) { route in
route.view route.view
} }