From eeb82d71520469aa0539ebbee8399a7ccb48e25d Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Tue, 4 Mar 2025 12:54:56 +0800 Subject: [PATCH] fix ui --- dimensionhub/Views/DateNavView.swift | 1 + dimensionhub/Views/DetailView.swift | 29 ++++++++++++--------- dimensionhub/Views/IndexView.swift | 38 +++++++++++++--------------- 3 files changed, 35 insertions(+), 33 deletions(-) diff --git a/dimensionhub/Views/DateNavView.swift b/dimensionhub/Views/DateNavView.swift index d0c3a5f..38042cd 100644 --- a/dimensionhub/Views/DateNavView.swift +++ b/dimensionhub/Views/DateNavView.swift @@ -87,6 +87,7 @@ struct DateNavView: View { } } } + .padding([.leading, .trailing], 1) } } } diff --git a/dimensionhub/Views/DetailView.swift b/dimensionhub/Views/DetailView.swift index 5a56ffa..79ca7a7 100644 --- a/dimensionhub/Views/DetailView.swift +++ b/dimensionhub/Views/DetailView.swift @@ -300,22 +300,27 @@ extension DetailView { } placeholder: { ProgressView() } + .frame(width: 90, height: 70) .overlay { - VStack { - HStack { - Text(episode.num_name) - .font(.system(size: 12)) - .foregroundColor(.white) - .padding([.leading, .trailing], 5) - .background( - Color.black.opacity(0.5) - .cornerRadius(5) - ) + if !episode.num_name.isEmpty { + VStack { + HStack { + Text(episode.num_name) + .font(.system(size: 12)) + .foregroundColor(.white) + .padding([.leading, .trailing], 5) + .background( + Color.black.opacity(0.5) + .cornerRadius(5) + ) + Spacer() + } Spacer() } - Spacer() + .padding([.top, .leading], 8) + } else { + EmptyView() } - .padding([.top, .leading], 8) } Text(episode.name) diff --git a/dimensionhub/Views/IndexView.swift b/dimensionhub/Views/IndexView.swift index 5754f5e..acc15b2 100644 --- a/dimensionhub/Views/IndexView.swift +++ b/dimensionhub/Views/IndexView.swift @@ -299,19 +299,20 @@ extension IndexView { .background(Color(hex: "#F2F2F2"), ignoresSafeAreaEdges: .top) VStack(alignment: .center) { - HStack(alignment: .center) { - Spacer() - Text("番剧补完计划") - .font(.system(size: 24)) - .foregroundColor(Color(hex: "#999999")) - } - ForEach(indexModel.dramas, id: \.id) { drama in - DramaCellView(dramaItem: drama) - } - - // 基于日期的更新列表 ScrollView(.vertical, showsIndicators: false) { + HStack(alignment: .center) { + Spacer() + Text("番剧补完计划") + .font(.system(size: 24)) + .foregroundColor(Color(hex: "#999999")) + } + + ForEach(indexModel.dramas, id: \.id) { drama in + DramaCellView(dramaItem: drama) + } + + // 基于日期的更新列表 VStack(alignment: .center, spacing: 10) { ForEach(indexModel.updateDramaGroups, id: \.group_id) { group in DramaGroupView(group: group) { @@ -330,7 +331,7 @@ extension IndexView { let frame = geometry.frame(in: .global) let screenBounds = UIScreen.main.bounds - let contextFrame = geometry.frame(in: .named("scrollView")) + let contextFrame = geometry.frame(in: .named("indexScrollView")) if screenBounds.height - frame.minY > 50 && contextFrame.minY > 0 && !isMoreLoading { Task { @@ -346,7 +347,7 @@ extension IndexView { ProgressView() } } - .coordinateSpace(name: "scrollView") + .coordinateSpace(name: "indexScrollView") .refreshable { guard !self.isPrevLoading && !self.showDateNavPopover else { return @@ -372,13 +373,8 @@ extension IndexView { .alert(isPresented: $showPrompt) { Alert(title: Text("提示"), message: Text(self.promptMessage), dismissButton: .default(Text("OK"))) } - .onAppear { - Task { - await self.indexModel.loadData(userId: self.userId) - } - withUnsafePointer(to: indexModel) { pointer in - print(pointer) - } + .task { + await self.indexModel.loadData(userId: self.userId) } } } @@ -397,7 +393,7 @@ extension IndexView { } ScrollView(.horizontal, showsIndicators: false) { - HStack(alignment: .center, spacing: 5) { + LazyHStack(alignment: .center, spacing: 5) { ForEach(dramaItem.episodes) { item in VStack(alignment: .center) { GeometryReader { geometry in