





















@@ -23,8 +23,9 @@ struct SessionsSettings: View {
2323self.content
2424Spacer()
2525}
26-.frame(maxWidth: .infinity, alignment: .leading)
27-.padding(.horizontal, 12)
26+.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading)
27+.padding(.leading, 18)
28+.padding(.trailing, SettingsLayout.scrollbarGutter)
2829.task {
2930guard !self.hasLoaded else { return }
3031guard !self.isPreview else { return }
@@ -34,16 +35,16 @@ struct SessionsSettings: View {
3435}
35363637private var header: some View {
37-HStack(alignment: .top, spacing: 12) {
38+HStack(alignment: .top, spacing: 16) {
3839VStack(alignment: .leading, spacing: 4) {
3940Text("Sessions")
40-.font(.headline)
41+.font(.title3.weight(.semibold))
4142Text("Peek at the stored conversation buckets the CLI reuses for context and rate limits.")
42-.font(.footnote)
43+.font(.callout)
4344.foregroundStyle(.secondary)
4445.fixedSize(horizontal: false, vertical: true)
4546}
46-Spacer()
47+Spacer(minLength: 16)
4748SettingsRefreshButton(isLoading: self.loading) {
4849Task { await self.refresh() }
4950}
@@ -58,21 +59,30 @@ struct SessionsSettings: View {
5859.foregroundStyle(.secondary)
5960.padding(.top, 6)
6061} else {
61-List(self.rows) { row in
62-self.sessionRow(row)
62+ScrollView(.vertical) {
63+LazyVStack(alignment: .leading, spacing: 0) {
64+ForEach(Array(self.rows.enumerated()), id: \.element.id) { index, row in
65+self.sessionRow(row)
66+.padding(.horizontal, 8)
67+.padding(.vertical, 8)
68+69+if index != self.rows.count - 1 {
70+Divider()
71+.padding(.leading, 8)
72+}
73+}
74+}
75+.frame(maxWidth: .infinity, alignment: .leading)
6376}
64-.listStyle(.inset)
6577.overlay(alignment: .topLeading) {
6678if let errorMessage {
6779Text(errorMessage)
6880.font(.footnote)
6981.foregroundStyle(.red)
70-.padding(.leading, 4)
82+.padding(.leading, 8)
7183.padding(.top, 4)
7284}
7385}
74- // The view already applies horizontal padding; keep the list aligned with the text above.
75-.padding(.horizontal, -12)
7686}
7787}
7888}
@@ -136,7 +146,7 @@ struct SessionsSettings: View {
136146}
137147}
138148}
139-.padding(.vertical, 6)
149+.frame(maxWidth: .infinity, alignment: .leading)
140150}
141151142152private func label(icon: String, text: String) -> some View {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。