소스 검색

feat: add skeleton view for CategoryPanelView

Sam Jaffe 3 주 전
부모
커밋
42f39941c3
3개의 변경된 파일29개의 추가작업 그리고 6개의 파일을 삭제
  1. 23 0
      Todos/VIew/CategoryPanelView.swift
  2. 4 4
      Todos/VIew/CategoryView.swift
  3. 2 2
      Todos/VIew/ContentView.swift

+ 23 - 0
Todos/VIew/CategoryPanelView.swift

@@ -0,0 +1,23 @@
+//
+//  CategorySidebarView.swift
+//  Todos
+//
+//  Created by Sam Jaffe on 2/28/26.
+//
+
+import SwiftUI
+import SwiftData
+
+struct CategoryPanelView: View {
+  @State var item: Category
+
+  var body: some View {
+    let style = Date.FormatStyle(date: .numeric, time: .standard)
+    Text("Item at \(item.timestamp, format: style): \(item.name)")
+  }
+}
+
+#Preview {
+  @Previewable @State var item = Category(timestamp: Date())
+  CategoryPanelView(item: item)
+}

+ 4 - 4
Todos/VIew/CategoryView.swift

@@ -1,5 +1,5 @@
 //
-//  CategoryView.swift
+//  CategorySidebarView.swift
 //  Todos
 //
 //  Created by Sam Jaffe on 2/28/26.
@@ -8,8 +8,8 @@
 import SwiftUI
 import SwiftData
 
-struct CategoryView: View {
-  @Binding var name: String;
+struct CategorySidebarView: View {
+  @Binding var name: String
 
   var body: some View {
     TextField("Category", text: $name)
@@ -18,5 +18,5 @@ struct CategoryView: View {
 
 #Preview {
   @Previewable @State var name = "New Category"
-  CategoryView(name: $name)
+  CategorySidebarView(name: $name)
 }

+ 2 - 2
Todos/VIew/ContentView.swift

@@ -17,9 +17,9 @@ struct ContentView: View {
       List {
         ForEach(items) { item in
           NavigationLink {
-            Text("Item at \(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard)): \(item.name)")
+            CategoryPanelView(item: item)
           } label: {
-            CategoryView(name: Bindable(item).name)
+            CategorySidebarView(name: Bindable(item).name)
           }
         }
         .onDelete(perform: deleteItems)