{"version":3,"sources":["./src/app/components/account/account.component.ts","./src/app/components/account/account.component.html","./src/app/dialogs/prompt/prompt.component.ts","./src/app/dialogs/prompt/prompt.component.html","./src/app/dialogs/choose-avatar/choose-avatar.component.ts","./src/app/dialogs/choose-avatar/choose-avatar.component.html","./src/app/components/menu/menu.component.ts","./src/app/components/menu/menu.component.html","./src/app/services/utils.service.ts","./src/app/screens/support/support.component.ts","./src/app/screens/support/support.component.html","./src/app/components/login-with-provider/login-with-provider.component.ts","./src/app/components/login-with-provider/login-with-provider.component.html","./src/app/pipes/toDate.ts","./src/app/panel/panel.component.ts","./src/app/panel/panel.component.html","./src/app/screens/events/light-on-a-hill-camp-meeting/light-on-a-hill-camp-meeting.component.ts","./src/app/screens/events/light-on-a-hill-camp-meeting/light-on-a-hill-camp-meeting.component.html","./src/app/components/share/share.component.ts","./src/app/components/share/share.component.html","./src/app/screens/contact-us/contact-us.component.ts","./src/app/screens/contact-us/contact-us.component.html","./src/app/components/account/account-payment-sources/account-payment-sources.component.ts","./src/app/components/account/account-payment-sources/account-payment-sources.component.html","./src/app/components/button/button.component.ts","./src/app/components/button/button.component.html","./src/app/modules/material-modules.ts","./src/app/dialogs/login-dialog/login-dialog.component.ts","./src/app/dialogs/login-dialog/login-dialog.component.html","./src/environments/environment.ts","./src/app/screens/activity-stream/activity-stream.component.ts","./src/app/screens/activity-stream/activity-stream.component.html","./src/app/dialogs/login-providers-dialog/login-providers-dialog.component.ts","./src/app/dialogs/login-providers-dialog/login-providers-dialog.component.html","./src/app/screens/auth/signup/signup.component.ts","./src/app/screens/auth/signup/signup.component.html","./src/app/directives/auto-focus.directive.ts","./src/app/dialogs/watch-story/watch-story.component.ts","./src/app/dialogs/watch-story/watch-story.component.html","./src/app/screens/view-post/view-post.component.ts","./src/app/screens/view-post/view-post.component.html","./src/app/components/madison-header-nav/madison-header-nav.component.ts","./src/app/components/madison-header-nav/madison-header-nav.component.html","./src/app/components/footer/footer.component.ts","./src/app/components/footer/footer.component.html","./src/app/components/news-overlay/news-overlay.component.ts","./src/app/components/news-overlay/news-overlay.component.html","./src/app/services/auth-guard.service.ts","./src/app/screens/zoom-qa/zoom-qa.component.ts","./src/app/screens/zoom-qa/zoom-qa.component.html","./src/app/components/subscribe/subscribe.component.ts","./src/app/components/subscribe/subscribe.component.html","./src/app/components/comments/comments.component.ts","./src/app/components/comments/comments.component.html","./src/app/components/open-news-post/open-news-post.component.ts","./src/app/screens/vision/vision.component.ts","./src/app/screens/vision/vision.component.html","./src/app/components/open-post-image/open-post-image.component.ts","./src/app/components/open-post-image/open-post-image.component.html","./src/app/services/window.service.ts","./src/app/pipes/time-ago.pipe.ts","./src/app/screens/home/home.component.ts","./src/app/screens/home/home.component.html","./src/app/directives/in-view.directive.ts","./src/app/components/section/section.component.ts","./src/app/components/section/section.component.html","./src/app/modules/colors.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/screens/privacy-policy/privacy-policy.component.ts","./src/app/screens/privacy-policy/privacy-policy.component.html","./src/app/components/recipe-previews/recipe-previews.component.ts","./src/app/components/recipe-previews/recipe-previews.component.html","./src/app/components/icon/icon.component.ts","./src/app/screens/page404/page404.component.ts","./src/app/screens/page404/page404.component.html","./src/app/dialogs/notification-thanks/notification-thanks.component.ts","./src/app/dialogs/notification-thanks/notification-thanks.component.html","./src/app/dialogs/confirmation-dialog/confirmation-dialog.component.ts","./src/app/dialogs/confirmation-dialog/confirmation-dialog.component.html","./src/app/dialogs/preview-avatar/preview-avatar.component.ts","./src/app/dialogs/preview-avatar/preview-avatar.component.html","./src/app/screens/auth/login/login.component.ts","./src/app/screens/auth/login/login.component.html","./src/app/app.module.ts","./src/app/services/db.service.ts","./src/app/components/abassador-program/abassador-program.component.ts","./src/app/components/abassador-program/abassador-program.component.html","./src/app/components/news-social-summary/news-social-summary.component.ts","./src/app/components/news-social-summary/news-social-summary.component.html","./src/app/screens/donation-receipt/donation-receipt.component.ts","./src/app/screens/donation-receipt/donation-receipt.component.html","./src/app/data/schema.ts","./src/app/components/show-address/show-address.component.ts","./src/app/components/show-address/show-address.component.html","./src/app/screens/ambassadors/ambassadors.component.ts","./src/app/screens/ambassadors/ambassadors.component.html","./src/app/screens/all-posts/all-posts.component.ts","./src/app/screens/all-posts/all-posts.component.html","./src/app/dialogs/view-author/view-author.component.ts","./src/app/dialogs/view-author/view-author.component.html","./src/app/screens/auth/reset-pwd/reset-pwd.component.ts","./src/app/screens/auth/reset-pwd/reset-pwd.component.html","./src/app/services/auth.service.ts","./src/app/components/back-header/back-header.component.ts","./src/app/components/back-header/back-header.component.html","./src/app/services/donationPmt.service.ts","./src/app/screens/auth/recover-pwd/recover-pwd.component.ts","./src/app/screens/auth/recover-pwd/recover-pwd.component.html","./src/app/screens/my-notifications/my-notifications.component.ts","./src/app/screens/my-notifications/my-notifications.component.html","./src/app/components/fullscreen-image/fullscreen-image.component.ts","./src/app/components/fullscreen-image/fullscreen-image.component.html","./src/app/component/news/news.component.ts","./src/app/component/news/news.component.html","./src/app/screens/more-business-info/more-business-info.component.ts","./src/app/screens/more-business-info/more-business-info.component.html","./src/app/components/donate/donate.component.ts","./src/app/components/donate/donate.component.html","./src/app/services/router-events.service.ts","./src/app/services/DataStore.ts","./src/app/app-routing.module.ts","./src/app/components/account/account-personal-details/account-personal-details.component.ts","./src/app/components/account/account-personal-details/account-personal-details.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { DbService } from 'src/app/services/db.service';\nimport { AddressType, PersonType, DonationType } from 'src/app/services/DataStore';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-account',\n templateUrl: './account.component.html',\n styleUrls: [\n './account.component.scss',\n ]\n})\nexport class AccountComponent implements OnInit, OnDestroy {\n\n admin = false;\n customer: PersonType | null = null;\n fetched = false;\n\n Donations: DonationType[] = [];\n ActiveRecurringDonations: DonationType[] = [];\n\n authSub: Subscription | null = null;\n\n myAddresses: AddressType[] = [];\n\n onAuthChange = (loggedIn: boolean) => {\n this.admin = this.authService.isTopAdmin();\n this.customer = this.authService.person;\n if (loggedIn && !this.fetched) {\n this.fetched = true;\n this.load();\n }\n }\n\n constructor(\n private authService: AuthService,\n private db: DbService,\n private utils: UtilsService,\n public snackBar: MatSnackBar,\n public activatedRoute: ActivatedRoute,\n ) { }\n\n ngOnInit(): void {\n this.authService.onStateChange(this.onAuthChange);\n this.utils.updateMeta({\n BrowserTitle: `My Account`,\n Title: `My Account`,\n Description: `My Account`,\n });\n }\n\n ngOnDestroy(): void {\n this.authService.removeStateChangeCallback(this.onAuthChange);\n }\n\n nth(d: number): string {\n if (d > 3 && d < 21) {\n return 'th';\n }\n switch (d % 10) {\n case 1: return 'st';\n case 2: return 'nd';\n case 3: return 'rd';\n default: return 'th';\n }\n }\n\n donationDayOfMonth(donation: DonationType): string {\n\n if (!donation.createdAt) {\n return '';\n }\n\n const date = new Date(donation.createdAt);\n let DayOfMonth = date.getDate();\n if (DayOfMonth > 28) {\n DayOfMonth = 28;\n }\n\n return DayOfMonth + this.nth(DayOfMonth);\n\n }\n\n async cancel(donation: DonationType): Promise {\n if (confirm('Cancel this donation?')) {\n donation.Active = 'false';\n this.db.put(donation);\n this.utils.delete(this.ActiveRecurringDonations, donation);\n }\n }\n\n async load(): Promise {\n\n if (!this.authService.personID) {\n return;\n }\n\n const person = await this.db.get('Person', this.authService.personID) as PersonType;\n\n this.myAddresses = person.Addresses || [];\n this.Donations = person.Donations || [];\n this.utils.dateDesc(this.Donations);\n\n this.Donations.forEach(itm => {\n if (itm.Recurring === 'true' && itm.Active === 'true') {\n this.ActiveRecurringDonations.push(itm);\n }\n });\n\n this.ActiveRecurringDonations = this.ActiveRecurringDonations.reverse();\n\n }\n\n}\n","\n\n\n

My Account

\n
\n\n\n

Recurring Donations

\n
\n

{{ donation.Amount | currency }}

\n

Donation occurs on the {{ donationDayOfMonth(donation) }} of each month.

\n \n
\n
\n\n\n
\n
\n

Personal Details

\n
\n
{{ (customer?.First || '') + ' ' + (customer?.Last || '') }}
\n
{{ myAddresses[0].mobile }}
\n
{{ myAddresses[0].address1 }}
\n
{{ myAddresses[0].address2 }}
\n
{{ myAddresses[0].suburb + ' ' + myAddresses[0].postcode + ' ' + myAddresses[0].state }}
\n
\n \n
\n
\n

Credit/Debit Card

\n
\n {{ card.brand }}, xxxx-{{ card.last4 }}\n
\n \n
\n
\n

Donations

\n
\n {{ donation.Amount | currency }} - {{ donation.DonationID }}\n
\n
\n
\n
\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-prompt',\n templateUrl: './prompt.component.html',\n styleUrls: ['./prompt.component.scss']\n})\nexport class PromptComponent implements OnInit {\n\n prompt: FormGroup | null = null;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: {\n label: string,\n value?: string,\n multiLine?: boolean,\n }) {\n\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n\n this.prompt = new FormGroup({\n\n input: new FormControl(this.data.value || '', [Validators.required]),\n\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.prompt?.controls[controlName].hasError(errorName) || false;\n }\n\n confirm(): void {\n\n const Value = this.prompt?.value.input;\n\n this.dialogRef.close(Value);\n\n }\n\n}\n","
\n
\n \n \n {{ data.label }}\n \n This is required\n \n
\n
\n
\n \n \n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { PreviewAvatarComponent } from '../preview-avatar/preview-avatar.component';\n\n@Component({\n selector: 'app-choose-avatar',\n templateUrl: './choose-avatar.component.html',\n styleUrls: ['./choose-avatar.component.scss']\n})\nexport class ChooseAvatarComponent implements OnInit {\n\n AvatarEndpoint = 'https://cdn2.tda.website/beehive/20200826/';\n Avatars: string[] = ['adult-2221018.svg', 'adventurer-2220955.svg', 'air-hostess-2220960.svg', 'architect-2221005.svg', 'artist-2221019.svg', 'astronaut-2220995.svg', 'athlete-2220996.svg', 'auditor-2220964.svg', 'baker-2221007.svg', 'ballerina-2220933.svg', 'blogger-2220943.svg', 'boy-2220946.svg', 'butcher-2220974.svg', 'carpenter-2220949.svg', 'chemist-2220984.svg', 'clerk-2220935.svg', 'cobbler-2220938.svg', 'con-man-2220941.svg', 'cook-2221023.svg', 'delivery-man-2220950.svg', 'designer-2220985.svg', 'dj-2220961.svg', 'driver-2220948.svg', 'engineer-2221022.svg', 'executive-2220989.svg', 'farmer-2221026.svg', 'female-cop-2220990.svg', 'firefighter-2220968.svg', 'florist-2220951.svg', 'gardener-2221000.svg', 'geographer-2220983.svg', 'girl-2220932.svg', 'girl-2220940.svg', 'gopnik-2220931.svg', 'hipster-2221008.svg', 'historian-2220982.svg', 'housemaid-2221016.svg', 'housewife-2221012.svg', 'hunter-2220928.svg', 'hunter-2220956.svg', 'interpreter-2220988.svg', 'judge-2220980.svg', 'labor-2221020.svg', 'lady-2220991.svg', 'lady-doctor-2221025.svg', 'lawyer-2220947.svg', 'librarian-2220969.svg', 'lifeguard-2220979.svg', 'magician-2220939.svg', 'male-cop-2220965.svg', 'manager-2221017.svg', 'mechanic-2220930.svg', 'model-2221011.svg', 'musician-2221004.svg', 'newscaster-2220966.svg', 'nurse-2221001.svg', 'oceanographer-2220977.svg', 'photographer-2220986.svg', 'pilot-2221013.svg', 'pizza-boy-2220937.svg', 'plumber-2220978.svg', 'police-officer-2221024.svg', 'politician-2220971.svg', 'postman-2220959.svg', 'principal-2220970.svg', 'professor-2221006.svg', 'programmer-2220967.svg', 'radiographer-2220962.svg', 'referee-2220993.svg', 'reporter-2220945.svg', 'retro-woman-2220957.svg', 'robber-2221002.svg', 'sailor-2220975.svg', 'salesman-2220952.svg', 'scholar-2220994.svg', 'school-boy-2220944.svg', 'scientist-2220972.svg', 'scientist-2220976.svg', 'soldier-2221015.svg', 'sportsman-2220997.svg', 'spy-2220936.svg', 'student-2221010.svg', 'sweeper-2220981.svg', 'teacher-2221027.svg', 'teenager-2220963.svg', 'tourist-2220987.svg', 'vet-2220973.svg', 'vlogger-2220942.svg', 'waiter-2220999.svg', 'watchman-2221014.svg', 'welder-2220953.svg', 'woman-2221021.svg', 'writer-2221003.svg', 'accountant-2220992.svg', 'actor-2221009.svg', 'actress-2220958.svg'];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public Avatar: string,\n private dialog: MatDialog,\n private thisDialog: MatDialogRef,\n ) { }\n\n ngOnInit(): void {\n this.Avatar = this.Avatar || 'adult-2221018.svg';\n }\n\n random(): void {\n const Avatar = this.Avatars[this.getRandomArbitrary(0, this.Avatars.length - 1)];\n const dialogRef = this.dialog.open(PreviewAvatarComponent, {\n data: Avatar,\n width: '500px',\n });\n dialogRef.afterClosed().subscribe(val => {\n if (val === true) {\n this.Avatar = Avatar;\n this.thisDialog.close(this.AvatarEndpoint + this.Avatar);\n } else if (val === 'random') {\n this.random();\n }\n });\n }\n\n getRandomArbitrary(min: number, max: number): number {\n return Math.round(Math.random() * (max - min) + min);\n }\n\n}\n","

Pick your Avatar

\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { Router } from '@angular/router';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { setTimeout$ } from 'src/app/services/DataStore';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss']\n})\nexport class MenuComponent implements OnInit, OnDestroy {\n\n IsAuthenticated = false;\n closed = true;\n showContent = '';\n\n onAuthChange = (AuthState: boolean) => {\n this.IsAuthenticated = AuthState;\n }\n\n constructor(\n private authService: AuthService,\n @Inject(WINDOW) private window: Window,\n ) { }\n\n ngOnInit(): void {\n this.authService.onStateChange(this.onAuthChange);\n }\n\n ngOnDestroy(): void {\n this.authService.removeStateChangeCallback(this.onAuthChange);\n }\n\n toggleMenu(event: MouseEvent, burger?: boolean): void {\n // if (this.window.scrollTo) {\n // this.window.scrollTo(0, 0);\n // }\n event.stopPropagation();\n if (burger || this.closed) {\n this.closed = !this.closed;\n if (!this.closed) {\n setTimeout(() => {\n this.showContent = 'show';\n }, 80);\n } else {\n this.showContent = '';\n }\n }\n }\n\n}\n","
\n
\n
\n
\n

Menu

\n
\n \n
\n © Madison Missions Australia Ltd. | 19 Westleys Rd, Faulkland NSW 2422 | mail@madison.org.au | +61 420 746 255\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport * as _ from 'lodash';\nimport { GenericRow } from './DataStore';\nimport { WINDOW } from './window.service';\n\nexport interface TintType {\n tint: string;\n color: string;\n}\n\nexport interface PageMeta {\n BrowserTitle: string;\n Title: string;\n Image?: string;\n Description: string;\n}\n\ntype GlobalEvents = 'scroll' | 'resize' | 'mousedown' | 'mouseup' | 'mousemove' | 'keypress' | 'keydown' | 'keyup' | 'orientationchange';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UtilsService {\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(WINDOW) private window: Window,\n private router: Router,\n private title: Title,\n private meta: Meta,\n ) { }\n\n lodash = _;\n\n scriptCache = {};\n scriptProcessing = {};\n lo = _;\n eventCallbacks: any = {};\n eventCallbackFunctions: any = {};\n\n GlobalEventCallbacks: { [key: string]: { [key: string]: (event: any) => void } } = {};\n GlobalEventIsWatching: { [key: string]: boolean } = {};\n\n orgTitle = 'Madison Missions';\n orgSite = 'www.madison.org.au';\n defaultImageMetaSettings = '?w=1200&h=700&fit=crop&crop=faces';\n\n getUrl(): string {\n return `https://${this.orgSite + this.router.url}`;\n }\n\n updateMeta(input: PageMeta): void {\n this.title.setTitle(input.BrowserTitle);\n this.meta.updateTag({\n property: 'og:image',\n content: input.Image || 'https://cdn2.tda.website/beehive/20200629/Madison-Meta-Image.jpg',\n });\n this.meta.updateTag({ property: 'og:title', content: input.Title, });\n this.meta.updateTag({ property: 'og:description', content: input.Description, });\n this.meta.updateTag({ name: 'description', content: input.Description, });\n this.meta.updateTag({ property: 'og:type', content: 'website', });\n this.meta.updateTag({ property: 'og:url', content: this.getUrl(), });\n }\n\n replaceValue(obj: any, value: any, replace: any): any {\n Object.keys(obj).forEach(key => {\n if (obj[key] === value) {\n obj[key] = replace;\n }\n });\n return obj;\n }\n\n chunk(array: any[], size: number): any {\n return _.chunk(array, size);\n }\n\n dateDesc(ar: GenericRow[]): void {\n ar.sort((a, b) => {\n if (typeof b.createdAt !== 'undefined') {\n return ('' + (a.createdAt)).localeCompare((b.createdAt));\n } else {\n return ('' + 1).localeCompare('0');\n }\n }).reverse();\n }\n\n shuffle(array: any[]): any[] {\n let currentIndex = array.length;\n let temporaryValue: any;\n let randomIndex: number;\n\n // While there remain elements to shuffle...\n while (0 !== currentIndex) {\n\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n\n // And swap it with the current element.\n temporaryValue = array[currentIndex];\n array[currentIndex] = array[randomIndex];\n array[randomIndex] = temporaryValue;\n }\n\n return array;\n }\n\n getRandomInt(min: number, max: number): number {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n\n QueryParamsFromUrl(url: string): { [key: string]: string } {\n\n if (url.includes('?')) {\n\n const output: any = {};\n\n const QueryStr = url.split('?')[1];\n const Params: any = {};\n QueryStr.split('&').forEach(param => {\n const bit = param.split('=');\n output[bit[0]] = bit[1];\n });\n\n return output;\n\n } else {\n return {};\n }\n\n }\n\n RemoveEventCallback(eventName: GlobalEvents, uid: string): void {\n if (this.GlobalEventCallbacks[eventName]) {\n delete this.GlobalEventCallbacks[eventName][uid];\n }\n }\n\n RunEventCallbacks(eventName: GlobalEvents, event: any): void {\n\n if (this.GlobalEventCallbacks[eventName]) {\n Object.keys(this.GlobalEventCallbacks[eventName]).forEach(uid => {\n const Fn = this.GlobalEventCallbacks[eventName][uid];\n Fn(event);\n });\n }\n\n }\n\n WhenEventHappens(eventName: GlobalEvents, fn: (event: any) => void): string {\n\n const IsWatching = this.GlobalEventIsWatching[eventName];\n\n const uid = this.uid();\n this.GlobalEventCallbacks[eventName] = this.GlobalEventCallbacks[eventName] || {};\n this.GlobalEventCallbacks[eventName][uid] = fn;\n\n if (!IsWatching) {\n\n if (eventName === 'scroll' || eventName === 'resize') {\n if (this.window.addEventListener) {\n this.window.addEventListener(eventName, (event) => {\n this.RunEventCallbacks(eventName, event);\n });\n }\n } else {\n this.document.addEventListener(eventName, (event) => {\n this.RunEventCallbacks(eventName, event);\n });\n }\n\n this.GlobalEventIsWatching[eventName] = true;\n\n }\n return uid;\n }\n\n whenWindowScrolls(fn: (event: any) => void): string {\n return this.WhenEventHappens('scroll', fn);\n }\n\n removeScroll(uid: string): void {\n return this.RemoveEventCallback('scroll', uid);\n }\n\n whenWindowResizes(fn: (event: any) => void): string {\n return this.WhenEventHappens('resize', fn);\n }\n\n removeResize(uid: string): void {\n return this.RemoveEventCallback('resize', uid);\n }\n\n StopDocEvent(EventName: string): void {\n this.document.removeEventListener(EventName, this.eventCallbackFunctions[EventName]);\n delete this.eventCallbackFunctions[EventName];\n this.eventCallbacks[EventName].length = 0;\n }\n\n StartDocEvent(EventName: string, callback: any): void {\n\n this.eventCallbacks[EventName] = this.eventCallbacks[EventName] || [];\n\n if (!this.eventCallbackFunctions[EventName]) {\n this.eventCallbackFunctions[EventName] = (event: any) => {\n this.eventCallbacks[EventName].forEach((callbackFn: (event: any) => void) => {\n callbackFn(event);\n });\n };\n }\n\n if (!this.eventCallbacks[EventName].length) {\n\n this.document.addEventListener(EventName, this.eventCallbackFunctions[EventName]);\n\n }\n\n this.eventCallbacks[EventName].push(callback);\n\n }\n\n uppercaseFirst(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n lowercaseFirst(str: string): string {\n return str.charAt(0).toLowerCase() + str.slice(1);\n }\n\n randomChars(num: number): string {\n const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n let text = '';\n for (let i = 0; i < num; i++) {\n text += charset.charAt(Math.floor(Math.random() * charset.length));\n }\n return text;\n }\n\n uid(): string {\n // return uuid();\n return (this.randomChars(4)) + Date.now().toString(36) + (this.randomChars(4));\n }\n\n shortUid(): string {\n return (this.randomChars(4)) + Date.now().toString(36);\n }\n\n isObject(item: any): boolean {\n return _.isObject(item);\n }\n\n isArray(item: any): boolean {\n return _.isArray(item);\n }\n\n\n // JsonClone effectively deep clones an object by stringifying to JSON and re-parsing\n JsonClone(item: any): any {\n\n return JSON.parse(JSON.stringify(item));\n\n }\n\n clone(item: any, deep?: boolean): any {\n if (deep) {\n return _.cloneDeep(item);\n } else {\n return _.clone(item);\n }\n }\n\n sort(destination: any, key: any): any {\n return destination.sort((a: any, b: any) => {\n\n let GetValue: any;\n\n GetValue = () => {\n return 0;\n };\n if (typeof key === 'string') {\n GetValue = (obj: any) => {\n return obj[key] && obj[key].toString().toLowerCase() || '';\n };\n } else if (typeof key === 'function') {\n GetValue = (obj: any) => {\n return key(obj).toLowerCase();\n };\n }\n\n if (parseInt(GetValue(a), 10) === GetValue(a)) {\n return GetValue(a) - GetValue(b);\n } else if (GetValue(a) < GetValue(b)) {\n return -1;\n } else if (GetValue(a) > GetValue(b)) {\n return 1;\n } else {\n return 0;\n }\n });\n }\n\n isJson(str: string): boolean {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n normalizeMobile(mobile: string): string {\n if (typeof mobile === 'number') {\n const mobileNum = mobile as number;\n mobile = mobileNum.toString();\n }\n if (mobile.length === 9 && mobile.charAt(0) === '4') {\n mobile = '0' + mobile;\n }\n mobile = mobile.replace(/\\s+/g, '');\n mobile = mobile.replace(/^\\+614/, '04');\n mobile = mobile.replace(/^614/, '04');\n return mobile;\n }\n\n delete(source: any[], row: any, idx?: any): void {\n if (_.isUndefined(idx)) {\n idx = _.indexOf(source, row);\n }\n if (idx > -1) {\n source.splice(idx, 1);\n }\n }\n\n deleteByVal(source: any[], key: any, val: any): any[] | undefined {\n if (!source) {\n return;\n }\n for (let i = source.length - 1; i >= 0; i--) {\n if (source[i][key] === val) {\n source.splice(i, 1);\n }\n }\n return source;\n }\n\n addSum(nums: any): number {\n\n let output = 0;\n _.each(nums, (n) => {\n output += (parseFloat(n || 0) || 0);\n });\n\n return output;\n\n }\n\n getMonthShortName(monthNumber: number): string {\n\n const monthNames = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n ];\n\n return monthNames[monthNumber] || 'Unkown';\n\n }\n\n find(haystack: any[], key: any, needle?: any): any {\n\n if (!_.isUndefined(needle)) {\n return _.find(haystack, (row) => {\n return row[key] === needle;\n });\n } else {\n return _.find(haystack, (row) => {\n return row[key];\n });\n }\n\n }\n\n filter(haystack: any[], key: any, needle?: any): any {\n\n if (!_.isUndefined(needle)) {\n return _.filter(haystack, (row) => {\n return row[key] === needle;\n });\n } else {\n return _.filter(haystack, (row) => {\n return row[key];\n });\n }\n\n }\n\n colorIsDark(hex: string): boolean {\n\n return this.luminanceFromHex(hex) < 60;\n\n }\n\n hexToRGB(hex: string): [number, number, number] {\n\n const rgb: [number, number, number] = [0, 0, 0];\n\n hex = hex.substr(1);\n\n for (let i = 0; i < 3; i++) {\n\n rgb[i] = parseInt(hex.substr(i * 2, 2), 16);\n\n }\n\n return rgb;\n\n }\n\n rgbToHex(r: number, g: number, b: number): string {\n\n let output = '#';\n\n [r, g, b].forEach(val => {\n\n val = Math.round(val);\n\n let hexDec = val.toString(16);\n\n if (hexDec.length < 2) {\n hexDec = '0' + hexDec;\n }\n\n output += hexDec;\n\n });\n\n return output;\n\n }\n\n // Takes a hex color, with a label\n // Returns an array of all lighter and darker shades, incremented by 10%;\n\n getColorTintsAndShades(hex: string): TintType[] {\n\n const output: TintType[] = [];\n\n const rgb = this.hexToRGB(hex);\n\n const TenPercentOfSpectrum = 0.1 * 255;\n\n // First get shades\n\n let Shades = [];\n\n const NotLessThanZero = (num: number) => {\n return Math.max(num, 0);\n };\n\n const NotGreaterThan255 = (num: number) => {\n return Math.min(num, 255);\n };\n\n const RoundToNearest10 = (num: number) => {\n return Math.ceil(num / 10) * 10;\n };\n\n const RgbSum = rgb.reduce((a, b) => a + b, 0);\n const RgbAverage = RgbSum / 3;\n\n // Starting with the brightest rgb value (Math.max)\n // Continue decreasing darkness until we reach 0\n // const MaxRgbVal = Math.sum(...rgb);\n\n for (let i = TenPercentOfSpectrum; i < RgbAverage; i += TenPercentOfSpectrum) {\n const LuminancePercent = RoundToNearest10(((RgbAverage - i) / 255) * 100);\n // if (LuminancePercent > 0) {\n Shades.push(\n {\n tint: `${LuminancePercent}`,\n color: this.rgbToHex(\n NotLessThanZero(rgb[0] - i),\n NotLessThanZero(rgb[1] - i),\n NotLessThanZero(rgb[2] - i)\n )\n });\n // }\n }\n\n // Reverse to start with the darkest shades, getting lighter\n Shades = Shades.reverse();\n\n // Push shades to output\n output.push(...Shades);\n\n // Push Actual Color\n output.push({\n tint: `${RoundToNearest10((RgbAverage / 255) * 100)}`,\n color: hex\n });\n\n const Tints = [];\n\n // Starting with the darkest rgb value (Math.min)\n // Continue increasing brightness until we reach 255\n for (let i = TenPercentOfSpectrum; i < 255 - RgbAverage; i += TenPercentOfSpectrum) {\n const LuminancePercent = RoundToNearest10(((i + RgbAverage) / 255) * 100);\n Tints.push({\n tint: `${LuminancePercent}`,\n color: this.rgbToHex(\n NotGreaterThan255(rgb[0] + i),\n NotGreaterThan255(rgb[1] + i),\n NotGreaterThan255(rgb[2] + i)\n )\n });\n }\n\n // Push tints to output\n output.push(...Tints);\n\n return output;\n\n }\n\n // Take hex string, convert to RGB\n // Add luminance % (represents a percentage of 255)\n // convert back to hex & return\n addLuminance(hex: string, LumPercent: number): string {\n\n const rgb = this.hexToRGB(hex);\n\n const Negative = LumPercent < 0;\n\n LumPercent = (Math.abs(LumPercent) / 100);\n\n const LumAmount = Math.round(LumPercent * 255);\n\n const ModifiedRGB: [number, number, number] = [0, 0, 0];\n\n rgb.forEach((val, index) => {\n\n if (Negative) {\n val -= LumAmount;\n } else {\n val += LumAmount;\n }\n\n if (val < 0) {\n val = 0;\n } else if (val > 255) {\n val = 255;\n }\n\n ModifiedRGB[index] = val;\n\n });\n\n return this.rgbToHex(...ModifiedRGB);\n\n }\n\n luminanceFromHex(hex: string): number {\n\n const rgb = this.hexToRGB(hex);\n\n const sum = rgb.reduce((previous, current) => current += previous);\n\n const luminance = Math.round((sum / (255 * 3)) * 100);\n\n return luminance;\n\n }\n\n}","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-support',\n templateUrl: './support.component.html',\n styleUrls: ['./support.component.scss']\n})\nexport class SupportComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: `Support ${this.utils.orgTitle}`,\n Title: 'Support ${this.utils.orgTitle}',\n Description: `Together we can establish a 21st-Century Madison College.`,\n });\n }\n\n}\n","\n\n
\n
\n\n

Together we can establish a 21st-Century Madison College.

\n\n

Your investment in Madison Missions will pay off as this vision becomes reality, a truly self-supporting institution, training self-supporting missionaries.

\n\n

Donate with your card, once-off or monthly

\n\n \n
\n
\n\n\n\n
\n\n
\n\n

OR Donate via bank transfer

\n
\n \"\"\n
\n

General:
\n Account Name: Madison Missions Aust Ltd
\n BSB: 063 689
\n Account Number: 1028 0545
\n Reference: [Your Name]

\n

Canvassing:
\n Account Name: Madison Canvassing
\n BSB: 063 856
\n Account Number: 1014 0684
\n Reference: [Your Name]

\n

The Maker Heals:
\n Account Name: The Maker Heals
\n BSB: 063 689
\n Account Number: 1029 1201
\n Reference: [Your Name]

\n
\n
\n\n

Please contact us if you have any questions.

\n\n

We can also consider an interest-free or interest-bearing private loan. Contact us to discuss.

\n

Donations are not tax-deductible at this time. If you require making a tax-deductible donation, please discuss this with us.

\n\n
\n
\n \"Madison\n
\n
\n \"Eastward\n
\n
\n \"The\n
\n
\n \"Beehive\n
\n
\n\n
\n\n
\n\n\n","import { Component, OnInit, Inject, Input } from '@angular/core';\nimport { LoginDialogComponent } from 'src/app/dialogs/login-dialog/login-dialog.component';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { DbService } from 'src/app/services/db.service';\nimport { ChooseAvatarComponent } from 'src/app/dialogs/choose-avatar/choose-avatar.component';\n\n@Component({\n selector: 'app-login-with-provider',\n templateUrl: './login-with-provider.component.html',\n styleUrls: ['./login-with-provider.component.scss']\n})\nexport class LoginWithProviderComponent implements OnInit {\n\n authenticating = false;\n @Input() label = 'Login with';\n\n constructor(\n @Inject(WINDOW) private window: Window,\n private dialog: MatDialog,\n private utils: UtilsService,\n private auth: AuthService,\n private db: DbService,\n ) { }\n\n ngOnInit(): void {\n }\n\n openMadison(): void {\n this.dialog.open(LoginDialogComponent, {\n width: '600px',\n });\n }\n\n openFacebook(): void {\n this.openOauthProvider('fb_oauth_redirect', 'Facebook');\n }\n\n openGoogle(): void {\n this.openOauthProvider('g_oauth_redirect', 'Google');\n }\n\n openOauthProvider(path: string, title: string): void {\n\n const id = this.utils.uid();\n\n const x = this.window.innerWidth / 2;\n const y = this.window.innerHeight / 2;\n\n const width = 0.75 * this.window.innerWidth;\n const height = 0.75 * this.window.innerHeight;\n\n const ref = this.window.open(`https://db.beehive.services/${path}?ref=${id}`, `Login with ${title}`, `status=no,toolbar=no,menubar=no,\n width=${width},height=${height},top=${y - (height / 2)},left=${x - (width / 2)}`);\n\n const loop = setInterval(() => {\n if (ref !== null && ref.closed) {\n clearInterval(loop);\n this.checkAuthRef(id);\n }\n }, 1000);\n\n }\n\n async checkAuthRef(ref: string): Promise {\n this.authenticating = true;\n const res = await this.db.q('startOauthSesssion', { ref }, true);\n if (res.Success) {\n localStorage.setItem('session', res.Data.SessionID);\n await this.auth.checkSession();\n this.db.AuthSession = this.auth.sessionObj;\n if (!this.auth.person?.Avatar) {\n this.pickAvatar();\n }\n }\n this.authenticating = false;\n }\n\n pickAvatar(): void {\n if (this.auth.authChecked) {\n const dialogRef = this.dialog.open(ChooseAvatarComponent, {\n width: '800px',\n });\n dialogRef.afterClosed().subscribe(res => {\n if (typeof res === 'string' && this.auth.person !== null) {\n this.auth.person.Avatar = res;\n this.db.addSchemaKey('Person', 'Avatar');\n this.db.put('Person', this.auth.person);\n }\n });\n }\n }\n\n}\n","

{{ label }}

\n
\n \n \n \n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'toDate' })\nexport class StringToDatePipe implements PipeTransform {\n isInt(value: any): boolean {\n if (\n !isNaN(value) &&\n parseInt(value, 10).toString() === value &&\n !isNaN(parseInt(value, 10))\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n transform(value: number | string): Date {\n if (typeof value === 'number') {\n value = value.toString();\n }\n const output = new Date(this.isInt(value) ? parseInt(value, 10) : value);\n return output;\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ThemeColor, themeColorKeys, ThemeColors } from '../modules/colors';\n\n@Component({\n selector: 'app-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss']\n})\nexport class PanelComponent implements OnInit {\n\n @Input() theme: themeColorKeys = 'white';\n @Input() image = '';\n @Input() height?: string;\n @Input() padding?: string;\n color: ThemeColor | null = null;\n\n constructor() { }\n\n ngOnInit(): void {\n if (this.theme) {\n this.color = ThemeColors[this.theme];\n }\n }\n\n}\n","
\n\n
\n \n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-light-on-a-hill-camp-meeting',\n templateUrl: './light-on-a-hill-camp-meeting.component.html',\n styleUrls: ['./light-on-a-hill-camp-meeting.component.scss']\n})\nexport class LightOnAHillCampMeetingComponent implements OnInit {\n\n constructor(private utils: UtilsService) {\n }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Light on a Hill - Camp Meeting',\n Title: 'Light on a Hill - Camp Meeting',\n Description: '',\n Image: 'https://cdn2.tda.website/beehive/20201126/Light-on-a-Hill-80.jpg' + this.utils.defaultImageMetaSettings\n });\n }\n\n}\n","
\n \"Light\n
\n\n
\n
\n

Camp Meeting

\n
\n Register\n
\n \n
\n
\n event\n
January 14 - 17
\n
\n
\n place\n
Abide Wellness Retreat
19 Westleys Rd
Faulkland NSW 2422
\n
\n
\n attach_money\n
from $158/person*
\n
(*dorm accommodation & all meals)
\n
\n
\n \n
\n
\n

EXPERIENCE

\n

Ministry & business in action
Interactive workshops
Inspiring messages & music

\n
\n
\n

TOPICS incl:

\n

Ministry in the End Times
Revival and Reformation
Health Ministry - & more

\n
\n
\n

SPEAKERS incl:

\n

\n Bruce Niyibitanga
Joy Cho
Emmanuel Higgins\n

\n
\n
\n

\n

More Info

\n

Let us not forsake the assembling of ourselves together even more as we see the day approaching. This camp meeting will be a time of encouragement and revival as we seek God's will and unite in prayer.

\n

On-site accommodation is limited, but there is plenty of space for tents and caravans! There is also nearby accommodation options once on-campus facilities are full.

\n

Please share with your friends!

\n

\n \n

\n

\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-share',\n templateUrl: './share.component.html',\n styleUrls: ['./share.component.scss']\n})\nexport class ShareComponent implements OnInit {\n\n constructor(\n @Inject(WINDOW) private window: Window,\n ) { }\n\n ngOnInit(): void {\n }\n\n shareFb(): void {\n this.open('https://www.facebook.com/sharer/sharer.php?u=https://madison.org.au/');\n }\n\n shareTwitter(): void {\n this.open('https://twitter.com/home?status=https://madison.org.au/');\n }\n\n sharePinterest(): void {\n this.open('https://pinterest.com/pin/create/button/?url=https://madison.org.au/&media=&description=');\n }\n\n shareEmail(): void {\n this.open('mailto:%20?&subject=Madison+Missions&body=https://madison.org.au/');\n }\n\n open(link: string): void {\n this.window.open(link);\n }\n\n}\n","
\n

Do You Like this?

\n

🎉 Tell your friends! 👍
Help us raise awareness.

\n
\n \n \n \n \n
\n\n
","import { Component, OnInit, AfterViewInit, Inject, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport * as typeformEmbed from '@typeform/embed';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-contact-us',\n templateUrl: './contact-us.component.html',\n styleUrls: ['./contact-us.component.scss']\n})\nexport class ContactUsComponent implements OnInit, AfterViewInit {\n\n backLink = '';\n isBrowser: boolean;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n private activatedRoute: ActivatedRoute,\n private utils: UtilsService,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnInit(): void {\n if (this.activatedRoute.snapshot.queryParams.back) {\n this.backLink = this.activatedRoute.snapshot.queryParams.back;\n }\n this.utils.updateMeta({\n BrowserTitle: `Contact Us - ${this.utils.orgTitle}`,\n Title: 'Contact Us',\n Description: `Contact ${this.utils.orgTitle}.`,\n });\n }\n\n ngAfterViewInit(): void {\n\n if (this.isBrowser) {\n setTimeout(() => {\n this.document.getElementById('loaderFrame')?.remove();\n }, 1500);\n const el = this.document.getElementById('form');\n if (el) {\n typeformEmbed.makeWidget(el, 'https://mail654163.typeform.com/to/e8RELK', {\n hideFooter: true,\n hideHeaders: true,\n opacity: 0,\n });\n }\n }\n\n }\n\n}\n","\n
\n
\n
\n
","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { PersonType, AddressType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { StripeToken, StripeCard } from 'stripe-angular';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { DonationPmtService } from 'src/app/services/donationPmt.service';\n\n@Component({\n selector: 'app-account-payment-sources',\n templateUrl: './account-payment-sources.component.html',\n styleUrls: ['./account-payment-sources.component.scss']\n})\nexport class AccountPaymentSourcesComponent implements OnInit, OnDestroy {\n\n @ViewChild('stripeCard') stripeCard!: StripeCard;\n\n Person: PersonType | null = null;\n AddPaymentSource = false;\n isProcessing = false;\n selectedAddress: AddressType | null = null;\n cardToken!: StripeToken;\n cardProcessing: any;\n stripeOptions: any = {\n hidePostalCode: true,\n };\n\n onAuthChange = () => {\n this.Person = this.auth.person;\n }\n\n constructor(\n private auth: AuthService,\n private payments: DonationPmtService,\n public snackBar: MatSnackBar,\n private db: DbService,\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.auth.onStateChange(this.onAuthChange);\n this.loadAdr();\n }\n\n async loadAdr(): Promise {\n const adrs = await this.db.list('Address');\n this.selectedAddress = Array.from(adrs)[0];\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n }\n\n handleStripeError(obj: any): boolean {\n if (obj.type === 'StripeCardError') {\n\n const Error = obj.raw as any;\n\n this.snackBar.open('Card Error: ' + Error.message, 'Dismiss', {\n duration: 12000,\n });\n\n return true;\n\n }\n return false;\n }\n\n async remove(card: any): Promise {\n\n if (confirm('Remove ' + card.brand + '?')) {\n this.cardProcessing[card.id] = true;\n const res = await this.payments.removeCard(card.id) as any;\n\n if (res.Person) {\n this.auth.person = res.Person as PersonType;\n this.Person = this.auth.person;\n }\n\n }\n\n }\n\n async save(): Promise {\n\n if (this.isProcessing) {\n return;\n }\n\n if (!this.selectedAddress) {\n this.snackBar.open('Please add an address to your account before adding a payment source.', 'Dismiss', {\n duration: 6000,\n });\n return;\n }\n\n this.isProcessing = true;\n\n try {\n\n let StripeAdrObj = {\n name: this.selectedAddress.name,\n address_city: this.selectedAddress.suburb,\n address_line1: this.selectedAddress.address1,\n address_line2: this.selectedAddress.address2,\n address_state: this.selectedAddress.state,\n address_zip: this.selectedAddress.postcode.toString(),\n };\n\n StripeAdrObj = this.utils.replaceValue(StripeAdrObj, null, '');\n\n const CardToken = await this.stripeCard.createToken(StripeAdrObj);\n\n if (CardToken) {\n\n const res = await this.payments.saveCard(CardToken, {\n line1: this.selectedAddress.address1,\n city: this.selectedAddress.suburb,\n line2: this.selectedAddress.address2,\n state: this.selectedAddress.state,\n country: 'AU',\n postal_code: this.selectedAddress.postcode.toString(),\n }) as any;\n\n if (!this.handleStripeError(res)) {\n\n this.auth.person = res.Person as PersonType;\n this.Person = this.auth.person;\n\n this.snackBar.open('Payment source added.', 'Dismiss', {\n duration: 6000,\n });\n\n this.AddPaymentSource = false;\n\n this.isProcessing = false;\n\n } else {\n this.isProcessing = false;\n }\n\n } else {\n\n this.isProcessing = false;\n\n this.snackBar.open('Invalid card details.', 'Dismiss', {\n duration: 6000,\n });\n\n }\n\n } catch (e) {\n\n this.isProcessing = false;\n\n if (e.message) {\n this.snackBar.open('ERROR: ' + e.message, 'Dismiss', {\n duration: 12000,\n });\n } else {\n this.snackBar.open('ERROR: Card error.', 'Dismiss', {\n duration: 12000,\n });\n }\n\n }\n\n }\n\n}\n","\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Card BrandLast 4Expires
{{ card.brand }}{{ card.last4 }}{{ card.exp_month + '/' + card.exp_year }}\n \n
\n\n
\n\n \"\"\n\n

Payment Details

\n\n \n\n
\n
\n \n
\n\n
\n
\n \n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ThemeColor, themeColorKeys, ThemeColors } from 'src/app/modules/colors';\n\n@Component({\n selector: 'app-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent implements OnInit {\n\n @Input() label!: string;\n @Input() loading = false;\n @Input() theme!: themeColorKeys;\n @Input() padding!: string;\n @Input() disabled?= false;\n @Input() border?= true;\n @Output() public click: EventEmitter = new EventEmitter();\n\n color: ThemeColor | null = null;\n\n constructor() { }\n\n ngOnInit(): void {\n if (this.theme) {\n this.color = ThemeColors[this.theme];\n }\n }\n\n onButtonClick(event: MouseEvent): void {\n event.stopPropagation();\n if (!this.disabled) {\n this.click.emit(event);\n }\n }\n\n}\n","","import { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatRippleModule, MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatDividerModule } from '@angular/material/divider';\n\n\n@NgModule({\n imports: [\n MatButtonModule,\n MatMenuModule,\n MatIconModule,\n MatDialogModule,\n MatRippleModule,\n MatFormFieldModule,\n MatOptionModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatProgressBarModule,\n MatButtonToggleModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatSnackBarModule,\n MatSlideToggleModule,\n MatDividerModule,\n ],\n exports: [\n MatButtonModule,\n MatMenuModule,\n MatIconModule,\n MatDialogModule,\n MatRippleModule,\n MatFormFieldModule,\n MatOptionModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatProgressBarModule,\n MatButtonToggleModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatSnackBarModule,\n MatSlideToggleModule,\n MatDividerModule,\n ]\n})\nexport class MaterialModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { detect } from 'detect-browser';\nimport { LoginData } from 'src/app/screens/auth/login/login.component';\nimport { SignupData } from 'src/app/screens/auth/signup/signup.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DbService } from 'src/app/services/db.service';\n\n@Component({\n selector: 'app-login-dialog',\n templateUrl: './login-dialog.component.html',\n styleUrls: ['./login-dialog.component.scss']\n})\nexport class LoginDialogComponent implements OnInit {\n\n loginForm: FormGroup | null = null;\n signupForm: FormGroup | null = null;\n recoverForm: FormGroup | null = null;\n activity = false;\n hidePwd = true;\n screen: 'Login' | 'Signup' | 'Recover Password' = 'Login';\n\n constructor(\n private auth: AuthService,\n private dialogRef: MatDialogRef,\n public snackBar: MatSnackBar,\n private db: DbService,\n ) { }\n\n ngOnInit(): void {\n\n this.loginForm = new FormGroup({\n\n email: new FormControl('', [Validators.required, Validators.email]),\n\n password: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n\n remember: new FormControl('*')\n\n });\n\n this.signupForm = new FormGroup({\n first: new FormControl('', [Validators.required]),\n last: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.email]),\n password: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n });\n\n this.recoverForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email]),\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.loginForm?.controls[controlName].hasError(errorName) || false;\n }\n\n public hasSignupError = (controlName: string, errorName: string) => {\n return this.signupForm?.controls[controlName].hasError(errorName) || false;\n }\n\n public hasRecoverError = (controlName: string, errorName: string) => {\n return this.recoverForm?.controls[controlName].hasError(errorName) || false;\n }\n\n async recover(value: any): Promise {\n this.activity = true;\n const Email = value.email;\n const result = detect() as any;\n await this.db.q('auth:recoverPwd', {\n Email,\n Browser: result.name,\n OS: result.os,\n });\n\n this.snackBar.open('If your email address is in the system, you will receive a password reset email.', 'Dismiss', {\n duration: 6000,\n });\n\n this.activity = false;\n }\n\n signup(data: SignupData): void {\n\n this.activity = true;\n\n this.auth.signup(data).then((response) => {\n\n this.activity = false;\n\n if (response.Success) {\n\n this.screen = 'Login';\n\n }\n\n });\n\n }\n\n async login(data: LoginData): Promise {\n\n this.activity = true;\n\n const LoginSuccess = await this.auth.login(data);\n\n this.activity = false;\n\n if (LoginSuccess) {\n\n this.dialogRef.close();\n\n }\n\n }\n\n}\n","

{{ screen }}

\n\n
\n\n \n \n Email is required\n Invalid email\n \n\n \n \n \n Password is required\n Must be at least six characters with a letter and a number.\n \n\n \n Remember me on this device:\n \n for 10 minutes\n for 1 hour\n for 1 day\n for 1 week\n for 1 month\n Forever (until I logout)\n \n \n\n

\n \n

\n\n
\n Don't have an account? Sign up\n
\n
\n Forgot your password? Recover\n
\n\n
\n\n
\n\n \n \n Firstname is required\n \n\n \n \n Lastname is required\n \n\n \n \n Email is required\n Invalid email\n \n\n \n \n \n Must be at least six characters with a letter and a number.\n Password is required\n Must be at least six characters with a letter and a number.\n \n\n

\n \n

\n\n
\n Already have an account? Login\n
\n\n
\n\n
\n\n \n \n Email is required\n Invalid email\n \n\n

\n \n

\n\n
\n Login\n
\n\n
","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { Component, OnInit, Inject, Input } from '@angular/core';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { DOCUMENT } from '@angular/common';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { MyNotificationsComponent } from '../my-notifications/my-notifications.component';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-activity-stream',\n templateUrl: './activity-stream.component.html',\n styleUrls: ['./activity-stream.component.scss']\n})\nexport class ActivityStreamComponent implements OnInit {\n\n constructor(\n @Inject(WINDOW) private window: Window,\n @Inject(DOCUMENT) private document: Document,\n private auth: AuthService,\n private dialog: MatDialog,\n private utils: UtilsService,\n ) { }\n\n @Input() embedded!: boolean;\n\n ngOnInit(): void {\n\n if (!this.embedded) {\n this.utils.updateMeta({\n BrowserTitle: 'Activity Stream',\n Title: 'Activity Stream',\n Description: `What's happening as it happens. View the latest news, and subscribe to updates.`,\n Image: `https://cdn2.tda.website/beehive/20200902/wyCgDmkx-Madison-Infographic-4x.png?h=550&w=550&fit=crop&auto=format`,\n });\n }\n }\n\n open(link: string): void {\n this.window.open(link);\n }\n\n scrollToEl(id: string, smooth: boolean = false): void {\n const el = this.document.getElementById(id) as HTMLElement;\n if (el) {\n if (this.window.scrollTo) {\n this.window.scrollTo({\n top: el.offsetTop,\n behavior: smooth ? 'smooth' : 'auto',\n });\n }\n }\n }\n\n notifications(): void {\n if (this.auth.getSessionValue()) {\n this.openNotificationPrefs();\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n autoFocus: false,\n });\n ref.afterClosed().subscribe(async () => {\n if (this.auth.authChecked) {\n this.openNotificationPrefs();\n }\n });\n }\n }\n\n openNotificationPrefs(): void {\n\n this.dialog.open(MyNotificationsComponent, {\n data: true,\n });\n\n }\n\n}\n","\n\n
\n \"\"\n
\n

Activity
Stream

\n

What's happening, as it happens.

\n  \n \n
\n
\n
\n\n
\n \n
","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-login-providers-dialog',\n templateUrl: './login-providers-dialog.component.html',\n styleUrls: ['./login-providers-dialog.component.scss']\n})\nexport class LoginProvidersDialogComponent implements OnInit, OnDestroy {\n\n constructor(\n private auth: AuthService,\n private dialogRef: MatDialogRef,\n ) { }\n\n onAuthChange = (loggedIn: boolean) => {\n if (loggedIn) {\n this.dialogRef.close();\n }\n }\n\n ngOnInit(): void {\n this.auth.onStateChange(this.onAuthChange);\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n }\n\n}\n","","import { AuthService } from './../../../services/auth.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nexport interface SignupData {\n ID?: string;\n first: string;\n last: string;\n email: string;\n password: string;\n}\n\n@Component({\n selector: 'app-signup',\n templateUrl: './signup.component.html',\n styleUrls: ['../login/login.component.scss', './signup.component.scss']\n})\nexport class SignupComponent implements OnInit {\n\n signupForm: FormGroup | null = null;\n hidePwd = true;\n activity = false;\n\n constructor(\n private authService: AuthService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.signupForm = new FormGroup({\n first: new FormControl('', [Validators.required]),\n last: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.email]),\n password: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n });\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.signupForm?.controls[controlName].hasError(errorName) || false;\n }\n\n signup(data: SignupData): void {\n\n this.activity = true;\n\n this.authService.signup(data).then((response) => {\n\n this.activity = false;\n\n if (response.Success) {\n\n this.router.navigateByUrl('/account');\n\n }\n\n });\n\n }\n\n}\n","\n\n
\n\n\n
\n\n

Signup

\n
\n\n \n \n Firstname is required\n \n\n \n \n Lastname is required\n \n\n \n \n Email is required\n Invalid email\n \n\n \n \n \n Must be at least six characters with a letter and a number.\n Password is required\n Must be at least six characters with a letter and a number.\n \n\n

\n \n

\n\n
\n Already have an account? Login\n
\n\n
\n\n
\n
\n
\n","import { Directive, AfterContentInit, Input, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutoFocus]'\n})\nexport class AutoFocusDirective implements AfterContentInit {\n\n @Input() public appAutoFocus!: boolean;\n\n public constructor(private el: ElementRef) { }\n\n public ngAfterContentInit(): void {\n\n if (this.appAutoFocus) {\n setTimeout(() => {\n\n this.el.nativeElement.focus();\n\n }, 500);\n }\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-watch-story',\n templateUrl: './watch-story.component.html',\n styleUrls: ['./watch-story.component.scss']\n})\nexport class WatchStoryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MadisonBlogPostType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-view-post',\n templateUrl: './view-post.component.html',\n styleUrls: ['./view-post.component.scss']\n})\nexport class ViewPostComponent implements OnInit {\n\n loaded = false;\n post: MadisonBlogPostType | null = null;\n\n constructor(\n private route: ActivatedRoute,\n private db: DbService,\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.load();\n }\n\n getPostImage(post: MadisonBlogPostType): string {\n\n let image = '';\n if (post.Images && post.Images.length && !post.Videos?.length) {\n image = post.Images[0] + '?w=1200&h=700&fit=crop&crop=faces';\n } else if (post.Videos && post.Videos.length) {\n\n const vid = post.Videos[0];\n\n if (vid && vid.MuxStatus === 'ready' && vid.PlaybackIDs) {\n image = 'https://image.mux.com/' + vid.PlaybackIDs[0].id + '/animated.gif?width=500';\n } else {\n image = 'https://cdn2.tda.website/beehive/20201104/Video-Processing-4x-80.jpg?w=1200&h=700&fit=crop&crop=faces';\n }\n\n }\n\n return image;\n }\n\n async load(): Promise {\n this.route.params.subscribe(async params => {\n if (params.id) {\n const post: MadisonBlogPostType = await this.db.get('MadisonBlogPost', params.id);\n this.loaded = true;\n this.post = post;\n\n this.utils.updateMeta({\n BrowserTitle: post.Title + ' - news post',\n Title: post.Title || 'Untitled',\n Description: post.Content || '',\n Image: this.getPostImage(post),\n });\n\n }\n });\n }\n\n}\n","
\n \n
\n\n
\n \n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-madison-header-nav',\n templateUrl: './madison-header-nav.component.html',\n styleUrls: ['./madison-header-nav.component.scss']\n})\nexport class MadisonHeaderNavComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

madison-header-nav works!

\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit, OnDestroy {\n\n IsAuthenticated = false;\n IsTopAdmin = false;\n\n onAuthChange = (AuthState: boolean) => {\n this.IsAuthenticated = AuthState;\n this.IsTopAdmin = this.authService.isTopAdmin();\n }\n\n constructor(\n private authService: AuthService,\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n this.authService.onStateChange(this.onAuthChange);\n }\n\n ngOnDestroy(): void {\n this.authService.removeStateChangeCallback(this.onAuthChange);\n }\n\n logout(): void {\n this.authService.logout();\n this.router.navigateByUrl('');\n }\n\n\n}\n","
\n
\n
\n
\n\n
\n
\n \n
\n

\n Madison Missions Australia Ltd.
19 Westleys Rd
Faulkland NSW 2422\n

\n

Ph: 0490 364 018

\n
\n
\n

\n © 2020 Madison Missions Australia Ltd.   |  
ABN: 93 637 957 085   |   Address: 19 Westleys Rd, Faulkland NSW 2422\n

\n
","import { Component, OnInit, Inject, OnDestroy, ViewChild, ElementRef, AfterViewInit, Input, Optional } from '@angular/core';\nimport { MadisonBlogPostType, CategoryMeta, setTimeout$ } from 'src/app/services/DataStore';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MyNotificationsComponent } from 'src/app/screens/my-notifications/my-notifications.component';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\nimport { OpenPostImageComponent } from '../open-post-image/open-post-image.component';\nimport { Subscription } from 'rxjs';\nimport * as Hls from 'hls.js';\n\n@Component({\n selector: 'app-news-overlay',\n templateUrl: './news-overlay.component.html',\n styleUrls: ['./news-overlay.component.scss']\n})\nexport class NewsOverlayComponent implements OnInit, OnDestroy, AfterViewInit {\n\n imgSettings = '?h=1080&w=1080&auto=format&q=10&crop=faces';\n mouseMoveEvID = '';\n keypressEvID = '';\n settingTimeout = false;\n lastSentActivity = 0;\n sendActivityInterval = 1000 * 30; // 30 seconds\n categoryMeta = CategoryMeta;\n imageDialog: MatDialogRef | null = null;\n routerSub: Subscription | null = null;\n isOverlay = true;\n\n basePath = '/news-post/';\n\n @ViewChild('video', { static: false }) videoEl!: ElementRef;\n @ViewChild('html', { static: false }) HtmlContentEl!: ElementRef;\n @Input() postObj!: MadisonBlogPostType;\n\n constructor(\n @Optional() @Inject(MAT_DIALOG_DATA) public post: MadisonBlogPostType,\n @Optional() public dialogRef: MatDialogRef,\n private db: DbService,\n private utils: UtilsService,\n private auth: AuthService,\n private dialog: MatDialog,\n private route: ActivatedRoute,\n private router: Router,\n @Inject(WINDOW) private window: Window,\n ) {\n }\n\n ngAfterViewInit(): void {\n if (\n typeof this.post.Videos !== 'undefined' &&\n this.post.Videos &&\n typeof this.post.Videos[0] !== 'undefined'\n ) {\n const video = this.post.Videos[0];\n if (typeof video.PlaybackIDs !== 'undefined') {\n const VideoEl = this.videoEl.nativeElement as HTMLVideoElement;\n const playbackId = video.PlaybackIDs[0].id;\n const url = `https://stream.mux.com/${playbackId}.m3u8`;\n // Let native HLS support handle it if possible\n if (VideoEl.canPlayType && VideoEl.canPlayType('application/vnd.apple.mpegurl')) {\n VideoEl.src = url;\n VideoEl.play();\n } else if (Hls.isSupported && Hls.isSupported()) {\n // HLS.js-specific setup code\n const hls = new Hls();\n hls.loadSource(url);\n hls.attachMedia(VideoEl);\n VideoEl.play();\n }\n }\n }\n }\n\n ngOnInit(): void {\n\n if (!this.post) {\n this.post = this.postObj;\n this.isOverlay = false;\n this.basePath = '/view-post/';\n } else {\n this.basePath = this.router.url.split('news-post/')[0] + 'news-post/';\n }\n\n this.db.q('incrementBlogView', { id: this.post.ID });\n\n if (typeof this.post.ID !== 'undefined') {\n this.db.get('MadisonBlogPost', this.post.ID).then(post => {\n this.post = post;\n if (this.post.ContentHTML) {\n const el = this.HtmlContentEl.nativeElement as HTMLDivElement;\n el.innerHTML = this.post.ContentHTML;\n }\n });\n }\n\n this.mouseMoveEvID = this.utils.WhenEventHappens('mousemove', () => {\n this.setTimeout();\n });\n this.keypressEvID = this.utils.WhenEventHappens('keypress', () => {\n this.setTimeout();\n });\n\n this.route.queryParamMap.subscribe(val => {\n const img = val.get('img');\n if (!img && this.imageDialog) {\n this.imageDialog.close();\n this.imageDialog = null;\n } else if (img) {\n this.openImageDialog(img);\n }\n });\n\n if (this.isOverlay) {\n this.routerSub = this.router.events.subscribe((val) => {\n // see also\n if (val instanceof NavigationEnd && !val.url.includes(this.basePath)) {\n this.dialogRef.close();\n }\n });\n }\n }\n\n closeD(): void {\n if (this.isOverlay) {\n this.dialogRef.close();\n } else {\n this.router.navigateByUrl('/all-posts');\n }\n }\n\n openImageDialog(image: string): void {\n this.imageDialog = this.dialog.open(\n OpenPostImageComponent,\n {\n data: image,\n maxWidth: '100vw',\n maxHeight: '100vh',\n height: '100%',\n width: '100%',\n panelClass: ['full-screen', 'transparent-full']\n }\n );\n this.imageDialog.afterClosed().subscribe(() => {\n this.router.navigateByUrl(\n this.basePath + this.post.ID,\n { replaceUrl: true, }\n );\n });\n }\n\n ngOnDestroy(): void {\n this.utils.RemoveEventCallback('mousemove', this.mouseMoveEvID);\n this.utils.RemoveEventCallback('keypress', this.keypressEvID);\n if (this.isOverlay && this.routerSub !== null) {\n this.routerSub.unsubscribe();\n }\n }\n\n setTimeout(): void {\n if (this.auth.authChecked) {\n if (!this.settingTimeout) {\n this.settingTimeout = true;\n setTimeout$(() => { this.onActivity(); }, 1000);\n }\n }\n }\n\n onActivity(): void {\n this.settingTimeout = false;\n if (this.auth.authChecked) {\n const now = (new Date()).getTime();\n if (!this.lastSentActivity || now > this.lastSentActivity + this.sendActivityInterval) {\n this.lastSentActivity = now;\n this.db.q('blogActivity', {\n id: this.post.ID,\n });\n }\n }\n }\n\n openNotificationPrefs(): void {\n\n this.dialog.open(MyNotificationsComponent, {\n data: true,\n });\n\n }\n\n notificationPrefs(): void {\n\n if (this.auth.getSessionValue()) {\n this.openNotificationPrefs();\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n autoFocus: false,\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n this.openNotificationPrefs();\n }\n });\n }\n }\n\n cta(post: MadisonBlogPostType): void {\n this.window.open(post.CallToActionLink);\n }\n\n encodeUri(str: string): string {\n return encodeURIComponent(str);\n }\n\n}\n","
\n \n \"\"\n \n
\n\n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

{{ post.Title }}

\n \n
\n {{ post.Content?.trim() }}\n
\n
\n
\n \n
\n \n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(public auth: AuthService, public router: Router) { }\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n if (!this.auth.hasSessionValue()) {\n this.router.navigate(['login'], { queryParams: { return: state.url } });\n return false;\n }\n return true;\n }\n}\n\n@Injectable()\nexport class AdminAuthGuardService implements CanActivate {\n constructor(public auth: AuthService, public router: Router) { }\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n if (!this.auth.getSessionValue() || !this.auth.person) {\n await this.auth.checkSession();\n }\n if (!this.auth.isTopAdmin()) {\n this.router.navigate(['login'], { queryParams: { return: state.url } });\n return false;\n }\n return true;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-zoom-qa',\n templateUrl: './zoom-qa.component.html',\n styleUrls: ['./zoom-qa.component.scss']\n})\nexport class ZoomQaComponent implements OnInit {\n\n constructor(\n private titleService: Title,\n ) { }\n\n ngOnInit(): void {\n this.titleService.setTitle('Q&A Session Details - Eastward / Madison');\n }\n\n}\n","
\n

Zoom Q&A Session Details

\n
\n
\n \"Madison\n
\n
\n \"Eastward\n
\n
\n \"The\n
\n
\n \"Beehive\n
\n
\n
\n
\n \"\"\n\n

Your questions will be answered by one or more team members of Eastward & Madison Missions, and The Maker Heals health program.

\n\n

Meeting Details

\n\n

Topic: Live Q&A\n
Time: Jul 30, 2020 06:30 PM Canberra, Melbourne, Sydney\n
\n
Join Zoom Meeting\n
https://zoom.us/j/94676733104?pwd=K2ZIam53MlNHU3R2Zzk2SWlTS3padz09\n
\n
Meeting ID: 946 7673 3104\n
Passcode: 4576\n
One tap mobile\n
+61370182005,,94676733104# Australia\n
+61731853730,,94676733104# Australia\n
\n
Dial by your location\n
+61 3 7018 2005 Australia\n
+61 731 853 730 Australia\n
+61 861 193 900 Australia\n
+61 8 7150 1149 Australia\n
+61 2 8015 6011 Australia\n
Meeting ID: 946 7673 3104\n
Find your local number: https://zoom.us/u/ag4yfMGjv\n

\n
","import { Component, OnInit, Inject, AfterViewInit, ViewChild, ElementRef, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport * as typeformEmbed from '@typeform/embed';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'app-subscribe',\n templateUrl: './subscribe.component.html',\n styleUrls: ['./subscribe.component.scss']\n})\nexport class SubscribeComponent implements OnInit, AfterViewInit {\n\n @ViewChild('form') div!: ElementRef;\n isBrowser: boolean;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n\n if (this.isBrowser) {\n\n typeformEmbed.makeWidget(this.div.nativeElement, 'https://madisonmissions.typeform.com/to/lf2tm9', {\n hideFooter: true,\n hideHeaders: true,\n opacity: 0,\n });\n\n }\n\n }\n\n}\n","
","import { Component, OnInit, Input, Inject, OnDestroy } from '@angular/core';\nimport { CallResponse, DbService } from 'src/app/services/db.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ChooseAvatarComponent } from 'src/app/dialogs/choose-avatar/choose-avatar.component';\nimport { BlogCommentType, BlogCommentsFor, BlogLikeType, DataStore, MadisonBlogPostType, setTimeout$ } from 'src/app/services/DataStore';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { ConfirmationDialogComponent } from 'src/app/dialogs/confirmation-dialog/confirmation-dialog.component';\nimport { DOCUMENT } from '@angular/common';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { PromptComponent } from 'src/app/dialogs/prompt/prompt.component';\nimport { ActivatedRoute } from '@angular/router';\n\ninterface NestedComment extends BlogCommentType {\n Replies?: BlogCommentType[];\n}\n\ninterface TypingIndicator {\n Comment: string;\n Post: string;\n Owner: string;\n ID: string;\n Type: string;\n Avatar: string;\n}\n\n@Component({\n selector: 'app-comments',\n templateUrl: './comments.component.html',\n styleUrls: ['./comments.component.scss']\n})\nexport class CommentsComponent implements OnInit, OnDestroy {\n\n @Input() for!: BlogCommentsFor;\n\n sort = 'newest';\n authenticating = false;\n comment = '';\n isPostingComment = false;\n showReplyBox: { [id: string]: boolean } = {};\n totalNum = 0;\n\n commentMenuIsOwner = false;\n currentContexComment: NestedComment | null = null;\n\n defaultAvatar = 'https://cdn2.tda.website/beehive/20200826/adult-2221018.svg';\n\n Comments: NestedComment[] = [];\n\n authorNames: string[] = [];\n mentionIsopen = false;\n socket: WebSocket | null = null;\n typingIndicatorTimeout: NodeJS.Timeout | null = null;\n typingIndicatorsNow: { [commentID: string]: TypingIndicator[] } = {};\n\n CommentToHighlight: string | null = null;\n\n tabIndex = 0;\n\n logout = () => this.auth.logout();\n\n constructor(\n public auth: AuthService,\n public db: DbService,\n private dialog: MatDialog,\n @Inject(DOCUMENT) private document: Document,\n private utils: UtilsService,\n private route: ActivatedRoute,\n ) { }\n\n onAuthChange = (loggedIn: boolean) => {\n\n if (this.socket) {\n this.socket.close();\n }\n\n if (loggedIn) {\n\n if (!this.auth.person?.Avatar) {\n this.pickAvatar();\n }\n\n // BlogCommentType|TypingIndicator\n this.socket = this.db.Subscribe(['BlogComment', 'TypingIndicator'], (comment) => {\n\n if (comment.Key === this.for.Key) {\n comment = comment as BlogCommentType;\n if (comment.ParentComment) {\n const ParentComment = DataStore.singletons[comment.ParentComment] as NestedComment;\n if (ParentComment) {\n ParentComment.Replies = ParentComment.Replies || [];\n if (!ParentComment.Replies.includes(comment) && comment.Owner !== this.auth.person?.ID) {\n ParentComment.Replies.push(comment);\n ParentComment.Replies.sort((a, b) => {\n return a.Time - b.Time;\n });\n }\n }\n } else {\n if (!this.Comments.includes(comment) && comment.Owner !== this.auth.person?.ID) {\n this.Comments.push(comment);\n this.Comments.sort((a, b) => {\n return a.Time - b.Time;\n });\n }\n }\n } else if (comment.Type === 'ti') {\n const indicator = comment as TypingIndicator;\n if (indicator.Owner !== this.auth.person?.ID && indicator.Post === this.for.Key) {\n const key = indicator.Comment || '_';\n this.typingIndicatorsNow[key] = this.typingIndicatorsNow[key] || [];\n for (const i of [...this.typingIndicatorsNow[key]]) {\n if (i.Owner === indicator.Owner) {\n this.utils.delete(this.typingIndicatorsNow[key], i);\n }\n }\n this.typingIndicatorsNow[key].push(indicator);\n setTimeout$(() => {\n this.utils.delete(this.typingIndicatorsNow[key], indicator);\n }, 2500);\n }\n }\n });\n }\n }\n\n ngOnInit(): void {\n this.loadComments();\n\n this.auth.onStateChange(this.onAuthChange);\n\n this.route.queryParamMap.subscribe(map => {\n const commentID = map.get('comment');\n if (commentID) {\n this.CommentToHighlight = commentID;\n }\n });\n\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n if (this.socket) {\n this.socket.close();\n }\n }\n\n mentionOpened(): void {\n this.mentionIsopen = true;\n }\n\n mentionClosed(): void {\n setTimeout$(() => {\n this.mentionIsopen = false;\n }, 0);\n }\n\n checkCommentMenu(c: BlogCommentType): void {\n this.commentMenuIsOwner = this.auth.isTopAdmin() || this.auth.person?.ID === c.Owner;\n this.currentContexComment = c;\n }\n\n async report(): Promise {\n const ref = this.dialog.open(ConfirmationDialogComponent, {\n data: 'Report this comment to moderators?',\n });\n\n ref.afterClosed().subscribe(async yes => {\n if (yes) {\n await this.db.q('reportComment', {\n comment: this.currentContexComment?.ID,\n });\n }\n });\n }\n\n edit(): void {\n const ref = this.dialog.open(PromptComponent, {\n data: {\n label: 'Edit comment',\n value: this.currentContexComment?.TXT,\n multiLine: true,\n },\n width: '500px',\n });\n\n ref.afterClosed().subscribe(val => {\n if (val && this.currentContexComment !== null) {\n this.currentContexComment.TXT = val;\n this.db.put(this.currentContexComment);\n }\n });\n }\n\n delete(): void {\n const ref = this.dialog.open(ConfirmationDialogComponent, {\n data: 'Delete this comment?',\n });\n\n ref.afterClosed().subscribe(yes => {\n if (yes) {\n if (this.currentContexComment?.Replies && this.currentContexComment.Replies.length) {\n\n this.currentContexComment.Deleted = 'true';\n this.currentContexComment.TXT = '(deleted)';\n this.db.put(this.currentContexComment);\n\n } else {\n\n this.db.RemoveFromDataStore(this.currentContexComment);\n this.db.q('deleteBlogComment', {\n comment: this.currentContexComment?.ID,\n });\n const Post = DataStore.singletons[this.for.Key] as MadisonBlogPostType;\n Post.Comments = Post.Comments || 0;\n Post.Comments--;\n this.totalNum--;\n\n if (this.currentContexComment?.ParentComment) {\n for (const c of this.Comments) {\n if (c.ID === this.currentContexComment.ParentComment && typeof c.Replies !== 'undefined') {\n this.utils.delete(c.Replies, this.currentContexComment);\n break;\n }\n }\n } else {\n this.utils.delete(this.Comments, this.currentContexComment);\n }\n }\n }\n });\n }\n\n async loadComments(): Promise {\n if (this.for.for === 'blog') {\n const Comments: NestedComment[] = Array.from(\n await this.db.query('BlogComment', 'Key', this.for.Key, false, 0)\n ) || [];\n this.totalNum = Comments.length;\n const commentIDs: string[] = [];\n const replies: { [id: string]: NestedComment[] } = {};\n for (const reply of Comments) {\n if (typeof reply.ID !== 'undefined') {\n commentIDs.push(reply.ID);\n replies[(reply.ParentComment || '_')] = replies[(reply.ParentComment || '_')] || [];\n replies[(reply.ParentComment || '_')].push(reply);\n }\n }\n for (const comment of Comments) {\n if (typeof comment.ID !== 'undefined' && replies[comment.ID]) {\n comment.Replies = replies[comment.ID];\n }\n }\n\n for (const key of Object.keys(replies)) {\n replies[key].sort((a, b) => {\n return a.Time - b.Time;\n });\n }\n\n if (replies._) {\n this.Comments = replies._;\n }\n\n this.setTabIndexes(this.Comments, 10);\n\n const OwnerIDs: string[] = [...new Set(Comments.map(o => o.Owner || ''))];\n let Owners = (await this.db.q('getCommentAuthors', { Owners: JSON.stringify(OwnerIDs) })).Data;\n if (Owners === 'null') {\n Owners = [];\n }\n\n for (const o of Owners) {\n this.db.authors[o.ID] = o;\n if (!this.authorNames.includes(o.First + o.Last)) {\n this.authorNames.push(o.First + o.Last);\n }\n }\n this.loadLikes();\n }\n }\n\n setTabIndexes(comments: NestedComment[], index: number): number {\n for (const c of comments) {\n c.TabIndex = index;\n index++;\n if (c.Replies) {\n index = this.setTabIndexes(c.Replies, index);\n }\n }\n return index;\n }\n\n checkKey(ev: KeyboardEvent): void {\n if (ev.key === 'Enter' && !ev.shiftKey && !this.mentionIsopen) {\n ev.preventDefault();\n if (this.auth.getSessionValue()) {\n this.postComment();\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n this.postComment();\n }\n });\n }\n }\n }\n\n checkReplyKey(ev: KeyboardEvent, c: BlogCommentType): void {\n if (ev.key === 'Enter' && !ev.shiftKey && !this.mentionIsopen) {\n const v = (ev.target as HTMLInputElement).value;\n ev.preventDefault();\n if (this.auth.getSessionValue()) {\n this.postReply(c, v);\n (ev.target as HTMLInputElement).value = '';\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n this.postReply(c, v);\n (ev.target as HTMLInputElement).value = '';\n }\n });\n }\n }\n this.sendTypingIndicator(c);\n }\n\n sendTypingIndicator(c?: BlogCommentType): void {\n if (!this.typingIndicatorTimeout) {\n this.typingIndicatorTimeout = setTimeout(() => {\n if (this.auth.authChecked) {\n\n const indicator: TypingIndicator = {\n Comment: c?.ID || '',\n Post: this.for.Key,\n Owner: this.auth.person?.ID || '',\n ID: this.utils.uid(),\n Type: 'ti',\n Avatar: this.auth.person?.Avatar || this.defaultAvatar,\n };\n\n this.db.q('blogTypingIndicator', {\n obj: JSON.stringify(indicator),\n });\n }\n this.typingIndicatorTimeout = null;\n }, 1500);\n }\n }\n\n async postReply(c: NestedComment, value: string): Promise {\n if (value.trim() !== '') {\n const comment: BlogCommentType = {\n ID: this.utils.uid(),\n Key: this.for.Key,\n Time: (new Date()).getTime(),\n TXT: value,\n ParentComment: c.ID,\n };\n if (this.auth.person) {\n this.db.authors[this.auth.person?.ID || ''] = this.auth.person;\n }\n c.Replies = c.Replies || [];\n c.Replies.push(comment);\n await this.writeComment(comment);\n }\n }\n\n async postComment(): Promise {\n if (this.comment.trim() !== '') {\n const comment: BlogCommentType = {\n ID: this.utils.uid(),\n Key: this.for.Key,\n Time: (new Date()).getTime(),\n TXT: this.comment,\n };\n this.comment = '';\n if (this.auth.person) {\n this.db.authors[this.auth.person?.ID || ''] = this.auth.person;\n }\n this.Comments.unshift(comment);\n\n await this.writeComment(comment);\n }\n }\n\n async writeComment(c: BlogCommentType): Promise {\n\n const Post = DataStore.singletons[this.for.Key] as MadisonBlogPostType;\n Post.Comments = Post.Comments || 0;\n Post.Comments++;\n this.totalNum++;\n\n return await this.db.q('writeBlogComment', {\n comment: JSON.stringify(this.db.addRowDefaults(c, 'BlogComment')),\n id: c.ID,\n uniq: c.ParentComment || c.ID,\n key: this.for.Key,\n });\n }\n\n async loadLikes(): Promise {\n if (this.auth.getSessionValue()) {\n let Likes: BlogLikeType[];\n try {\n Likes = Array.from((await this.db.q('getBlogCommentLikes', {\n key: this.for.Key\n }))?.Data);\n if (Likes && Likes.length) {\n for (const like of Likes) {\n this.db.likedComments[like.Key] = true;\n }\n }\n } catch (e) { }\n }\n }\n\n async likeComment(c: BlogCommentType): Promise {\n if (typeof c.ID === 'undefined') {\n return;\n }\n if (!this.auth.getSessionValue()) {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n await this.loadLikes();\n if (c.ID && !this.db.likedComments[c.ID]) {\n this.likeComment(c);\n }\n }\n });\n } else {\n this.db.likedComments[c.ID] = !this.db.likedComments[c.ID];\n c.Likes = c.Likes || 0;\n if (this.db.likedComments[c.ID]) {\n c.Likes++;\n } else {\n c.Likes--;\n }\n await this.db.q('likeBlogComment', { id: c.ID });\n }\n }\n\n async replyToComment(c: NestedComment, c2?: NestedComment): Promise {\n if (!c.ID) {\n return;\n }\n this.showReplyBox[c.ID] = true;\n setTimeout(() => {\n const el = this.document.getElementById('reply_input_' + c.ID) as HTMLInputElement;\n if (c2 && c2.Owner && c2.Owner !== this.auth.person?.ID) {\n el.value = '@' + this.db.authors[c2.Owner].First + this.db.authors[c2.Owner].Last + ' ';\n }\n el.focus();\n });\n }\n\n pickAvatar(): void {\n if (this.auth.authChecked) {\n const dialogRef = this.dialog.open(ChooseAvatarComponent, {\n width: '800px',\n });\n dialogRef.afterClosed().subscribe(res => {\n if (typeof res === 'string' && this.auth.person && this.auth.person.ID) {\n this.auth.person.Avatar = res;\n this.db.addSchemaKey('Person', 'Avatar');\n this.db.put('Person', this.auth.person);\n this.db.authors[this.auth.person.ID] = this.auth.person;\n }\n });\n }\n }\n\n}\n","
\n
\n
{{ totalNum }} Comment{{ totalNum === 1 ? '' : 's' }}
\n
\n
\n
\n
\n \"\"\n
\n
\n \n {{ auth.authChecked ? auth.person?.First + ', join the discussion!' : 'Join the Discussion' }}\n \n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n {{ db.authors[(comment.Owner || '')]?.First + ' ' + db.authors[(comment.Owner || '')]?.Last }}\n
{{ comment.TXT }}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
{{ comment.Likes }}
\n
\n\n \n
\n
\n
\n
\n
\n
\n \n \n {{ (comment.Time | timeAgo) }}\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n {{ db.authors[(reply.Owner || '')]?.First + ' ' + db.authors[(reply.Owner || '')]?.Last }}\n
{{ reply.TXT }}
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
{{ reply.Likes }}
\n
\n
\n
\n \n \n {{ (reply.Time | timeAgo) }}\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n \n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
","import { Component, OnInit, Inject, AfterViewInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NewsOverlayComponent } from '../news-overlay/news-overlay.component';\nimport { DbService } from 'src/app/services/db.service';\nimport { MadisonBlogPostType } from 'src/app/services/DataStore';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({ template: '' })\nexport class OpenNewsPostComponent implements OnInit {\n\n PostId = '';\n\n constructor(\n public dialog: MatDialog,\n private db: DbService,\n private curRoute: ActivatedRoute,\n private router: Router,\n @Inject(WINDOW) private window: Window,\n private utils: UtilsService,\n ) {\n this.curRoute.params.subscribe(params => {\n this.PostId = params.id;\n });\n }\n\n ngOnInit(): void {\n this.openDialog();\n }\n\n getPostImage(post: MadisonBlogPostType): string {\n\n let image = '';\n if (post.Images && post.Images.length && !post.Videos?.length) {\n image = post.Images[0] + '?w=1200&h=700&fit=crop&crop=faces';\n } else if (post.Videos && post.Videos.length) {\n\n const vid = post.Videos[0];\n\n if (vid.PlaybackIDs) {\n\n if (vid && vid.MuxStatus === 'ready') {\n image = 'https://image.mux.com/' + vid.PlaybackIDs[0].id + '/animated.gif?width=1200&start=' +\n (vid.GifStartTime || '0');\n } else {\n image = 'https://cdn2.tda.website/beehive/20201104/Video-Processing-4x-80.jpg?w=1200&h=700&fit=crop&crop=faces';\n }\n\n }\n\n }\n\n return image;\n }\n\n async openDialog(): Promise {\n\n let post: MadisonBlogPostType;\n\n if (this.db.curBlogPost) {\n post = this.db.curBlogPost;\n } else {\n post = await this.db.get('MadisonBlogPost', this.PostId);\n }\n\n this.utils.updateMeta({\n BrowserTitle: post.Title + ' - news post',\n Title: post.Title || '',\n Description: post.Content || '',\n Image: this.getPostImage(post),\n });\n\n const dialogRef = this.dialog.open(NewsOverlayComponent, {\n maxWidth: '100vw',\n maxHeight: '100vh',\n height: '100%',\n width: '100%',\n data: post,\n closeOnNavigation: false,\n autoFocus: false,\n panelClass: ['full-screen']\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (this.window.location.href.includes('stream/')) {\n this.router.navigateByUrl('/stream');\n } else if (this.window.location.href.includes('news-post/')) {\n this.router.navigateByUrl('/');\n }\n });\n\n }\n\n}\n","import { Component, OnInit, Inject, OnDestroy, AfterViewInit } from '@angular/core';\nimport { Router, Event, RouterEvent, NavigationEnd } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\ninterface VisionNav {\n label: string;\n anchor: string;\n el?: HTMLElement | null;\n offset?: number;\n linkOffset?: number;\n linkEl?: HTMLElement | null;\n}\n\n@Component({\n selector: 'app-vision',\n templateUrl: './vision.component.html',\n styleUrls: ['./vision.component.scss']\n})\nexport class VisionComponent implements OnInit, OnDestroy, AfterViewInit {\n\n visionNav: VisionNav[] = [\n { label: `Vision`, anchor: 'vision' },\n { label: `Business`, anchor: 'business' },\n { label: `Health Ministry`, anchor: 'health' },\n { label: `School`, anchor: 'school' },\n { label: `Evangelism`, anchor: 'evangelism' },\n { label: `Youth Ministry`, anchor: 'youth' },\n { label: `Agriculture`, anchor: 'agriculture' },\n { label: `Meet the Team`, anchor: 'team' },\n { label: `Let's Make\\nit Happen`, anchor: 'happen' },\n ];\n\n sectionDistances: { [key: string]: number } = {};\n\n pill: HTMLDivElement | null = null;\n\n visionNavOpen = false;\n\n constructor(\n private router: Router,\n @Inject(DOCUMENT) private document: Document,\n @Inject(WINDOW) private window: Window,\n private utils: UtilsService,\n ) {\n router.events.pipe(\n filter((e: Event): e is RouterEvent => e instanceof NavigationEnd)\n ).subscribe((e: RouterEvent) => {\n if (e.url.includes('#')) {\n this.scrollToEl(e.url.split('#')[1]);\n }\n });\n if (this.window.addEventListener) {\n this.window.addEventListener('scroll', this.onScroll);\n }\n }\n\n scrollTop(): void {\n if (this.window.scrollTo) {\n this.window.scrollTo(0, 0);\n }\n }\n\n scrollToEl(id: string, smooth: boolean = false): void {\n const el = this.document.getElementById(id) as HTMLElement;\n if (this.window.scrollTo) {\n this.window.scrollTo({\n top: el.offsetTop,\n behavior: smooth ? 'smooth' : 'auto',\n });\n }\n }\n\n scrollToTop(): void {\n if (this.window.scrollTo) {\n this.window.scrollTo({ top: 0 });\n }\n }\n\n openVisionNav(): void {\n this.visionNavOpen = !this.visionNavOpen;\n }\n\n onScroll = () => {\n const vh = Math.max(this.document.documentElement.clientHeight || 0, this.window.innerHeight || 0);\n if (this.visionNav) {\n\n let itm: VisionNav | null = null;\n\n this.visionNav.forEach(r => {\n const anchorElement = this.document.getElementById(r.anchor);\n r.el = anchorElement;\n if (r.el !== null) {\n r.offset = r.el.offsetTop;\n }\n r.linkEl = r.linkEl || this.document.getElementById('link-' + r.anchor);\n if (r.linkEl !== null) {\n r.linkOffset = r.linkEl.offsetTop;\n }\n const offset = typeof r.offset === 'undefined' ? 0 : r.offset;\n if (offset < this.window.scrollY + (vh / 2)) {\n itm = r;\n }\n });\n\n if (itm !== null) {\n\n const VisionNavItem = itm as VisionNav;\n\n if (VisionNavItem.linkEl !== null && typeof VisionNavItem.linkEl !== 'undefined') {\n\n const height = (VisionNavItem.linkEl.offsetHeight || 0);\n this.pill = this.pill || this.document.getElementById('vision-nav-pill') as HTMLDivElement;\n this.pill.style.transform = `translate(0, ${VisionNavItem.linkOffset || 0}px)`;\n this.pill.style.height = height + 'px';\n\n const vw = Math.max(this.document.documentElement.clientWidth || 0, this.window.innerWidth || 0);\n\n if (vw < 640) {\n this.pill.style.display = height ? '' : 'none';\n }\n }\n\n }\n\n }\n }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: `Our Vision - ${this.utils.orgTitle}`,\n Title: 'Our Vision',\n Description: `Our vision embraces a balanced approach to ministry centred around healing, education and industry.`,\n });\n this.scrollToTop();\n }\n\n ngAfterViewInit(): void {\n\n }\n\n ngOnDestroy(): void {\n if (this.window.removeEventListener) {\n this.window.removeEventListener('scroll', this.onScroll);\n }\n }\n\n navigate(link: VisionNav, smooth: boolean = false): void {\n this.router.navigate([], {\n fragment: link.anchor,\n });\n this.scrollToEl(link.anchor, smooth);\n this.visionNavOpen = false;\n }\n\n open(link: string): void {\n this.window.open(link);\n }\n\n}\n","
\n\n\n\n
\n\n
\n\n
\n\n \n \n

Our Vision

\n

Healing · Education · Industry

\n

A balanced approach to ministry, applying counsel & history

\n
\n
\n \"Madison\n
\n
\n \"Eastward\n
\n
\n \"The\n
\n
\n \"Beehive\n
\n
\n
\n\n \n \n
\n \"Arrow\n
\n
\n Foundation on Bible & Spirit of Prophecy Counsel\n
\n
Training School
\n
Health Ministry
\n
Business Franchise
\n
Youth Ministry
\n
Evangelism Centre
\n
Agriculture Hub
\n
\n Salvation - Gospel Proclamation - Finishing the Work\n
\n
\n

It is no small undertaking to carry out plans of this
proportion, in this country, in this generation.

\n
\n
\n\n\n \n \n\n\n \n \n
\n
\n \n
\n
Every possible means should be devised to establish schools of the Madison order...
\n
- Spalding and Magan Collection, 423
\n
\n
\n
\n
\n\n\n \n \n
\n
\n \"Beehive\n
\n
\n \"Business\n
\n
\n

Business / Franchise

\n

Beehive Community Services is a trading name of Madison Missions Australia Ltd.

\n

Beehive aspires to be a franchise with different businesses.

\n

Beehive is based on a belief that self-supporting ministries should support themselves.

\n

Business training is essential for self-supporting missionaries.

\n
\n
\n

Selling Now

\n\n \"Beehive\n\n \"Beehive\n\n \"Beehive\n\n
\n
\n

 

\n \"Beehive\n\n \"Beehive\n
\n
\n

Incubating

\n

\n \"Cleaning\n Cleaning Service\n

\n

\n \"Mowing\n Mowing Service\n

\n

\n \"Coaching\n Coaching Service\n

\n

\n \"Maintenance\n Maintenance Service\n

\n
\n
\n
\n\n \n \n

Beehive Websites

\n

Check them out!

\n
\n \n
\n \n
\n
\n\n \n \n
\n

Black Spur Roadhouse

\n

Madison Missions purchased the Black Spur Roadhouse in early March. We are excited at the opportunity this has provided. Read more below.

\n \"Photos\n
\n
\n\n \n
\n

More

\n

Read about the Roadhouse & Beehive Services.

\n \n
\n
\n\n
\n\n \n \n

Health Ministry

\n
\n \"\"\n
\n
\n\n\n \n \n
\n

Purpose

\n
\n

\n 1\n To proclaim the Three Angels' Message with the health message to: those who are sick, those who want to prevent sickness, those who want to help others who are sick.\n

\n

\n 2\n To lead people to receive Jesus as their personal Savior.\n

\n

\n 3\n To introduce the Creator God, His character, His plan for salvation, and His principles for healthy living.\n

\n

\n 4\n To provide health education that creates a change of lifestyle.\n

\n

\n 5\n To provide ideal conditions by which people can experience restoration physically, mentally, and spiritually.\n

\n
\n\n

Principles

\n\n
\n

\n 1\n God is our Creator, Savior, Healer, and Provider. As such, we depend fully upon Him to be our Healer. Treatment methods such as massage, hydrotherapy & herbs will be used sparingly and when needed. We do not want to lead people to believe that treatments alone have healed them. We point solely to Jesus Christ as Healer, the One who has given us His health laws, His natural healing power, the Restorer of body, mind, and soul. For this reason, the practices of the sanitarium will be simple health education and experience. Health guests will be encouraged to put full faith in Jesus for healing.\n

\n

\n 2\n Primarily this is a gospel/benevolent work, therefore a set fee will not be required. Guest are invited to give a donation of their choice, according to individual means, which will be accepted with gratitude.\n

\n

\n 3\n The center will run continously to meet the timing needs of each health guest. There will not be set program dates.\n

\n

\n 4\n Health education, implementation of NEWSTART in daily life, spiritual education leading to revival & reformation, and salvation-topics such as the Creator God, physical & spiritual healing, salvation, how to have a relationship with God, prayer, etc. will be the emphasis of the program.\n

\n
\n
\n
\n\n\n\n\n \n \n
\n \"The\n

A Departure from Traditional Health Retreat Models.

\n

The Maker Heals may be seen as a radical departure from Health Retreat Models typically seen in Australia.

\n

Christ the Creator, and harmony with Him is upheld as the first and most important aspect of healing. We seek not only to educate in God's health laws, but to acknowledge and direct individuals to the Creator as the One who heals.

\n

Read the \"FAQ & Program Details\" section for more on how we would market this program.

\n

The Maker Heals is less staff-intensive. It does not require treatments such as massage, hydrotherapy, herbal remedies, etc. This is unique. This enables the Madison Mission team, staff & volunteers in 2020 to continue to focus on industry/business\n growth.\n

\n
\n
\n\n\n\n \n \n
\n
\n \n
\n
\n

\n The great object of this institution should be to improve the health of the body, that the afflicted may more highly appreciate eternal things. If this object is not continually set before the mind and efforts are not made to this end, it will prove a\n curse instead of a blessing, spirituality will be regarded as a secondary thing, and the health of the body and diversion will be made primary.\n

\n

I saw that the high standard should not be lowered in the least in order that the institution may be patronized by unbelievers.

\n
\n
Testimonies Volume 1, pg 564
Written in 1867 to The Health Institute at Battle Creek
\n
\n
\n
\n
\n\n\n\n \n \n
\n

Why We Chose
The Maker Heals

\n
\n

\n 1\n The means of healing, and the success of the whole venture is in God's hands, entirely. We cannot humanly guarantee a certain outcome as much as we may be able to with other retreat models. Therefore it is a matter of faith. The healing outcome for every guest is determined at a spiritual level, and therefore is in God's hands. We facilitate and seek to bring each individual to God, educate in God's health laws and lead to life revival and reformation.\n

\n

\n 2\n Simplicity. God's ways are simple. Usually the most simple solutions are the correct ones.\n

\n

\n 3\n Availability of trained facilitator from Bethel Sanitarium (Korea) to spear-head the program and train our staff.\n

\n

\n 4\n Can help many of our fellow Seventh-day Adventist brethren and lead to revival and reformation.\n

\n

\n 5\n High success in other countries where this model is applied. High spiritual success with many more baptisms of non-SDAs than other health centre models.\n

\n

\n 6\n Many incredible life-changing testimonies from those who have experienced this program in other countries, including full recovery from very serious life-threatening diseases. Stories, the likes of which we rarely hear about in retreats here in Australia.\n

\n

\n 7\n Low resource-intensive. Enables additional focus on other parts of the vision.\n

\n
\n
\n
\n\n\n \n \n
\n \"The\n

FAQ & Program Details

\n

Why change?

\n

We plan to try a different approach in financing a health retreat, using new industries as income streams instead of relying heavily on donations. This could enable new possibilities for health ministry. Until we stabilize these industries,\n we will run a simpler health retreat model.

\n\n

What will happen to Abide Wellness Retreat?

\n

Abide Wellness Retreat will remain closed, while we implement \"The Maker Heals\". The next steps will become clearer as we move forward, and as providence leads.

\n\n

Did COVID-19 change your plans?

\n

Yes. COVID changed a lot of things. We now can focus on starting industries and implementing \"The Maker Heals\".

\n\n

But it's not wrong to charge people?
\nWhy donation basis?

\n

Yes. It is not wrong to charge people. It is also not wrong to run a benevolent ministry. We see that both have a place and can potentially be successful. Donation basis allows those who can afford to pay, to do so if they wish, and those\n who can't afford much, to still be ministered to and helped.

\n\n

So are you only helping Adventists or Christians?
\n How is this marketed to the non-Churched?

\n

Where implemented, this model has resulted in significantly more church growth than other models. It works because of God's power to heal. As Adventists find healing and restoration, non-Adventists come seeking the same. Marketing is primarily\n word-of-mouth, based on testimonies of attendees/guests. Growth is organic and natural.

\n\n

Who will be leading \"The Maker Heals\"?

\n

The programs will be facilitated by Joy Cho, assisted by Emmanuel Higgins.
Joy is associated with the Bethel Sanitarium in South Korea. Bethel Sanitarium has succeeded in reaching people for Christ and bringing healing for more than\n 30 years. Joy has trained with Mrs. Choi Cha Soon, the founder of Bethel Sanitarium. Emmanuel has several years experience working in health retreats here in Australia.

\n\n
\n \"Joy\n \"Emmanuel\n
\n\n\n
\n
\n\n \n
\n\n \n \n\n
\n\n \"Madison\n\n

Training School

\n\n

AIM: Accept an individual fresh from high-school. Send them out after several years, equipped for self-supporting success, financially & spiritually.

\n\n

What can we learn from those who have gone before us?

\n\n
\n
\n

Madison College

\n

Hugely successful program from 1904 - 1964. Motto of \"Skills, Knowledge, Character\". Big emphasis on self-supporting industry. Trained youth for success. Success in ministry and industry.

\n

Wholistic skills, Bible, health, medical training plus training in many industries.

\n
\n
\n \"\"\n
\n
\n

ARISE Australia

\n

Successful discipleship and training program based in Kingscliffe, NNSW. Conference endorsed with ministry career pathway.

\n

Bible-worker training.

\n
\n
\n

Other Australian Bible Colleges

\n

It Is Written Evangelism College, Eastward Missionary College, Cannot Be Hidden College, Highwood College. Each successful for a time.

\n

Trained in Gospel & Health evangelism.

\n
\n
\n
\n\n
\n

Learning from their success and failure.

\n
\n
\n

They succeed when:

\n
\n

Provided a career pathway

\n

Had an independent financial base OR successful industries

\n

Were successful in evangelism

\n

Owned facilities

\n
\n
\n
\n

They failed when:

\n
\n

Not attractive to youth

\n

Toxic church relationship

\n

Reliant on donations

\n

Inadequate or borrowed facilities

\n

Unable to pay staff

\n
\n
\n
\n
\n\n
\n\n\n \n \n
\n
\n \n
\n
From the secret place of prayer came the power that shook the world...
\n
Great Controversy 210
\n
\n
\n
\n
\n\n\n\n \n \n
\n

Madison College

\n\n

A Model Institution

\n\n

This was the only self-supporting organisation on which Ellen White sat on the board.\n

The 1930s were Madison's \"Golden Age,\" a time of great prosperity and influence. The college thrived during the Depression, when many non-self-supporting colleges were forced to close their doors.

\n

\"Education and real life meet in this institution where students earn their own way to learning\" - Readers Digest, 1938

\n

Madison had 27 campus industries run by the students and teachers. Students left college with not one, but several industry skills.

\n

Students worked 5 hours, and studied 5 hours every day.

\n

Madison had 120 college and sanitarium buildings over 900-acres.

\n\n
\n

Self-employed Missionary

\n

Imagine a college that trains youth to be self-employed missionaries.

\n

The waldenses, apostles & Bible prophets did this.

\n
\n
\n
\n\n\n \n \n
\n

Student Pathway

\n\n \"Student\n\n \"Arrow\n\n
\n
\n

Learn Scripture

\n \"Bible\"\n
\n
\n

Theory Classes

\n

Bible, Health, Christian Living, Music, Business, Accounting, & much more.

\n
\n
\n

Experience & Learn
Two Industries

\n \"Beehive\n
\n
\n

Experience & Learn
Health Ministry

\n \"The\n
\n
\n

Experience & Learn
Youth Ministry & Evangelism

\n \"Eastward\n
\n
\n

Experience & Learn
Agriculture

\n \"Beehive\n
\n
\n\n \"Arrow\n\n

Self-Supporting Missionary

\n \"Self-supporting\n
\n
\n \n \n
\n

Education Summary

\n\n

A training facility for ages 16+.

\n

Implement inspired principles of education as exemplified in Madison College.

\n

Key components:

\n
\n

All Scripture subjects

\n

Personal spiritual life and practical godliness

\n

Health, physiology and healing

\n

Work / study program

\n

Industry practicum (in multiple industries)

\n

Literature evangelism practicum

\n

Health evangelism practicum

\n

Youth ministry practicum

\n
\n\n

The institution needs financially successful industries for students to replicate after they graduate.

\n\n

Students leaving the college should be:

\n\n
\n

Spiritually converted

\n

Scripturally grounded

\n

Financially successful

\n

Passionate for ministry

\n
\n\n

We want to give students a way to achieve financial success without a university degree, and with an option of self-employment.

\n\n

Students need to be employable based on portfolio, experience or product, rather than a university degree. This rules out some industries (medical, accounting, etc.). But leaves many other possibilities: IT, media, web, agriculture, sales,\n etc.\n

\n\n

The unique selling point will be training entrepreneurs and sole traders. This is a niche that doesn't compete with universities and existing colleges.

\n\n \"Beehive\n\n
\n

Franchise - Beehive Community Services

\n

Students would have a career pathway to operating their own business under the Beehive Community Services Franchise. Students leaving the school are then supported with a franchise package to open their own business. The business would\n not only be focussed on financially supporting the individual, but also providing ministry leads and contacts. The franchise line should be reasonably low-capital investment.

\n
\n\n \"Beehive\n\n
\n
\n \n \n
\n\n \n\n \n
\n

Evangelism Centre

\n

The Eastward team have been running youth-led literature evangelism programs right around Australia since 2014. We have distributed more than 60,000 books, and published a vegan cookbook and an edition of The Great Controversy. Thousands\n of each have been distributed.

\n

The facility in Narbethong can become an incredible hub for this evangelistic work and enable it to expand in ways before impossible, both allowing us to publish new evangelistic books, and as a base for growing youth literature evangelism.

\n

In addition we seek to support churches & church plants in and around Melbourne with Beehive Services and The Maker Heals.

\n \"\"\n \"\"\n\n
\n

We have developed software to help manage Bible work & Literature Evangelism.

\n \"\"\n\n \"\"\n\n

We have great interest in utilising technology and media for evangelism.

\n\n \"\"\n\n
\n
\n\n\n
\n\n \n \n\n
\n

Youth Ministry

\n\n

The Music Camps & D'Sozo Camps have touched the hearts of young people from around Australia & New Zealand.

\n\n

Over time we will need to develop further bunkhouse and amenity facilities to cater for larger youth groups.

\n\n
\n
\n \"Young\n
\n
\n

...a complete change in my child!

\n

“The ministry you and your team are devoting yourselves to is indeed a life saving, life changing experience that teenagers/youth need... I am writing to thank you all for awakening a love for the Lord in my child. The joy I have\n in my heart literally spilled out as tears of joy ... now [they are] wanting to be baptised\"
- A happy mother

\n
\n
\n

\"...I have waited a lifetime to experience such blessed richness of fellowship and music making to the glory of our God. ... A little foretaste of heaven!\"
\n - Dr Don Roy

\n
\n
\n \"\"\n
\n
\n

\n www.mus.camp\n

\n
\n
\n

\n www.Dsozo.camp\n

\n
\n
\n
\n\n
\n\n \n\n \n \n \n\n\n
\n\n \n \n\n
\n

Agriculture Hub

\n\n \n\n

Since 2017, Cultivate Conference (under Eastward) has brought together Adventist Agriculturalists from accross the pacific, and networked with the Adventist Agricultural Association in the United States.

\n

Our facility at Narbethong is ideally situated to be an agriculture base for Cultivate, with ample space and facilities. We look forward to hosting the next Cultivate Conference here and continuing to support Agriculture development and\n education.\n

\n

Agriculture will be an important part of the Madison Mission student experience.

\n\n

www.cultivateconference.com.au

\n\n \n\n

Our mission is to encourage and nurture young people, families, gardeners and farmers to grow into God's given plan for agriculture through networking, mentoring, and information sharing.

\n\n \n\n
\n\n
\n\n
\n\n \n \n
\n

Introducing
the Team

\n
\n
\n \n

Emmanuel Higgins

\n

President

\n
\n
\n \n

Kayla Reay

\n

Secretary

\n
\n
\n \n

Paul Pannekoek

\n

Treasurer

\n
\n
\n \n

Andy Hopkins

\n

Director

\n
\n
\n \n

Tim Hopkins

\n

Director

\n
\n
\n \n

Harry Cole

\n

Committee Member

\n
\n \n
\n

Madison Missions Australia Ltd. is owned and driven by young people with proven dedication and commitment for this work.

\n\n

We have spent several years together in part-time and full-time gospel, literature and youth ministry with Eastward Missions.

\n\n

Tim, Andy and Emmanuel have worked together since 2013, pioneering Magabook literature evangelism in Australia and unique youth programs.

\n\n \"Eastward\n\n \"Eastward\n\n \n

Madison Missions is officially endorsed and supported by Eastward.

\n\n
\n
\n\n\n \n \n
\n
\n \n
\n
We have an army of youth today who can do much if they are properly directed and encouraged...
\n
- General Conference Bulletin, vol. 5, no. 2, p. 24
\n
\n
\n
\n
\n\n\n
\n\n \n\n
\n

Let's Make it Happen

\n\n

Together we can raise up a new generation of self-supporting ministries.

\n\n

We're not a ministry that will always rely on donations. However we need special help in this phase.

\n\n

We are raising funds to purchase the Narbethong facility.

\n\n

Our need right now is to invest into our industries and raise the funds for a deposit.

\n\n

Your investment in Madison Missions will pay off as this vision becomes reality, a truly self-supporting institution, training self-supporting missionaries.

\n\n

Madison is currently running a fundraising campaign at GoFundMe, for the purchase of the Abide Wellness Retreat (Highwood) facility. Please consider supporting this campaign.

\n\n \n\n

 

\n\n

Or make a general donation to Madison below:

\n\n \n\n
\n
\n

Or donate via bank deposit:

\n
\n \"\"\n
\n

Account Name: Madison Missions Aust Ltd

\n

BSB: 063 689

\n

Account Number: 1028 0545

\n
\n
\n
\n
\n

We seek your support in the form of a donation, interest-free loan or interest-bearing loan.
Donations are not tax-deductible at this time. If you require making a tax-deductible donation, please discuss this with us.

\n
\n

mail@madison.org.au

\n
\n

0420 746 255

\n\n
\n
\n \"Madison\n
\n
\n \"Eastward\n
\n
\n \"The\n
\n
\n \"Beehive\n
\n
\n\n
\n\n
\n
\n
\n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-open-post-image',\n templateUrl: './open-post-image.component.html',\n styleUrls: ['./open-post-image.component.scss']\n})\nexport class OpenPostImageComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public image: string,\n @Inject(WINDOW) private window: Window,\n ) { }\n\n screenWidth = 0;\n screenHeight = 0;\n imageWidth = 0;\n imageHeight = 0;\n padding = 30;\n\n ngOnInit(): void {\n this.screenWidth = this.window.innerWidth;\n this.screenHeight = this.window.innerHeight;\n this.imageWidth = this.window.innerWidth + (this.window.innerWidth * 0.25);\n this.imageHeight = this.window.innerHeight + (this.window.innerHeight * 0.25);\n }\n\n}\n","
\n 1) {\n return Math.floor(interval) + ' years';\n }\n interval = seconds / 2592000;\n if (interval > 1) {\n return Math.floor(interval) + ' months';\n }\n interval = seconds / 86400;\n if (interval > 1) {\n return Math.floor(interval) + ' days';\n }\n interval = seconds / 3600;\n if (interval > 1) {\n return Math.floor(interval) + ' hours';\n }\n interval = seconds / 60;\n if (interval > 1) {\n return Math.floor(interval) + ' minutes';\n }\n return Math.floor(seconds) + ' seconds';\n\n }\n\n}\n","import { Component, OnInit, Inject, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\nimport { WINDOW } from 'src/app/services/window.service';\nimport * as Hls from 'hls.js';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { WatchStoryComponent } from 'src/app/dialogs/watch-story/watch-story.component';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit, AfterViewInit {\n\n @ViewChild('video', { static: false }) videoEl!: ElementRef;\n\n constructor(\n @Inject(WINDOW) private window: Window,\n private dialog: MatDialog,\n private utils: UtilsService,\n ) { }\n\n ngAfterViewInit(): void {\n const VideoEl = this.videoEl.nativeElement as HTMLVideoElement;\n VideoEl.autoplay = true;\n VideoEl.muted = true;\n VideoEl.loop = true;\n VideoEl.setAttribute('playsinline', 'true');\n const playbackId = 'm02Y00qsVhBwxrmaaoxnNeyR01Ym2a02g9GEoGTe4PBtuN8';\n VideoEl.style.backgroundImage = `url('https://image.mux.com/${playbackId}/thumbnail.jpg?width=1280&time=0')`;\n const url = `https://stream.mux.com/${playbackId}.m3u8`;\n // Let native HLS support handle it if possible\n if (VideoEl.canPlayType && VideoEl.canPlayType('application/vnd.apple.mpegurl')) {\n VideoEl.src = url;\n VideoEl.play();\n } else if (Hls.isSupported && Hls.isSupported()) {\n // HLS.js-specific setup code\n const hls = new Hls();\n hls.loadSource(url);\n hls.attachMedia(VideoEl);\n VideoEl.play();\n }\n }\n\n volunteerApp(): void {\n this.window.open(`https://madisonmissions.typeform.com/to/uQ9VggpO`);\n }\n\n watchStory(): void {\n this.dialog.open(WatchStoryComponent, {\n width: '95%',\n });\n }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Madison Missions Australia - Establishing a Madison College',\n Title: 'Madison Missions Australia',\n Description: 'Madison is implementing a balanced approach to ministry with a revolutionary health program, supporting businesses, youth ministry, literature evangelism and more. Check out our website for the full vision, activities & plans.',\n });\n }\n\n open(link: string): void {\n this.window.open(link);\n }\n\n}\n","\n\n\n
\n \n
\n

Madison Missions

\n
\n
\n

A New Vision for Australian Mission

\n

Establishing a 21st-century Madison College

\n
\n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n\n\n\n\n\n

Update from 2021 and beyond

\n

Dear Friends,

\n

Unfortunately Madison was unable to enter the purchase contract for Abide Wellness Retreat. We will be updating various aspects of this website as time permits

\n

However, the vision is still alive and strong!

\n

We will continue to serve in the capacity that we are able through evangelism, youth ministry and health ministry.

\n

You can follow our main activities at www.eastward.edu.au

\n

Thank you for your prayers and support.

\n

- The Madision Team

\n
\n\n\n \"\"\n
\n \n
\n
\n\n\n \"\"\n
\n \n
\n
\n\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ViewContainerRef, AfterViewInit, Output, EventEmitter, PLATFORM_ID, Inject, InjectionToken, OnDestroy } from '@angular/core';\n\nexport interface AppIntersection {\n isVisible: boolean;\n firstTimeVisible: boolean;\n scrollingDirection: 'up' | 'down';\n scrollY: number;\n scrollX: number;\n}\n\n@Directive({\n selector: '[appInView]'\n})\nexport class InViewDirective implements AfterViewInit, OnDestroy {\n\n isBrowser: boolean;\n observer: IntersectionObserver | undefined;\n\n @Output() intersect: EventEmitter = new EventEmitter();\n firstTime = true;\n lastYAxis: number | null = null;\n\n constructor(\n private vcRef: ViewContainerRef,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngAfterViewInit(): void {\n const commentEl = this.vcRef.element.nativeElement; // template\n const elToObserve = commentEl.parentElement;\n if (this.isBrowser) {\n this.observer = new IntersectionObserver(entries => {\n entries.map((entry) => {\n const intersection: AppIntersection = {\n firstTimeVisible: this.firstTime,\n scrollingDirection: this.lastYAxis === null ? 'down' : (this.lastYAxis < entry.boundingClientRect.y ? 'up' : 'down'),\n isVisible: false,\n scrollY: entry.boundingClientRect.y,\n scrollX: entry.boundingClientRect.x,\n };\n this.lastYAxis = entry.boundingClientRect.y;\n if (entry.isIntersecting) {\n this.firstTime = false;\n intersection.isVisible = true;\n } else {\n intersection.isVisible = false;\n }\n this.intersect.emit(intersection);\n });\n }, { threshold: [0, .1, .9, 1] });\n this.observer.observe(elToObserve);\n }\n }\n\n ngOnDestroy(): void {\n if (this.isBrowser && this.observer) {\n this.observer.disconnect();\n }\n }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ThemeColor, themeColorKeys, ThemeColors } from 'src/app/modules/colors';\n\n@Component({\n selector: 'app-section',\n templateUrl: './section.component.html',\n styleUrls: ['./section.component.scss']\n})\nexport class SectionComponent implements OnInit {\n\n sidePadding = '20px';\n\n @Input() width = '1138px';\n @Input() padding = '100px';\n @Input() theme!: themeColorKeys;\n color: ThemeColor | null = null;\n\n constructor() { }\n\n ngOnInit(): void {\n if (this.theme) {\n this.color = ThemeColors[this.theme];\n }\n }\n\n}\n","
\n\n
\n \n
\n\n
","\nexport interface ThemeColor {\n hex: string;\n text: string;\n}\n\nexport type themeColorKeys =\n 'red' | 'beehive' | 'primary' | 'DarkRed' | 'charcoal' |\n 'grey50' | 'grey30' | 'grey70' | 'white' | 'lightGrey' | 'lightGreyOrange' |\n 'whitePrimary' | 'black' | 'transparent';\n\nexport interface ThemeColor {\n hex: string;\n text: string;\n}\n\ntype ThemeColors = {\n [key in themeColorKeys]: ThemeColor;\n};\n\nexport const ThemeColors: ThemeColors = {\n red: {\n hex: 'red',\n text: '#ffffff',\n },\n beehive: {\n hex: '#ffd45a',\n text: '#333333',\n },\n primary: {\n hex: '#f36e21',\n text: '#ffffff',\n },\n DarkRed: {\n hex: '#c90e34',\n text: '#ffffff',\n },\n charcoal: {\n hex: '#222427',\n text: '#ffffff',\n },\n grey50: {\n hex: '#555555',\n text: '#ffffff',\n },\n grey30: {\n hex: '#333333',\n text: '#ffffff',\n },\n grey70: {\n hex: '#707070',\n text: '#ffffff',\n },\n white: {\n hex: '#FFFFFF',\n text: '#00000',\n },\n lightGrey: {\n hex: '#f7f7f7',\n text: '#222222',\n },\n lightGreyOrange: {\n hex: '#f7f7f7',\n text: '#e05425',\n },\n whitePrimary: {\n hex: '#FFFFFF',\n text: '#DA1376',\n },\n black: {\n hex: '#000000',\n text: '#ffffff',\n },\n transparent: {\n hex: 'transparent',\n text: 'currentColor',\n },\n};\n","import { Component, ChangeDetectorRef, OnInit, AfterViewInit, Inject } from '@angular/core';\nimport { DbService } from './services/db.service';\nimport { AuthService } from './services/auth.service';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { DataStore } from './services/DataStore';\nimport { DOCUMENT } from '@angular/common';\nimport { WINDOW } from './services/window.service';\nimport { RouteEventsService } from './services/router-events.service';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, AfterViewInit {\n\n title = 'Madison Missions Australia';\n\n onGoingRequests = 0;\n isCheckingAuth = false;\n IsAuthenticated = false;\n\n constructor(\n private db: DbService,\n private authService: AuthService,\n private router: Router,\n private routerEvents: RouteEventsService,\n private changeDetector: ChangeDetectorRef,\n @Inject(DOCUMENT) private document: Document,\n @Inject(WINDOW) private window: Window,\n ) {\n\n DataStore.auth = authService;\n\n }\n\n ngAfterViewInit(): void {\n\n this.db.onRequestChange((num) => {\n this.onGoingRequests = num;\n this.changeDetector.detectChanges();\n });\n\n this.document.getElementById('InitLoader')?.remove();\n\n }\n\n ngOnInit(): void {\n\n this.router.events.subscribe((val) => {\n if (val instanceof NavigationEnd && typeof window !== 'undefined' && !val.url.includes('#')) {\n // window.scrollTo(0, 0); \n }\n });\n\n this.authService.onStateChange(AuthState => {\n\n this.IsAuthenticated = AuthState;\n\n });\n\n if (this.authService.hasSessionValue() && !this.authService.authChecked) {\n\n this.isCheckingAuth = true;\n\n this.authService.checkSession().then((response: any) => {\n\n this.isCheckingAuth = false;\n\n });\n\n }\n }\n\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-privacy-policy',\n templateUrl: './privacy-policy.component.html',\n styleUrls: ['./privacy-policy.component.scss']\n})\nexport class PrivacyPolicyComponent implements OnInit {\n\n siteTitle = 'Madison Missions';\n websiteDomain = 'www.madison.org.au';\n sitePhone1 = '0420 746 255';\n siteEmail = 'mail@madison.org.au';\n siteAddress = '19 Westleys Rd, Faulkland NSW 2422';\n\n constructor(\n private titleService: Title,\n ) { }\n\n ngOnInit(): void {\n this.titleService.setTitle('Privacy Policy - The Maker Heals');\n }\n\n}\n","\n\n
\n\n

Privacy Policy - Madison Website & Mobile App(s)

\n\n

This Privacy Policy governs the manner in which {{ siteTitle }} collects, uses, maintains and discloses information collected from users (each, a "User") of the Staff Android/iOS  app ("App"). This privacy\n policy applies to the App and all products and services offered by {{ siteTitle }}.
 \n

\n\n

Personal identification information

\n\n

We may collect personal identification information from Users in a variety of ways, including, but not limited to, when Users visit the app, register, fill out a form, and in connection\n with other activities, services, features or resources we make available on our App. Users may be asked for, as appropriate, name, email address, mailing address, phone number.

\n\n

We will collect personal identification information from Users only if they voluntarily submit such information to us. Users can always refuse to supply personally identification information, except that it may prevent them from engaging in certain\n App related activities.

\n\n

 

\n\n

Non-personal identification information

\n\n

We may collect non-personal identification information about Users whenever they interact with our App. Non-personal identification information may include the browser name, the type of computer and technical information about Users means of connection\n to our App, such as the operating system and the Internet service providers utilized and other similar information.

\n\n

 

\n\n

How we use collected information

\n\n

{{ siteTitle }} collects and uses Users personal information for the following purposes:

\n\n
    \n
  • To improve customer service
    Your information helps us to more effectively respond to your customer service requests and support needs.
  • \n
  • To personalize user experience
    We may use information in the aggregate to understand how our Users as a group use the services and resources provided on our App.
  • \n
  • To improve our App
    We continually strive to improve our website offerings based on the information and feedback we receive from you.
  • \n
  • To process transactions
    We may use the information Users provide about themselves when placing an order only to provide service to that order. We do not share this information with outside parties except to the extent necessary\n to provide the service.
  • \n
  • To administer a content, promotion, survey or other App feature
    To send Users information they agreed to receive about topics we think will be of interest to them.
  • \n
  • To send periodic emails
    \n
    The email address Users provide for order processing, will only be used to send them information and updates pertaining to their order. It may also be used to respond to their inquiries, and/or other requests or questions. If User decides\n to opt-in to our mailing list, they will receive emails that may include company news, updates, related product or service information, etc. If at any time the User would like to unsubscribe from receiving future emails, we include detailed\n unsubscribe instructions at the bottom of each email or User may contact us via our App.
  • \n
\n\n

 

\n\n

How we protect your information

\n\n

We adopt appropriate data collection, storage and processing practices and security measures to protect against unauthorized access, alteration, disclosure or destruction of your personal information, username, password, transaction information and\n data stored on our App.

\n\n

Sensitive and private data exchange between the App and its Users happens over a SSL secured communication channel and is encrypted and protected with digital signatures. 
 \n

\n\n

Compliance with children's online privacy protection act

\n\n

Protecting the privacy of the very young is especially important. For that reason, we never collect or maintain information at our App from those we actually know are under 13, and no part of our website is structured to attract anyone under 13.  \n

\n\n

Changes to this privacy policy

\n\n

{{ siteTitle }} has the discretion to update this privacy policy at any time. When we do, revise the updated date at the bottom of this page,. We encourage Users to frequently check this page for any changes to stay informed about how we are\n helping to protect the personal information we collect. You acknowledge and agree that it is your responsibility to review this privacy policy periodically and become aware of modifications.

\n\n

 

\n\n

Your acceptance of these terms

\n\n

By using this App, you signify your acceptance of this policy and terms of service. If you do not agree to this policy, please do not use our App. Your continued use of the App following the posting of changes to this policy will be deemed\n your acceptance of those changes.

\n\n

 

\n\n

Contacting us

\n\n

If you have any questions about this Privacy Policy, the practices of this site, or your dealings with this site, please contact us at:

\n\n


{{ siteTitle }}

\n\n

{{ websiteDomain}}
\n {{ sitePhone1 }}
\n {{ siteEmail }}

\n\n

{{ siteAddress}}

\n\n

Last updated: 5/4/2020

\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { RecipeType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-recipe-previews',\n templateUrl: './recipe-previews.component.html',\n styleUrls: ['./recipe-previews.component.scss']\n})\nexport class RecipePreviewsComponent implements OnInit {\n\n recipes: { main: RecipeType[], dessert: RecipeType[] } = {\n dessert: [],\n main: [],\n };\n viewing = 'main';\n\n constructor(\n private db: DbService,\n private utils: UtilsService,\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n this.db.list('Common:Recipe').then(recipes => {\n const recipesArray = Array.from(recipes) as RecipeType[];\n this.utils.sort(recipesArray, 'name');\n for (const r of recipesArray) {\n if (r) {\n this.recipes[r.type] = this.recipes[r.type] || [];\n this.recipes[r.type].push(r);\n }\n }\n this.recipes.main.length = 4;\n });\n }\n\n}\n","\n
\n
\n \"\"\n

{{ recipe.name }}

\n
\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, ElementRef, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-icon',\n template: '',\n styleUrls: ['./icon.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'mat-icon mat-icon-no-color' }\n})\nexport class IconComponent implements OnInit {\n\n constructor(\n private elementRef: ElementRef,\n private http: HttpClient\n ) { }\n\n Endpoint = 'https://cdn2.tda.website/common/icons/';\n Icon: string | null = null;\n\n ngOnInit(): void {\n\n this.Icon = this.elementRef.nativeElement.innerText;\n\n if (this.Icon && typeof this.Icon !== undefined && this.Icon !== 'undefined') {\n\n const Url = this.Endpoint + this.Icon + '.svg';\n\n // this.elementRef.nativeElement.innerHTML = ``;\n\n this.elementRef.nativeElement.innerHTML = ``;\n\n this.http.get(Url, {\n responseType: 'text'\n }).subscribe(res => {\n this.elementRef.nativeElement.innerHTML = res;\n });\n\n }\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-page404',\n templateUrl: './page404.component.html',\n styleUrls: ['./page404.component.scss']\n})\nexport class Page404Component implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: `404 Error`,\n Title: `404 Error`,\n Description: `404 Error`,\n });\n }\n\n}\n","\n\n

This page couldn't be found.

\n\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-notification-thanks',\n templateUrl: './notification-thanks.component.html',\n styleUrls: ['./notification-thanks.component.scss']\n})\nexport class NotificationThanksComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

Thanks for subscribing!

\n

We look forward to sending you the latest news, as-it-happens.

","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n@Component({\n selector: 'app-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: [\n './confirmation-dialog.component.scss'\n ]\n})\nexport class ConfirmationDialogComponent {\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public message: string) { }\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","
\n {{message}}\n
\n
\n \n \n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-preview-avatar',\n templateUrl: './preview-avatar.component.html',\n styleUrls: ['./preview-avatar.component.scss']\n})\nexport class PreviewAvatarComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public Avatar: string,\n ) { }\n\n ngOnInit(): void {\n }\n\n}\n","

Random Avatar

\n
\n \n
\n
\n \n \n \n
","import { CallResponse } from './../../../services/db.service';\nimport { AuthService } from './../../../services/auth.service';\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { UtilsService } from 'src/app/services/utils.service';\n\nexport interface LoginData {\n email: string;\n password: string;\n remember: string;\n}\n\nexport interface LoginResponse extends CallResponse {\n verifyError: 1 | 0;\n}\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n\n activity = false;\n loginForm: FormGroup | null = null;\n hidePwd = true;\n\n constructor(\n private auth: AuthService,\n private router: Router,\n private route: ActivatedRoute,\n private utils: UtilsService,\n ) { }\n\n onAuthChange = (loggedIn: boolean) => {\n if (loggedIn) {\n const returnRoute: string = this.route.snapshot.queryParamMap.get('return') || '';\n\n if (returnRoute) {\n this.router.navigateByUrl(returnRoute);\n } else {\n this.router.navigateByUrl('account');\n }\n }\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n }\n\n ngOnInit(): void {\n\n this.utils.updateMeta({\n BrowserTitle: `Login - ${this.utils.orgTitle}`,\n Title: `Login - ${this.utils.orgTitle}`,\n Description: `Login - ${this.utils.orgTitle}`,\n });\n\n this.auth.onStateChange(this.onAuthChange);\n\n this.loginForm = new FormGroup({\n\n email: new FormControl('', [Validators.required, Validators.email]),\n\n password: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n\n remember: new FormControl('*')\n\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n if (this.loginForm !== null) {\n return this.loginForm.controls[controlName].hasError(errorName);\n }\n return false;\n }\n\n success(): void {\n\n }\n\n async login(data: LoginData): Promise {\n\n this.activity = true;\n\n const LoginSuccess = await this.auth.login(data);\n\n this.activity = false;\n\n if (LoginSuccess) {\n\n this.success();\n\n }\n\n }\n\n}\n","\n\n
\n\n
\n\n

Madison Login

\n\n \n\n \n\n
\n
\n
\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { ColorPickerModule } from 'ngx-color-picker';\nimport { MentionModule } from 'angular-mentions';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { ImgixAngularModule } from '@imgix/angular';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\n\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { StringToDatePipe } from './pipes/toDate';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MaterialModule } from './modules/material-modules';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AdminAuthGuardService, AuthGuardService } from './services/auth-guard.service';\nimport { WINDOW_PROVIDERS } from './services/window.service';\nimport { StripeModule } from 'stripe-angular';\n\nimport { HomeComponent } from './screens/home/home.component';\nimport { ButtonComponent } from './components/button/button.component';\nimport { PanelComponent } from './panel/panel.component';\nimport { SectionComponent } from './components/section/section.component';\nimport { ActivityStreamComponent } from './screens/activity-stream/activity-stream.component';\nimport { LoginWithProviderComponent } from './components/login-with-provider/login-with-provider.component';\nimport { MyNotificationsComponent } from './screens/my-notifications/my-notifications.component';\nimport { NewsComponent } from './component/news/news.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { SignupComponent } from './screens/auth/signup/signup.component';\nimport { FullscreenImageComponent } from './components/fullscreen-image/fullscreen-image.component';\nimport { LoginComponent } from './screens/auth/login/login.component';\nimport { LoginProvidersDialogComponent } from './dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { PreviewAvatarComponent } from './dialogs/preview-avatar/preview-avatar.component';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { VisionComponent } from './screens/vision/vision.component';\nimport { SubscribeComponent } from './components/subscribe/subscribe.component';\nimport { ShareComponent } from './components/share/share.component';\nimport { DonateComponent } from './components/donate/donate.component';\nimport { OpenPostImageComponent } from './components/open-post-image/open-post-image.component';\nimport { OpenNewsPostComponent } from './components/open-news-post/open-news-post.component';\nimport { NewsOverlayComponent } from './components/news-overlay/news-overlay.component';\nimport { CommentsComponent } from './components/comments/comments.component';\nimport { NewsSocialSummaryComponent } from './components/news-social-summary/news-social-summary.component';\nimport { PromptComponent } from './dialogs/prompt/prompt.component';\nimport { ConfirmationDialogComponent } from './dialogs/confirmation-dialog/confirmation-dialog.component';\nimport { SupportComponent } from './screens/support/support.component';\nimport { ZoomQaComponent } from './screens/zoom-qa/zoom-qa.component';\nimport { ContactUsComponent } from './screens/contact-us/contact-us.component';\nimport { BackHeaderComponent } from './components/back-header/back-header.component';\nimport { AccountComponent } from './components/account/account.component';\nimport { AccountPaymentSourcesComponent } from './components/account/account-payment-sources/account-payment-sources.component';\nimport { AccountPersonalDetailsComponent } from './components/account/account-personal-details/account-personal-details.component';\nimport { RecoverPwdComponent } from './screens/auth/recover-pwd/recover-pwd.component';\nimport { ResetPwdComponent } from './screens/auth/reset-pwd/reset-pwd.component';\nimport { PrivacyPolicyComponent } from './screens/privacy-policy/privacy-policy.component';\nimport { Page404Component } from './screens/page404/page404.component';\nimport { MoreBusinessInfoComponent } from './screens/more-business-info/more-business-info.component';\nimport { RecipePreviewsComponent } from './components/recipe-previews/recipe-previews.component';\nimport { DonationReceiptComponent } from './screens/donation-receipt/donation-receipt.component';\nimport { ViewPostComponent } from './screens/view-post/view-post.component';\nimport { AllPostsComponent } from './screens/all-posts/all-posts.component';\nimport { ViewAuthorComponent } from './dialogs/view-author/view-author.component';\nimport { LoginDialogComponent } from './dialogs/login-dialog/login-dialog.component';\nimport { ChooseAvatarComponent } from './dialogs/choose-avatar/choose-avatar.component';\nimport { AutoFocusDirective } from './directives/auto-focus.directive';\nimport { ShowAddressComponent } from './components/show-address/show-address.component';\nimport { TimeAgoPipe } from './pipes/time-ago.pipe';\nimport { InViewDirective } from './directives/in-view.directive';\nimport { LightOnAHillCampMeetingComponent } from './screens/events/light-on-a-hill-camp-meeting/light-on-a-hill-camp-meeting.component';\nimport { AbassadorProgramComponent } from './components/abassador-program/abassador-program.component';\nimport { AmbassadorsComponent } from './screens/ambassadors/ambassadors.component';\nimport { MadisonHeaderNavComponent } from './components/madison-header-nav/madison-header-nav.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n ButtonComponent,\n PanelComponent,\n SectionComponent,\n ActivityStreamComponent,\n LoginWithProviderComponent,\n LoginProvidersDialogComponent,\n MyNotificationsComponent,\n NewsComponent,\n FooterComponent,\n SignupComponent,\n FullscreenImageComponent,\n LoginComponent,\n PreviewAvatarComponent,\n MenuComponent,\n IconComponent,\n StringToDatePipe,\n VisionComponent,\n SubscribeComponent,\n ShareComponent,\n DonateComponent,\n OpenPostImageComponent,\n OpenNewsPostComponent,\n NewsOverlayComponent,\n CommentsComponent,\n NewsSocialSummaryComponent,\n PromptComponent,\n ConfirmationDialogComponent,\n ContactUsComponent,\n ZoomQaComponent,\n SupportComponent,\n BackHeaderComponent,\n AccountComponent,\n AccountPaymentSourcesComponent,\n AccountPersonalDetailsComponent,\n RecoverPwdComponent,\n ResetPwdComponent,\n PrivacyPolicyComponent,\n Page404Component,\n MoreBusinessInfoComponent,\n RecipePreviewsComponent,\n MenuComponent,\n DonationReceiptComponent,\n AllPostsComponent,\n ViewPostComponent,\n ViewAuthorComponent,\n LoginDialogComponent,\n ChooseAvatarComponent,\n AutoFocusDirective,\n InViewDirective,\n ShowAddressComponent,\n TimeAgoPipe,\n LightOnAHillCampMeetingComponent,\n AbassadorProgramComponent,\n AmbassadorsComponent,\n MadisonHeaderNavComponent,\n ],\n imports: [\n BrowserModule.withServerTransition({ appId: 'serverApp' }),\n AppRoutingModule,\n BrowserAnimationsModule,\n MaterialModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n ScrollingModule,\n LayoutModule,\n ColorPickerModule,\n // StripeModule.forRoot('pk_test_fH1TQydI71pUImt3hDr5bGMX00as18FK4P'),\n StripeModule.forRoot('pk_live_TevlenGYgSSw58e6AXbrbV8800iolj2NAo'),\n MentionModule,\n ImgixAngularModule.forRoot({\n domain: 'cdn2.tda.website',\n defaultImgixParams: {\n auto: 'format,compress',\n },\n }),\n ClipboardModule,\n ],\n providers: [AdminAuthGuardService, AuthGuardService, WINDOW_PROVIDERS, StringToDatePipe, TimeAgoPipe],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { DataStore, AllRowTypes, GenericRow, MadisonBlogPostType, PersonType, setTimeout$ } from './DataStore';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatDialog } from '@angular/material/dialog';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { UtilsService } from './utils.service';\nimport { schema, schemaTypes, connectionReturnType, OwnerConnection } from '../data/schema';\n\nexport interface ListOptions {\n fromCache?: boolean;\n depth?: number;\n insight?: boolean;\n page?: number;\n maxItems?: number;\n sortColumn?: string;\n direction?: 'ASC' | 'DESC';\n columns?: string[];\n}\n\ninterface StackItem {\n Type: string;\n Value: any;\n}\n\nexport interface CallResponse {\n Success: boolean;\n internetConnection?: 0 | 1;\n Message?: string;\n Notify?: boolean;\n Data?: any;\n Connections?: any;\n}\n\nexport interface MultiQueryInput {\n Column: string;\n Equals: string;\n}\n\ntype ConnectionOutput = { [key: string]: { [key: string]: string }[] };\ntype BatchInput = {\n type: string, data: AllRowTypes[]\n}[];\n\ninterface GetResponseType {\n row: any;\n}\n\nexport const TdaWeakMap = new WeakMap();\n\ninterface SessionObj {\n Expires: number;\n Expired: boolean;\n Person: string;\n Email: string;\n SessionID: string;\n TopAdmin: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DbService {\n\n static endpoint = 'https://db.beehive.services/';\n static websocketEndpoint = 'wss://db.beehive.services/ws';\n // static endpoint = 'http://localhost:8094/';\n\n listOptionDefaults: ListOptions = {\n fromCache: false,\n depth: 1,\n insight: false,\n page: 0,\n maxItems: 10,\n sortColumn: 'createdAt',\n direction: 'DESC',\n };\n\n constructor(\n public dialog: MatDialog,\n public utils: UtilsService,\n public http: HttpClient,\n public snackBar: MatSnackBar,\n ) {\n DataStore.db = this;\n }\n\n AuthSession: SessionObj | null = null;\n\n curBlogPost: MadisonBlogPostType | null = null;\n likedPosts: { [id: string]: boolean } = {};\n likedComments: { [id: string]: boolean } = {};\n authors: { [id: string]: PersonType } = {};\n\n allPostsCache: MadisonBlogPostType[] = [];\n allPostsScrollPos = 0;\n\n onGoingRequests: Set = new Set();\n RequestCallbacks: Set = new Set();\n\n CallQueue: { data: any, quiet: boolean, resolve: (value?: CallResponse | PromiseLike) => void }[] = [];\n IsCallingQueue = false;\n\n ListLastTime: {\n [type: string]: number;\n } = {};\n\n originalSchemaKeys: { [typeName: string]: string[] } = {};\n\n addSchemaKey(type: string, key: string): void {\n if (this.originalSchemaKeys[type]) {\n this.originalSchemaKeys[type].push(key);\n this.originalSchemaKeys[type] = Array.from(new Set(this.originalSchemaKeys[type]));\n }\n }\n\n getIndexes(type: string): {\n [key: string]: string;\n }[] {\n\n const indexes: { [key: string]: string }[] = [];\n\n const fields = [...(schema[type] || []), OwnerConnection];\n\n fields.forEach(field => {\n if (field.types.indexOf(schemaTypes.queryIndex) > -1) {\n indexes.push({\n Column: field.connectedListFieldValueEquals || field.name,\n IndexType: 'query',\n });\n }\n\n if (field.types.indexOf(schemaTypes.sortIndex) > -1) {\n indexes.push({\n Column: field.name,\n IndexType: 'sort',\n });\n }\n });\n\n\n return indexes;\n }\n // Map>>\n getConnections(type: string, level?: number, existingOutput?: ConnectionOutput): ConnectionOutput {\n\n if (!level) {\n level = 1;\n }\n\n const output: ConnectionOutput = existingOutput != null ? existingOutput : {};\n\n output[type] = [];\n\n const connectionTypes: string[] = [];\n\n const fields = [...(schema[type] || [])];\n\n if (type !== 'Person') {\n fields.push(OwnerConnection);\n }\n\n fields.forEach(field => {\n if (field.types.indexOf(schemaTypes.connection) > -1) {\n const fieldSplit: string[] = field.connectedTo.split('.');\n\n if (fieldSplit[0] !== type) {\n connectionTypes.push(fieldSplit[0]);\n }\n\n output[type].push({\n Table: fieldSplit[0],\n Field: fieldSplit[1],\n Equals: field.connectedListFieldValueEquals == null\n ? field.name\n : field.connectedListFieldValueEquals,\n Action:\n field.connectionReturns === connectionReturnType.singleObject\n ? 'get'\n : 'list',\n Saveto: field.name\n });\n }\n });\n\n if (level > 1) {\n level--;\n connectionTypes.forEach(theType => {\n this.getConnections(theType, level, output);\n });\n }\n\n return output;\n }\n\n saveConnections(\n typeName: string,\n responseConnections: { [key: string]: any },\n row: AllRowTypes,\n depth: number = 0\n ): AllRowTypes {\n\n if (typeof row.ID === 'undefined') {\n return row;\n }\n\n this.originalSchemaKeys[typeName] = Object.keys(row);\n\n if (responseConnections != null && responseConnections[row.ID] != null) {\n const connections: { [key: string]: any } = responseConnections[row.ID];\n\n Object.keys(connections).forEach(key => {\n let value = connections[key];\n value = JSON.parse(value);\n if (this.utils.isArray(value)) {\n value = value as [];\n Object.keys(value).forEach(index => {\n let item = value[index] as AllRowTypes;\n if (depth > 1) {\n item = this.saveConnections(typeName, responseConnections, item, depth - 1);\n }\n value[index] = this.PutDataStore(typeName, item);\n });\n row[key as keyof AllRowTypes] = value;\n } else {\n const field = this.utils.find([...(schema[typeName] || []), OwnerConnection], 'name', key);\n if (field != null) {\n if (value.__typename == null) {\n value.__typename = field.connectedTo.split('.')[0];\n }\n }\n if (depth > 1) {\n value = this.saveConnections(value.__typename, responseConnections, value, depth - 1);\n }\n row[key as keyof AllRowTypes] = this.PutDataStore(value.__typename, value) as any;\n }\n });\n }\n\n return row;\n }\n\n addOngoingRequest(request: Promise): void {\n\n this.onGoingRequests.add(request);\n\n this.sendRequestChange();\n\n request.then(() => {\n this.onGoingRequests.delete(request);\n this.sendRequestChange();\n });\n\n }\n\n sendRequestChange(): void {\n\n for (const callback of this.RequestCallbacks) {\n callback(this.onGoingRequests.size);\n }\n\n }\n\n onRequestChange(fn: (num: number) => void): void {\n this.RequestCallbacks.add(fn);\n }\n\n getReq(url: string): Promise {\n\n const promise = new Promise((resolve) => {\n\n this.http.get(url).subscribe(res => {\n resolve(res);\n }, (error: any) => {\n this.snackBar.open('HTTP Error', 'Dismiss', {\n duration: 6000\n });\n resolve({\n Success: false,\n internetConnection: 0,\n Message: 'Http Error'\n });\n });\n\n });\n\n this.addOngoingRequest(promise);\n\n return promise;\n\n }\n\n async processCallQueue(): Promise {\n\n if (!this.CallQueue.length) {\n return;\n }\n\n this.IsCallingQueue = false;\n\n const queue = [...this.CallQueue];\n this.CallQueue.length = 0;\n\n const calls = [];\n\n const data = {\n CMD: 'multiPlex',\n Params: '',\n };\n\n for (const call of queue) {\n calls.push(call.data);\n }\n\n data.Params = JSON.stringify(calls);\n\n const res = await this.http.post(DbService.endpoint, data).toPromise() as CallResponse;\n\n if (res.Success) {\n const responses: CallResponse[] = JSON.parse(res.Data);\n for (const response of responses) {\n\n const index = responses.indexOf(response);\n\n const call = queue[index];\n\n if (response.Data) {\n try {\n response.Data = `${response.Data}`.replace(/tuilder\\.imgix\\.net/g, 'cdn2.tda.website');\n response.Data = JSON.parse(response.Data) || response.Data;\n } catch (e) {\n console.warn(`Unable to parse response JSON.`);\n }\n }\n if (response.Connections) {\n response.Connections = JSON.parse(response.Connections);\n }\n\n if (!response.Success) {\n if (!call.quiet) {\n this.snackBar.open(response.Message || 'Unspecified Error.', 'Dismiss', {\n duration: 6000\n });\n }\n console.error('Error in db call', response.Message, data);\n }\n if (response.Notify && typeof response.Message !== 'undefined') {\n this.snackBar.open(response.Message, 'Dismiss', {\n duration: 6000\n });\n }\n response.internetConnection = 1;\n call.resolve(response);\n }\n }\n\n }\n\n call(data: any, quiet: boolean): Promise {\n\n const promise = new Promise((resolve) => {\n\n this.CallQueue.push({ data, quiet, resolve });\n\n if (!this.IsCallingQueue) {\n setTimeout(() => {\n this.processCallQueue();\n });\n }\n\n });\n\n this.addOngoingRequest(promise);\n\n return promise;\n\n }\n\n getSessionValue(): string {\n\n const value = localStorage.getItem('session');\n\n if (value !== null) {\n return value;\n }\n\n return '';\n\n }\n\n q(cmd: string, params: any, quiet: boolean = false): Promise {\n\n const SessionValue = this.getSessionValue();\n\n if (SessionValue) {\n params.session = SessionValue;\n }\n\n return this.call({ cmd, params }, quiet);\n\n }\n\n Singleton(row: AllRowTypes): any {\n\n // Keep a single record of all objects, by id\n // ID should be universally unique\n\n if (typeof row.ID === 'undefined') {\n return row;\n }\n\n // If key with matching ID found in existing singletons\n if (DataStore.singletons[row.ID]) {\n\n // Extend row properties onto existing singleton, and return singleton\n\n // loop through row keys\n Object.keys(row).forEach(key => {\n\n if (typeof row.ID !== 'undefined') {\n\n // Value\n const val = row[key as keyof AllRowTypes];\n\n if (!this.utils.isObject(DataStore.singletons[row.ID][key]) || this.utils.isObject(val)) {\n // Extend value to singleton\n DataStore.singletons[row.ID][key] = val;\n }\n\n }\n\n\n });\n\n // Return singleton obj\n return DataStore.singletons[row.ID];\n\n } else {\n\n // Add to row to singleton\n DataStore.singletons[row.ID] = row;\n return row;\n\n }\n }\n\n InitDataStore(type: string): void {\n // Initialise type in datastore, if it doesn't exist create new set\n // Sets are faster than arrays and garuntee uniqueness\n DataStore.sets[type] = DataStore.sets[type] || new Set();\n }\n\n ClearDataStore(): void {\n DataStore.sets = {};\n DataStore.singletons = {};\n }\n\n RemoveFromDataStore(item: any): void {\n\n if (DataStore.singletons[item.ID]) {\n delete DataStore.singletons[item.ID];\n }\n\n const Set = DataStore.sets[item.__typename];\n\n if (Set && Set.has(item)) {\n Set.delete(item);\n }\n\n }\n\n PutDataStore(type: string, row: AllRowTypes): AllRowTypes {\n\n // Init store for type\n this.InitDataStore(type);\n\n // Ensure row is singleton\n row = this.Singleton(row);\n\n // Add to set\n DataStore.sets[type].add(row);\n\n return row;\n\n }\n\n async batchPut(input: BatchInput): Promise {\n\n const data: {\n type: string;\n rows: string;\n _IDX: string;\n }[] = [];\n\n input.forEach(row => {\n\n const rows: string[] = [];\n const type = row.type;\n\n row.data.forEach(itm => {\n this.addRowDefaults(itm, type);\n itm = this.removeSchemaKeys(itm);\n rows.push(JSON.stringify(itm));\n });\n\n data.push({\n type,\n rows: JSON.stringify(rows),\n _IDX: JSON.stringify(this.getIndexes(type))\n });\n\n });\n\n // Send to database\n return await this.q('crud:batchPut', { batchData: JSON.stringify(data), type: 'batch' });\n\n }\n\n async batchGet(type: string, IDs: string[], depth: number = 1): Promise {\n\n // Send to database\n const res = await this.q('crud:batchGet', {\n IDs: JSON.stringify(IDs),\n type,\n depth: depth.toString(),\n _CNX: depth ? JSON.stringify(this.getConnections(type, depth)) : null,\n });\n\n const rows: AllRowTypes[] = res.Data;\n\n rows.forEach(row => {\n\n this.saveConnections(type, res.Connections, row, depth);\n row = this.PutDataStore(type, row);\n\n });\n\n return rows;\n\n }\n\n addRowDefaults(row: GenericRow, type: string): GenericRow {\n row.__typename = type;\n\n // Add id to row if it doesn't exist\n if (!row.ID) {\n row.ID = this.utils.uid();\n }\n\n if (this.AuthSession !== null) {\n // Add owner of the field\n if (!row.Owner || !this.AuthSession.TopAdmin) {\n row.Owner = this.AuthSession.Person;\n }\n }\n\n // Add typename\n row.__typename = type;\n\n // ISO string of date\n const ISOString = (new Date()).toISOString();\n\n // Update time\n row.updatedAt = ISOString;\n\n // If no createdAt property exists yet, safe to assume it is created now\n if (!row.createdAt) {\n row.createdAt = ISOString;\n }\n\n return row;\n }\n\n convertOwnerFields(row: any): any {\n\n if (row.Owner && this.utils.isObject(row.Owner)) {\n const Owner = row.Owner as any;\n row.Owner = Owner.ID;\n }\n\n Object.keys(row).forEach(key => {\n if (this.utils.isObject(row[key])) {\n row[key] = this.removeSchemaKeys(Object.assign({}, row[key]));\n }\n });\n\n return row;\n }\n\n stringify(input: any): string {\n if (this.utils.isArray(input)) {\n input.forEach((itm: any) => {\n if (this.utils.isObject(itm)) {\n this.removeCircular(itm);\n }\n });\n }\n return JSON.stringify(input);\n }\n\n removeCircular(input: any): void {\n if (this.utils.isObject(input) || this.utils.isArray(input)) {\n if (this.utils.isObject(input) && input.__typename) {\n this.removeSchemaKeys(input);\n } else {\n Object.keys(input).forEach(k => {\n const v = input[k];\n if (this.utils.isObject(v) || this.utils.isArray(v)) {\n this.removeCircular(v);\n }\n });\n }\n }\n }\n\n removeSchemaKeys(row: any): any {\n\n row = Object.assign({}, row);\n\n if (row.__typename && this.originalSchemaKeys[row.__typename]) {\n const allowedKeys = this.originalSchemaKeys[row.__typename];\n Object.keys(row).forEach(key => {\n if (allowedKeys.indexOf(key) < 0 || key === 'OwnerObj') {\n delete row[key];\n }\n });\n }\n\n Object.keys(row).forEach(key => {\n if (this.utils.isObject(row[key]) && row[key].__typename) {\n const rowObj = row[key] as GenericRow;\n row[key] = this.removeSchemaKeys(rowObj);\n }\n });\n\n return row;\n\n }\n\n async put(type: any, row?: AllRowTypes): Promise {\n\n if (typeof row === 'undefined' && this.utils.isObject(type)) {\n row = type as AllRowTypes;\n type = row.__typename;\n } else if (typeof row === 'undefined') {\n console.warn('Empty put request');\n return;\n }\n\n const rowObj = row as AllRowTypes;\n\n this.addRowDefaults(row, type);\n\n // Put to local datastore\n row = this.PutDataStore(type, row);\n\n row = this.removeSchemaKeys(row);\n\n // Send to database\n await this.q('crud:put', {\n type,\n row: JSON.stringify(row),\n ID: rowObj.ID || '',\n _IDX: JSON.stringify(this.getIndexes(type)),\n });\n\n return row;\n\n }\n\n async listAll(type: string, ops?: ListOptions): Promise> {\n\n ops = ops || {};\n\n ops.insight = true;\n\n return await this.list(type, ops);\n\n }\n\n async listPage(\n type: string,\n page: number = 1,\n maxItems: number = 10,\n sortColumn: string = 'createdAt',\n direction: 'ASC' | 'DESC' = 'DESC',\n fromCache: boolean = false,\n depth: number = 0,\n ): Promise> {\n\n return await this.list(type, {\n fromCache,\n depth,\n insight: true,\n page,\n maxItems,\n sortColumn,\n direction\n });\n\n }\n\n addListDefaultOptions(ops: any): ListOptions {\n\n if (ops) {\n\n const keys = Object.keys(this.listOptionDefaults);\n for (const k of keys) {\n if (typeof ops[k as keyof ListOptions] === 'undefined') {\n ops[k as keyof ListOptions] = this.listOptionDefaults[k as keyof ListOptions];\n }\n }\n\n return ops;\n\n }\n\n return this.listOptionDefaults;\n\n }\n\n async list(\n type: string,\n optionsFrmUsr?: ListOptions,\n ): Promise> {\n\n const options = this.addListDefaultOptions(optionsFrmUsr);\n\n this.InitDataStore(type);\n\n return new Promise>(resolve => {\n\n if (options.fromCache && DataStore.sets[type].size) {\n\n resolve(DataStore.sets[type]);\n\n } else {\n\n const Now = (new Date()).getTime() / 1000; // seconds\n\n const page = typeof options.page === 'undefined' ? 0 : options.page;\n\n const listPage = page > 0 ? true : false;\n\n // Ten minute TTL\n // Auto list from cache if last list was in the last 2 minutes\n // if (!listPage && this.ListLastTime[type] && Now - this.ListLastTime[type] < 120 && DataStore.sets[type].size) {\n // resolve(DataStore.sets[type]);\n // } else {\n\n this.ListLastTime[type] = Now;\n\n const cmd = listPage ? 'listPage' : 'list';\n\n if (options.columns) {\n options.columns.push('ID');\n }\n\n const maxItems = typeof options.maxItems === 'undefined' ? 10 : options.maxItems;\n const depth = typeof options.depth === 'undefined' ? 0 : options.depth;\n\n this.q(`crud:${cmd}`, {\n type,\n page: page.toString(),\n maxItems: maxItems.toString(),\n sortColumn: options.sortColumn,\n direction: options.direction,\n depth: depth.toString(),\n insight: options.insight ? 'true' : 'false',\n columns: options.columns ? JSON.stringify(options.columns) : '',\n _CNX: depth > 0 ? JSON.stringify(this.getConnections(type, depth)) : '',\n }).then(response => {\n\n if (typeof response.Data === 'object' && response.Data.length && typeof response.Data[0] === 'object') {\n const rows: any[] = response.Data.reverse();\n\n for (let row of rows) {\n row = this.saveConnections(type, response.Connections, row, options.depth);\n this.PutDataStore(type, row);\n }\n\n if (!listPage) {\n resolve(DataStore.sets[type]);\n } else {\n const set = new Set();\n for (const row of rows) {\n set.add(row);\n }\n resolve(set);\n }\n } else {\n console.log(response);\n resolve(new Set());\n }\n\n });\n\n // }\n\n }\n\n });\n\n\n }\n\n get(type: string, ID: string, fromCache?: boolean, depth: number = 1): Promise {\n\n return new Promise(resolve => {\n\n let returned = false;\n\n // Return from cache if exists there\n if (fromCache) {\n\n // Init datastore in case it isn't already\n this.InitDataStore(type);\n\n // Loop over items\n for (const item of DataStore.sets[type]) {\n\n // If matching ID\n if (item.ID === ID) {\n\n // Resolve promise with item\n resolve(item);\n returned = true;\n break;\n }\n }\n }\n\n if (returned) {\n return;\n }\n\n this.q('crud:get', {\n type,\n ID,\n depth: depth.toString(),\n _CNX: depth ? JSON.stringify(this.getConnections(type, depth)) : null,\n }, true).then(response => {\n\n let row: AllRowTypes = response.Data;\n\n this.saveConnections(type, response.Connections, row, depth);\n\n row = this.PutDataStore(type, row);\n\n resolve(row);\n\n });\n\n });\n\n }\n\n async delete(item: AllRowTypes): Promise {\n\n return new Promise(resolve => {\n\n if (item.ID && item.__typename) {\n this.q('crud:delete', {\n type: item.__typename,\n ID: item.ID,\n _IDX: JSON.stringify(this.getIndexes(item.__typename)),\n }).then(response => {\n\n if (response.Success) {\n this.RemoveFromDataStore(item);\n resolve(true);\n } else {\n resolve(false);\n console.error(response);\n }\n\n });\n } else {\n console.error('Unable to delete item.', item);\n resolve(false);\n }\n\n });\n\n }\n\n async multiQuery(\n type: string,\n query: MultiQueryInput[],\n depth: number = 1,\n saveObj: boolean = true\n ): Promise {\n\n const response = await this.q('crud:multiQuery', {\n type,\n query: JSON.stringify(query),\n depth: depth.toString(),\n _CNX: JSON.stringify(this.getConnections(type, depth)),\n });\n\n const rows: any[] = response.Data;\n\n const Output: T[] = [];\n\n for (const row of rows) {\n if (saveObj) {\n if (response.Connections != null &&\n response.Connections[row.ID] != null) {\n const connections = response.Connections[row.ID] as { [key: string]: any };\n\n Object.keys(connections).forEach(key => {\n const CnxValue = JSON.parse(connections[key]);\n if (this.utils.isArray(CnxValue)) {\n const InnerOutput: any[] = [];\n CnxValue.forEach((item: AllRowTypes) => {\n if (typeof item.__typename !== 'undefined') {\n InnerOutput.push(this.PutDataStore(item.__typename, item));\n }\n });\n row[key] = InnerOutput;\n } else {\n row[key] = this.PutDataStore(CnxValue.__typename, CnxValue);\n }\n });\n }\n Output.push(this.PutDataStore(type, row) as T);\n } else {\n Output.push(row);\n }\n }\n\n return Output;\n }\n\n\n query(\n type: string,\n column: string,\n value: string,\n fromCache?: boolean,\n depth: number = 2,\n saveObj: boolean = true,\n ): Promise> {\n\n return new Promise>(resolve => {\n\n this.q('crud:query', {\n type,\n column,\n value,\n depth: depth.toString(),\n _CNX: JSON.stringify(this.getConnections(type, depth)),\n }).then(response => {\n\n const rows: any[] = response.Data;\n\n const Output = new Set();\n\n for (const row of rows) {\n if (saveObj) {\n if (response.Connections != null &&\n response.Connections[row.ID] != null) {\n const connections = response.Connections[row.ID] as { [key: string]: any };\n\n Object.keys(connections).forEach(key => {\n const CnxValue = JSON.parse(connections[key]);\n if (this.utils.isArray(CnxValue)) {\n const InnerOutput: any[] = [];\n CnxValue.forEach((item: AllRowTypes) => {\n if (typeof item.__typename !== 'undefined') {\n InnerOutput.push(this.PutDataStore(item.__typename, item));\n }\n });\n row[key] = InnerOutput;\n } else {\n row[key] = this.PutDataStore(CnxValue.__typename, CnxValue);\n }\n });\n }\n Output.add(this.PutDataStore(type, row));\n } else {\n Output.add(row);\n }\n }\n\n resolve(Output);\n\n });\n\n });\n\n }\n\n isSchemaTypeLike(key: string): boolean {\n // SchemaType example: _Page\n return key && typeof key === 'string' && key.match('^\\_[a-zA-Z]+$') ? true : false;\n }\n\n Subscribe(\n types: string[] | string,\n fn: (message: T) => void,\n Owner: string = this.AuthSession?.Person || '',\n ): WebSocket {\n if (typeof types === 'string') {\n types = [types];\n }\n const socket = new WebSocket(\n `${DbService.websocketEndpoint}?session=${this.AuthSession?.SessionID || ''}&` +\n `owner=${Owner}&` +\n `types=${types.join(',')}`\n );\n\n socket.onopen = () => {\n // console.log('Successfully Connected');\n };\n\n socket.onmessage = msg => {\n let row = JSON.parse(JSON.parse(msg.data).row) as AllRowTypes;\n if (row.__typename) {\n row = this.PutDataStore(row.__typename, row);\n }\n fn(row as T);\n };\n\n socket.onclose = event => {\n // console.log('Socket Closed Connection: ', event);\n };\n\n socket.onerror = error => {\n // console.log('Socket Error: ', error);\n };\n\n return socket;\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ambassador-program',\n templateUrl: './abassador-program.component.html',\n styleUrls: ['./abassador-program.component.scss']\n})\nexport class AbassadorProgramComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n\n
\n
\n

Together we can change the world.

\n

Join the ambassador program and receive FREE & exclusive resources.

\n

\n \n MORE INFO\n arrow_right\n \n

\n
","import { Component, OnInit, Input, Inject } from '@angular/core';\nimport { MadisonBlogPostType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LoginWithProviderComponent } from '../login-with-provider/login-with-provider.component';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { Router } from '@angular/router';\nimport { ViewAuthorComponent } from 'src/app/dialogs/view-author/view-author.component';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-news-social-summary',\n templateUrl: './news-social-summary.component.html',\n styleUrls: ['./news-social-summary.component.scss']\n})\nexport class NewsSocialSummaryComponent implements OnInit {\n\n @Input() post!: MadisonBlogPostType;\n\n constructor(\n public db: DbService,\n private auth: AuthService,\n private dialog: MatDialog,\n private router: Router,\n private clipboard: Clipboard,\n private utils: UtilsService,\n @Inject(WINDOW) private window: Window,\n ) { }\n\n ngOnInit(): void {\n this.loadLike();\n }\n\n async loadLike(): Promise {\n if (this.auth.getSessionValue()) {\n this.db.query('BlogLike', 'Key', this.post.ID || '', false, 0).then(res => {\n for (const item of res) {\n if (typeof item !== 'undefined' && item.Owner === this.auth.personID && this.post.ID) {\n this.db.likedPosts[this.post.ID] = true;\n }\n }\n });\n }\n }\n\n open(): void {\n this.db.curBlogPost = this.post;\n this.router.navigateByUrl('/news-post/' + this.post.ID);\n }\n\n viewAuthor(): void {\n this.dialog.open(ViewAuthorComponent, {\n data: this.post.Owner,\n width: '400px',\n });\n }\n\n async like(): Promise {\n if (!this.post.ID) {\n return;\n }\n if (!this.auth.getSessionValue()) {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n await this.loadLike();\n if (this.post.ID && !this.db.likedPosts[this.post.ID]) {\n this.like();\n }\n }\n });\n } else {\n this.db.likedPosts[this.post.ID] = !this.db.likedPosts[this.post.ID];\n this.post.Likes = this.post.Likes || 0;\n if (this.db.likedPosts[this.post.ID]) {\n this.post.Likes++;\n } else {\n this.post.Likes--;\n }\n await this.db.q('likeBlogPost', { id: this.post.ID });\n }\n }\n\n get link(): string {\n let output = '';\n if (this.post && this.post.ID) {\n output = `https://${this.utils.orgSite}/view-post/${this.post.ID}`;\n }\n return output;\n }\n\n copyLink(): boolean {\n let response = false;\n let message = 'Something is wrong with this post. Couldn\\'t copy the link';\n if (this.link) {\n this.clipboard.copy(this.link);\n message = 'Link has been copied to your clipboard';\n response = true;\n }\n this.db.snackBar.open(message, 'DISMISS', {\n duration: 5000,\n });\n return response;\n }\n\n openLink(link: string): void {\n this.window.open(link);\n }\n\n shareToFacebook(): void {\n this.openLink(`https://www.facebook.com/sharer/sharer.php?u=${this.link}`);\n }\n\n shareToEmail(): void {\n this.openLink(`mailto:?Subject=${this.post.Title}&Body=${this.link}`);\n }\n\n}\n","
\n \n \n \n \n \n
\n\n\n \n \n \n","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { DbService } from 'src/app/services/db.service';\nimport { DonationType } from 'src/app/services/DataStore';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-donation-receipt',\n templateUrl: './donation-receipt.component.html',\n styleUrls: ['./donation-receipt.component.scss']\n})\nexport class DonationReceiptComponent implements OnInit, OnDestroy {\n\n paramsSubscription: Subscription | null = null;\n\n Donation: DonationType | null = null;\n\n constructor(\n private activeRoute: ActivatedRoute,\n private auth: AuthService,\n private db: DbService,\n private router: Router,\n @Inject(WINDOW) private window: Window,\n private utils: UtilsService,\n ) { }\n\n IsTopAdmin = false;\n\n ngOnDestroy(): void {\n if (this.paramsSubscription) {\n this.paramsSubscription.unsubscribe();\n }\n }\n\n ngOnInit(): void {\n this.paramsSubscription = this.activeRoute.params.subscribe(routeParams => {\n\n if (routeParams.id) {\n\n this.load(routeParams.id);\n\n }\n\n });\n\n this.IsTopAdmin = this.auth.isTopAdmin();\n\n }\n\n async load(id: string): Promise {\n\n this.Donation = await this.db.get('Donation', id);\n\n this.utils.updateMeta({\n BrowserTitle: `Donation receipt #${this.Donation?.DonationID}`,\n Title: `Donation receipt #${this.Donation?.DonationID}`,\n Description: `This is your donation receipt. Thank you so much for your support.`,\n });\n\n }\n\n async delete(): Promise {\n if (this.Donation && confirm('Delete this donation?')) {\n await this.db.delete(this.Donation);\n this.db.snackBar.open('Donation has been deleted.', 'Dismiss');\n this.router.navigateByUrl('my-account');\n }\n }\n\n print(): void {\n this.window.print();\n }\n\n}\n","
\n

Thank you for your donation!

\n

We are so thankful for your support.

\n
\n

Loading...

\n
\n
\n
\n
\n
Donation
\n
\n Receipt #: {{ Donation.DonationID }}
{{ Donation.createdAt | date:'mediumDate' }}\n
\n
\n
\n \n
\n
\n
\n
\n

Customer Details

\n
\n {{ Donation.First }} {{ Donation.Last }}
<{{ Donation.Email }}>\n
\n
\n
\n

Payment to

\n
\n Madison Missions Australia Ltd.
ABN: 93 637 957 085
19 Westleys Rd
Faulkland NSW 2422
mail@madison.org.au
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Description

\n
\n

Price

\n
Donation{{ Donation.Amount | currency }}
TOTAL:{{ Donation.Amount | currency }}
GST:{{ 0 | currency }}
\n
\n
\n
Status: Paid
\n
Paid by {{ Donation.CardBrand }} ending in {{ Donation.CardLast4 }}
\n
\n
\n
\n \n
","\nexport enum schemaTypes {\n connection,\n queryIndex,\n sortIndex,\n}\n\nexport enum connectionReturnType {\n list,\n singleObject\n}\n\nexport interface SchemaTableField {\n name: string;\n types: schemaTypes[];\n connectedTo: string;\n connectionReturns?: connectionReturnType;\n defaultValue?: string;\n connectedListFieldValueEquals?: string;\n}\n\nexport const OwnerConnection: SchemaTableField = {\n name: 'OwnerObj',\n types: [\n schemaTypes.queryIndex,\n schemaTypes.connection,\n ],\n connectedTo: 'Person.ID',\n connectionReturns: connectionReturnType.singleObject,\n connectedListFieldValueEquals: 'Owner',\n};\n\nexport const schema: { [key: string]: SchemaTableField[] } = {\n Person: [\n {\n name: 'Addresses',\n types: [\n schemaTypes.connection,\n ],\n connectedTo: 'Address.Owner',\n connectedListFieldValueEquals: 'ID',\n connectionReturns: connectionReturnType.list,\n },\n {\n name: 'Donations',\n types: [\n schemaTypes.connection,\n ],\n connectedTo: 'Donation.Owner',\n connectedListFieldValueEquals: 'ID',\n connectionReturns: connectionReturnType.list,\n }\n ],\n};\n","import { Component, OnInit, Input } from '@angular/core';\nimport { AddressType } from 'src/app/services/DataStore';\n\n@Component({\n selector: 'app-show-address',\n templateUrl: './show-address.component.html',\n styleUrls: ['./show-address.component.scss']\n})\nexport class ShowAddressComponent implements OnInit {\n\n @Input() adr!: AddressType;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n {{ adr.name }}
{{ adr.mobile }}
{{ adr.address1 }}
\n {{ adr.address2 }} {{ adr.suburb }} {{ adr.state }} {{ adr.postcode }}\n
{{ adr.instructions }}
\n
\n\n
\n (no address)\n
","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-ambassadors',\n templateUrl: './ambassadors.component.html',\n styleUrls: ['./ambassadors.component.scss']\n})\nexport class AmbassadorsComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n // this.utils.updateMeta({});\n }\n\n}\n","
\n
\n\n
\n
\n

Ambassador Program

\n

Together we can change the world.

\n
\n
\n

We are looking for individuals who are:

\n
    \n
  • Enthusiastic, motivated, *personally* passionate about the Madison Vision
  • \n
  • Seventh Day Adventists in good standing
  • \n
  • Willing and able to participate in sharing avenues (e.g. social media, verbal, written etc.)
  • \n
  • Perhaps have been personally impacted by or connected with Eastward's ministry in the past (youth camps, canvassing, outreach)
  • \n
\n

What's involved?

\n
    \n
  • Not designed to be unrealistic or burdensome. Be involved as per your availability. It is a volunteer role.
  • \n
  • Help spread the word and raise awareness for the vision of a Madison-like missionary college. Some examples of what this could look like are:
  • \n
      \n
    • Local connections e.g. churches (videos, bulletin/verbal announcements)
    • \n
    • Online connections e.g. Social media (re-sharing, personal contacts), blogging, news outlets
    • \n
    • Events/camps/expo-booth
    • \n
    • Sharing Madison Missions resources
    • \n
    \n
  • Commit to initial online interview/briefing session help you feel well-informed, and then regular touch-base (e.g. fortnightly, monthly) with Madison Team Member; report ongoing activity, follow through with team leader requests/agreements\n
  • \n
  • Maintaining communication through emails
  • \n
  • Speaking well of team & vision
  • \n
\n

Why become an ambassador?

\n
    \n
  • Share in the mission. Make a difference. Help make it happen in a very real way!
  • \n\n
  • Free Eastward/Madison resources sent to you:
  • \n
      \n
    • x2 Great Controversy Magabooks
    • \n
    • x1 Wholesome Homemade Magabooks
    • \n
    • x12 Professionally printed Madison Vision Portfolio (38 pages, A4, full-colour, gloss)
    • \n
    • x1 Madison T-shirt (coming end of Dec)
    • \n
    \n
  • Simple training tools e.g. reference guide/handbook for ambassadors e.g. refer to, content guidelines (ie. using a specific custom hashtag on every post can help us keep track of social media results)
  • \n
  • Networking experience
  • \n
  • Personal meetings with Madison Team Members, ask any questions, feel up to date and knowledgeable, mentoring, support, guidance, what's working, what's not, hear your ideas
  • \n
  • Be one of the first to hear latest updates, exclusive info (special mailing list for ambassadors with news, campaign updates and tips). Special facebook group.
  • \n
\n
\n


\n

Would you like to be an Ambassador? Apply online.

\n

\n

\n APPLY\n

\n
\n
\n \"\"\n
","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Component, Inject, InjectionToken, OnInit, PLATFORM_ID, ViewChild } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { StringToDatePipe } from 'src/app/pipes/toDate';\nimport { MadisonBlogPostType, setTimeout$, VideoType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-all-posts',\n templateUrl: './all-posts.component.html',\n styleUrls: ['./all-posts.component.scss']\n})\nexport class AllPostsComponent implements OnInit, AfterViewInit {\n\n isLoading = true;\n isBrowser: boolean;\n\n @ViewChild('viewport') CdkScroll!: CdkVirtualScrollViewport;\n\n constructor(\n private breakpoint$: BreakpointObserver,\n private db: DbService,\n private toDate: StringToDatePipe,\n @Inject(WINDOW) private window: Window,\n private utils: UtilsService,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n breakpoint$.observe([\n Breakpoints.XSmall,\n Breakpoints.Small,\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge,\n ]).subscribe(result => {\n if (result.breakpoints[Breakpoints.XSmall]) {\n\n this.chunkSize.next(2);\n\n } else if (result.breakpoints[Breakpoints.Small]) {\n\n this.chunkSize.next(3);\n\n }\n else if (result.breakpoints[Breakpoints.Medium]) {\n\n this.chunkSize.next(4);\n\n }\n else if (result.breakpoints[Breakpoints.Large]) {\n\n this.chunkSize.next(5);\n\n }\n else {\n\n this.chunkSize.next(6);\n\n }\n });\n }\n\n items: MadisonBlogPostType[] = [];\n renderer = [];\n chunkSize = new BehaviorSubject(2);\n\n ngOnInit(): void {\n this.load();\n this.utils.updateMeta({\n BrowserTitle: 'All news posts',\n Title: 'All news posts',\n Description: 'A news wall with everything from Eastward & Madison Missions.',\n });\n }\n\n ngAfterViewInit(): void {\n // if (this.window.scrollTo) {\n // this.window.scrollTo(0, 0);\n // }\n }\n\n async load(): Promise {\n if (!this.db.allPostsCache.length) {\n this.items = Array.from(\n await this.db.listAll('MadisonBlogPost', {\n columns: ['Title', 'Images', 'Videos', 'CreatedAt', 'Likes', 'Views', 'Comments'],\n })\n );\n this.items.sort((a, b) => {\n return this.toDate.transform(b.CreatedAt || '').getTime() - this.toDate.transform(a.CreatedAt || '').getTime();\n });\n this.db.allPostsCache = this.items;\n } else {\n this.items = this.db.allPostsCache;\n }\n setTimeout(() => {\n if (this.CdkScroll) {\n\n this.CdkScroll.getElementRef().nativeElement.scrollTop = this.db.allPostsScrollPos || 0;\n this.CdkScroll.elementScrolled().subscribe(res => {\n this.db.allPostsScrollPos = (res.target as HTMLElement).scrollTop;\n });\n }\n }, 0);\n this.render();\n this.isLoading = false;\n }\n\n render(): void {\n this.chunkSize.subscribe(chunkSize => {\n this.renderer = this.toChunks(this.items, chunkSize);\n });\n }\n\n tail = (a: any[]) => a[a.length - 1];\n\n chunkReducerForSize = (chunkSize = 2) => (result: any[], item: MadisonBlogPostType) => {\n const lastElm = this.tail(result);\n if (lastElm.length === chunkSize) {\n result.push([item]);\n } else {\n lastElm.push(item);\n }\n return result;\n }\n\n toChunks = (arr: any[], chunkSize = 5) => {\n return arr.reduce(this.chunkReducerForSize(chunkSize), [[]]);\n }\n\n cardStyle(post: MadisonBlogPostType): { [key: string]: string } {\n let image = '';\n if (post.Images && post.Images.length && !post.Videos?.length) {\n image = post.Images[0] + '?w=300&h=200&fit=crop&crop=faces';\n } else if (post.Videos && post.Videos.length) {\n image = this.videoUrl(post.Videos[0]);\n }\n if (image !== '') {\n return {\n 'background-image': `url('${image}')`\n };\n } else {\n return {\n 'background-color': `#333`\n };\n }\n }\n\n videoUrl(vid: VideoType): string {\n if (vid.PlaybackIDs) {\n if (vid && vid.MuxStatus === 'ready') {\n return 'https://image.mux.com/' + vid.PlaybackIDs[0].id + '/animated.gif?width=180&fps=3&start=' +\n (vid.GifStartTime || '0');\n } else {\n return 'https://cdn2.tda.website/beehive/20201104/Video-Processing-4x-80.jpg?w=130&h=130&fit=crop&crop=faces';\n }\n }\n return '';\n }\n\n}\n","

News Updates

\n\n \n\n\n\n
\n \n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DbService } from 'src/app/services/db.service';\nimport { StaffAppUserType } from 'src/app/services/DataStore';\n\n@Component({\n selector: 'app-view-author',\n templateUrl: './view-author.component.html',\n styleUrls: ['./view-author.component.scss']\n})\nexport class ViewAuthorComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public authorID: string,\n private db: DbService,\n ) { }\n\n author: StaffAppUserType | null = null;\n imageSettings = '?h=300&w=400&fit=facearea&facepad=10&auto=format';\n\n ngOnInit(): void {\n this.load();\n }\n\n async load(): Promise {\n this.author = await this.db.get('AppUser', this.authorID.replace('APP_', ''), false, 0);\n }\n\n}\n","
\n \n
\n\n\n
\n

{{ author.Name }}

\n
\n \"\"\n
\n {{ author.Bio }}\n
\n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { DbService } from 'src/app/services/db.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-reset-pwd',\n templateUrl: './reset-pwd.component.html',\n styleUrls: [\n '../login/login.component.scss',\n './reset-pwd.component.scss',\n ]\n})\nexport class ResetPwdComponent implements OnInit {\n\n activity = false;\n resetForm: FormGroup | null = null;\n hidePwd1 = true;\n hidePwd2 = true;\n\n constructor(\n private router: Router,\n private db: DbService,\n private route: ActivatedRoute,\n public snackBar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n\n this.resetForm = new FormGroup({\n\n password1: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n\n password2: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.resetForm?.controls[controlName].hasError(errorName) || false;\n }\n\n async reset(data: any): Promise {\n\n if (data.password1 !== data.password2) {\n alert('The two passwords do not match. Please double-check;');\n return;\n }\n\n this.activity = true;\n\n const key: string = this.route.snapshot.queryParamMap.get('key') || '';\n\n const password = data.password1;\n\n const res = await this.db.q('auth:resetPwd', { password, key, });\n\n if (res.Success) {\n this.snackBar.open('Your password has been reset. Please login.', 'Dismiss', {\n duration: 6000,\n });\n this.router.navigateByUrl('/login');\n } else if (res.Message) {\n this.snackBar.open(res.Message, 'Dismiss', {\n duration: 6000,\n });\n }\n\n this.activity = false;\n }\n\n}\n","\n\n
\n\n
\n\n

Reset Your Password

\n\n
\n\n \n \n \n Password is required\n Must be at least six characters with a letter and a number.\n \n\n \n \n \n Password is required\n Must be at least six characters with a letter and a number.\n \n\n

\n \n

\n\n
\n Login\n
\n\n
\n\n
\n
\n
\n","import { Router } from '@angular/router';\n// import { LoginData } from './../screens/auth/login/login.component';\nimport { Injectable } from '@angular/core';\nimport { CallResponse, DbService } from './db.service';\nimport { UtilsService } from './utils.service';\n// import { SignupData } from '../screens/auth/signup/signup.component';\nimport { PersonType } from './DataStore';\n\nexport interface SessionStore {\n Expires: number;\n Expired: boolean;\n Person: string;\n PersonObj: PersonType;\n Email: string;\n SessionID: string;\n TopAdmin: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n authChecked = false;\n personID: string | null = null;\n sessionObj!: SessionStore;\n person: PersonType | null = null;\n\n constructor(\n private db: DbService,\n private utils: UtilsService,\n private router: Router,\n ) { }\n\n stateChangeCallbacks: Array<(AuthState: boolean) => void> = [];\n\n isTopAdmin(): boolean {\n\n return this.authChecked && this.sessionObj && this.sessionObj.TopAdmin;\n\n }\n\n logout(): Promise {\n\n const sessionID = this.getSessionValue();\n\n this.db.likedComments = {};\n this.db.likedPosts = {};\n\n this.destroySession();\n\n return this.db.q('auth:logout', { session: sessionID });\n\n }\n\n async login(data: any): Promise {\n\n const LoginResponse = await this.db.q('auth:login', data);\n\n if (LoginResponse.Success) {\n\n const SessionObj: SessionStore = LoginResponse.Data;\n\n localStorage.setItem('session', SessionObj.SessionID);\n\n this.db.AuthSession = this.sessionObj;\n\n this.authChecked = true;\n\n await this.checkSession();\n\n }\n\n return LoginResponse.Success;\n\n }\n\n async checkSession(): Promise {\n\n if (!this.getSessionValue()) {\n\n return false;\n\n }\n const AuthCheckResponse = await this.db.q('auth:check', { session: this.getSessionValue() });\n\n if (AuthCheckResponse.internetConnection) {\n\n this.sessionObj = AuthCheckResponse.Data;\n\n if (AuthCheckResponse.Success) {\n\n this.db.AuthSession = this.sessionObj;\n\n this.personID = AuthCheckResponse.Data.Person;\n\n const PersonObj = await this.db.get('Person', this.personID || '') as PersonType;\n\n if (!PersonObj.__typename) {\n await this.db.put('Person', PersonObj);\n }\n\n this.person = PersonObj;\n this.sessionObj.PersonObj = PersonObj;\n\n this.authChecked = true;\n this.runStateChangeCallbacks();\n\n } else {\n\n this.destroySession();\n\n if (!this.router.url.includes('/login')) {\n this.router.navigateByUrl('/login?return=' + this.router.url);\n }\n\n }\n\n }\n\n return AuthCheckResponse.Success;\n\n }\n\n hasSessionValue(): boolean {\n\n return this.getSessionValue() !== null;\n\n }\n\n getSessionValue(): string | null {\n\n return localStorage.getItem('session');\n\n }\n\n destroySession(): void {\n\n localStorage.removeItem('session');\n this.authChecked = false;\n this.person = null;\n this.personID = null;\n\n this.runStateChangeCallbacks();\n\n }\n\n signup(data: any): Promise {\n\n data.ID = this.utils.uid();\n\n return this.db.q('auth:signup', data);\n\n }\n\n runStateChangeCallbacks(): void {\n const Authenticated = this.authChecked && this.hasSessionValue();\n for (const fn of this.stateChangeCallbacks) {\n fn(Authenticated);\n }\n }\n\n onStateChange(callback: (AuthState: boolean) => void): void {\n\n this.stateChangeCallbacks.push(callback);\n\n callback(this.authChecked && this.hasSessionValue());\n\n }\n\n removeStateChangeCallback(callback: (AuthState: boolean) => void): void {\n this.utils.delete(this.stateChangeCallbacks, callback);\n }\n\n}\n","import { Component, OnInit, Input, OnDestroy, Inject, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport { themeColorKeys } from 'src/app/modules/colors';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { AppIntersection } from 'src/app/directives/in-view.directive';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RouteEventsService } from 'src/app/services/router-events.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-back-header',\n templateUrl: './back-header.component.html',\n styleUrls: ['./back-header.component.scss']\n})\nexport class BackHeaderComponent implements OnInit {\n\n @Input() theme!: themeColorKeys;\n @Input() title!: string;\n @Input() back!: string;\n @Input() fragment?: string;\n @Input() padding = '60px';\n\n isBrowser: boolean;\n sticky = false;\n scrollBreakPoint = 0;\n originalPadding = '';\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n private router: Router,\n private routeEventsService: RouteEventsService,\n @Inject(WINDOW) private window: Window,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n this.originalPadding = this.padding;\n }\n\n windowScrollEvID: string | null = null;\n\n intersected($event: any): void {\n const event = $event as AppIntersection;\n if (event.scrollingDirection === 'down' && !event.isVisible && this.isBrowser) {\n this.scrollBreakPoint = event.scrollY;\n this.sticky = true;\n this.padding = '10px';\n } else if (this.sticky && event.scrollY > this.scrollBreakPoint) {\n this.sticky = false;\n this.padding = this.originalPadding;\n }\n }\n\n ngOnInit(): void {\n // console.log(this.routeEventsService.previousRoutePath.value);\n }\n\n GoBack(): void {\n const prevUrl = this.routeEventsService.previousRoutePath.value;\n const currentUrl = this.routeEventsService.currentRoutePath.value;\n if (prevUrl !== this.router.url && !prevUrl.includes(currentUrl)) {\n this.window.history.back();\n } else {\n this.router.navigate([this.back], {\n fragment: this.fragment\n });\n }\n }\n\n}\n","\n
\n \n

{{ title }}

\n
\n
","import { Injectable } from '@angular/core';\nimport { AuthService } from './auth.service';\nimport { HttpClient } from '@angular/common/http';\nimport { UtilsService } from './utils.service';\nimport { FrequencyString } from './DataStore';\n\nexport interface StripeCustomer {\n id: string;\n object: string;\n address: string;\n balance: number;\n created: number;\n currency: string;\n default_source: string;\n delinquent: boolean;\n description: string;\n discount: any;\n email: string;\n invoice_prefix: string;\n invoice_settings: {\n custom_fields: any;\n default_payment_method: any;\n footer: any\n };\n livemode: boolean;\n metadata: any;\n name: string;\n next_invoice_sequence: 1;\n phone: string;\n preferred_locales: any[];\n shipping: any;\n sources: {\n object: string;\n data: StripePmtSource[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n subscriptions: {\n object: string;\n data: any[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n tax_exempt: string;\n tax_ids: {\n object: string;\n data: any[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n}\n\nexport interface StripePmtSource {\n id: string;\n object: string;\n address_city: string;\n address_country: string;\n address_line1: string;\n address_line1_check: string;\n address_line2: string;\n address_state: string;\n address_zip: string;\n address_zip_check: string;\n brand: string;\n country: string;\n customer: string;\n cvc_check: string;\n dynamic_last4: any;\n exp_month: 2;\n exp_year: 2022;\n fingerprint: string;\n funding: string;\n last4: string;\n metadata: {};\n name: string;\n tokenization_method: any;\n}\n\nexport interface StripeAddress {\n line1: string;\n city?: string;\n country?: string;\n line2?: string;\n postal_code?: string;\n state?: string;\n}\n\nexport interface OneTimePerson {\n First: string;\n Last: string;\n Email: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DonationPmtService {\n\n static PmtApiEndpoint = 'https://pcpwanrxfj.execute-api.ap-southeast-2.amazonaws.com/default/MadisonDonationFns';\n static BeehivePmtApiEndpoint = 'https://pcpwanrxfj.execute-api.ap-southeast-2.amazonaws.com/default/Beehive-Payment-Fns';\n\n constructor(\n private utils: UtilsService,\n private auth: AuthService,\n private http: HttpClient,\n ) { }\n\n async sendContactForm(name: string, email: string, phone: string, message: string,) {\n\n const TxnData = {\n cmd: 'ContactForm',\n name, email, phone, message,\n };\n\n return await this.http.post(DonationPmtService.PmtApiEndpoint, TxnData).toPromise();\n\n }\n\n async oneTime(\n token: any,\n amount: number,\n personDetails: OneTimePerson,\n source: string,\n frequency: FrequencyString,\n Comments: string,\n ): Promise {\n\n const TxnData = {\n cmd: 'OneTimeDonation',\n token,\n amountFormatted: amount.toFixed(2),\n amount: amount.toFixed(2).replace('.', ''),\n person: personDetails,\n source,\n frequency,\n Comments,\n };\n\n return await this.http.post(DonationPmtService.PmtApiEndpoint, TxnData).toPromise();\n\n }\n\n async recurringDonation(\n Token: any,\n amount: number,\n PersonID: string,\n Comments?: string,\n ): Promise {\n\n Comments = Comments || '';\n\n const TxnData = {\n cmd: 'RecurringDonation',\n AmountFormatted: amount.toFixed(2),\n Amount: amount.toFixed(2).replace('.', ''),\n Token,\n PersonID,\n Comments,\n };\n\n return await this.http.post(DonationPmtService.PmtApiEndpoint, TxnData).toPromise();\n\n }\n\n async saveCard(token: any, address: StripeAddress): Promise {\n\n address = this.utils.replaceValue(address, null, '');\n\n const response = await this.http.post(DonationPmtService.BeehivePmtApiEndpoint, {\n session: this.auth.getSessionValue(),\n address,\n cmd: 'SaveCard',\n token,\n }).toPromise();\n\n return response;\n\n }\n\n async removeCard(cardID: string): Promise {\n\n const response = await this.http.post(DonationPmtService.BeehivePmtApiEndpoint, {\n session: this.auth.getSessionValue(),\n cmd: 'RemoveCard',\n cardID,\n }).toPromise();\n\n return response;\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { DbService } from 'src/app/services/db.service';\nimport { detect } from 'detect-browser';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-recover-pwd',\n templateUrl: './recover-pwd.component.html',\n styleUrls: [\n '../login/login.component.scss',\n './recover-pwd.component.scss'\n ]\n})\nexport class RecoverPwdComponent implements OnInit {\n\n activity = false;\n recoverForm: FormGroup | null = null;\n\n constructor(\n private db: DbService,\n public snackBar: MatSnackBar,\n ) { }\n\n\n ngOnInit(): void {\n this.recoverForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email]),\n });\n }\n\n async recover(value: any): Promise {\n this.activity = true;\n const Email = value.email;\n const result = detect() as any;\n await this.db.q('auth:recoverPwd', {\n Email,\n Browser: result.name,\n OS: result.os,\n });\n\n this.snackBar.open('If your email address is in the system, you will receive a password reset email.', 'Dismiss', {\n duration: 6000,\n });\n\n this.activity = false;\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.recoverForm?.controls[controlName].hasError(errorName) || false;\n }\n\n}\n","\n\n
\n\n
\n\n

Recover your password

\n\n
\n\n \n \n Email is required\n Invalid email\n \n\n

\n \n

\n\n
\n Login\n
\n\n
\n\n
\n
\n
\n","import { Component, OnInit, Output, EventEmitter, Inject, Optional } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { DbService } from 'src/app/services/db.service';\nimport { NotificationFrequency, NotificationPrefType } from 'src/app/services/DataStore';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NotificationThanksComponent } from 'src/app/dialogs/notification-thanks/notification-thanks.component';\nimport { Router } from '@angular/router';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-my-notifications',\n templateUrl: './my-notifications.component.html',\n styleUrls: ['./my-notifications.component.scss']\n})\nexport class MyNotificationsComponent implements OnInit {\n\n prefs: NotificationPrefType | null = null;\n\n @Output() saved: EventEmitter = new EventEmitter();\n\n saving = false;\n\n constructor(\n public auth: AuthService,\n private db: DbService,\n private snack: MatSnackBar,\n private dialog: MatDialog,\n private router: Router,\n @Optional() @Inject(MAT_DIALOG_DATA) public isDialog: boolean,\n @Optional() private ref: MatDialogRef,\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n if (!this.prefs) {\n this.prefs = {\n Frequency: 'Weekly',\n MuteComments: false,\n Unsubscribed: false,\n };\n }\n this.load();\n if (!this.ref) {\n this.utils.updateMeta({\n BrowserTitle: `Notifications - Activity Stream`,\n Title: `Notifications`,\n Description: `Notifications`,\n });\n }\n }\n\n async load(): Promise {\n const prefs = (Array.from(await this.db.list('NotificationPref')) || [])[0];\n if (prefs) {\n this.prefs = prefs;\n if (this.prefs?.Unsubscribed) {\n this.prefs.Frequency = null;\n }\n }\n }\n\n async save(): Promise {\n if (!this.prefs) {\n return;\n }\n\n this.saving = true;\n if (this.prefs.Frequency === null) {\n this.prefs.Frequency = 'Weekly';\n }\n await this.db.put('NotificationPref', this.prefs);\n if (!this.prefs.Unsubscribed && !this.prefs.MuteComments && !this.isDialog) {\n const ref = this.dialog.open(NotificationThanksComponent, {\n width: '700px',\n });\n ref.afterClosed().subscribe(() => {\n this.router.navigateByUrl('/');\n });\n } else {\n this.snack.open('Your preferences have been saved', 'DISMISS', {\n duration: 6000,\n });\n }\n this.saving = false;\n }\n\n async saveDialog(): Promise {\n await this.save();\n this.ref.close();\n }\n}\n","
\n
\n \n
\n

Be the first to know

\n

Get updates from Madison, Eastward, The Maker Heals & Beehive

\n
\n
\n
\n
\n
\n

{{ auth.person?.First || 'Hi' }}, how often would you like to know what's going on?

\n

 

\n \n
\n
\n \n Daily\n
\n
\n
\n
\n \n Weekly\n
\n
\n
\n
\n \n Fortnightly\n
\n
\n
\n
\n \n Monthly\n
\n
\n
\n

We'll send you an email digest with highlights from the activity stream.

\n\n
\n \n
\n

 

\n

Other preferences

\n

 

\n Mute comment notifications\n

 

\n Unsubscribe from everything\n

 

\n\n
\n \n
\n
\n
\n
\n
\n \n \n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-fullscreen-image',\n templateUrl: './fullscreen-image.component.html',\n styleUrls: ['./fullscreen-image.component.scss']\n})\nexport class FullscreenImageComponent implements OnInit {\n\n @Input() src!: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n","import { Component, OnInit, Inject, Input, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport { MadisonBlogPostType, StaffAppUserType, CategoryMeta, VideoType, setTimeout$ } from '../../services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { StringToDatePipe } from 'src/app/pipes/toDate';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { AppIntersection } from 'src/app/directives/in-view.directive';\nimport { MyNotificationsComponent } from 'src/app/screens/my-notifications/my-notifications.component';\nimport { isPlatformBrowser } from '@angular/common';\n\nlet NewsScrollPos = 0;\n\n@Component({\n selector: 'app-news',\n templateUrl: './news.component.html',\n styleUrls: ['./news.component.scss']\n})\nexport class NewsComponent implements OnInit {\n\n @Input() autoLoadPosts = true;\n isBrowser: boolean;\n posts: MadisonBlogPostType[] = [];\n users: StaffAppUserType[] = [];\n usersById: { [id: string]: StaffAppUserType } = {};\n loading = true;\n isMore = true;\n isLoadingMore = false;\n page = 1;\n perPage = 13;\n url: string;\n base = 'https://cdn2.tda.website/beehive/';\n\n constructor(\n private db: DbService,\n private router: Router,\n private toDate: StringToDatePipe,\n private utils: UtilsService,\n private dialog: MatDialog,\n private auth: AuthService,\n @Inject(WINDOW) private window: Window,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n this.url = this.router.url;\n }\n\n categoryMeta = CategoryMeta;\n\n ngOnInit(): void {\n this.load();\n this.router.events.subscribe(e => {\n if (e instanceof NavigationEnd) {\n if (e.url === this.url) {\n this.restoreScrollPos();\n }\n }\n });\n }\n\n videoUrl(vid: VideoType): string {\n if (vid && vid.MuxStatus === 'ready' && vid.PlaybackIDs) {\n return 'url(\\'https://image.mux.com/' + vid.PlaybackIDs[0].id + '/animated.gif?width=180&fps=3&start=' +\n (vid.GifStartTime || '0') + '\\')';\n } else {\n return this.base + '20201104/Video-Processing-4x-80.jpg?w=130&h=130&fit=crop';\n }\n }\n\n async loadMore(): Promise {\n this.isLoadingMore = true;\n this.page++;\n const x = this.window.scrollX;\n const y = this.window.scrollY;\n await this.load();\n this.isLoadingMore = false;\n setTimeout$(() => {\n if (this.window.scrollTo) {\n this.window.scrollTo(x, y);\n }\n }, 0);\n }\n\n async load(): Promise {\n\n const posts = Array.from(await this.db.listPage('MadisonBlogPost', this.page, this.perPage, 'CreatedAt'));\n\n if (!posts.length) {\n this.isMore = false;\n return;\n }\n\n posts.sort((a, b) => {\n a.isAdvert = false;\n b.isAdvert = false;\n return this.toDate.transform(a.createdAt).getTime() - this.toDate.transform(b.createdAt).getTime();\n }).reverse();\n\n let TotalPossibleAds = Math.round(posts.length / 3);\n\n let Ads: MadisonBlogPostType[] = [\n {\n ID: 'AD_PARTNER',\n Category: 'Madison',\n Content: '',\n CreatedAt: '',\n Images: [this.base + '20200903/Madison-updates-2x.png'],\n Owner: '',\n Title: 'Get in the know with exclusive news & updates',\n CallToActionTitle: 'BECOME AN INSIDER',\n CallToActionLink: 'https://madisonmissions.typeform.com/to/lf2tm9',\n UpdatedAt: '',\n isAdvert: true,\n advertIcon: this.base + '20200820/Madison-dk-sq.svg',\n },\n {\n ID: 'AD_SUBSCRIBE',\n Category: 'Madison',\n Content: '',\n CreatedAt: '',\n Images: [this.base + '20200903/Madison-News-2x.png'],\n Owner: '',\n Title: 'All the latest news, right to your inbox',\n CallToActionTitle: 'SUBSCRIBE',\n UpdatedAt: '',\n isAdvert: true,\n advertIcon: this.base + '20200820/Madison-dk-sq.svg',\n },\n {\n ID: 'AD_VISION',\n Category: 'Madison',\n Content: '',\n CreatedAt: '',\n Images: [this.base + '20200903/Madison-vision-2x.png'],\n Owner: '',\n Title: 'Find out more about our vision',\n CallToActionTitle: 'DISCOVER THE VISION',\n UpdatedAt: '',\n isAdvert: true,\n advertIcon: this.base + '20200820/Madison-dk-sq.svg',\n },\n {\n ID: 'AD_DONATE',\n Category: 'Madison',\n Content: '',\n CreatedAt: '',\n Images: [this.base + '20200903/Madison-donate-2x.png'],\n Owner: '',\n Title: 'Help turn our vision into reality',\n CallToActionTitle: 'MAKE A GIFT',\n UpdatedAt: '',\n isAdvert: true,\n advertIcon: this.base + '20200820/Madison-dk-sq.svg',\n },\n ];\n\n for (const ad of [...Ads]) {\n const existing = this.posts.find(el => {\n return el.ID === ad.ID;\n }) ? true : false;\n if (existing) {\n this.utils.delete(Ads, ad);\n }\n }\n\n if (TotalPossibleAds > Ads.length) {\n TotalPossibleAds = Ads.length;\n }\n\n Ads = this.utils.shuffle(Ads);\n\n let UsedIndexes: number[];\n\n for (let i = 0; i < TotalPossibleAds; i++) {\n let random = 0;\n UsedIndexes = this.getUsedAdvertndexes(posts);\n while (!random || UsedIndexes.includes(random)) {\n random = this.utils.getRandomInt(2, posts.length);\n }\n UsedIndexes.push(random);\n UsedIndexes.push(random - 1);\n UsedIndexes.push(random + 1);\n posts.splice(random, 0, Ads[i]);\n }\n\n if (!this.users.length) {\n this.users = Array.from(await this.db.listAll('AppUser'));\n\n for (const user of this.users) {\n this.usersById['APP_' + user.ID] = user;\n }\n }\n\n for (const post of posts) {\n post.authorObj = this.usersById[post.Owner];\n }\n\n this.posts.push(...posts);\n\n\n this.loading = false;\n\n }\n\n getUsedAdvertndexes(posts: MadisonBlogPostType[]): number[] {\n const output: number[] = [];\n for (const post of posts) {\n const idx = posts.indexOf(post);\n if (posts[idx].isAdvert) {\n output.push(idx);\n output.push(idx - 1);\n output.push(idx + 1);\n }\n }\n return output;\n }\n\n advertAction(advert: MadisonBlogPostType): void {\n switch (advert.ID) {\n case 'AD_PARTNER':\n this.window.open(advert.CallToActionLink);\n break;\n case 'AD_SUBSCRIBE':\n this.notificationPrefs();\n break;\n case 'AD_VISION':\n if (this.window.scrollTo) {\n this.window.scrollTo(0, 0);\n }\n this.router.navigateByUrl('/vision');\n break;\n case 'AD_DONATE':\n if (this.window.scrollTo) {\n this.window.scrollTo(0, 0);\n }\n this.router.navigateByUrl('/support');\n break;\n }\n }\n\n notificationPrefs(): void {\n\n if (this.auth.getSessionValue()) {\n this.openNotificationPrefs();\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n this.openNotificationPrefs();\n }\n });\n }\n }\n\n openNotificationPrefs(): void {\n\n this.dialog.open(MyNotificationsComponent, {\n data: true,\n });\n\n }\n\n intersected($event: any): void {\n const event = $event as AppIntersection;\n if (event.scrollingDirection === 'down' && event.isVisible && this.isBrowser) {\n this.loadMore();\n }\n }\n\n stemJoin(post1: MadisonBlogPostType, post2: MadisonBlogPostType): { [key: string]: string } {\n return {\n 'background-image': `linear-gradient(to bottom, ${CategoryMeta[post1.Category].color}, ${CategoryMeta[post2.Category].color})`\n };\n }\n\n open(post: MadisonBlogPostType): void {\n this.db.curBlogPost = post;\n this.saveScrollPos();\n this.router.navigateByUrl(this.url + '/news-post/' + post.ID);\n }\n\n saveScrollPos(): void {\n NewsScrollPos = this.window.scrollY;\n }\n\n restoreScrollPos(): void {\n this.window.scrollTo(0, NewsScrollPos);\n }\n\n cta(post: MadisonBlogPostType): void {\n this.window.open(post.CallToActionLink);\n }\n\n}\n","\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n
\n \n
\n
\n

{{ post.Title }}

\n
\n \n
\n
\n
\n
\n
\n
\n
{{ ((post.createdAt || '') | toDate) | timeAgo }}
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n
\n \n
\n
\n
\n

{{ post.Title }}

\n
\n {{ post.Content }}\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-more-business-info',\n templateUrl: './more-business-info.component.html',\n styleUrls: ['./more-business-info.component.scss']\n})\nexport class MoreBusinessInfoComponent implements OnInit {\n\n constructor(\n @Inject(WINDOW) private window: Window,\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: `More business info`,\n Title: `More business info`,\n Description: `Find out more about Beehive Community Services and the Roadhouse.`,\n });\n }\n\n open(link: string): void {\n this.window.open(link);\n }\n\n}\n","\n\n\n\n
\n
\n
\n

New Direction - Beehive Services

\n

COVID-19 shut-down our main source of income (Abide Wellness Retreat) on March 25, 2020. Job-keeper was not available to our volunteers & our application to the state government business fund was denied due to Abide's business classification.\n

\n

We commenced development of Beehive Community Services, starting with home-delivered meals, firewood & bulk vegan pies. Sales commenced on the 25th of April. We built a sophisticated website platform to sell meal packages, subscriptions\n and other services.

\n

Websites:

\n
\n \n
\n \n
\n
\n
\n \"Beehive\n
\n
\n \n
\n
\n\n\n\n\n\n
\n

Black Spur Roadhouse

\n

Madison Missions purchased the Black Spur Roadhouse in early March. Settlement was March 9. The roadhouse is diagonally accross the road from the Abide facility and is an ideal location of employment for our team and opportunity for industry and\n connecting with the local community.

\n

This business has helped financially support our staff team during the COVID crisis and has great potential as a retail shop, grocery outlet, fuel station, restaurant/café and point of sale for Beehive Services. We own the business (which is a\n Metro Franchise), including all shop fittings and equipment. We do not own the property or infrastructure. We have a 7-year lease agreement with Metro, which is renewable.

\n \"Photos\n
\n
\n\n
\n \"The\n

Details

\n

Pre-COVID the roadhouse would receive between 100 to 300 customers in a day.

\n

Next Steps

\n

Open cafe / restaurant.
- Replace dishwasher & oven
Re-modelling of inside and outside of facility [IN PROGRESS]
Explore Australia Post outlet/franchise
Utilise more space, extend grocery shop and health foods.
Promote Beehive\n Community Services and set up to take meal subscriptions.

\n
\n
\n\n
\n\n\n\n
\n
\n \"Beehive\n\n

Summary

\n\n

Our meals are ready-to-eat 100% plant-based. Individual one-off meals start at $11.25 with large weekly meal subscriptions bringing the price down to as little as $8 per meal.

\n\n

We have initially targetted hot or frozen/chilled meals to several outer-eastern suburbs of Melbourne.

\n\n

Research & Development

\n\n

We have researched various options of chilled boxes & bags, necessary for meal delivery expansion.

\n\n

Personnel

\n\n

The leaders in this service are our wonderful volunteers: Jessica Granger & Kayla Reay. They are supported by several others on the property who assist with meal preparation.

\n\n

Website

\n
\n \n
\n
\n \"\"\n \"\"\n
\n
\n
\n\n\n\n\n
\n
\n \"Beehive\n\n

Summary

\n\n

Firewood is a very successful winter industry for us. We delivered 108 cubic meters or more than 50 tons in 3 weeks.

\n\n

Once we have stock we usually sell out within a couple of days. Sourcing dry logs has been a challenge.

\n\n

Research & Development

\n\n

We have been researching options for sourcing large quantities of timber logs. We have exhausted many options but have some leads which we are following up on. We have considered a hydraulic wood splitting machine, but do not have need for\n this at the moment, while we have ample asisstance with splitting from the team here.

\n\n

Personnel

\n\n

The leaders in this service are our wonderful volunteers: Tim & Andy Hopkins. They are supported by several others on the property who assist with wood splitting and delivery.

\n\n

Next Step:

\n\n

Invest in a tipper-ute or small tipper-truck to enable delivery of larger quantities and safer deliveries.

\n\n
\n
\n \"\"\n
\n
\n
\n\n\n\n\n
\n
\n \"Beehive\n\n

Summary

\n\n

We are selling about 300 vegan, veggie-curry pies per month. There is potential to expand and develop this business further.

\n

\"This is the best pie I've ever had. Thank you!\" - Roadhouse Customer

\n\n

Research & Development

\n\n

We have put time into researching various aspects of pie production, mostly in two areas: Pastry making and shell and lid forming.

\n

We have purchased specialised pastry flour and vegan margarine (key ingredients to short-crust pastry) and have begun experimenting with making pastry.

\n

We are exploring this due to a nation-wide shortage of pastry post-COVID-19, and the difficulty in purchasing bulk vegan pastry at a good price.

\n

We have obtained quotes from different specialised pie-equipment manufactures with equipment ranging from $3k to $50k.

\n\n

Personnel

\n\n

The leaders in this service are our wonderful volunteers: Serah Roberts & Abby Placer.

\n\n

Next Step:

\n\n

Investing in a manually-operated pie-press enabling output of up to 1,000 pies per day.

\n

As the business grows we will consider building a baking facility with commercial semi-automatic pie equipment.

\n\n
\n
\n \"\"\n
\n
\n
\n \"\"\n
\n
\n
\n\n\n\n
\n
\n \"Beehive\n\n

Summary

\n\n

Under high-priority, we are preparing to launch \"Beehive Tree Services\", an arborist business to service most tree removal and maintenance needs.

\n

We have comissioned a professional logo, purchased a truck and chipper, and are working on a website, and promotion material. Beehive Tree Services will be operated by Harry Cole and Tim & Andy Hopkins. They have 15 years experience between\n them. Harry is fully-qualified and insured as an arborist and has been running a successful personal arborist business. The team is ready to go.

\n\n

Personnel

\n\n

The leaders in this service are: Harry Cole, Tim Hopkins, Andy Hopkins

\n\n

Website

\n
\n \n\n

Next Step:

\n\n

Launch Beehive Tree Services website. [DONE]

\n

Purchase truck and chipper. [DONE]

\n

Repair trucks/chippers, roadworthy. [IN PROGRESS]

\n

Advertise. [IN PROGRESS]

\n\n
\n
\n
\n\n\n\n
\n
\n \"Beehive\n\n

Summary

\n\n

When covid descended on the team, the garden was in sad neglect. Within a couple of weeks it underwent an incredible transformation.

\n

Now we are waiting for the plants to grow.

\n

A comprehensive crop plan is in place, with mentoring by Ian Mot, an Adventist soil scientist at Vital Soils (www.vitalsoils.com.au)

\n

Once produce is available we will promote home-delivered veggies, veggie-boxes, selling at markets, and at the roadhouse

\n\n

Personnel

\n\n

The leaders in this service are our wonderful volunteers: Ester Harmse & Beau Farawell.

\n\n

Next Step:

\n\n

Harvesting

\n

Marketing

\n

Further Agriculture and Development

\n\n
\n
\n
\n\n","import { Component, Inject, InjectionToken, OnInit, Optional, PLATFORM_ID, ViewChild } from '@angular/core';\nimport { StripeToken, StripeCard } from 'stripe-angular';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport { DonationPmtService } from '../../services/donationPmt.service';\nimport { FrequencyString, PersonType } from '../../services/DataStore';\nimport { DbService } from '../../services/db.service';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'app-donate',\n templateUrl: './donate.component.html',\n styleUrls: ['./donate.component.scss']\n})\nexport class DonateComponent implements OnInit {\n\n @Optional() @ViewChild('stripeCard') stripeCard!: StripeCard;\n\n cardToken!: StripeToken;\n invalidError: Error | undefined = undefined;\n donateForm: FormGroup | null = null;\n isBrowser: boolean;\n\n stripeOptions: any = {\n hidePostalCode: true,\n };\n\n isProcessing = false;\n\n presets = [50, 100, 250, 500, 1000, 2500, 5000, 10000];\n\n amount = 100;\n frequency: FrequencyString = 'onetime';\n\n roundUp = false;\n\n constructor(\n public snackBar: MatSnackBar,\n private payments: DonationPmtService,\n private db: DbService,\n private router: Router,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnInit(): void {\n this.donateForm = new FormGroup({\n\n first: new FormControl('', [Validators.required]),\n last: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.email]),\n comments: new FormControl('', []),\n\n });\n\n }\n\n onStripeError(error: Error): void {\n console.error('Stripe error', error, this.cardToken);\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.donateForm?.controls[controlName].hasError(errorName) || false;\n }\n\n scrollTo(el: Element): void {\n if (el) {\n el.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n scrollToError(): void {\n const firstElementWithError = document.querySelector('.ng-invalid:not(form)');\n if (firstElementWithError) {\n this.scrollTo(firstElementWithError);\n }\n }\n\n async scrollIfFormHasErrors(form: FormGroup): Promise {\n this.scrollToError();\n }\n\n handleStripeError(obj: any): boolean {\n\n if (obj.type === 'StripeCardError') {\n\n const Error = obj.raw;\n\n this.snackBar.open('Card Error: ' + Error.message, 'Dismiss', {\n duration: 12000,\n });\n\n return true;\n\n }\n return false;\n }\n\n touchForm(form: FormGroup): void {\n // touch all controls, so invalid fields are highlighted.\n Object.keys(form.controls).forEach(field => {\n const control = form.get(field);\n control?.markAsTouched({ onlySelf: true });\n });\n }\n\n getAmount(): number {\n return parseFloat((this.roundUp ? this.getRoundedUp() : this.amount).toFixed(2));\n }\n\n getRoundedUp(): number {\n return this.amount + (this.amount * 0.0185) + 0.3;\n }\n\n async continue(): Promise {\n\n if (!this.donateForm) {\n return;\n }\n\n const Form = this.donateForm.value;\n\n const First = Form.first;\n const Last = Form.last;\n const Email = Form.email;\n const Comments = Form.comments || '';\n\n if (this.isProcessing) {\n return;\n }\n\n this.isProcessing = true;\n\n if (!this.donateForm.valid) {\n this.touchForm(this.donateForm);\n this.scrollIfFormHasErrors(this.donateForm);\n\n this.snackBar.open('Please complete all required fields.', 'Dismiss', {\n duration: 6000,\n });\n\n this.isProcessing = false;\n\n return;\n }\n\n try {\n\n const CardToken = await this.stripeCard.createToken();\n\n if (CardToken) {\n\n if (this.frequency === 'monthly') {\n\n const requestForPersonData = {\n First,\n Last,\n Email,\n source: 'Madison',\n sendEmail: 'false'\n };\n\n const person = (\n await this.db.q('auth:GetPersonForDonation', requestForPersonData)\n ).Data as PersonType;\n\n const res: any = await this.payments.recurringDonation(\n CardToken,\n this.getAmount(),\n person.ID || '',\n Comments,\n );\n\n if (this.handleStripeError(res)) {\n this.isProcessing = false;\n return;\n }\n\n if (res.Success) {\n\n const ID = res.Donation.ID as string;\n\n requestForPersonData.sendEmail = 'true';\n await this.db.q('auth:GetPersonForDonation', requestForPersonData);\n\n this.router.navigateByUrl('/view-donation/' + ID);\n }\n\n this.isProcessing = false;\n\n } else {\n\n const res2: any = await this.payments.oneTime(\n CardToken,\n this.getAmount(),\n { First, Last, Email, },\n 'Madison',\n this.frequency,\n Comments\n );\n\n this.isProcessing = false;\n\n if (!this.handleStripeError(res2)) {\n\n if (res2.paid) {\n const ID = res2.DonationComplexID;\n this.router.navigateByUrl('/view-donation/' + ID);\n }\n\n // this.authService.person = res2['Person'] as PersonType;\n // this.MyPaymentSources = this.authService.person.StripeCustomer.sources.data;\n // this.selectedPaymentSource = this.utils.find(this.MyPaymentSources, 'id', CardToken.card.id);\n\n } else {\n\n this.isProcessing = false;\n return;\n\n }\n\n }\n\n } else {\n\n this.snackBar.open('Invalid payment details.', 'Dismiss', {\n duration: 6000,\n });\n\n this.isProcessing = false;\n return;\n\n }\n\n } catch (e) {\n\n this.isProcessing = false;\n\n if (e.message) {\n this.snackBar.open('ERROR: ' + e.message, 'Dismiss', {\n duration: 12000,\n });\n } else {\n this.snackBar.open('ERROR: Card error.', 'Dismiss', {\n duration: 12000,\n });\n }\n\n }\n\n }\n\n}\n","
\n

Choose a Donation Amount

\n\n
\n \n
\n\n
\n $\n \n
\n\n \n
\n Monthly recurring donation\n
\n
\n One-time donation\n
\n
\n\n

\n Round up my donation to {{ getRoundedUp() | currency }} so the processing fees are covered.\n

\n\n

Payment Information

\n\n
\n
PAY BY CREDIT CARD
\n
\n \n
\n
lock SSL Encrypted and Secure
\n
\n\n
\n\n
\n \n First Name\n \n First Name is required\n \n\n \n Last Name\n \n Last Name is required\n \n
\n\n \n Email Address\n \n Email is required\n Invalid email\n \n\n \n Comment\n \n \n\n \n\n
\n
","// service : route-events.service.ts\n\nimport { Injectable } from '@angular/core';\nimport { Router, RoutesRecognized } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\nimport { filter, pairwise } from 'rxjs/operators';\nimport { Location } from '@angular/common';\n\n@Injectable({ providedIn: 'root' })\nexport class RouteEventsService {\n\n // save the previous route\n public previousRoutePath = new BehaviorSubject('');\n public currentRoutePath = new BehaviorSubject('');\n\n constructor(\n private router: Router,\n private location: Location\n ) {\n\n // ..initial prvious route will be the current path for now\n this.previousRoutePath.next(this.location.path());\n\n console.log('in router events');\n\n // on every route change take the two events of two routes changed(using pairwise)\n // and save the old one in a behavious subject to access it in another component\n // we can use if another component like intro-advertise need the previous route\n // because he need to redirect the user to where he did came from.\n this.router.events.pipe(\n filter(e => e instanceof RoutesRecognized),\n pairwise(),\n )\n .subscribe((event: any[]) => {\n this.previousRoutePath.next(event[0].urlAfterRedirects);\n this.currentRoutePath.next(event[1].urlAfterRedirects);\n });\n\n }\n}\n","import { DbService } from './db.service';\nimport { AuthService } from './auth.service';\nimport { StripeCustomer, StripePmtSource } from './donationPmt.service';\nimport { of } from 'rxjs';\nimport { debounceTime, first } from 'rxjs/operators';\n\nexport function setTimeout$(cb: () => void, timer: number): void {\n of(true).pipe(debounceTime(timer), first()).subscribe(cb);\n}\n\ninterface DataStoreInterface {\n singletons: {\n [propName: string]: any\n };\n sets: {\n [propName: string]: Set;\n };\n db?: DbService;\n auth?: AuthService;\n lastPageUrl: string[];\n activeDomain?: string;\n}\n\nexport type BlogCategoryNames = 'Madison' | 'Beehive' | 'The Maker Heals' | 'Eastward';\n\nexport interface BlogCategory {\n color: string;\n txt?: string;\n rgb: string;\n image: string;\n}\n\ntype BlogCategories = {\n [key in BlogCategoryNames]: BlogCategory;\n};\n\nexport const CategoryMeta: BlogCategories = {\n Madison: {\n color: '#f36e21',\n rgb: 'rgba(243, 110, 33, 0.1)',\n image: 'https://cdn2.tda.website/beehive/20200820/Madison-dk-sq.svg',\n },\n Beehive: {\n color: '#f3bb19',\n txt: '#e8ad00',\n rgb: 'rgb(243, 187, 25, 0.07)',\n image: 'https://cdn2.tda.website/beehive/20200608/beehive-logo-dark-sq.svg',\n },\n 'The Maker Heals': {\n color: '#53875b',\n rgb: 'rgb(83, 135, 91, 0.07)',\n image: 'https://cdn2.tda.website/beehive/20200608/Hands.svg',\n },\n Eastward: {\n color: '#8dc63f',\n rgb: 'rgb(141, 198, 63, 0.1)',\n image: 'https://cdn2.tda.website/beehive/20200607/Eastward-sq.svg',\n },\n};\n\nexport const DataStore: DataStoreInterface = {\n singletons: {},\n sets: {},\n lastPageUrl: []\n};\n\nexport interface GenericRow {\n ID?: string;\n Owner?: string;\n OwnerObj?: PersonType;\n createdAt?: string;\n updatedAt?: string;\n __typename?: string;\n isCommon?: boolean;\n typeSuffix?: string;\n}\n\nexport type AllRowTypes = GenericRow | ImageType | AddressType | ImageSettingFavType | VideoType | InvoiceType;\n\nexport interface UploaderProgress {\n percent: number;\n done: boolean;\n}\n\nexport interface ImageType extends GenericRow {\n name: string;\n _Folder: string;\n path: string;\n width: number;\n height: number;\n host: string;\n uploader?: UploaderProgress;\n unsplash?: boolean;\n params?: string;\n}\n\nexport interface ImageSettingFavType extends GenericRow {\n name: string;\n values: { [key: string]: string | number };\n}\n\nexport interface FolderType extends GenericRow {\n parent: string;\n name: string;\n}\n\nexport interface PersonType extends GenericRow {\n First: string;\n Last: string;\n Email: string;\n Password: string;\n TopAdmin: boolean;\n Mobile: string;\n Avatar?: string;\n StripeCustomer?: StripeCustomer;\n Addresses?: AddressType[];\n Donations?: DonationType[];\n}\n\nexport interface AddressType extends GenericRow {\n name: string;\n mobile: string;\n instructions: string;\n address1: string;\n address2: string;\n suburb: string;\n postcode: string;\n state: string;\n}\n\n\nexport interface RecipeType extends GenericRow {\n name: string;\n image?: ImageType;\n description: string;\n ingredients?: string;\n allowedTemp: string;\n type: 'main' | 'dessert';\n}\n\nexport type BooleanString = 'true' | 'false';\n\nexport type FrequencyString = 'onetime' | 'monthly';\n\nexport interface DonationType extends GenericRow {\n DonationID: string;\n Amount: number;\n Recurring: BooleanString;\n First: string;\n Last: string;\n Email: string;\n Comments: string;\n CardBrand: string;\n CardExpMonth: number;\n CardExpYear: number;\n CardID: string;\n CardLast4: string;\n Person?: string;\n Frequency?: FrequencyString;\n Active?: BooleanString;\n Website: 'makerheals.org.au' | 'madison.org.au';\n}\n\nexport interface StaffAppUserType extends GenericRow {\n Name: string;\n Email: string;\n Phone: string;\n Role: 'admin' | 'staff';\n Image?: string;\n Bio?: string;\n}\n\nexport interface MadisonBlogPostType extends GenericRow {\n Title?: string;\n Category: BlogCategoryNames;\n Content?: string;\n ContentHTML?: string;\n Owner?: string;\n Images?: string[];\n Videos?: VideoType[];\n CreatedAt?: string;\n UpdatedAt?: string;\n CallToActionTitle?: string;\n CallToActionLink?: string;\n Likes?: number;\n Views?: number;\n Comments?: number;\n isAdvert?: boolean;\n advertIcon?: string;\n authorObj?: StaffAppUserType;\n}\n\nexport type NotificationFrequency = 'Daily' | 'Weekly' | 'Fortnightly' | 'Monthly' | null;\n\nexport interface NotificationPrefType extends GenericRow {\n Frequency: NotificationFrequency;\n MuteComments: boolean;\n Unsubscribed: boolean;\n}\n\n\ntype MuxStati = 'preparing' | 'ready' | 'errored';\ntype MuxPolicy = 'public' | 'signed';\ntype MuxAccess = 'temporary' | 'none';\ntype MP4Support = 'standard' | 'none';\ntype MuxResolution = 'Audio-only' | 'SD' | 'HD' | 'FHD' | 'UHD';\n\nexport interface VideoType extends GenericRow {\n Title: string;\n Identifier: string;\n path: string;\n MuxID?: string;\n MuxStatus?: MuxStati;\n PlaybackIDs?: MuxPlaybackID[];\n MuxTracks?: MuxTrack[];\n Duration?: number;\n MaxResolution?: MuxResolution;\n GifStartTime?: number;\n ThumbStartTime?: number;\n}\n\nexport interface MuxTrack {\n duration: number;\n id: string;\n type: 'video' | 'audio' | 'text';\n max_frame_rate?: number;\n max_height?: number;\n max_width?: number;\n max_channel_layout?: 'mono' | 'stereo' | '5.1' | '7.1';\n max_channels?: number;\n}\n\nexport interface MuxResType {\n created_at: string;\n id: string;\n master_access: MuxAccess;\n mp4_support: MP4Support;\n status: MuxStati;\n playback_ids: MuxPlaybackID[];\n max_stored_frame_rate?: number;\n max_stored_resolution?: MuxResolution;\n duration?: number;\n aspect_ratio?: string;\n tracks?: MuxTrack[];\n}\n\nexport interface MuxPlaybackID {\n id: string;\n policy: MuxPolicy;\n}\n\nexport interface BlogCommentType extends GenericRow {\n Key: string;\n Time: number;\n TXT: string;\n Likes?: number;\n ParentComment?: string;\n Deleted?: BooleanString;\n TabIndex?: number;\n}\n\nexport interface BlogLikeType extends GenericRow {\n ID: string;\n Key: string;\n Owner: string;\n CreatedAt: string;\n UpdatedAt: string;\n}\n\nexport interface BlogCommentsFor {\n Key: string;\n for: 'blog' | 'other';\n}\n\nexport type InvoiceStatiType = 'Pending' | 'Complete' | 'Paid' | 'Delivered' | 'Cancelled' | 'Refunded';\n\nexport interface InvoiceType extends GenericRow {\n InvoiceID: string;\n Person: string;\n Address: AddressType;\n PaymentSource: StripePmtSource;\n Total: number;\n Tax: number;\n Paid: boolean;\n Status: InvoiceStatiType;\n Template?: 'Eastward' | 'Beehive' | 'Madison';\n}\n\nexport interface InvoiceRowType extends GenericRow {\n Invoice: string;\n ProductID: string;\n Description: string;\n Quantity: number;\n Amount: number;\n Tax: number;\n Sort?: number;\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AccountPaymentSourcesComponent } from './components/account/account-payment-sources/account-payment-sources.component';\nimport { AccountPersonalDetailsComponent } from './components/account/account-personal-details/account-personal-details.component';\nimport { AccountComponent } from './components/account/account.component';\nimport { OpenNewsPostComponent } from './components/open-news-post/open-news-post.component';\nimport { OpenPostImageComponent } from './components/open-post-image/open-post-image.component';\nimport { ActivityStreamComponent } from './screens/activity-stream/activity-stream.component';\nimport { AllPostsComponent } from './screens/all-posts/all-posts.component';\nimport { AmbassadorsComponent } from './screens/ambassadors/ambassadors.component';\nimport { LoginComponent } from './screens/auth/login/login.component';\nimport { RecoverPwdComponent } from './screens/auth/recover-pwd/recover-pwd.component';\nimport { ResetPwdComponent } from './screens/auth/reset-pwd/reset-pwd.component';\nimport { SignupComponent } from './screens/auth/signup/signup.component';\nimport { ContactUsComponent } from './screens/contact-us/contact-us.component';\nimport { DonationReceiptComponent } from './screens/donation-receipt/donation-receipt.component';\nimport { LightOnAHillCampMeetingComponent } from './screens/events/light-on-a-hill-camp-meeting/light-on-a-hill-camp-meeting.component';\nimport { HomeComponent } from './screens/home/home.component';\nimport { MoreBusinessInfoComponent } from './screens/more-business-info/more-business-info.component';\nimport { MyNotificationsComponent } from './screens/my-notifications/my-notifications.component';\nimport { Page404Component } from './screens/page404/page404.component';\nimport { PrivacyPolicyComponent } from './screens/privacy-policy/privacy-policy.component';\nimport { SupportComponent } from './screens/support/support.component';\nimport { ViewPostComponent } from './screens/view-post/view-post.component';\nimport { VisionComponent } from './screens/vision/vision.component';\nimport { ZoomQaComponent } from './screens/zoom-qa/zoom-qa.component';\nimport { AuthGuardService } from './services/auth-guard.service';\n\nconst routes: Routes = [\n {\n path: '',\n component: HomeComponent,\n children: [\n {\n path: 'news-post/:id',\n component: OpenNewsPostComponent,\n children: [\n {\n path: 'image',\n component: OpenPostImageComponent,\n outlet: 'imageRouter',\n },\n ],\n },\n ],\n },\n\n {\n path: 'vision',\n component: VisionComponent,\n },\n { path: 'business', component: MoreBusinessInfoComponent },\n { path: 'view-donation/:id', component: DonationReceiptComponent },\n { path: 'Ambassadors', component: AmbassadorsComponent },\n {\n path: 'stream',\n component: ActivityStreamComponent,\n children: [\n {\n path: 'news-post/:id',\n component: OpenNewsPostComponent,\n children: [\n {\n path: 'image',\n component: OpenPostImageComponent,\n outlet: 'imageRouter',\n },\n ],\n },\n ],\n },\n { path: 'all-posts', component: AllPostsComponent },\n { path: 'view-post/:id', component: ViewPostComponent },\n\n { path: 'Light-on-a-Hill-Camp-Meeting', component: LightOnAHillCampMeetingComponent },\n { path: 'contact', component: ContactUsComponent },\n { path: 'zoom-q-and-a', component: ZoomQaComponent },\n { path: 'support', component: SupportComponent },\n {\n path: 'my-account',\n component: AccountComponent,\n canActivate: [AuthGuardService],\n },\n {\n path: 'my-notifications',\n component: MyNotificationsComponent,\n canActivate: [AuthGuardService],\n },\n {\n path: 'my-account/all-payment-sources',\n component: AccountPaymentSourcesComponent,\n canActivate: [AuthGuardService],\n },\n {\n path: 'my-account/edit-details',\n component: AccountPersonalDetailsComponent,\n canActivate: [AuthGuardService],\n },\n\n { path: 'login', component: LoginComponent },\n { path: 'recover-pwd', component: RecoverPwdComponent },\n { path: 'reset-pwd', component: ResetPwdComponent },\n { path: 'signup', component: SignupComponent },\n { path: 'pp', component: PrivacyPolicyComponent },\n\n { path: '**', component: Page404Component },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n initialNavigation: 'enabled',\n scrollPositionRestoration: 'enabled',\n })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { AddressType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-account-personal-details',\n templateUrl: './account-personal-details.component.html',\n styleUrls: ['./account-personal-details.component.scss']\n})\nexport class AccountPersonalDetailsComponent implements OnInit {\n\n addressForm: FormGroup | null = null;\n isProcessing = false;\n MyAddresses: AddressType[] = [];\n AddAddress = false;\n Editing = false;\n EditingAdr: AddressType | null = null;\n\n constructor(\n private utils: UtilsService,\n private db: DbService,\n public snackBar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n\n this.db.list('Address').then(AddressSet => {\n this.MyAddresses = Array.from(AddressSet);\n });\n\n this.addressForm = new FormGroup({\n\n name: new FormControl('', [Validators.required]),\n mobile: new FormControl('', [Validators.required]),\n instructions: new FormControl('', []),\n address1: new FormControl('', [Validators.required]),\n address2: new FormControl(''),\n suburb: new FormControl('', [Validators.required]),\n postcode: new FormControl('', [Validators.required]),\n state: new FormControl('VIC'),\n\n });\n\n }\n\n async edit(adr: AddressType): Promise {\n if (!this.addressForm) {\n return;\n }\n this.Editing = true;\n this.EditingAdr = adr;\n this.addressForm.controls.instructions.setValue(adr.instructions);\n this.addressForm.controls.name.setValue(adr.name);\n this.addressForm.controls.mobile.setValue(adr.mobile);\n this.addressForm.controls.address1.setValue(adr.address1);\n this.addressForm.controls.address2.setValue(adr.address2);\n this.addressForm.controls.suburb.setValue(adr.suburb);\n this.addressForm.controls.state.setValue(adr.state);\n this.addressForm.controls.postcode.setValue(adr.postcode);\n this.AddAddress = true;\n }\n\n async delete(adr: AddressType): Promise {\n if (confirm('Delete address?')) {\n const res = await this.db.delete(adr);\n if (res) {\n this.utils.delete(this.MyAddresses, adr);\n this.snackBar.open('Address deleted.', 'Dismiss', {\n duration: 6000,\n });\n }\n }\n }\n\n cancel(): void {\n this.AddAddress = false;\n this.Editing = false;\n this.EditingAdr = null;\n this.addressForm?.reset();\n }\n\n async save(): Promise {\n\n if (!this.addressForm) {\n return;\n }\n\n if (!this.addressForm.valid) {\n this.touchForm(this.addressForm);\n this.scrollIfFormHasErrors(this.addressForm);\n\n this.snackBar.open('Please complete all required fields.', 'Dismiss', {\n duration: 6000,\n });\n\n return;\n }\n\n let Adr: AddressType;\n let AdrValue: any;\n\n AdrValue = this.addressForm.value;\n\n if (this.Editing && this.EditingAdr) {\n\n Adr = this.EditingAdr;\n Adr.name = AdrValue.name;\n Adr.mobile = this.utils.normalizeMobile(AdrValue.mobile);\n Adr.instructions = AdrValue.instructions;\n Adr.address1 = AdrValue.address1;\n Adr.address2 = AdrValue.address2;\n Adr.postcode = AdrValue.postcode;\n Adr.state = AdrValue.state;\n Adr.suburb = AdrValue.suburb;\n\n } else {\n\n Adr = {\n name: AdrValue.name,\n mobile: this.utils.normalizeMobile(AdrValue.mobile),\n instructions: AdrValue.instructions,\n address1: AdrValue.address1,\n address2: AdrValue.address2,\n postcode: AdrValue.postcode,\n state: AdrValue.state,\n suburb: AdrValue.suburb,\n };\n\n }\n\n await this.db.put('Address', Adr).then(\n (res) => {\n if (res) {\n const AddressObj = res as AddressType;\n if (!this.Editing) {\n this.MyAddresses.push(AddressObj);\n }\n }\n });\n\n this.snackBar.open('Address saved.', 'Dismiss', {\n duration: 6000,\n });\n\n this.addressForm.reset();\n\n this.AddAddress = false;\n this.Editing = false;\n this.EditingAdr = null;\n\n }\n\n\n\n public hasError = (controlName: string, errorName: string) => {\n if (this.addressForm) {\n return this.addressForm.controls[controlName].hasError(errorName);\n } else {\n return false;\n }\n }\n\n scrollTo(el: Element): void {\n if (el) {\n el.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n scrollToError(): void {\n const firstElementWithError = document.querySelector('.ng-invalid:not(form)');\n if (firstElementWithError) {\n this.scrollTo(firstElementWithError);\n }\n }\n\n async scrollIfFormHasErrors(form: FormGroup): Promise {\n this.scrollToError();\n }\n\n touchForm(form: FormGroup): void {\n // touch all controls, so invalid fields are highlighted.\n Object.keys(form.controls).forEach(field => {\n const control = form.get(field);\n if (control) {\n control.markAsTouched({ onlySelf: true });\n }\n });\n }\n\n}\n","\n\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n\n

{{ (Editing ? 'Edit' : 'Add') + ' Address' }}

\n\n \n \n Name is required\n \n\n \n \n Mobile is required\n \n\n \n \n \n\n \n Address line 1\n \n Address is required\n \n\n \n Address line 2\n \n \n\n \n Suburb\n \n Suburb is required\n \n\n \n State\n \n VIC\n NSW\n WA\n TAS\n QLD\n SA\n ACT\n NT\n \n \n\n \n \n Postcode is required\n \n\n
\n\n
\n \n \n \n
\n
","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n platformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n});\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}