From 3820bdff162a81b198cba0d3c3f15383c1be3c51 Mon Sep 17 00:00:00 2001 From: Saint Date: Fri, 21 Apr 2023 20:06:30 -0400 Subject: [PATCH] working more --- ScrollState.swift | 44 +++++ ScrollStateRequest.swift | 36 ++++ VisibilityTracker.swift | 5 +- gloss.xcodeproj/project.pbxproj | 8 + .../UserInterfaceState.xcuserstate | Bin 92508 -> 129356 bytes gloss/AppDatabase.swift | 18 ++ gloss/ContentView.swift | 181 ++++++++---------- 7 files changed, 195 insertions(+), 97 deletions(-) create mode 100644 ScrollState.swift create mode 100644 ScrollStateRequest.swift diff --git a/ScrollState.swift b/ScrollState.swift new file mode 100644 index 0000000..6f4324f --- /dev/null +++ b/ScrollState.swift @@ -0,0 +1,44 @@ +import GRDB +/// The Seg struct. +/// +/// Identifiable conformance supports SwiftUI list animations, and type-safe +/// GRDB primary key methods. +/// Equatable conformance supports tests. +struct ScrollState: Identifiable, Equatable { + /// Int64 is the recommended type for auto-incremented database ids. + /// Use nil for players that are not inserted yet in the database. + var id: Int64? + var scrollId: String + var scrollOffset: Int64 +} + +extension ScrollState { +} + +// MARK: - Persistence + +/// Make ScrollState a Codable Record. +/// +/// See +extension ScrollState: Codable, FetchableRecord, MutablePersistableRecord { + // Define database columns from CodingKeys + fileprivate enum Columns { + static let id = Column(CodingKeys.id) + static let scrollId = Column(CodingKeys.scrollId) + static let scrollOffset = Column(CodingKeys.scrollOffset) + } + + /// Updates a player id after it has been inserted in the database. + mutating func didInsert(_ inserted: InsertionSuccess) { + id = inserted.rowID + } +} + +// MARK: - ScrollState Database Requests + +/// Define some player requests used by the application. +/// +/// See +/// See +extension DerivableRequest { +} diff --git a/ScrollStateRequest.swift b/ScrollStateRequest.swift new file mode 100644 index 0000000..2886cc1 --- /dev/null +++ b/ScrollStateRequest.swift @@ -0,0 +1,36 @@ +import Combine +import GRDB +import GRDBQuery + +struct ScrollStateRequest: Queryable { + // enum Ordering { + // case byScore + // case byName + // } + + /// The ordering used by the player request. + // var ordering: Ordering + static var defaultValue: [Ribbon] { [] } + + func publisher(in appDatabase: AppDatabase) -> AnyPublisher<[Ribbon], Error> { + // Build the publisher from the general-purpose read-only access + // granted by `appDatabase.reader`. + // Some apps will prefer to call a dedicated method of `appDatabase`. + ValueObservation + .tracking(fetchValue(_:)) + .publisher( + in: appDatabase.reader, + // The `.immediate` scheduling feeds the view right on + // subscription, and avoids an undesired animation when the + // application starts. + scheduling: .immediate) + .eraseToAnyPublisher() + } + + // This method is not required by Queryable, but it makes it easier + func fetchValue(_ db: Database) throws -> [Ribbon] { + var ret = try Ribbon.fetchAll(db, sql: "SELECT * FROM ScrollState LIMIT 1") // [Player] + // print(ret) + return ret + } +} diff --git a/VisibilityTracker.swift b/VisibilityTracker.swift index 88a3575..5e43e41 100644 --- a/VisibilityTracker.swift +++ b/VisibilityTracker.swift @@ -44,7 +44,7 @@ public class VisibilityTracker: ObservableObject { containerBounds = bounds } - public func reportContentBounds(_ bounds: CGRect, id: ID) { + public func reportContentBounds(_ bounds: CGRect, id: ID) { let topLeft = bounds.origin let size = bounds.size let bottomRight = CGPoint(x: topLeft.x + size.width, y: topLeft.y + size.height) @@ -53,6 +53,9 @@ public class VisibilityTracker: ObservableObject { visibleViews[id] = -1 * (bounds.origin.y - containerBounds.origin.y) + if (abs(visibleViews[id]! ) > 1000) { + visibleViews.removeValue(forKey: id) + } sortViews() action(id, .shown, self) diff --git a/gloss.xcodeproj/project.pbxproj b/gloss.xcodeproj/project.pbxproj index 9bdd79f..a807857 100644 --- a/gloss.xcodeproj/project.pbxproj +++ b/gloss.xcodeproj/project.pbxproj @@ -36,6 +36,8 @@ 85942EF929B1150B00307621 /* SegDenorm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85942EF829B1150B00307621 /* SegDenorm.swift */; }; 85942EFE29B11C0B00307621 /* john_export.json in Resources */ = {isa = PBXBuildFile; fileRef = 85942EFC29B11C0A00307621 /* john_export.json */; }; 85942EFF29B11C0B00307621 /* mark_export.json in Resources */ = {isa = PBXBuildFile; fileRef = 85942EFD29B11C0B00307621 /* mark_export.json */; }; + 85E00E7C29F34D2D00FF9E78 /* ScrollState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85E00E7B29F34D2D00FF9E78 /* ScrollState.swift */; }; + 85E00E7E29F34D3700FF9E78 /* ScrollStateRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85E00E7D29F34D3700FF9E78 /* ScrollStateRequest.swift */; }; 85F01DF82978787800F317B4 /* AveriaSerifLibre-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 85F01DF72978787800F317B4 /* AveriaSerifLibre-Regular.ttf */; }; 85F01DFB2978790400F317B4 /* xe-Dogma-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 85F01DFA2978790400F317B4 /* xe-Dogma-Bold.ttf */; }; /* End PBXBuildFile section */ @@ -68,6 +70,8 @@ 85942EF829B1150B00307621 /* SegDenorm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SegDenorm.swift; sourceTree = ""; }; 85942EFC29B11C0A00307621 /* john_export.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = john_export.json; sourceTree = ""; }; 85942EFD29B11C0B00307621 /* mark_export.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = mark_export.json; sourceTree = ""; }; + 85E00E7B29F34D2D00FF9E78 /* ScrollState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrollState.swift; sourceTree = ""; }; + 85E00E7D29F34D3700FF9E78 /* ScrollStateRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrollStateRequest.swift; sourceTree = ""; }; 85F01DF72978787800F317B4 /* AveriaSerifLibre-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "AveriaSerifLibre-Regular.ttf"; sourceTree = ""; }; 85F01DFA2978790400F317B4 /* xe-Dogma-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "xe-Dogma-Bold.ttf"; sourceTree = ""; }; 85F01DFC29787B3500F317B4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; @@ -101,6 +105,8 @@ 85431A7C2905F4F500EE0760 = { isa = PBXGroup; children = ( + 85E00E7B29F34D2D00FF9E78 /* ScrollState.swift */, + 85E00E7D29F34D3700FF9E78 /* ScrollStateRequest.swift */, 8528897429B2B86B003F2E16 /* CrownOfThorns.swift */, 85942EEC29AEA04200307621 /* SelectedRibbon.swift */, 85942EEE29AEA18300307621 /* SelectedRibbonRequest.swift */, @@ -274,8 +280,10 @@ 85942EEB29AD55A400307621 /* RibbonRequest.swift in Sources */, 85431A8B2905F4F500EE0760 /* ContentView.swift in Sources */, 85942EF529B108C600307621 /* Seg.swift in Sources */, + 85E00E7C29F34D2D00FF9E78 /* ScrollState.swift in Sources */, 8528897529B2B86B003F2E16 /* CrownOfThorns.swift in Sources */, 85431A952905F4F600EE0760 /* gloss.xcdatamodeld in Sources */, + 85E00E7E29F34D3700FF9E78 /* ScrollStateRequest.swift in Sources */, 85942EE929AD51A100307621 /* Ribbon.swift in Sources */, 8590D96729A183EE001EF84F /* AppDatabase.swift in Sources */, 8590D96929A18A6D001EF84F /* LineRequest.swift in Sources */, diff --git a/gloss.xcodeproj/project.xcworkspace/xcuserdata/saint.xcuserdatad/UserInterfaceState.xcuserstate b/gloss.xcodeproj/project.xcworkspace/xcuserdata/saint.xcuserdatad/UserInterfaceState.xcuserstate index 330c412d124c4f0a996b1da448707ec327ac9227..933dab1a1f632277e4c65168f1b0ca517cedabfa 100644 GIT binary patch literal 129356 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 literal 92508 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
)*`vU6#X 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 some View { var retView = Text("") var segSplit = seg.body.components(separatedBy: ";;") - // Text(segSplit[0].body) - // .id(seg.id) - // VStack { - // ForEach(segSplit.indices) { i in let decoder = JSONDecoder() segSplit.enumerated().forEach({ (index, item) in let verse = try! decoder.decode(Verse.self, from: item.data(using: .utf8)!) retView = retView + Text(String(verse.verse)) - // Text(seg.body) - // .contentShape(Rectangle()) .font(Font.custom("AveriaSerifLibre-Regular", size: 20)) .baselineOffset(6.0) .foregroundColor(Color.white) retView = retView + Text(verse.body) - // .frame(maxWidth: .infinity, alignment: .leading) - // .contentShape(Rectangle()) .foregroundColor(Color.white) .font(Font.custom("AveriaSerifLibre-Regular", size: 30)) - // .listRowBackground(Color(red: 0.2, green: 0.8, blue: 0.2)) - // .listRowInsets(EdgeInsets()) - // .padding(EdgeInsets(top: 10, leading: 20, bottom: 40, trailing: 20)) - // .listRowSeparator(.hidden) - // .id(String(seg.id) + "body" + String(i)) - // .id(seg.id) - //.onTapGesture { - // selectedLine = seg.id - // //Print(selectedLine) - //} - - // .listRowBackground(Color(red: 0.2, green: 0.8, blue: 0.2)) - // .listRowInsets(EdgeInsets()) - // .padding(EdgeInsets(top: 10, leading: 20, bottom: 40, trailing: 20)) - // .listRowSeparator(.hidden) - // .id(String(seg.id) + "verse" + String(i)) - // .id(seg.id) - //.onTapGesture { - // selectedLine = seg.id - // //Print(selectedLine) - //} }) - // } return retView } @@ -241,22 +211,25 @@ struct ContentView: View { @State var pulledOut = CGSize.zero @State var taskTitle : String = "FIRST DOGGG" @State var curBook : String = "Matthew" - // @State var scrollTo1 : Int64? @State var selectedLine : Int64? - @State var scrollOffset = CGFloat() @State var thisScrollView : UIScrollView? @State var scrollUpdate = false @State var initLoad = false + @State var currentId : String? + @State var currentOffset = CGFloat() + + // set this to scroll to area + @State var scrollId : String? + @State var scrollOffset: CGFloat? + + @Query(SegDenormRequest(book: "bible.mark")) private var segs: [SegDenorm] - @State var scrollDelegate: ScrollViewHandler + // @State var scrollDelegate: ScrollViewHandler // @State var scrollDelegate = ScrollViewHandler() - // @State var selectedRibbon: Ribbon!, - // @State var selectedRibbon: Ribbon! - // @State var selectedRibbonId = Int64(UserDefaults.standard.optionalInt(forKey: "selectedRibbonId") ?? 1) // ribbon @@ -276,8 +249,7 @@ struct ContentView: View { init() { UITableView.appearance().backgroundColor = UIColor(Color(red: 0.2, green: 0.2, blue: 0.2)) // _selectedRibbon = Query(RibbonRequest(id: Int64(UserDefaults.standard.optionalInt(forKey: "lastRibbonId") ?? 1))) - self._scrollDelegate = State(initialValue: ScrollViewHandler()) - Print("initalizing") + // self._scrollDelegate = State(initialValue: ScrollViewHandler()) } var body: some View { @@ -287,24 +259,6 @@ struct ContentView: View { ZStack{ VStack{ - VStack{ - - // // Star(corners: 6, smoothness: 0.85, initAngle:-CGFloat.pi / 4) - // .fill(.blue) - // .frame(width: 200, height: 200) - // .background(Color.gray.opacity(0.0)) - - // Star(corners: 6, smoothness: 0.85, initAngle:-CGFloat.pi / 2) - // .fill(.blue) - // .frame(width: 200, height: 200) - // .background(Color.gray.opacity(0.0)) - - // MyCustomShape().frame(width: 10, height: 10) - - - } - - Text("MRK") .font(Font.custom("AveriaSerifLibre-Regular", size: 20)) .foregroundColor(Color.white) @@ -320,12 +274,10 @@ struct ContentView: View { .frame(width: 120, height: 120) - - // Text("cat" + String(selectedRibbon[0].id!)) ForEach(ribbons) { ribbon in //ForEach(selectedRibbon) { sr in SwitchButton(ribbon: ribbon, - scrollDelegate: $scrollDelegate, + // scrollDelegate: $scrollDelegate, scrollView:$thisScrollView, scrollUpdate:$scrollUpdate ) @@ -337,20 +289,14 @@ struct ContentView: View { .background(Color(red: 0.1, green: 0.1, blue: 0.1)) ScrollViewReader { proxy in - VisibilityTrackingScrollView(action: handleVisibilityChanged) { // ScrollView { LazyVStack { Text(refresh ? "Selected" : "not Selected") Button("Jump to #8") { + scrollId = "20" - proxy.scrollTo("5", anchor: .top) - - DispatchQueue.main.async { - scrollOffset = 340 - refresh.toggle() - } } ForEach(segs) { seg in SegRow(seg: seg) @@ -371,27 +317,37 @@ struct ContentView: View { } } .background(Color(red: 0.2, green: 0.2, blue: 0.2)) + } + .onChange(of: scrollId) { target in + if let target = target { + proxy.scrollTo(scrollId! , anchor: .top) + //scrollId = nil + + DispatchQueue.main.async { + scrollOffset = -299 + refresh.toggle() + } + } + + + } .introspectScrollView { scrollView in - - // Print("introspect") - scrollView.delegate = scrollDelegate - Print("Scroll delegate offset", scrollDelegate.scrollOffset) + // scrollView.delegate = scrollDelegate + // Print("Scroll delegate offset", scrollDelegate.scrollOffset) - if (scrollOffset != 0) { - Print("GOT THEHREHREH") - - scrollView.contentOffset.y = scrollView.contentOffset.y + scrollOffset - - DispatchQueue.main.async { scrollOffset = 0 } + if (scrollOffset != nil) { + Print("Setting scroll offset") + scrollView.contentOffset.y = scrollView.contentOffset.y + scrollOffset! + DispatchQueue.main.async { scrollOffset = nil } } - if (thisScrollView == nil) { - Print("init scroll") - thisScrollView = scrollView - scrollView.contentOffset.y = CGFloat(selectedRibbon[0].scrollOffset) - } + // if (thisScrollView == nil) { + // Print("init scroll") + // thisScrollView = scrollView + // scrollView.contentOffset.y = CGFloat(selectedRibbon[0].scrollOffset) + // } } .listStyle(PlainListStyle()) } @@ -439,11 +395,44 @@ struct ContentView: View { } func handleVisibilityChanged(_ id: String, change: VisibilityChange, tracker: VisibilityTracker) { + + // @Environment(\.appDatabase) var appDatabase switch change { case .shown: print("\(id) shown") case .hidden: print("\(id) hidden") } print(tracker.visibleViews) + // if (currentId != nil) { + // currentOffset = tracker.visibleViews[currentId!]! + // } + + let currentId = Array(tracker.visibleViews.keys)[0] + if (currentId != nil) { + + // Access Shared Defaults Object + let userDefaults = UserDefaults.standard + + // Write/Set Value + Print(currentId) + Print(tracker.visibleViews[currentId]!) + userDefaults.set(currentId, forKey: "currentId") + userDefaults.set(tracker.visibleViews[currentId]!, forKey: "currentOffset") + // userDefaults.set(tracker.visibleViews[currentId!]!, forKey: "currentOffset") + // var updateScrollState = ScrollState(id: Int64(1), + // scrollId: currentId!, + // scrollOffset: Int64(tracker.visibleViews[currentId!]!)) + // Print("Savingg") + // Print(updateScrollState) + // Task(priority: .default) { + + // do { + // _ = try await appDatabase.saveScrollState(&updateScrollState) + + // } catch { + // Print("something wrong") + // } + // } + } }