{ "version": 3, "sources": ["src/app/calendar/components/timeslot-partner-item/timeslot-partner-item.component.ts", "src/app/calendar/components/timeslot-partner-item/timeslot-partner-item.component.html"], "sourcesContent": ["import { CommonModule } from '@angular/common'\nimport { Component, Input, OnInit } from '@angular/core'\nimport { SafeResourceUrl } from '@angular/platform-browser'\nimport { RouterModule } from '@angular/router'\nimport { SessionActivityType } from '@app/core/_models'\nimport { AnalyticsService } from '@app/core/_services/analytics.service'\nimport { TimeUtilitiesService } from '@app/core/_services/time-utilities.service'\nimport { UserDateFormattingService } from '@app/core/_services/user-date-formatting.service'\nimport { UserService } from '@app/core/_services/user.service'\nimport { SharedModule } from '@app/shared/shared.module'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { faAddressCard } from '@fortawesome/pro-regular-svg-icons'\n\nconst NEW_USER = 'New!'\nconst ONE_MINUTE = 60000\n\n@Component({\n selector: 'app-timeslot-partner-item',\n imports: [CommonModule, SharedModule, RouterModule, FontAwesomeModule],\n templateUrl: './timeslot-partner-item.component.html',\n styleUrls: ['./timeslot-partner-item.component.scss'],\n})\nexport class TimeslotPartnerItemComponent implements OnInit {\n @Input() displayName: string | null = null\n @Input() saved: boolean = false\n @Input() profileImage: string | null = null\n @Input() profileUrl: string | null = null\n @Input() totalSessions: number = 0\n @Input() sharedSessions: number = 0\n @Input() lastSessionTogether: number | null = null\n @Input() timezone: string | null = null\n @Input() isCommunityMember: boolean = false\n @Input() snoozed: boolean = false\n @Input() snoozeTooltip: string | null = null\n @Input() selected: boolean = false\n @Input() currentUserTimezone: string = ''\n @Input() activityType: SessionActivityType | null = null\n @Input() quietMode: boolean = false\n\n public faAddressCard = faAddressCard\n public faGlobe\n public sessionsInfo: string\n public lastMet: string\n public timezoneAndTime: string\n public profileLink: SafeResourceUrl\n private timeoutId: any\n\n constructor(\n private analyticsService: AnalyticsService,\n private timeUtilitiesService: TimeUtilitiesService,\n public userService: UserService,\n private dateFormat: UserDateFormattingService,\n ) {}\n\n ngOnInit(): void {\n this.buildSessionInfo()\n this.buildLastMetInfo()\n this.buildProfileLink()\n this.buildTimeAndZoneInfo()\n this.determineGlobeIconToUser()\n }\n\n buildSessionInfo() {\n if (!this.totalSessions) {\n this.sessionsInfo = NEW_USER\n } else if (this.totalSessions === 1) {\n this.sessionsInfo = '1 session'\n } else {\n this.sessionsInfo = `${this.totalSessions} sessions`\n }\n if (this.sharedSessions && this.sharedSessions > 0) {\n this.sessionsInfo = `${this.sessionsInfo} · ${this.sharedSessions} together`\n }\n }\n\n buildLastMetInfo() {\n if (this.lastSessionTogether) {\n this.lastMet = this.dateFormat.generateLastMetString(this.lastSessionTogether)\n }\n }\n\n buildProfileLink() {\n if (this.profileUrl) {\n this.profileLink = `/user/${this.profileUrl}`\n }\n }\n\n buildTimeAndZoneInfo() {\n if (this.timezone) {\n this.timezoneAndTime = `${this.timezone} · ${this.dateFormat.formatNow('h:mma', this.timezone)}`\n }\n this.trackTime()\n }\n\n private trackTime() {\n let now = new Date()\n let delay = ONE_MINUTE - now.getSeconds() * 1000\n\n this.timeoutId = setTimeout(() => {\n if (this.timezone) {\n this.buildTimeAndZoneInfo()\n }\n }, delay)\n }\n\n private determineGlobeIconToUser() {\n // Show the cummonity globe if now user to show\n if (this.isCommunityMember) {\n this.profileImage = null\n this.faGlobe = this.timeUtilitiesService.determineGlobeIconFromTimezone(\n this.currentUserTimezone,\n )\n }\n }\n\n trackUserProfileSelected() {\n this.analyticsService.logClickedEvent('User', 'Timeslot Partners: List Item')\n }\n\n ngOnDestroy() {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId)\n }\n }\n}\n", "
\n \n \n
\n
\n @if (quietMode) {\n \n }\n {{ displayName }}\n
\n
\n {{ sessionsInfo }}\n
\n
{{\n lastMet\n }}
\n
{{ timezoneAndTime }}
\n
\n \n
\n
\n Focusmate community\n
\n
\n We’ll randomly match you with a Focusmate\n community member\n
\n
\n
\n
\n \n\n \n \n \n
\n
\n"], "mappings": "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", "names": ["\u0275\u0275element", "\u0275\u0275propertyInterpolate1", "ctx_r0", "displayName", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "lastMet", "\u0275\u0275template", "TimeslotPartnerItemComponent_div_2_Conditional_2_Template", "TimeslotPartnerItemComponent_div_2_div_6_Template", "\u0275\u0275conditional", "quietMode", "\u0275\u0275textInterpolate1", "sessionsInfo", "\u0275\u0275property", "timezoneAndTime", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "trackUserProfileSelected", "profileLink", "faAddressCard", "NEW_USER", "ONE_MINUTE", "TimeslotPartnerItemComponent", "constructor", "analyticsService", "timeUtilitiesService", "userService", "dateFormat", "saved", "profileImage", "profileUrl", "totalSessions", "sharedSessions", "lastSessionTogether", "timezone", "isCommunityMember", "snoozed", "snoozeTooltip", "selected", "currentUserTimezone", "activityType", "ngOnInit", "buildSessionInfo", "buildLastMetInfo", "buildProfileLink", "buildTimeAndZoneInfo", "determineGlobeIconToUser", "generateLastMetString", "formatNow", "trackTime", "delay", "Date", "getSeconds", "timeoutId", "setTimeout", "faGlobe", "determineGlobeIconFromTimezone", "logClickedEvent", "ngOnDestroy", "clearTimeout", "\u0275\u0275directiveInject", "AnalyticsService", "TimeUtilitiesService", "UserService", "UserDateFormattingService", "selectors", "inputs", "decls", "vars", "consts", "template", "rf", "ctx", "TimeslotPartnerItemComponent_div_2_Template", "TimeslotPartnerItemComponent_ng_template_3_Template", "\u0275\u0275templateRefExtractor", "TimeslotPartnerItemComponent_a_7_Template", "\u0275\u0275pureFunction1", "_c0", "communityMember_r3", "CommonModule", "NgClass", "NgIf", "SharedModule", "RouterLink", "FaIconComponent", "ProfileImageComponent", "ActivityTypeIconComponent", "QuietModeIconComponent", "RouterModule", "FontAwesomeModule", "styles", "_TimeslotPartnerItemComponent"] }