Skip to content

Commit

Permalink
Merge pull request #1 from IniongunIsaac/notes-verse-relationship
Browse files Browse the repository at this point in the history
Note-Verse Relationship
  • Loading branch information
IniongunIsaac committed Nov 9, 2023
2 parents 0515c58 + d60fbab commit ee550d6
Show file tree
Hide file tree
Showing 13 changed files with 20 additions and 133 deletions.
12 changes: 4 additions & 8 deletions TivBible.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
5542302B2A4C36E4001EC310 /* NotesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5542302A2A4C36E4001EC310 /* NotesViewModel.swift */; };
5542302D2A4C39DD001EC310 /* NoteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5542302C2A4C39DD001EC310 /* NoteView.swift */; };
5542302F2A4D5332001EC310 /* Date+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5542302E2A4D5332001EC310 /* Date+.swift */; };
554230312A4D575B001EC310 /* NoteVerse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 554230302A4D575B001EC310 /* NoteVerse.swift */; };
55482F022A50B42B009C3370 /* ApostlesCreedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55482F012A50B42B009C3370 /* ApostlesCreedView.swift */; };
55482F042A50BD96009C3370 /* CommandmentsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55482F032A50BD96009C3370 /* CommandmentsView.swift */; };
55482F062A50C127009C3370 /* TheLordsPrayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55482F052A50C127009C3370 /* TheLordsPrayerView.swift */; };
Expand Down Expand Up @@ -224,7 +223,6 @@
5542302A2A4C36E4001EC310 /* NotesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotesViewModel.swift; sourceTree = "<group>"; };
5542302C2A4C39DD001EC310 /* NoteView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteView.swift; sourceTree = "<group>"; };
5542302E2A4D5332001EC310 /* Date+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+.swift"; sourceTree = "<group>"; };
554230302A4D575B001EC310 /* NoteVerse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteVerse.swift; sourceTree = "<group>"; };
55482F012A50B42B009C3370 /* ApostlesCreedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApostlesCreedView.swift; sourceTree = "<group>"; };
55482F032A50BD96009C3370 /* CommandmentsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandmentsView.swift; sourceTree = "<group>"; };
55482F052A50C127009C3370 /* TheLordsPrayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TheLordsPrayerView.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -424,7 +422,6 @@
556D8D732A44A29E00211481 /* BookSortType.swift */,
5595A5052A4BEEBA00270A5B /* TabItem.swift */,
5595A5072A4C020100270A5B /* ToastMessage.swift */,
554230302A4D575B001EC310 /* NoteVerse.swift */,
55482F142A518473009C3370 /* HymnData.swift */,
55482F162A5185B3009C3370 /* Hymn.swift */,
);
Expand Down Expand Up @@ -1074,7 +1071,6 @@
555576D22A38DC2200DF230E /* MainContentScreen.swift in Sources */,
55500E572A45D8D60074BC67 /* SearchScreen.swift in Sources */,
5595A5082A4C020100270A5B /* ToastMessage.swift in Sources */,
554230312A4D575B001EC310 /* NoteVerse.swift in Sources */,
552BB2792A41C9C900BB3A86 /* FontStyleButton.swift in Sources */,
5503ADC22A37C8F0006E6C79 /* DependencyContainer.swift in Sources */,
552BB27B2A41CC1500BB3A86 /* StylesView.swift in Sources */,
Expand Down Expand Up @@ -1257,8 +1253,8 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.iniongungroup.mobile.ios.TivBible;
MARKETING_VERSION = 2.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.iniongungroup.mobile.ios.Tiv-Bible";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -1287,8 +1283,8 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.iniongungroup.mobile.ios.TivBible;
MARKETING_VERSION = 2.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.iniongungroup.mobile.ios.Tiv-Bible";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
Expand Down
2 changes: 1 addition & 1 deletion TivBible/Extensions/Constants.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import SwiftData
import DeviceKit

enum Constants {
static let dataModels: [any PersistentModel.Type] = [Book.self, Chapter.self, Verse.self, Note.self, NoteVerse.self, Hymn.self]
static let dataModels: [any PersistentModel.Type] = [Book.self, Chapter.self, Verse.self, Note.self, Hymn.self]

enum FontSize {
static let max: Double = currentDevice.isPhone ? 20 : 28
Expand Down
2 changes: 1 addition & 1 deletion TivBible/Features/Books/BooksViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import SwiftUI
@Observable
final class BooksViewModel {
private var preferenceStore = PreferenceStore()
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, NoteVerse.self, Hymn.self)
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, Hymn.self)

var books = [Book]()
var searchText: String = ""
Expand Down
2 changes: 1 addition & 1 deletion TivBible/Features/Hymns/HymnsViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import SwiftData
//@Observable
@MainActor
final class HymnsViewModel: ObservableObject {
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, NoteVerse.self, Hymn.self)
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, Hymn.self)

//@MainActor
private var context: ModelContext {
Expand Down
2 changes: 1 addition & 1 deletion TivBible/Features/Misc/Lists/MiscListViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ final class MiscListViewModel {
var toastMessage: ToastMessage = .empty
var miscItem: MiscItem = .bookmarks

private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, NoteVerse.self, Hymn.self)
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, Hymn.self)

@MainActor
private var context: ModelContext {
Expand Down
3 changes: 1 addition & 2 deletions TivBible/Features/Notes/NotesViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ import SwiftData

@Observable
final class NotesViewModel {
//var notes

private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, NoteVerse.self, Hymn.self)
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, Hymn.self)

@MainActor
private var context: ModelContext {
Expand Down
9 changes: 3 additions & 6 deletions TivBible/Features/Reader/ReaderViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ final class ReaderViewModel {
var errorMessage: String = ""

private let preferenceStore = PreferenceStore()
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, NoteVerse.self, Hymn.self)
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, Hymn.self)

@MainActor
private var context: ModelContext {
Expand Down Expand Up @@ -144,12 +144,9 @@ final class ReaderViewModel {

@MainActor
func saveNotes() {
let newNote = Note(
//verses: selectedVerses.noteVerses.sorted { $0.number < $1.number },
comment: versesNotes
)
let newNote = Note(comment: versesNotes)
context.insert(newNote)
newNote.verses = selectedVerses.noteVerses.sorted { $0.number < $1.number }
newNote.verses = selectedVerses.sorted { $0.number < $1.number }
versesNotes = ""
notesTokens = []
toastMessage = "Success!"
Expand Down
2 changes: 1 addition & 1 deletion TivBible/Features/Reader/Views/VerseTapActionsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ struct VerseTapActionsView: View {
.frame(width: 23, height: 23)
}
.tint(.label)
.offset(x: -15, y: 15)
.offset(x: -15, y: 25)
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion TivBible/Features/Search/SearchViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import SwiftData
@Observable
final class SearchViewModel {
private let preferenceStore = PreferenceStore()
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, NoteVerse.self, Hymn.self)
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, Hymn.self)

@MainActor
private var context: ModelContext {
Expand Down
2 changes: 1 addition & 1 deletion TivBible/Features/Setup/SetupViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ final class SetupViewModel: ObservableObject {
@Published var dbInitializationInProgress: Bool = false
@Published private var preferenceStore = PreferenceStore()

private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, NoteVerse.self, Hymn.self)
private let modelContainer = try! ModelContainer(for: Book.self, Chapter.self, Verse.self, Note.self, Hymn.self)
private var context: ModelContext {
modelContainer.mainContext
}
Expand Down
7 changes: 4 additions & 3 deletions TivBible/Models/Note.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ import SwiftData
final class Note {
@Attribute(.unique) var id: String
var takenOn: Date
var verses: [NoteVerse]
var verses: [Verse]
var comment: String

init(id: String = UUID().uuidString,
init(
id: String = UUID().uuidString,
takenOn: Date = Date(),
verses: [NoteVerse] = [],
verses: [Verse] = [],
comment: String
) {
self.id = id
Expand Down
91 changes: 0 additions & 91 deletions TivBible/Models/NoteVerse.swift

This file was deleted.

17 changes: 1 addition & 16 deletions TivBible/Models/Verse.swift
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,6 @@ final class Verse {
self.bookmarkDate = bookmarkDate
}

init(verse: NoteVerse) {
self.id = verse.id
self.title = verse.title
self.text = verse.text
self.number = verse.number
self.highlightColor = verse.highlightColor
self.highlightDate = verse.highlightDate
self.isBookmarked = verse.isBookmarked
self.chapter = verse.chapter
self.bookmarkDate = verse.bookmarkDate
}

func attrText(fontSize: Double, fontName: String) -> AttributedString {
var numberDotAttrContainer = AttributeContainer()
numberDotAttrContainer.baselineOffset = [13, 14, 15].contains(fontSize) ? 3 : 5
Expand Down Expand Up @@ -139,10 +127,7 @@ extension Array where Element == Verse {
}

var shareableText: String {
map { "v\($0.number). \($0.text)" }.joined(separator: "\n")
sorted { $0.number < $1.number }.map { "v\($0.number). \($0.text)" }.joined(separator: "\n")
}

var noteVerses: [NoteVerse] {
map(NoteVerse.init)
}
}

0 comments on commit ee550d6

Please sign in to comment.