diff --git a/app/db/src/app/common/bible-reference.ts b/app/db/src/app/common/bible-reference.ts index 2f21e35c..84cf0276 100644 --- a/app/db/src/app/common/bible-reference.ts +++ b/app/db/src/app/common/bible-reference.ts @@ -27,7 +27,7 @@ export enum Overlap { export class BibleReference { constructor(reference: string) { - this.Section = { + this.section = { book: null, start: { chapter: 0, @@ -41,20 +41,22 @@ export class BibleReference { this.ref = reference.toLowerCase().trim(); this.parseReference(); - if (this.Section.end.chapter === 0) { - this.Section.end.chapter = this.Section.start.chapter; + if (this.section.end.chapter === 0) { + this.section.end.chapter = this.section.start.chapter; } if ( - Number(this.Section.start.verse) > Number(this.Section.end.verse) && - this.Section.start.chapter === this.Section.end.chapter + Number(this.section.start.verse) > Number(this.section.end.verse) && + this.section.start.chapter === this.section.end.chapter ) { - this.Section.end.verse = this.Section.start.verse; + this.section.end.verse = this.section.start.verse; } - if (this.Section.start.verse === 0) { - this.Section.start.verse = 1; + if (this.section.start.verse === 0) { + this.section.start.verse = 1; } - if (this.Section.end.verse === 0) { - this.Section.end.verse = this.Section.book.chapters[this.Section.end.chapter]; + if (this.section.end.verse === 0) { + this.section.end.verse = this.section.book.chapters[ + this.section.end.chapter + ]; } } @@ -1611,7 +1613,7 @@ export class BibleReference { ]; private ref: string; - Section: Section; + section: Section; errAcc: string; public static parseBook(fbook: string): Book { @@ -1917,30 +1919,29 @@ export class BibleReference { return new BibleReference(`${book} ${keyArray[1]}:${keyArray[2]}`); } - public static overlap(leftRef: BibleReference, rightRef: BibleReference): Overlap { - if (leftRef.Section.book !== rightRef.Section.book) { + public static overlap( + leftRef: BibleReference, + rightRef: BibleReference + ): Overlap { + if (leftRef.section.book !== rightRef.section.book) { // either of the above means we are not overlapping - console.log("Not same book"); return Overlap.None; } - if (leftRef.Section.end.chapter === rightRef.Section.start.chapter) { - console.log("Same chapter"); - console.log("Left Section", leftRef.Section); - console.log("Right Section", rightRef.Section); - if ((leftRef.Section.end.verse > rightRef.Section.start.verse) - || (rightRef.Section.end.verse > leftRef.Section.start.verse)) { - console.log("Overlap detected"); + if (leftRef.section.end.chapter === rightRef.section.start.chapter) { + if ( + leftRef.section.end.verse > rightRef.section.start.verse || + rightRef.section.end.verse > leftRef.section.start.verse + ) { return Overlap.Intersect; } } - console.log("Default case"); return Overlap.None; } public static mergeReference(ref1: BibleReference, ref2: BibleReference) { // eliminate based on book first. - if (ref1.Section.book != ref2.Section.book) { + if (ref1.section.book !== ref2.section.book) { // either of the above mean we are not overlapping return null; } @@ -1974,15 +1975,15 @@ export class BibleReference { const parts = this.ref.split(':'); if (this.ref.match(/\d+:\d+:\d+/) !== null) { const fbook = BibleReference.bookName(parseInt(parts[0], 10)); - this.Section.book = fbook; + this.section.book = fbook; const fch = parts[1]; - this.Section.end.chapter = parseInt(fch, 10); - this.Section.start.chapter = parseInt(fch, 10); + this.section.end.chapter = parseInt(fch, 10); + this.section.start.chapter = parseInt(fch, 10); const fv = parts[2]; - this.Section.end.verse = parseInt(fv, 10); - this.Section.start.verse = parseInt(fv, 10); + this.section.end.verse = parseInt(fv, 10); + this.section.start.verse = parseInt(fv, 10); this.ref = ''; } @@ -1996,13 +1997,13 @@ export class BibleReference { fbook = this.ref; } this.ref = this.ref.slice(this.ref.search(/\w\s+\d/i) + 1); - this.Section.book = BibleReference.parseBook(fbook); + this.section.book = BibleReference.parseBook(fbook); } private parseChapter(isEnd: boolean) { - let thing = this.Section.start; + let thing = this.section.start; if (isEnd) { - thing = this.Section.end; + thing = this.section.end; } this.ref = StringUtils.ltrim(this.ref); @@ -2030,9 +2031,9 @@ export class BibleReference { } private parseVerse(skipColon?: boolean, isEnd?: boolean) { - let thing = this.Section.start; + let thing = this.section.start; if (isEnd) { - thing = this.Section.end; + thing = this.section.end; } this.ref = StringUtils.ltrim(this.ref.toLowerCase()); @@ -2112,7 +2113,7 @@ export class BibleReference { public toString() { // get the starting book, chapter, verse - return BibleReference.toString(this.Section); + return BibleReference.toString(this.section); } } diff --git a/app/db/src/app/search/components/passage/passage-card.component.ts b/app/db/src/app/search/components/passage/passage-card.component.ts index 60831329..c0db6769 100644 --- a/app/db/src/app/search/components/passage/passage-card.component.ts +++ b/app/db/src/app/search/components/passage/passage-card.component.ts @@ -54,101 +54,91 @@ export class PassageCardComponent extends CardComponent implements OnInit { } next() { - const lastVerseForEnd = this.ref.Section.end.book.chapters[ - parseInt(this.ref.Section.end.chapter, 10) - ].toString(); + const lastVerseForEnd = this.ref.section.book.chapters[ + this.ref.section.end.chapter + ]; if ( - this.ref.Section.end.verse !== '*' && - this.ref.Section.end.verse !== lastVerseForEnd + this.ref.section.end.verse !== 0 && + this.ref.section.end.verse !== lastVerseForEnd ) { - this.ref.Section.end.chapter = this.ref.Section.end.chapter; + this.ref.section.end.chapter = this.ref.section.end.chapter; } else { - this.ref.Section.end.chapter = ( - parseInt(this.ref.Section.end.chapter, 10) + 1 - ).toString(); + this.ref.section.end.chapter = this.ref.section.end.chapter + 1; } - this.ref.Section.start.chapter = this.ref.Section.end.chapter; - this.ref.Section.start.verse = '1'; - this.ref.Section.end.verse = '*'; + this.ref.section.start.chapter = this.ref.section.end.chapter; + this.ref.section.start.verse = 1; + this.ref.section.end.verse = this.ref.section.book.chapters[ + this.ref.section.end.chapter + ]; this.appService.updatePassage(this.cardItem, this.ref); } prev() { - if (this.ref.Section.start.verse !== '1') { - this.ref.Section.start.chapter = this.ref.Section.start.chapter; + if (this.ref.section.start.verse !== 1) { + this.ref.section.start.chapter = this.ref.section.start.chapter; } else { - this.ref.Section.start.chapter = ( - parseInt(this.ref.Section.start.chapter, 10) - 1 - ).toString(); + this.ref.section.start.chapter = this.ref.section.start.chapter - 1; } - this.ref.Section.end.chapter = this.ref.Section.start.chapter; - this.ref.Section.start.verse = '1'; - this.ref.Section.end.verse = '*'; + this.ref.section.end.chapter = this.ref.section.start.chapter; + this.ref.section.start.verse = 1; + this.ref.section.end.verse = this.ref.section.book.chapters[ + this.ref.section.end.chapter + ]; this.appService.updatePassage(this.cardItem, this.ref); } expand() { - const lastVerseForEnd = this.ref.Section.end.book.chapters[ - parseInt(this.ref.Section.end.chapter, 10) + const lastVerseForEnd = this.ref.section.book.chapters[ + this.ref.section.end.chapter ]; // if your verse is at the beginning, to go the prev chapter and add 3 verses from that - if (parseInt(this.ref.Section.start.verse, 10) < 4) { - this.ref.Section.start.chapter = ( - parseInt(this.ref.Section.start.chapter, 10) - 1 - ).toString(); - this.ref.Section.start.verse = - '*-' + (3 - parseInt(this.ref.Section.start.verse, 10)); - if (this.ref.Section.start.chapter === '0') { - this.ref.Section.start.chapter = '1'; - this.ref.Section.start.verse = '1'; + if (this.ref.section.start.verse < 4) { + this.ref.section.start.chapter = this.ref.section.start.chapter - 1; + this.ref.section.start.verse = + this.ref.section.book.chapters[this.ref.section.start.chapter] - + (3 - this.ref.section.start.verse); + if (this.ref.section.start.chapter === 0) { + this.ref.section.start.chapter = 1; + this.ref.section.start.verse = 1; } } else { // or go back 3 verses - this.ref.Section.start.verse = ( - parseInt(this.ref.Section.start.verse, 10) - 3 - ).toString(); + this.ref.section.start.verse = this.ref.section.start.verse - 3; } // if your verse is at the end, go to the next chapter if ( - this.ref.Section.end.verse === '*' || - parseInt(this.ref.Section.end.verse, 10) + 3 > lastVerseForEnd + this.ref.section.end.verse === 0 || + this.ref.section.end.verse + 3 > lastVerseForEnd ) { - this.ref.Section.end.chapter = ( - parseInt(this.ref.Section.end.chapter, 10) + 1 - ).toString(); - if (this.ref.Section.end.verse === '*') { - this.ref.Section.end.verse = '3'; + this.ref.section.end.chapter = this.ref.section.end.chapter + 1; + if (this.ref.section.end.verse === 0) { + this.ref.section.end.verse = 3; } else { - this.ref.Section.end.verse = ( - parseInt(this.ref.Section.end.verse, 10) + - 3 - - lastVerseForEnd - ).toString(); + this.ref.section.end.verse = + this.ref.section.end.verse + 3 - lastVerseForEnd; } if ( - this.ref.Section.end.chapter === - (this.ref.Section.end.book.lastChapter + 1).toString() + this.ref.section.end.chapter === + this.ref.section.book.lastChapter + 1 ) { - this.ref.Section.end.chapter = this.ref.Section.end.book.lastChapter.toString(); - this.ref.Section.end.verse = lastVerseForEnd.toString(); + this.ref.section.end.chapter = this.ref.section.book.lastChapter; + this.ref.section.end.verse = lastVerseForEnd; } } else { // or add 3 verses - this.ref.Section.end.verse = ( - parseInt(this.ref.Section.end.verse, 10) + 3 - ).toString(); + this.ref.section.end.verse = this.ref.section.end.verse + 3; } - if (this.ref.Section.start.verse === '0') { - this.ref.Section.start.verse = '1'; + if (this.ref.section.start.verse === 0) { + this.ref.section.start.verse = 1; } this.appService.updatePassage(this.cardItem, this.ref); diff --git a/app/db/src/app/services/app.service.ts b/app/db/src/app/services/app.service.ts index f7391f0e..66fb0b42 100644 --- a/app/db/src/app/services/app.service.ts +++ b/app/db/src/app/services/app.service.ts @@ -75,9 +75,9 @@ const initialState: AppState = { type AppAction = | { - type: 'GET_SAVED_PAGE'; - pageId: string; - } + type: 'GET_SAVED_PAGE'; + pageId: string; + } | { type: 'SAVE_PAGE'; title: string; @@ -86,48 +86,48 @@ type AppAction = type: 'UPDATE_CURRENT_PAGE'; } | { - type: 'UPDATE_SAVED_PAGES'; - savedPages: SavedPage[]; - } + type: 'UPDATE_SAVED_PAGES'; + savedPages: SavedPage[]; + } | { - type: 'ADD_CARD_TO_SAVED_PAGE'; - card: CardItem; - pageId: string; - } + type: 'ADD_CARD_TO_SAVED_PAGE'; + card: CardItem; + pageId: string; + } | { - type: 'ADD_CARD'; - card: CardItem; - nextToItem: CardItem; - } + type: 'ADD_CARD'; + card: CardItem; + nextToItem: CardItem; + } | { - type: 'UPDATE_CARD'; - newCard: CardItem; - oldCard: CardItem; - } + type: 'UPDATE_CARD'; + newCard: CardItem; + oldCard: CardItem; + } | { - type: 'REMOVE_CARD'; - card: CardItem; - } + type: 'REMOVE_CARD'; + card: CardItem; + } | { - type: 'UPDATE_ERROR'; - error: Error; - } + type: 'UPDATE_ERROR'; + error: Error; + } | { - type: 'UPDATE_FONT_SIZE'; - size: number; - } + type: 'UPDATE_FONT_SIZE'; + size: number; + } | { - type: 'UPDATE_FONT_FAMILY'; - cardFont: string; - } + type: 'UPDATE_FONT_FAMILY'; + cardFont: string; + } | { - type: 'UPDATE_AUTOCOMPLETE'; - words: string[]; - } + type: 'UPDATE_AUTOCOMPLETE'; + words: string[]; + } | { - type: 'UPDATE_DISPLAY_SETTINGS'; - settings: DisplaySettings; - }; + type: 'UPDATE_DISPLAY_SETTINGS'; + settings: DisplaySettings; + }; function reducer(state: AppState, action: AppAction): AppState { // somtimes the state is null. lets not complain if that happens. @@ -692,10 +692,10 @@ export class AppService extends createStateService(reducer, initialState) { } private async composeBiblePassageCardItem(ref: BibleReference) { - const result = await this.getPassageFromApi(ref.Section); + const result = await this.getPassageFromApi(ref.section); return { qry: ref.toString(), - dict: ref.Section.book.bookNumber > 39 ? 'G' : 'H', + dict: ref.section.book.bookNumber > 39 ? 'G' : 'H', type: 'Passage', data: result, };