{"version":3,"sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/_helpers/auth.guard.service.ts","./src/app/_helpers/auth.interceptor.ts","./src/app/_helpers/error.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.constants.ts","./src/app/app.module.ts","./src/app/auth/auth.module.ts","./src/app/auth/components/email-send/email-send.component.ts","./src/app/auth/components/email-send/email-send.component.html","./src/app/auth/components/forgot-password/forgot-password.component.ts","./src/app/auth/components/forgot-password/forgot-password.component.html","./src/app/auth/components/login/login.component.ts","./src/app/auth/components/login/login.component.html","./src/app/auth/components/privacy-policy/privacy-policy.component.ts","./src/app/auth/components/privacy-policy/privacy-policy.component.html","./src/app/auth/components/reset-password/reset-password.component.ts","./src/app/auth/components/reset-password/reset-password.component.html","./src/app/auth/components/signup/signup.component.ts","./src/app/auth/components/signup/signup.component.html","./src/app/auth/components/splash-screen/splash-screen.component.ts","./src/app/auth/components/splash-screen/splash-screen.component.html","./src/app/auth/components/term-condition/term-condition.component.ts","./src/app/auth/components/term-condition/term-condition.component.html","./src/app/auth/services/auth.service.ts","./src/app/dashboard/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard/dashboard.component.html","./src/app/dashboard/services/dashboard.service.ts","./src/app/edit-profile/edit-profile.component.ts","./src/app/edit-profile/edit-profile.component.html","./src/app/shared/bandcamp/bandcamp.component.html","./src/app/shared/bandcamp/bandcamp.component.ts","./src/app/shared/dynamic-profile/dynamic-profile.component.ts","./src/app/shared/dynamic-profile/dynamic-profile.component.html","./src/app/shared/header/header.component.ts","./src/app/shared/header/header.component.html","./src/app/shared/layout/layout.component.ts","./src/app/shared/layout/layout.component.html","./src/app/shared/photo-album/photo-album-slider.component.ts","./src/app/shared/photo-album/photo-album.component.ts","./src/app/shared/photo-album/photo-album.component.html","./src/app/shared/pipes/click-stop-propagtion.ts","./src/app/shared/pipes/fliter-friends.ts","./src/app/shared/pipes/html-to-text.pipe.ts","./src/app/shared/pipes/local-date.pipe.ts","./src/app/shared/pipes/safe-html.pipe.ts","./src/app/shared/pipes/safe-url.pipe.ts","./src/app/shared/pipes/safe.pipe.ts","./src/app/shared/privacy/privacy.component.html","./src/app/shared/privacy/privacy.component.ts","./src/app/shared/profile-friends-list/profile-friends-list.component.html","./src/app/shared/profile-friends-list/profile-friends-list.component.ts","./src/app/shared/register-playlist/register-playlist.component.ts","./src/app/shared/register-playlist/register-playlist.component.html","./src/app/shared/services/header.service.ts","./src/app/shared/services/session.service.ts","./src/app/shared/services/shared.service.ts","./src/app/shared/settingsprivacy/privacysetting.component.html","./src/app/shared/settingsprivacy/privacysetting.component.ts","./src/app/shared/shared-routing.module.ts","./src/app/shared/shared.module.ts","./src/app/shared/sidebar/sidebar.component.html","./src/app/shared/sidebar/sidebar.component.ts","./src/app/shared/soundcloud/soundcloud.component.html","./src/app/shared/soundcloud/soundcloud.component.ts","./src/app/shared/spotify-auth-redirect/spotify-auth-redirect.component.ts","./src/app/shared/spotify-auth-redirect/spotify-auth-redirect.component.html","./src/app/shared/spotify-cards/spotify-cards.component.ts","./src/app/shared/spotify-cards/spotify-cards.component.html","./src/app/shared/spotify-view/spotify-view.component.ts","./src/app/shared/spotify-view/spotify-view.component.html","./src/app/shared/spotify/spotify.component.ts","./src/app/shared/spotify/spotify.component.html","./src/app/shared/suggestions/suggestions-card-component.html","./src/app/shared/suggestions/suggestions-card-component.ts","./src/app/shared/term/term.component.html","./src/app/shared/term/term.component.ts","./src/app/shared/update-city/update-city.component.ts","./src/app/shared/update-city/update-city.component.html","./src/app/shared/update-cover/update-cover.component.ts","./src/app/shared/update-cover/update-cover.component.html","./src/app/shared/update-gener/update-gener.component.ts","./src/app/shared/update-gener/update-gener.component.html","./src/app/shared/update-profile/update-profile.component.ts","./src/app/shared/update-profile/update-profile.component.html","./src/app/shared/updated-invitation-code/updated-invitation-code.component.ts","./src/app/shared/updated-invitation-code/updated-invitation-code.component.html","./src/app/shared/updated-mob-num/updated-mob-num.component.ts","./src/app/shared/updated-mob-num/updated-mob-num.component.html","./src/app/shared/youtube-cards/youtube-cards.component.ts","./src/app/shared/youtube-cards/youtube-cards.component.html","./src/app/shared/youtube/youtube.component.html","./src/app/shared/youtube/youtube.component.ts","./src/app/views/home/home.service.ts","./src/app/views/messages/messages.service.ts","./src/app/views/notifications/notifications.service.ts","./src/app/views/profile/profile.service.ts","./src/app/views/registration-part/services/registration.service.ts","./src/app/views/registration-part/services/url.service.ts","./src/app/views/search-result/search-result.service.ts","./src/app/views/settings/settings.service.ts","./src/app/views/view-profile/view-profile.service.ts","./src/app/views/views.component.ts","./src/environments/environment.ts","./src/main.ts","/codebuild/output/src3933968343/src/IndieTown-WebApp-STG/node_modules/moment/locale|sync|/^\\.\\/.*$/"],"names":[],"mappings":"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KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0B","file":"main-es2015.js","sourcesContent":["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;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nimport { AuthService } from '../auth/services/auth.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n authService;\n router;\n constructor(authService: AuthService, router: Router) {\n this.authService = authService;\n this.router = router;\n }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ) {\n const currentUser = this.authService.currentUserValue;\n if (currentUser) {\n return true;\n };\n\n this.authService.logout().subscribe();\n\n // not logged in so redirect to login page \n this.router.navigate(['auth', 'login']);\n return false;\n }\n}","import { Injectable, OnInit } from \"@angular/core\";\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse } from '@angular/common/http';\nimport { AuthService } from '../auth/services/auth.service';\nimport { Observable } from 'rxjs';\nimport { Router } from \"@angular/router\";\nimport { tap } from 'rxjs/operators';\nimport { ToastrService } from \"ngx-toastr\";\n\n\n\n@Injectable()\n\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(\n private authService: AuthService,\n private router: Router,\n private toastrService: ToastrService\n\n ) { }\n\n currentUser:any;\n\n\n ngOnInit(): void {\n this.currentUser = this.authService.currentUserValue;\n }\n\n \n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n const currentUser = this.authService.currentUserValue;\n const basicAuthCredsBase64 = this.authService.basicAuthCredsBase64;\n if(currentUser){\n request = request.clone({\n setHeaders: {\n 'Authorization': currentUser.token\n //accessToken:\"Bearer \"+currentUser.token\n }\n })\n }\n\n // request = request.clone({ headers: request.headers.append('Authorization', \"Basic \"+basicAuthCredsBase64) });\n\n return next.handle(request).pipe(\n tap(\n event => {\n if (event instanceof HttpResponse) {\n if (event.body.status == 401) {\n if(event.body.error.errorCode == 44){\n this.router.navigate(['/auth/login']);\n this.toastrService.error(\"Session expired please re-login again\");\n }else{\n this.router.navigate(['/auth/login']);\n this.toastrService.error('Invalid email or password');\n }\n }\n }\n },\n error => {\n if (error.status == 503) {\n if (error.error.errorCode == 101 || error.error.errorCode == 102 || error.error.errorCode == 104) {\n if (error.error.errorCode == 101) {\n this.router.navigate(['/auth/login']);\n this.toastrService.error('You are already logged in with different device');\n }\n this.toastrService.error('You are already logged in with different device');\n this.router.navigate(['/auth/login']);\n \n }\n\n } \n if(error.status == 0 && error.statusText.includes('Unknown Error')){\n console.log(\"Server Unreachable i\");\n this.toastrService.error(\"Something went wrong\");\n }\n // else if (error.status == 403) {\n // this.toastrService.error(error.error.message);\n // this.router.navigate(['/auth/login']);\n // } \n \n // else if (error.status == 500) {\n // this.toastrService.error(error.error.message);\n // } \n // else{\n // this.router.navigate(['/auth/login']);\n // }\n // else {\n // this.toastrService.error('You are already logged in with different device');\n // this.router.navigate(['/auth/login']);\n // }\n }\n )\n );\n }\n}","export const error = {\n err: 'Something went wrong'\n}","import { NgModule } from \"@angular/core\";\nimport { Routes, RouterModule } from \"@angular/router\";\nimport { LoginComponent } from \"./auth/components/login/login.component\";\nimport { EditProfileComponent } from \"./edit-profile/edit-profile.component\";\nimport { ViewsComponent } from \"./views/views.component\";\nimport { AuthGuard } from \"./_helpers/auth.guard.service\";\n\nconst routes: Routes = [\n {\n path: \"auth\",\n loadChildren: () => import(\"./auth/auth.module\").then((m) => m.AuthModule),\n },\n\n { path: \"\", redirectTo: \"auth\", pathMatch: \"full\" },\n {\n path: \"edit-profile\",\n component: EditProfileComponent,\n },\n {\n path: \"\",\n component: ViewsComponent,\n canActivate: [AuthGuard],\n children: [\n { path: \"change-password\", component: EditProfileComponent },\n\n {\n path: \"user\",\n loadChildren: () =>\n import(\"./dashboard/dashboard.module\").then((m) => m.DashboardModule),\n },\n\n\n\n {\n path: \"analytics-dashboard\",\n loadChildren: () =>\n import(\"../app/dashboard/dashboard.module\").then(\n (m) => m.DashboardModule\n )\n },\n\n {\n path: \"home\",\n loadChildren: () =>\n import(\"./views/home/home.module\").then(\n (m) => m.HomeModule\n ),\n },\n\n {\n path: \"notifications\",\n loadChildren: () =>\n import(\"./views/notifications/notifications.module\").then(\n (m) => m.NotificationsModule\n ),\n },\n\n {\n path: \"settings\",\n loadChildren: () =>\n import(\"./views/settings/settings.module\").then(\n (m) => m.SettingsModule\n ),\n },\n\n {\n path: \"profile\",\n loadChildren: () =>\n import(\"./views/profile/profile.module\").then(\n (m) => m.ProfileModule\n ),\n },\n\n {\n path: \"messages\",\n loadChildren: () =>\n import(\"./views/messages/messages.module\").then(\n (m) => m.MessagesModule\n ),\n },\n\n\n {\n path: \"register\",\n loadChildren: () =>\n import(\"./views/registration-part/registration-part.module\").then(\n (m) => m.RegistrationPartModule\n ),\n },\n\n {\n path: \"search-result\",\n loadChildren: () =>\n import(\"./views/search-result/search-result.module\").then(\n (m) => m.SearchResultModule\n ),\n },\n\n {\n path: \"view-profile\",\n loadChildren: () =>\n import(\"./views/view-profile/view-profile.module\").then(\n (m) => m.ViewProfileModule\n ),\n },\n\n ],\n },\n // { path: '**', redirectTo: '', pathMatch: 'full' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: \"legacy\" })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Component } from '@angular/core';\nimport { ConnectionService } from 'ng-connection-service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from './auth/services/auth.service';\nimport { OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'Riyadh-Seasons-admin';\n status = 'ONLINE';\n isConnected = true;\n\n currentUser:any;\n\n ngOnInit(): void {\n this.currentUser = this.authService.currentUserValue;\n }\n constructor(\n private connectionService: ConnectionService,\n private toastrService: ToastrService,\n private authService: AuthService\n ) {\n this.connectionService.monitor().subscribe(isConnected => {\n this.isConnected = isConnected;\n if (this.isConnected) {\n this.status = \"ONLINE\";\n }\n else {\n this.status = \"OFFLINE\";\n this.authService.logout(this.currentUser._id);\n this.toastrService.error('Connection Lost');\n }\n })\n }\n}\n","
\n \n \n
","export class AnalyticsEvents {\n public static SCREEN_VISITED = 'Screen_Visited';\n public static LOGIN = 'log_in';\n public static LOGOUT = 'log_out';\n public static DELETE_ACCOUNT = 'delete_account'; // NOT USING CURRENTLY\n}\n\n// Screen Visited Constants\n// SV -> Screen Visited\nexport class SVConstants {\n\n public static home = \"Home Screen\";\n\n public static messages = \"Messages Screen\";\n\n public static notifications = \"Notifications Screen\";\n\n public static profile = \"Profile Screen\";\n\n public static settings = \"Settings Screen\";\n\n // public static comments = \"Comments Screen\";\n\n // public static likes = \"Likes Screen\";\n\n // public static suggestions = \"Suggestions Screen\";\n\n // public static search = \"Search Screen\";\n\n // public static createPost = \"CreatePost Screen\";\n\n // public static createShow = \"CreateShow Screen\";\n\n // public static chat = \"Chat Screen\";\n\n // public static newMessages = \"NewMessages Screen\";\n \n // public static othersProfile = \"OthersProfile Screen\";\n\n // public static editProfile = \"EditProfile Screen\";\n\n // public static spotify = \"SpotifyList Screen\";\n\n // public static youtube = \"YoutubeList Screen\";\n\n // public static bandcamp = \"BandcampList Screen\";\n\n // public static soundcloud = \"SoundCloudList Screen\";\n\n // public static spotifyPlayer = \"SpotifyPlayer Screen\";\n\n // public static bandcampPlayer = \"BandcampPlayer Screen\";\n\n // public static soundcloudPlayer = \"SoundCloudPlayer Screen\"; \n\n}","import { BrowserModule } from \"@angular/platform-browser\";\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\n\nimport { ImageCropperModule } from \"ngx-image-cropper\";\nimport { CommonModule } from \"@angular/common\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\nimport { ToastrModule } from \"ngx-toastr\";\nimport { NgHttpLoaderModule } from \"ng-http-loader\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { ModalModule } from \"ngx-bootstrap/modal\";\nimport { CustomFormsModule } from \"ng2-validation\";\n\nimport { NgxSliderModule } from \"@angular-slider/ngx-slider\";\n\nimport { AppRoutingModule } from \"./app-routing.module\";\nimport { AuthModule } from \"./auth/auth.module\";\nimport { SharedModule } from \"./shared/shared.module\";\n\nimport { AppComponent } from \"./app.component\";\nimport { AuthInterceptor } from \"./_helpers/auth.interceptor\";\nimport { AuthService } from \"./auth/services/auth.service\";\nimport { SharedService } from \"./shared/services/shared.service\";\nimport { ViewsComponent } from \"./views/views.component\";\nimport { AuthGuard } from \"./_helpers/auth.guard.service\";\nimport { EditProfileComponent } from \"./edit-profile/edit-profile.component\";\nimport { SessionService } from \"./shared/services/session.service\";\nimport { SocketIoModule, SocketIoConfig } from \"ngx-socket-io\";\nimport { environment } from \"src/environments/environment\";\nimport { NgxIntlTelInputModule } from \"ngx-intl-tel-input\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { CKEditorModule } from \"@ckeditor/ckeditor5-angular\";\n\nconst config: SocketIoConfig = {\n\turl: environment.BaseChatUrl, // socket server url;\n\toptions: {\n\t\ttransports: ['websocket']\n\t}\n}\n\nimport { DashboardService } from \"./dashboard/services/dashboard.service\";\nimport { SafeHtmlPipe } from \"./shared/pipes/safe-html.pipe\";\nimport { HomeService } from \"./views/home/home.service\";\nimport { NotificationsService } from \"./views/notifications/notifications.service\";\nimport { RegistrationPartService } from \"./views/registration-part/services/registration.service\";\nimport { ProfileService } from \"./views/profile/profile.service\";\nimport { UrlService } from \"./views/registration-part/services/url.service\";\nimport { MessagesService } from \"./views/messages/messages.service\";\nimport { SearchResultService } from \"./views/search-result/search-result.service\";\nimport { ViewProfileService } from \"./views/view-profile/view-profile.service\";\nimport { SettingsService } from \"./views/settings/settings.service\";\nimport { CarouselModule } from 'ngx-owl-carousel-o';\n// import { AngularFireModule } from '@angular/fire/compat';\n// import { FirestoreModule } from '@angular/fire/firestore';\n// import { AngularFireAnalyticsModule } from '@angular/fire/analytics';\n// import { AngularFireAnalyticsModule } from '@angular/fire/analytics';\n// import { fi } from '@angular/fire';\n// import { AnalyticsModule } from '@angular/fire/analytics';\nimport { AngularFireModule } from '@angular/fire';\nimport { AngularFireAnalyticsModule } from '@angular/fire/analytics';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n\n@NgModule({\n declarations: [\n AppComponent,\n ViewsComponent,\n EditProfileComponent,\n // SubZoneCoordinatesComponent,\n // ZoneCoordinatesComponent\n ],\n imports: [\n CommonModule,\n CarouselModule,\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n AuthModule,\n SharedModule,\n ImageCropperModule,\n HttpClientModule,\n NgHttpLoaderModule.forRoot(),\n ToastrModule.forRoot({\n preventDuplicates: true,\n }),\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n ModalModule.forRoot(),\n CustomFormsModule,\n NgxSliderModule,\n // SocketIoModule.forRoot(config),\n NgxIntlTelInputModule,\n MatSelectModule,\n AngularFireModule.initializeApp(environment.firebase),\n AngularFireAnalyticsModule,\n // FirestoreModule\n // AnalyticsModule\n MatProgressBarModule\n ],\n providers: [\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n AuthGuard,\n AuthService,\n SharedService,\n DashboardService,\n SessionService,\n HomeService,\n NotificationsService,\n RegistrationPartService,\n ProfileService,\n UrlService,\n MessagesService,\n SearchResultService,\n ViewProfileService,\n SettingsService\n ],\n bootstrap: [AppComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA ],\n})\nexport class AppModule {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { SignupComponent } from './components/signup/signup.component';\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\nimport { EmailSendComponent } from './components/email-send/email-send.component';\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\nimport { TermConditionComponent } from './components/term-condition/term-condition.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\nimport { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';\nimport { SplashScreenComponent } from './components/splash-screen/splash-screen.component';\n\n\nconst routes: Routes = [\n { path: 'login', component: LoginComponent },\n { path: 'signup', component: SignupComponent },\n { path: 'forgot-password', component: ForgotPasswordComponent },\n { path: 'email-send', component: EmailSendComponent },\n { path: '', redirectTo: 'welcome', pathMatch: 'full' },\n { path: 'reset-password', component: ResetPasswordComponent},\n { path: 'terms-and-conditions', component: TermConditionComponent },\n { path: 'privacy-policy', component: PrivacyPolicyComponent },\n { path: 'welcome', component: SplashScreenComponent}\n];\n\n\n\n@NgModule({\n declarations: [\n LoginComponent,\n SignupComponent,\n ForgotPasswordComponent,\n EmailSendComponent,\n ResetPasswordComponent,\n TermConditionComponent,\n PrivacyPolicyComponent,\n SplashScreenComponent,\n ],\n imports: [\n MatIconModule,\n MatFormFieldModule,\n CommonModule,\n SharedModule,\n FormsModule,\n CarouselModule,\n AlertModule,\n ReactiveFormsModule,\n ModalModule.forRoot(),\n RouterModule.forChild(routes),\n MatInputModule,\n MatChipsModule\n ],\n exports:[\n TermConditionComponent,\n PrivacyPolicyComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class AuthModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-email-send',\n templateUrl: './email-send.component.html',\n styleUrls: ['./email-send.component.scss']\n})\nexport class EmailSendComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\"logo\"
\n
\n
\n
\n

Email has Been Sent

\n

Please check your inbox. We have sent you a new password to your email address.\n

\n
\n \n
Didn’t receive password? Resend
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { ThrowStmt } from '@angular/compiler';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n\n submitted: boolean = false;\n modalRef: BsModalRef;\n\n\n\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n private authService: AuthService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService\n ) { }\n\n emailreg = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n resetForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email,Validators.pattern(this.emailreg)])\n })\n\n ngOnInit(): void {\n }\n\n get f() {\n return this.resetForm.controls;\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n sendEmailToLogin:any;\n\n resetPassword() {\n this.submitted = true;\n if (this.resetForm.invalid || this.resetForm.pristine) return;\n this.submitted = false;\n this.authService.forgetPassword({email:this.resetForm.value.email.toLowerCase()})\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.sendEmailToLogin = this.resetForm.value.email;\n // this.openModal(this.template);\n this.toastr.success(res.message);\n this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n this.authService.SendToChild1(this.sendEmailToLogin);\n localStorage.setItem('receiveEmail', JSON.stringify(this.sendEmailToLogin));\n this.router.navigateByUrl('/auth/reset-password');\n\n }\n },(error: any) => {\n this.toastr.error(error.error.message);\n })\n // this.authService.emailValidation({email:this.resetForm.value.email.toLowerCase(), userType:1})\n // .subscribe((res:any) => {\n // if(res.status == 404){\n // this.toastr.error(res.error);\n // }\n\n // if(res.status == 200){\n // this.authService.forgetPassword({email:this.resetForm.value.email.toLowerCase(), userType:1})\n // .subscribe((res: any) => {\n // if (res.status == 200) {\n // this.sendEmailToLogin = this.resetForm.value.email;\n // this.openModal(this.template);\n // this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n // this.authService.SendToChild1(this.sendEmailToLogin);\n // localStorage.setItem('receiveEmail', JSON.stringify(this.sendEmailToLogin));\n // }\n // })\n // }\n // },\n // (err) => {\n // console.log(err);\n // this.toastr.error('email not registered');\n // })\n }\n\n OkPress(){\n this.modalRef.hide();\n // this.authService.SendToChild1(this.resetForm.value.email);\n // this.authService.SendToChild1(this.sendEmailToLogin);\n this.router.navigateByUrl('/auth/reset-password');\n \n }\n\n}\n","
\n
\n \n
\n \n\n
\n
\n
\n
\n \"logo\"\n
\n

Reset Your Password

\n

Enter the email address associated
with your account

\n
\n
\n \n \n \n
\n \n Email is required.\n \n \n Invalid email.\n \n
\n
\n \n
\n
Back to Log in
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n \n
\n
\n \"\"\n \n \n

password has been sent to
your email

\n
\n \n \n \n
\n
\n
\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { error } from 'src/app/_helpers/error';\nimport { User } from '../../models/user.model';\nimport { AuthService } from '../../services/auth.service';\nimport { FormBuilder } from '@angular/forms';\nimport { BsModalService } from \"ngx-bootstrap/modal\";\nimport { SharedService } from 'src/app/shared/services/shared.service';\nimport { AngularFireAnalytics } from '@angular/fire/analytics';\nimport { AnalyticsEvents, SVConstants } from 'src/app/app.constants';\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent implements OnInit {\n submitted: boolean = false;\n error = error.err;\n loginForm:FormGroup;\n isMobile: boolean = false;\n // ***********************\n hide = true;\n hide1 = true;\n hide2 = true;\n // *********************\n\n userType: any = 1;\n\n check: number = 1;\n // Slider\n slides = [\n // {image: '../../../../assets/sliders/indieslider1.jpg', text: 'First'},\n // // {image: '../../../../assets/sliders/indieslider2.jpg',text: 'Second'},\n // {image: '../../../../assets/sliders/indieslider4.png',text: 'Second', id:'indielastimg'},\n\n // {image: '../../../../assets/sliders/indieslider3.jpg',text: 'Third', id:'indielastimg'}\n\n\n // {image: '../../../../assets/sliders/Slider-01.jpg', text: 'First'},\n // {image: '../../../../assets/sliders/Slider-02.jpg',text: 'Second', id:'indielastimg'},\n // {image: '../../../../assets/sliders/Slider-03.jpg',text: 'Third', id:'indielastimg'}\n\n {image: '../../../../assets/sliders/indieslider1.jpg', text: 'First'},\n {image: '../../../../assets/sliders/Slider-03.jpg',text: 'Second', id:'indielastimg'},\n {image: '../../../../assets/sliders/Slider-01.jpg',text: 'Third', id:'indielastimg'}\n ];\n noWrapSlides = false;\n showIndicator = true;\n modalRef: any;\n profileDetails:any;\n\n constructor(\n private authService: AuthService,\n private router: Router,\n private toastr: ToastrService,\n private fb: FormBuilder,\n private modalService: BsModalService,\n private service: SharedService,\n private analytics: AngularFireAnalytics\n ) { \n if (screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n @ViewChild(\"template\") template : TemplateRef;\n\n\n\n receiveEmail:any;\n\n ngOnInit() {\n this.initForm();\n // let a = localStorage.getItem('receiveEmail');\n // let b = a?.slice(1, a.length-1);\n // this.loginForm.get(\"email\").patchValue(b); \n // localStorage.removeItem('receiveEmail'); \n let currentUser = this.authService.currentUserValue;\n if(currentUser){\n // this.router.navigateByUrl('/home');\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n console.log(\"profile Details\",this.profileDetails);\n if(res.data.invitationCode==null){\n this.router.navigateByUrl('/register'); \n } else if(!this.profileDetails?.role){\n this.router.navigateByUrl('/register/select-role'); \n }\n else{\n if(localStorage.getItem('screensCompleted')){\n if(localStorage.getItem('screensCompleted') == 'playlist' || localStorage.getItem('screensCompleted') == 'all' || localStorage.getItem('screensCompleted') == 'gener'){\n this.router.navigateByUrl('/home');\n }\n else{\n this.router.navigateByUrl('/register/'+localStorage.getItem('screensCompleted'));\n }\n }\n else if(res.data.bandName && res.data.location?.coordinates?.length){\n if(res.data.role == 'Artist'){\n if(res.data.genereIds?.length){\n this.router.navigateByUrl('/home');\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else if(res.data.role == 'Community'){\n if(res.data.communityIds?.length){\n this.router.navigateByUrl('/home');\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else{\n // if(this.profileDetails?.role == 'Community'){\n // this.router.navigateByUrl('/register/what-you-do');\n // }\n // else{\n this.router.navigateByUrl('/register/select-role');\n // }\n \n }\n \n }\n\n // localStorage.removeItem('receiveEmail');\n }\n });\n // if(localStorage.getItem('screensCompleted')){\n // if(localStorage.getItem('screensCompleted') == 'playlist'){\n // this.router.navigateByUrl('/home');\n // }\n // else{\n // this.router.navigateByUrl('/register/'+localStorage.getItem('screensCompleted'));\n // }\n // }\n // else if(currentUser.bandName){\n // this.router.navigateByUrl('/home');\n // }\n // else{\n // if(this.profileDetails?.role == 'Community'){\n // this.router.navigateByUrl('/register/what-you-do');\n // }\n // else{\n // this.router.navigateByUrl('/register/select-role');\n // }\n // }\n }\n }\n\n get f() {\n return this.loginForm.controls;\n }\n\n emailreg = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n // passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*])[\\w !@#$%&*]/;\n passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-])[\\w !@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-]/;\n initForm(){\n this.loginForm = this.fb.group({\n email: new FormControl('', [Validators.required, Validators.email,Validators.pattern(this.emailreg)]),\n password: new FormControl('', [\n Validators.required,\n Validators.minLength(6)\n ]),\n });\n }\n\n onAdminSelection(event: any) {\n console.log('admin', event);\n if (event.target.checked == true) {\n this.userType = 1;\n this.check = 1;\n }\n }\n\n onSupportSelection(event: any) {\n if (event.target.checked == true) {\n this.userType = 5;\n this.check = 2;\n }\n }\n\n onZoneSelection(event: any) {\n if (event.target.checked == true) {\n this.userType = 6;\n this.check = 3;\n }\n }\n\n login() {\n this.submitted = true;\n if (this.loginForm.invalid || this.loginForm.pristine) return;\n this.submitted = false;\n let user: any = {\n email: this.loginForm.value.email.toLowerCase(),\n password: this.loginForm.value.password,\n };\n\n console.log(user);\n \n this.authService.login(user).subscribe(\n (res: any) => {\n if(res.type == 'success'){\n localStorage.setItem('currentUser', JSON.stringify(res.data));\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n console.log(\"profile Details\",this.profileDetails);\n if(res.data.invitationCode==null){\n this.router.navigateByUrl('/register'); \n }\n else if(!this.profileDetails?.role){\n this.router.navigateByUrl('/register/select-role'); \n }\n else{\n if(localStorage.getItem('screensCompleted')){\n if(localStorage.getItem('screensCompleted') == 'playlist'){\n this.router.navigateByUrl('/home');\n this.analytics.logEvent(AnalyticsEvents.LOGIN,{isSignedUp:false});\n }\n else{\n this.router.navigateByUrl('/register/'+localStorage.getItem('screensCompleted'));\n }\n }\n else if(res.data.bandName && res.data.location?.coordinates?.length){\n\n if(res.data.role == 'Artist'){\n if(res.data.genereIds?.length){\n this.router.navigateByUrl('/home');\n this.analytics.logEvent(AnalyticsEvents.LOGIN,{isSignedUp:false});\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else if(res.data.role == 'Community'){\n if(res.data.communityIds?.length){\n this.router.navigateByUrl('/home');\n this.analytics.logEvent(AnalyticsEvents.LOGIN,{isSignedUp:false});\n }\n else\n this.router.navigateByUrl('/register/select-role');\n }\n else\n this.router.navigateByUrl('/register/select-role');\n // debugger;\n // this.router.navigateByUrl('/home');\n // this.analytics.logEvent(AnalyticsEvents.LOGIN,{isSignedUp:false});\n }\n else{\n // if(this.profileDetails?.role == 'Community'){\n // this.router.navigateByUrl('/register/what-you-do');\n // }\n // else{\n this.router.navigateByUrl('/register/select-role');\n // }\n \n }\n \n }\n \n localStorage.removeItem('receiveEmail');\n }\n });\n // localStorage.setItem('password', JSON.stringify(this.loginForm.value.password));\n }\n else{\n this.toastr.error(res.msg);\n }\n },\n (err) => {\n if(err.error?.message?.message=='Please connect to admin as you are blocked.'){\n this.modalRef = this.modalService.show(this.template, {class: 'adminblockedpopup'});\n }else{\n if(err.error?.message?.isValidPassword=='false'){\n this.toastr.error('Wrong password. Please try again.');\n }\n\n\n if(err.error?.message?.isValidEmail == false){\n this.toastr.error(err.error.message.message);\n };\n // console.log(err.statusText);\n // if(err.statusText=='Forbidden'){\n // this.toastr.error('Password combination is not matching');\n // }else{\n if(err.error?.message?.message=='Wrong password. Please try again.'){\n this.toastr.error(err.error.message.message); \n }\n\n if(err.error?.message=='Request Validation failed'){\n this.toastr.error(\"Wrong password. Please try again.\");\n }\n \n // }\n // console.log(err.error.message.isValidPassword=='false'){\n // this.toastr.error(err.error.message.message); \n // }\n // if(err.error.message == 'object'){\n // alert('object');\n // }\n // this.toastr.error(err.error.message.message);\n\n console.log(err);\n console.log(err.status);\n console.log(err.statusText);\n if(err.status == 0 && err.statusText.includes('Unknown Error')){\n console.log(\"Server Unreachable\");\n this.toastr.error(\"Something went wrong\");\n }\n }\n \n }\n );\n }\n\n openModal(template: TemplateRef){\n this.modalRef = this.modalService.show(template);\n }\n\n removeError(e){\n this.submitted = false;\n e.target.value = e.target.value.replace(/^\\s+/g, '');\n if(e.key=='Enter' && this.loginForm.valid){\n this.login();\n }\n }\n}\n","
\n
\n
\n
\n
\n \n
\n \n \n \"image\n
\n

Your Indie Music
Community

\n \n

Connect and Share with
Independent Artists Everywhere.

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

Log In

\n
\n
\n

Welcome Back!

\n

Log in in to your account

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

Log In

\n
\n \n
\n
\n \n \n \n
\n \n \n *Please enter valid Email Address\n \n\n \n
\n
\n \n *Email Required\n \n
\n
\n
\n \n \n \n
\n \n *Password is required.\n \n \n *Please enter correct password\n \n
\n
\n\n Forgot Password?\n
\n\n
\n \n
\n
\n\n
\n

Don't have an account? Sign up

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

You are blocked. Contact admin at
info@indietown.org.

\n
\n
","import { Component, OnInit } from '@angular/core';\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 constructor(\n ) { }\n\n\n\n receiveEmail:any;\n\n ngOnInit() {\n\n }\n\n}\n","
\n
\n
\n
\n \"Arrow\"\n

Privacy Policy

\n
\n\n
\n

What is Lorem Ipsum?

\n

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\n

\n\n

Why do we use it?

\n

It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).\n\n

\n
\n
\n
\n
","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../../services/auth.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.scss']\n})\nexport class ResetPasswordComponent implements OnInit {\n\n submitted: boolean = false;\n modalRef: BsModalRef;\n resendMail:any;\n\n\n\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n private authService: AuthService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService\n ) { }\n\n resetForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email])\n })\n\n ngOnInit(): void {\n this.resendMail = localStorage.getItem('receiveEmail');\n // this.resendMail = this.resendMail.splice(1);\n // alert(this.resendMail.length-1);\n this.resendMail = this.resendMail.slice(1,this.resendMail.length-1);\n\n }\n\n get f() {\n return this.resetForm.controls;\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n sendEmailToLogin:any;\n\n resetPassword() {\n this.submitted = true;\n if (this.resetForm.invalid || this.resetForm.pristine) return;\n this.submitted = false;\n\n this.authService.forgetPassword({email:this.resetForm.value.email.toLowerCase(), userType:1})\n .subscribe((res: any) => {\n if (res.status == 200) {\n this.sendEmailToLogin = this.resetForm.value.email;\n this.openModal(this.template);\n this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n this.authService.SendToChild1(this.sendEmailToLogin);\n localStorage.setItem('receiveEmail', JSON.stringify(this.sendEmailToLogin));\n }\n })\n // this.authService.emailValidation({email:this.resetForm.value.email.toLowerCase(), userType:1})\n // .subscribe((res:any) => {\n // if(res.status == 404){\n // this.toastr.error(res.error);\n // }\n\n // if(res.status == 200){\n // this.authService.forgetPassword({email:this.resetForm.value.email.toLowerCase(), userType:1})\n // .subscribe((res: any) => {\n // if (res.status == 200) {\n // this.sendEmailToLogin = this.resetForm.value.email;\n // this.openModal(this.template);\n // this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n // this.authService.SendToChild1(this.sendEmailToLogin);\n // localStorage.setItem('receiveEmail', JSON.stringify(this.sendEmailToLogin));\n // }\n // })\n // }\n // },\n // (err) => {\n // console.log(err);\n // this.toastr.error('email not registered');\n // })\n }\n\n OkPress(){\n this.modalRef.hide();\n // this.authService.SendToChild1(this.resetForm.value.email);\n // this.authService.SendToChild1(this.sendEmailToLogin);\n this.router.navigateByUrl('/login');\n }\n\n resendPassword(){\n this.authService.forgetPassword({email:this.resendMail.toLowerCase()})\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.sendEmailToLogin = this.resetForm.value.email;\n // this.openModal(this.template);\n this.toastr.success(res.message);\n this.sendEmailToLogin = this.resetForm.value.email.toLowerCase();\n this.authService.SendToChild1(this.sendEmailToLogin);\n }\n },(error: any) => {\n this.toastr.error(error.error.message);\n })\n }\n\n}\n","
\n
\n \n
\n \n\n
\n
\n
\n \"\"\n

Check Your Mail

\n

A link to reset your password has been sent to your email.

\n \n
\n
Didn't receive the email? Resend
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n \n
\n
\n \"\"\n \n \n

Password sent to your
email address

\n
\n \n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { error } from 'src/app/_helpers/error';\nimport { User } from '../../models/user.model';\nimport { AuthService } from '../../services/auth.service';\nimport { FormBuilder } from '@angular/forms';\nimport { compileDeclareClassMetadata } from '@angular/compiler';\n\n@Component({\n selector: 'app-signup',\n templateUrl: './signup.component.html',\n styleUrls: ['./signup.component.scss']\n})\nexport class SignupComponent implements OnInit {\n\n submitted: boolean = false;\n error = error.err;\n loginForm:FormGroup;\n isMobile: boolean = false;\n // ***********************\n hide = true;\n hide1 = true;\n hide2 = true;\n // *********************\n// Slider\nslides = [\n // {image: '../../../../assets/sliders/indieslider1.jpg', text: 'First'},\n // // {image: '../../../../assets/sliders/indieslider2.jpg',text: 'Second'},\n // {image: '../../../../assets/sliders/indieslider4.png',text: 'Second', id:'indielastimg'},\n\n // {image: '../../../../assets/sliders/indieslider3.jpg',text: 'Third', id:'indielastimg'},\n // {image: '../../../../assets/sliders/Slider-01.jpg', text: 'First'},\n // {image: '../../../../assets/sliders/Slider-02.jpg',text: 'Second', id:'indielastimg'},\n // {image: '../../../../assets/sliders/Slider-03.jpg',text: 'Third', id:'indielastimg'},\n\n {image: '../../../../assets/sliders/indieslider1.jpg', text: 'First'},\n {image: '../../../../assets/sliders/Slider-03.jpg',text: 'Second', id:'indielastimg'},\n {image: '../../../../assets/sliders/Slider-01.jpg',text: 'Third', id:'indielastimg'}\n];\nnoWrapSlides = false;\nshowIndicator = true;\n userType: any = 1;\n\n check: number = 1;\n changed: boolean = false;\n passChangeMsg:boolean = false;\n emailFocusOut: boolean = false;\n\n constructor(\n private authService: AuthService,\n private router: Router,\n private toastr: ToastrService,\n private fb: FormBuilder\n ) {\n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n\n\n receiveEmail:any;\n\n ngOnInit() {\n this.initForm();\n // let a = localStorage.getItem('receiveEmail');\n // let b = a?.slice(1, a.length-1);\n // this.loginForm.get(\"email\").patchValue(b); \n // localStorage.removeItem('receiveEmail'); \nif(localStorage.getItem('mail') != null || localStorage.getItem('pass') != null || localStorage.getItem('confmPass')){\n this.signUpForm.get('email').patchValue(localStorage.getItem('mail'));\n this.signUpForm.get('password').patchValue(localStorage.getItem('pass'));\n this.signUpForm.get('confirmPassword').patchValue(localStorage.getItem('confmPass'));\n}\n \n\n \n let term = localStorage.getItem('term');\n if(term =='true'){\n this.signUpForm.get('term').patchValue(true);\n }\n\n localStorage.clear();\n \n }\n\n get f() {\n return this.loginForm.controls;\n }\n\n initForm(){\n this.loginForm = this.fb.group({\n email: new FormControl('', [Validators.required, Validators.email]),\n password: new FormControl('', [\n Validators.required,\n Validators.minLength(6),\n ]),\n });\n }\n\n get p() {\n return this.signUpForm.controls;\n }\n\n errorMessage:any;\n\n onAdminSelection(event: any) {\n console.log('admin', event);\n if (event.target.checked == true) {\n this.userType = 1;\n this.check = 1;\n }\n }\n\n\n passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-])[\\w !@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-]/;\n emailreg = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n\n // Validators.maxLength(10)\n // , Validators.maxLength(10)\n signUpForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email,Validators.pattern(this.emailreg)]),\n password: new FormControl('', [Validators.required, Validators.minLength(6)]),\n confirmPassword: new FormControl('', [Validators.required, Validators.minLength(6)]),\n term: new FormControl('',Validators.requiredTrue)\n\n // term: new FormControl('')\n })\n\n\n onSupportSelection(event: any) {\n if (event.target.checked == true) {\n this.userType = 5;\n this.check = 2;\n }\n }\n\n onZoneSelection(event: any) {\n if (event.target.checked == true) {\n this.userType = 6;\n this.check = 3;\n }\n }\n\n match: boolean = true;\n passwordValid:any;\n SignUp() {\n // routerLink=\"/auth/welcome\"\n if(this.signUpForm.value.password.match(this.passwordRegex)){\n this.passwordValid = true;\n }else{\n this.passwordValid = false;\n this.changed = true;\n // this.errorMessage = '*Please choose a stronger password. It should contain at least 6 Characters, maximum 10 Characters,1 Lowercase letter, 1 Uppercase letter, 1 Special character and 1 Number.'\n // this.errorMessage = 'Password must be between 6-10 characters and include one capital letter, one lowercase letter, one numerical letter and one special character';\n this.errorMessage = 'Password must be 6 characters and include one capital letter, one lowercase letter, one numerical letter, and one special character';\n return\n }\n\n this.changed = true;\n if(this.signUpForm.invalid) return;\n this.changed = false;\n\n this.changed = true;\n if (this.signUpForm.invalid) return;\n this.changed = false;\n let data = {\n email: this.signUpForm.value.email,\n password: this.signUpForm.value.password,\n };\n\n console.log(data);\n\n if(this.passwordValid==true){\n if (this.signUpForm.value.password == this.signUpForm.value.confirmPassword) {\n this.match = true;\n \n \n \n // // this.router.navigateByUrl('/registration');\n // this.router.navigateByUrl('/enter-code');\n // return;\n this.authService.signUpUser(data).subscribe((res: any) => {\n console.log('changepassword res', res);\n if (res.type == 'success') {\n localStorage.setItem('email', JSON.stringify(this.signUpForm.value.email));\n // this.signUpForm.controls['email'].reset();\n // this.signUpForm.controls['password'].reset();\n // this.signUpForm.controls['confirmPassword'].reset();\n this.passChangeMsg = true;\n console.log(res);\n this.removeLocalStorage();\n localStorage.setItem('currentUser', JSON.stringify(res.data));\n this.toastr.success(res.message);\n this.router.navigateByUrl('/register');\n } \n if(res.type == 'error') {\n this.toastr.error(res.message);\n this.router.navigateByUrl('/auth/signup');\n }\n \n },(err)=>{\n if(err.error.message=='Request Validation failed'){\n // this.errorMessage = \"Please choose stronger password. It should contain atleast 6 Characters , maximum 10 Characters ,1 Lowercase letter, 1 Uppercase letter, 1 Special character and 1 Number.\";\n this.toastr.error(\"Please choose stronger password. It should contain atleast 6 Characters , maximum 10 Characters ,1 Lowercase letter, 1 Uppercase letter, 1 Special character and 1 Number.\");\n }else{\n if(err.error?.message){\n this.toastr.error(err.error.message);\n }\n }\n \n });\n }\n\n\n\n }\n\n if(this.signUpForm.value.password != this.signUpForm.value.confirmPassword){\n this.match = false;\n this.errorMessage = '';\n }\n }\n\n onClickCheckbox(e:any){\n alert(e);\n }\n\n removeError(e){\n this.changed = false;\n this.errorMessage = '';\n this.match = true;\n\n e.target.value = e.target.value.replace(/^\\s+/g, '');\n\n var checkbox = (document.getElementById('checkbox'));\n if(e.key=='Enter' && this.signUpForm.valid && checkbox.checked == true){\n this.SignUp();\n }\n \n \n }\n\n\n createLocalStorage(){\n localStorage.setItem('mail',this.signUpForm.value.email);\n localStorage.setItem('pass',this.signUpForm.value.password);\n localStorage.setItem('confmPass',this.signUpForm.value.confirmPassword);\n localStorage.setItem('term',this.signUpForm.value.term);\n }\n\n removeLocalStorage(){\n localStorage.removeItem('mail');\n localStorage.removeItem('pass');\n localStorage.removeItem('confmPass');\n localStorage.removeItem('term');\n }\n\n termCondition(){\n this.createLocalStorage();\n this.router.navigateByUrl('/auth/terms-and-conditions');\n }\n\n onclickPrivacy(){\n this.createLocalStorage();\n this.router.navigateByUrl('/auth/privacy-policy');\n }\n\n CheckEnterPress(e:any){\n if (e.keyCode == 13) { \n e.preventDefault();\n return false;\n } \n }\n}\n","
\n
\n
\n
\n
\n \n
\n \n \n \"image\n
\n

Your Indie Music
Community

\n \n

Connect and Share with
Independent Artists Everywhere.

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

Sign Up

\n\n
\n
\n
\n \n \n
\n \n *Email required\n \n
\n
\n \n *Enter a valid Email Address\n \n
\n \n
\n\n
\n \n \n \n \n \n \n \n\n\n
\n \n *New password is required.\n \n \n *Password must have at least 6 characters.\n \n \n
\n \n
\n
\n {{errorMessage}}\n
\n
\n\n
\n \n \n \n \n \n
\n \n *Confirm password is required.\n \n \n *Password must have at least 6 characters.\n \n
\n \n \n
\n
\n *Password doesn't match.\n
\n
\n\n \n
\n \n \n
\n
\n\n\n
\n
\n \n \n
\n
\n\n\n \n \n By continuing, you agree to Indie Town's Terms and Conditions &\n Privacy Policy\n \n
\n
\n \n\n
\n \n
\n
\n

Already have an account? Log in

\n

\n Need an invite? Request one at
invites@indietown.org\n

\n
\n\n
\n \"\"\n \"\"\n
\n
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { error } from 'src/app/_helpers/error';\nimport { User } from '../../models/user.model';\nimport { AuthService } from '../../services/auth.service';\nimport { FormBuilder } from '@angular/forms';\nimport { CarouselConfig } from 'ngx-bootstrap/carousel';\nimport { Subscription, timer } from 'rxjs';\n\n@Component({\n selector: 'app-main',\n templateUrl: './splash-screen.component.html',\n styleUrls: ['./splash-screen.component.scss'],\n})\nexport class SplashScreenComponent implements OnInit {\n\n\n slides = [\n {image: '../../../../assets/sliders/indieslider1.svg', text: 'First'},\n {image: '../../../../assets/sliders/indieslider2.svg',text: 'Second'},\n {image: '../../../../assets/sliders/indieslider3.svg',text: 'Third'}\n ];\n noWrapSlides = false;\n showIndicator = false;\n constructor(\n private router: Router\n ) { }\n\n\n\n receiveEmail:any;\n counter!: Subscription;\n count:any=0;\n ngOnInit() {\n this.getTime();\n }\n\n getTime(){\n this.counter = timer(0,1000).subscribe((res)=> {\n let date = new Date();\n let second = date.getSeconds();\n this.count++;\n if(this.count==3){\n this.router.navigateByUrl('/auth/login');\n }\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-term-condition',\n templateUrl: './term-condition.component.html',\n styleUrls: ['./term-condition.component.scss']\n})\nexport class TermConditionComponent implements OnInit {\n\n constructor( ) { }\n\n ngOnInit() {\n }\n\n}\n","
\n
\n
\n
\n \"Arrow\"\n

Terms & Conditions

\n
\n\n
\n \n

Last Modified: August 23, 2023

\n
    \n
  • Acceptance of the Terms of Use\n
      \n
    • These website terms of use (these \"Terms of Use\")\n of the Indie App, Inc. website,\n [indietown.org] (the \"Website\") are entered into\n by Indie App, Inc. (the\n \"Company,\" \"We,\" or \"Us\") and by visitors to the Website (\"You\"). These Terms\n of Use, together with any documents they incorporate by reference, govern your\n access to and use of the Website, including any content, functionality, and services\n offered on or through the Website.\n
    • \n
    • \n Please read the Terms of Use carefully before You start to use the Website. By\n accessing or using the Website or by clicking to accept or agree to the Terms\n of Use when this option is made available to You, You accept and agree to be\n bound and abide by these Terms of Use and our Privacy Policy, found at\n indietown.org, incorporated herein by reference. If You do not want to agree\n to\n these Terms of Use or the Privacy Policy, You must not access or use the Website.\n
    • \n
    • \n This Website is only offered and available to users who are 13 years of age or\n older. By using this Website, You represent and warrant that You are of legal age\n to form a binding contract with the Company and meet all of the foregoing\n eligibility requirements.\n
    • \n
    \n
  • \n
  • \n Changes to the Terms of Use\n
      \n
    • \n We may revise and update these Terms of Use from time to time in our sole\n discretion. Your continued use of the Website following the posting of revised\n Terms of Use means that You accept and agree to the changes. You are expected\n to check this page from time to time so You are aware of any changes, as they are\n binding on You.\n
    • \n
    \n
  • \n
  • \n Accessing the Website and Account Security\n
      \n
    • \n We reserve the right to withdraw or amend this Website, and any service or\n material We provide on the Website, in our sole discretion without notice. We will\n not be liable if for any reason all or any part of the Website is unavailable at any\n time or for any period. From time to time, We may restrict access to some parts of\n the Website, or the entire Website.\n
    • \n
    • \n To access the Website or some of the resources it offers, You may be asked to\n provide certain registration details or other information. It is a condition of your\n use of the Website that all the information You provide on the Website is correct,\n current, and complete. You agree that all information You provide to register with\n this Website or otherwise, including, but not limited to, through the use of any\n interactive features on the Website, is governed by our Privacy Policy at\n indietown.org, and You consent to all actions We take with respect to your\n information consistent with our Privacy Policy.\n\n
    • \n
    • \n If You choose, or are provided with, a user name, password, or any other piece of\n information as part of our security procedures, You must treat such information as\n confidential, and You must not disclose it to any other person or entity. You also\n acknowledge that your account is personal to You and agree not to provide any\n other person with access to this Website or portions of it using your user\n name,password, or other security information. You agree to notify Us immediately of\n any unauthorized access to or use of your user name or password or any other\n breach of security. You also agree to ensure that You exit from your account at the\n end of each session. You should use particular caution when accessing your\n account from a public or shared computer so that others are not able to view or\n record your password or other personal information.\n
    • \n
    • \n We have the right to disable any user name, password, or other identifier, whether\n chosen by You or provided by Us, at any time in our sole discretion for any or no\n reason, including if, in our opinion, You have violated any provision of these\n Terms of Use.\n
    • \n
    \n
  • \n
  • Intellectual Property Rights and Trademarks\n
      \n
    • The Website and its entire contents, features, and functionality (including but not\n limited to all information, software, text, displays, images, video, and audio, and\n the design, selection, and arrangement thereof) are owned by the Company, its\n licensors, or other providers of such material and are protected by United States\n and international copyright, trademark, patent, trade secret, and other intellectual\n property or proprietary rights laws.
    • \n
    • \n These Terms of Use permit You to use the Website for your personal,\n non-commercial use only. You must not reproduce, distribute, modify, create\n derivative works of, publicly display, publicly perform, republish, download,\n store, or transmit any of the material on our Website, except as follows.\n
        \n
      • \n Your computer may temporarily store copies of such materials in RAM\n incidental to your accessing and viewing those materials.\n
      • \n
      • \n You may store files that are automatically cached by your Web browser for\n display enhancement purposes.\n
      • \n
      • \n If We provide desktop, mobile, or other applications for download, You\n may download a single copy to your computer or mobile device solely for\n your own personal, non-commercial use, provided You agree to be bound\n by our end user license agreement for such applications.\n
      • \n
      • \n If we provide social media features You may take such actions as are\n enabled and authorized by such features.\n\n
      • \n\n
      \n
    • \n
    • \n You must not:\n
        \n
      • modify copies of any materials from this site;
      • \n
      • use any illustrations, photographs, video or audio sequences, or any\n graphics separately from the accompanying text; or
      • \n
      • \n delete or alter any copyright, trademark, or other proprietary rights notices\n from copies of materials from this site.\n
      • \n
      \n
    • \n
    • \n You must not access or use for any commercial purposes any part of the Website\n or any services or materials available through the Website.\n
    • \n
    • \n If You print, copy, modify, download, or otherwise use or provide any other\n person with access to any part of the Website in breach of the Terms of Use, your\n right to use the Website will stop immediately and You must, at our option, return\n or destroy any copies of the materials You have made. No right, title, or interest in\n or to the Website or any content on the Website is transferred to You, and all\n rights not expressly granted are reserved by the Company. Any use of the Website\n not expressly permitted by these Terms of Use is a breach of these Terms of Use\n and may violate copyright, trademark, and other laws.\n
    • \n
    • \n The Company name, the Company logo, and all related names, logos, product and\n service names, designs, terms, and slogans are trademarks of the Company or its\n affiliates or licensors. You must not use such marks without the prior written\n permission of the Company. All other names, logos, product and service names,\n designs, and slogans on this Website are the trademarks of their respective\n owners.\n
    • \n
    \n\n
  • \n
  • Prohibited Uses\n
      \n
    • You may use the Website only for lawful purposes and in accordance with these\n\n Terms of Use. You agree not to use the Website:\n
        \n
      • in any way that violates any applicable federal, state, local, or international\n law or regulation (including, without limitation, any laws regarding the\n export of data or software to and from the US or other countries);\n
      • \n
      • \n for the purpose of exploiting, harming, or attempting to exploit or harm\n minors in any way by exposing them to inappropriate content, asking for\n personally identifiable information, or otherwise;\n\n
      • \n
      • \n to transmit, or procure the sending of, any advertising or promotional\n material without our prior written consent, including any \"junk mail,\"\n \"chain letter,\" \"spam,\" or any other similar solicitation;\n
      • \n
      • to impersonate or attempt to impersonate the Company, a Company\n employee, another user, or any other person or entity (including, without\n limitation, by using email addresses or screen names associated with any\n of the foregoing); or
      • \n
      • \n to engage in any other conduct that restricts or inhibits anyone's use or\n enjoyment of the Website, or which, as determined by Us, may harm the\n Company or users of the Website, or expose them to liability.\n
      • \n
      \n\n
    • \n
    • \n Additionally, You agree not to:\n
        \n
      • use the Website in any manner that could disable, overburden, damage, or\n impair the site or interfere with any other party's use of the Website,\n including their ability to engage in real time activities through the Website;\n
      • \n
      • use any robot, spider, or other automatic device, process, or means to\n access the Website for any purpose, including monitoring or copying any\n of the material on the Website;
      • \n
      • \n use any manual process to monitor or copy any of the material on the\n Website, or for any other purpose not expressly authorized in these Terms\n of Use, without our prior written consent;\n
      • \n
      • \n use any device, software, or routine that interferes with the proper working\n of the Website;\n
      • \n
      • \n introduce any viruses, Trojan horses, worms, logic bombs, or other\n material that is malicious or technologically harmful;\n
      • \n
      • \n attempt to gain unauthorized access to, interfere with, damage, or disrupt\n any parts of the Website, the server on which the Website is stored, or any\n server, computer, or database connected to the Website;\n
      • \n
      • \n attack the Website via a denial-of-service attack or a distributed\n denial-of-service attack; or\n
      • \n
      • otherwise attempt to interfere with the proper working of the Website.
      • \n
      \n
    • \n
    \n
  • \n
  • User Contributions\n
      \n
    • The Website may contain message boards, chat rooms, personal web pages or\n profiles, forums, bulletin boards, and other interactive features (collectively,\n \"Interactive Services\") that allow users to post,\n submit, publish, display, or\n transmit to other users or other persons (hereinafter, \"post\") content or materials\n (collectively, \"User Contributions\") on or through\n the Website.\n
    • \n
    • Any User Contribution You post to the site will be considered non-confidential\n and non-proprietary. By providing any User Contribution on the Website, You\n grant Us and our affiliates and service providers, and each of their and our\n respective licensees, successors, and assigns the right to use, reproduce, modify,\n perform, display, distribute, and otherwise disclose to third parties any such\n material for any purpose/according to your account settings.
    • \n
    • \n You represent and warrant that:\n
        \n
      • You own or control all rights in and to the User Contributions and have the\n right to grant the license granted above to Us and our affiliates and service\n providers, and each of their and our respective licensees, successors, and\n assigns.
      • \n
      • \n All of your User Contributions do and will comply with these Terms of\n Use.\n
      • \n
      \n
    • \n
    • You understand and acknowledge that You are responsible for any User\n Contributions You submit or contribute, and You, not the Company, have full\n responsibility for such content, including its legality, reliability, accuracy, and\n appropriateness.
    • \n
    • We are not responsible or liable to any third party for the content or accuracy of\n any User Contributions posted by You or any other user of the Website.
    • \n
    • If You believe that any User Contributions violate your copyright, please contact\n Us at support@indietown.org with notice of\n copyright infringement. It is the\n policy of the Company to terminate the user accounts of repeat infringers. We\n respond to notices of alleged copyright infringement under the United States\n Digital Millennium Copyright Act. If You believe your intellectual property has\n been infringed, please notify Us at support@indietown.org.
    • \n
    \n
  • \n
  • Monitoring and Enforcement; Termination\n
      \n
    • We have the right to:\n
        \n
      • remove or refuse to post any User Contributions for any or no reason at\n our sole discretion;
      • \n\n
      • take any action with respect to any User Contribution that We deem\n necessary or appropriate in our sole discretion, including if We believe\n that such User Contribution violates the Terms of Use, infringes any\n intellectual property right or other right of any person or entity, threatens\n the personal safety of users of the Website or the public, or could create\n liability for the Company;
      • \n\n
      • disclose your identity or other information about You to any third party\n who claims that material posted by You violates their rights, including\n their intellectual property rights or their right to privacy;
      • \n\n
      • take appropriate legal action, including without limitation, referral to law\n enforcement, for any illegal or unauthorized use of the Website; or
      • \n\n
      • terminate or suspend your account and your access to all or part of the\n Website for any or no reason, including without limitation, any violation\n of these Terms of Use.
      • \n\n
      \n
    • \n
    • \n Without limiting the foregoing, We have the right to cooperate fully with any law\n enforcement authorities or court order requesting or directing Us to disclose the\n identity or other information of anyone posting any materials on or through the\n Website. YOU WAIVE AND HOLD HARMLESS THE COMPANY AND ITS\n AFFILIATES, LICENSEES, AND SERVICE PROVIDERS FROM ANY\n CLAIMS RESULTING FROM ANY ACTION TAKEN BY ANY OF THE\n FOREGOING PARTIES DURING, OR TAKEN AS A CONSEQUENCE OF,\n INVESTIGATIONS BY EITHER SUCH PARTIES OR LAW ENFORCEMENT\n AUTHORITIES.\n\n
    • \n
    • \n However, We do not undertake to review all material before it is posted on the\n Website, and cannot ensure prompt removal of objectionable material after it has\n been posted. Accordingly, We assume no liability for any action or inaction\n regarding transmissions, communications, or content provided by any user or\n third party. We have no liability or responsibility to anyone for performance or\n nonperformance of the activities described in this section.\n
    • \n
    \n
  • \n
  • Content Standards\n
      \n
    • These content standards apply to any and all User Contributions and use of\n Interactive Services. User Contributions must in their entirety comply with all\n applicable federal, state, local, and international laws and regulations. Without\n limiting the foregoing, User Contributions must not:\n
        \n
      • contain any material that is defamatory, obscene, indecent, abusive,\n offensive, harassing, violent, hateful, inflammatory, or otherwise\n objectionable;
      • \n
      • \n promote sexually explicit or pornographic material, violence, or\n discrimination based on race, sex, religion, nationality, disability, sexual\n orientation, or age;\n\n
      • \n
      • \n infringe any patent, trademark, trade secret, copyright, or other intellectual\n property or other rights of any other person;
      • \n\n
      • violate the legal rights (including the rights of publicity and privacy) of\n others or contain any material that could give rise to any civil or criminal\n liability under applicable laws or regulations or that otherwise may be in\n conflict with these Terms of Use and our Privacy Policy at indietown.org\n
      • \n
      • be likely to deceive any person;
      • \n\n
      • promote any illegal activity, or advocate, promote, or assist any unlawful\n act;
      • \n\n
      • cause annoyance, inconvenience, or needless anxiety or be likely to upset,\n embarrass, alarm, or annoy any other person;
      • \n\n
      • impersonate any person, or misrepresent your identity or affiliation with\n any person or organization;
      • \n\n
      • involve commercial activities or sales, such as contests, sweepstakes, and\n other sales promotions, barter, or advertising; or
      • \n
      • give the impression that they emanate from or are endorsed by Us or any\n other person or entity, if this is not the case.
      • \n
      \n
    • \n
    \n
  • \n
  • Reliance on Information Posted\n
      \n
    • The information presented on or through the Website is made available solely for\n general information purposes. We do not warrant the accuracy, completeness, or\n usefulness of this information. Any reliance You place on such information is\n strictly at your own risk. We disclaim all liability and responsibility arising from\n any reliance placed on such materials by You or any other visitor to the Website,\n or by anyone who may be informed of any of its contents.
    • \n
    • \n This Website includes content provided by third parties, including materials\n provided by other users, bloggers, and third-party licensors, syndicators,\n aggregators, and/or reporting services. All statements and/or opinions expressed\n in these materials, and all articles and responses to questions and other content,\n other than the content provided by the Company, are solely the opinions and the\n responsibility of the person or entity providing those materials. These materials do\n not necessarily reflect the opinion of the Company. We are not responsible, or\n liable to You or any third party, for the content or accuracy of any materials\n provided by any third parties.\n
    • \n
    \n
  • \n
  • \n Changes to the Website\n
      \n
    • We may update the content on the Website from time to time, but its content is not\n necessarily complete or up-to-date. Any of the material on the Website may be out of\n date\n at any given time, and We are under no obligation to update such material.
    • \n
    \n
  • \n
  • \n Information About You and Your Visits to the Website\n
      \n
    • All information We collect on this Website is subject to our Privacy Policy at\n indietown.org. By using the Website, You consent to all actions taken by Us with respect\n to your information in compliance with the Privacy Policy.
    • \n
    \n
  • \n
  • \n Other Terms and Conditions\n
      \n
    • Additional terms and conditions may also apply to specific portions, services, or\n features\n of the Website. All such additional terms and conditions are hereby incorporated by this\n reference into these Terms of Use.
    • \n
    \n
  • \n
  • \n Linking to the Website and Social Media Features\n
      \n
    • You may link to our homepage, provided You do so in a way that is fair and legal\n and does not damage our reputation or take advantage of it, but You must not\n establish a link in such a way as to suggest any form of association, approval, or\n endorsement on our part without our express consent.
    • \n
    • The Website may provide certain social media features that enable You to:\n
        \n
      • link from your own or certain third-party websites to certain content on the\n Website;
      • \n
      • send emails or other communications with certain content, or links to\n certain content, on the Website; or
      • \n
      • cause limited portions of content on the Website to be displayed or appear\n to be displayed on your own or certain third-party websites.
      • \n
      \n
    • \n
    • You may use these features solely as they are provided by Us, solely with respect\n to the content they are displayed with, and otherwise in accordance with any\n additional terms and conditions We provide with respect to such features. Subject\n to the foregoing, You must not:\n
        \n
      • establish a link from any website that is not owned by You,
      • \n
      • cause the Website or portions of it to be displayed on, or appear to be\n displayed by, any other site, for example, framing, deep linking, or in-line\n linking;\n
      • \n
      • link to any part of the Website other than the homepage; or
      • \n
      • otherwise take any action with respect to the materials on this Website that\n is inconsistent with any other provision of these Terms of Use.
      • \n
      \n
    • \n
    • The website from which You are linking, or on which you make certain content\n accessible, must comply in all respects with the Content Standards set out in these\n Terms of Use.
    • \n
    • You agree to cooperate with Us in causing any unauthorized framing or linking\n immediately to stop. We reserve the right to withdraw linking permission without\n notice.
    • \n
    • We may disable all or any social media features and any links at any time without\n notice at our discretion.
    • \n
    \n
  • \n
  • \n Links from the Website\n
      \n
    • If the Website contains links to other sites and resources provided by third parties,\n these\n links are provided for your convenience only. This includes links contained in\n advertisements, including banner advertisements and sponsored links. We have no control\n over the contents of those sites or resources, and accept no responsibility for them or\n for\n any loss or damage that may arise from your use of them. If You decide to access any of\n the third-party websites linked to this Website, You do so entirely at your own risk and\n subject to the terms and conditions of use for such websites.
    • \n
    \n
  • \n
  • \n Geographic Restrictions\n
      \n
    • The owner of the Website is based in the State of Washington in the United States. We\n provide this Website for use only by persons located in the United States. We make no\n claims that the Website or any of its content is accessible or appropriate outside of\n the\n United States. Access to the Website may not be legal by certain persons or in certain\n countries. If You access the Website from outside the United States, You do so on your\n own initiative and are responsible for compliance with local laws.
    • \n
    \n
  • \n
  • Disclaimer of Warranties\n
      \n
    • You understand that We cannot and do not guarantee or warrant that files\n\n available for downloading from the internet or the Website will be free of viruses\n or other destructive code. You are responsible for implementing sufficient\n procedures and checkpoints to satisfy your particular requirements for anti-virus\n protection and accuracy of data input and output, and for maintaining a means\n external to our site for any reconstruction of any lost data. TO THE FULLEST\n EXTENT PROVIDED BY LAW, WE WILL NOT BE LIABLE FOR ANY LOSS\n OR DAMAGE CAUSED BY A DISTRIBUTED DENIAL-OF-SERVICE\n ATTACK, VIRUSES, OR OTHER TECHNOLOGICALLY HARMFUL\n MATERIAL THAT MAY INFECT YOUR COMPUTER EQUIPMENT,\n COMPUTER PROGRAMS, DATA, OR OTHER PROPRIETARY MATERIAL\n DUE TO YOUR USE OF THE WEBSITE OR ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE OR TO YOUR DOWNLOADING OF\n ANY MATERIAL POSTED ON IT, OR ON ANY WEBSITE LINKED TO IT.
    • \n
    • YOUR USE OF THE WEBSITE, ITS CONTENT, AND ANY SERVICES OR\n ITEMS OBTAINED THROUGH THE WEBSITE IS AT YOUR OWN RISK.\n THE WEBSITE, ITS CONTENT, AND ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE ARE PROVIDED ON AN \"AS IS\"\n AND \"AS AVAILABLE\" BASIS, WITHOUT ANY WARRANTIES OF ANY\n KIND, EITHER EXPRESS OR IMPLIED. NEITHER THE COMPANY NOR\n ANY PERSON ASSOCIATED WITH THE COMPANY MAKES ANY\n WARRANTY OR REPRESENTATION WITH RESPECT TO THE\n COMPLETENESS, SECURITY, RELIABILITY, QUALITY, ACCURACY, OR\n AVAILABILITY OF THE WEBSITE. WITHOUT LIMITING THE\n FOREGOING, NEITHER THE COMPANY NOR ANYONE ASSOCIATED\n WITH THE COMPANY REPRESENTS OR WARRANTS THAT THE\n WEBSITE, ITS CONTENT, OR ANY SERVICES OR ITEMS OBTAINED\n THROUGH THE WEBSITE WILL BE ACCURATE, RELIABLE,\n ERROR-FREE, OR UNINTERRUPTED, THAT DEFECTS WILL BE\n CORRECTED, THAT OUR SITE OR THE SERVER THAT MAKES IT\n AVAILABLE ARE FREE OF VIRUSES OR OTHER HARMFUL\n COMPONENTS, OR THAT THE WEBSITE OR ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE WILL OTHERWISE MEET YOUR\n NEEDS OR EXPECTATIONS.
    • \n
    • TO THE FULLEST EXTENT PROVIDED BY LAW, THE COMPANY\n HEREBY DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER\n EXPRESS OR IMPLIED, STATUTORY, OR OTHERWISE, INCLUDING BUT\n NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,\n NON-INFRINGEMENT, AND FITNESS FOR PARTICULAR PURPOSE.
    • \n
    • \n THE FOREGOING DOES NOT AFFECT ANY WARRANTIES THAT\n CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.\n
    • \n
    \n
  • \n
  • Limitation on Liability\n
      \n
    • TO THE FULLEST EXTENT PROVIDED BY LAW, IN NO EVENT WILL\n THE COMPANY, ITS AFFILIATES, OR THEIR LICENSORS, SERVICE\n PROVIDERS, EMPLOYEES, AGENTS, OFFICERS, OR DIRECTORS BE\n LIABLE FOR DAMAGES OF ANY KIND, UNDER ANY LEGAL THEORY,\n ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR INABILITY\n TO USE, THE WEBSITE, ANY WEBSITES LINKED TO IT, ANY CONTENT\n ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY\n DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR\n PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, PERSONAL\n INJURY, PAIN AND SUFFERING, EMOTIONAL DISTRESS, LOSS OF\n REVENUE, LOSS OF PROFITS, LOSS OF BUSINESS OR ANTICIPATED\n SAVINGS, LOSS OF USE, LOSS OF GOODWILL, LOSS OF DATA, AND\n WHETHER CAUSED BY TORT (INCLUDING NEGLIGENCE), BREACH OF\n CONTRACT, OR OTHERWISE, EVEN IF FORESEEABLE.
    • \n
    • \n The limitation of liability set out above does not apply to liability resulting from\n our gross negligence or willful misconduct or death or bodily injury caused by\n products You purchase through the site.\n
    • \n
    • THE FOREGOING DOES NOT AFFECT ANY LIABILITY THAT CANNOT\n BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.
    • \n
    \n
  • \n
  • Indemnification\n
      \n
    • You agree to defend, indemnify, and hold harmless the Company, its affiliates,\n licensors,\n and service providers, and its and their respective officers, directors, employees,\n contractors, agents, licensors, suppliers, successors, and assigns from and against any\n claims, liabilities, damages, judgments, awards, losses, costs, expenses, or fees\n (including\n reasonable attorneys’ fees) arising out of or relating to your violation of these Terms\n of\n Use or your use of the Website, including, but not limited to, your User Contributions,\n any use of the Website's content, services, and products other than as expressly\n authorized in these Terms of Use, or your use of any information obtained from the\n Website.
    • \n
    \n
  • \n
  • Governing Law and Jurisdiction\n
      \n
    • All matters relating to the Website and these Terms of Use, and any dispute or\n claim arising therefrom or related thereto (in each case, including non-contractual\n disputes or claims), shall be governed by and construed in accordance with the\n internal laws of the State of Washington without giving effect to any choice or\n conflict of law provision or rule (whether of the State of Washington or any other\n jurisdiction).
    • \n
    • \n Any legal suit, action, or proceeding arising out of, or related to, these Terms of\n Use or the Website shall be instituted exclusively in the federal courts of the\n United States or the courts of the State of Washington, although We retain the\n right to bring any suit, action, or proceeding against You for breach of these\n Terms of Use in your country of residence or any other relevant country. You\n waive any and all objections to the exercise of jurisdiction over You by such\n courts and to venue in such courts.\n
    • \n
    \n
  • \n
  • \n Arbitration\n
      \n
    • At Company's sole discretion, it may require You to submit any disputes arising from\n these Terms of Use or use of the Website, including disputes arising from or concerning\n their interpretation, violation, invalidity, non-performance, or termination, to final\n and\n binding arbitration under the Rules of Arbitration of the American Arbitration\n Association applying Washington law.
    • \n
    \n
  • \n
  • Limitation on Time to File Claims\n
      \n
    • ANY CAUSE OF ACTION OR CLAIM YOU MAY HAVE ARISING OUT OF OR\n RELATING TO THESE TERMS OF USE OR THE WEBSITE MUST BE\n COMMENCED WITHIN ONE (1) YEAR AFTER THE CAUSE OF ACTION\n ACCRUES; OTHERWISE, SUCH CAUSE OF ACTION OR CLAIM IS\n PERMANENTLY BARRED.
    • \n
    \n
  • \n
  • Waiver and Severability\n
      \n
    • No waiver by the Company of any term or condition set out in these Terms of Use\n shall be deemed a further or continuing waiver of such term or condition or a\n waiver of any other term or condition, and any failure of the Company to assert a\n right or provision under these Terms of Use shall not constitute a waiver of such\n right or provision.
    • \n
    • \n If any provision of these Terms of Use is held by a court or other tribunal of\n competent jurisdiction to be invalid, illegal, or unenforceable for any reason, such\n provision shall be eliminated or limited to the minimum extent such that the\n remaining provisions of the Terms of Use will continue in full force and effect.\n
    • \n
    \n
  • \n
  • \n Entire Agreement\n
      \n
    • The Terms of Use, our Privacy Policy, and User License Agreemnt constitute the sole and\n entire agreement between You and Us regarding the Website and supersede all prior and\n contemporaneous understandings, agreements, representations, and warranties, both\n written and oral, regarding the Website.
    • \n
    \n
  • \n
  • \n Your Comments and Concerns\n
      \n
    • All feedback, comments, requests for technical support, and other\n communications relating to the Website should be directed to:\n support@indietown.org.\n
    • \n
    \n
  • \n
\n
\n
\n
\n
","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { environment } from \"../../../environments/environment\";\nimport { User } from '../models/user.model';\nimport { Subject } from \"rxjs\";\nimport { coerceStringArray } from \"@angular/cdk/coercion\";\n\n@Injectable()\n\nexport class AuthService {\n\n private userSubject: BehaviorSubject;\n // public user: Observable;\n\n\n private emailSend = new Subject();\n child1$ = this.emailSend.asObservable();\n\n\n SendToChild1(msg:string){\n this.emailSend.next(msg);\n }\n\n url: any = environment.API_URL;\n\n constructor(\n private http: HttpClient\n ) { }\n\n public get currentUserValue() {\n let data = localStorage.getItem('currentUser');\n let obj: Object = {};\n if (data !== 'undefined')\n return JSON.parse(localStorage.getItem('currentUser'));\n return false;\n }\n\n public get language() {\n let lang = localStorage.getItem('lang');\n console.log('lang', lang);\n if (lang) {\n return lang;\n }\n return false;\n }\n\n public get basicAuthCredsBase64(){\n // return btoa('admin:JKJ@IKHUKHYJSHsd');\n return btoa(environment.basicAuthUsername+':'+environment.basicAuthpwd);\n }\n\n login(user: any) {\n return this.http.post(this.url + 'api/user/login', user);\n }\n\n reset(data: any) {\n return this.http.post(this.url + 'user/reset-password',data);\n }\n\n\n forgetPassword(data: any) {\n return this.http.post(this.url + 'api/user/forgot-password',data);\n\n \n }\n\n\n \n\n logout(data:any) {\n // localStorage.removeItem('currentUser');\n return this.http.post(this.url + 'user/logout', data);\n }\n\n updateuser(data: any) {\n return this.http.patch(this.url + 'user/update', data);\n }\n\n changePassword(data: any) {\n return this.http.post(this.url + 'user/change-password', data);\n }\n\n emailValidation(data:any){\n return this.http.post(this.url + \"user/emailExists\", data);\n }\n\n signUpUser(data:any){\n return this.http.post(this.url + 'api/user/signup', data);\n }\n\n uploadProfile(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n validateInvitationCode(data:any){\n return this.http.post(this.url + 'api/user/validate-invitation-code', data);\n }\n\n sendOTP(data:any){\n return this.http.post(this.url + 'api/user/send-otp', data);\n }\n\n\n verifyOTP(data:any){\n return this.http.post(this.url + 'api/user/verify-otp', data);\n }\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n\n getGenres(){\n return this.http.get(this.url + 'api/community/list');\n }\n\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n}","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { HeaderService } from 'src/app/shared/services/header.service';\nimport { Chart } from 'node_modules/chart.js/dist/chart.js';\nimport { DashboardService } from '../services/dashboard.service';\nimport { AuthService } from 'src/app/auth/services/auth.service';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n})\nexport class DashboardComponent implements OnInit, OnDestroy {\n public canvas: any;\n public ctx: any;\n public chart: any;\n dashboardData: any = [];\n dashboardAllData:any;\n graphData: any;\n months: number = 6;\n currentUser:any;\n analyticsData:any;\n finalCount:any;\n\n constructor(\n private _header: HeaderService, \n private dashboardService: DashboardService,\n private authService: AuthService,\n ) { }\n\n ngOnInit(): void {\n this._header.welcomeUserMsg.next(true);\n this.currentUser = this.authService.currentUserValue;\n\n // this.dashboardService.getAnalytics({}).subscribe((res:any) => {\n // if(res.status == 200){\n // this.analyticsData = res.output;\n // this.animateCounter((document.getElementById('client')), 0, this.analyticsData?.numberOfClient-1, 1000);\n // this.animateCounter((document.getElementById('caregiver')), 0, this.analyticsData?.numberOfCaregiver-1, 1000); \n // }\n // })\n }\n\n ngOnDestroy() {\n this._header.welcomeUserMsg.next(false);\n }\n\n\n animateCounter(obj, initVal, lastVal, duration) {\n let startTime = null;\n\n //get the current timestamp and assign it to the currentTime variable\n let currentTime = Date.now();\n\n //pass the current timestamp to the step function\n const step = (currentTime ) => {\n\n //if the start time is null, assign the current time to startTime\n if (!startTime) {\n startTime = currentTime ;\n }\n\n //calculate the value to be used in calculating the number to be displayed\n const progress = Math.min((currentTime - startTime)/ duration, 20);\n\n //calculate what to be displayed using the value gotten above\n obj.innerHTML = Math.floor(progress * (lastVal - initVal) + initVal);\n\n //checking to make sure the counter does not exceed the last value (lastVal)\n if (progress < 1) {\n window.requestAnimationFrame(step);\n } else {\n window.cancelAnimationFrame(window.requestAnimationFrame(step));\n }\n };\n //start animating\n window.requestAnimationFrame(step);\n }\n}\n","\n
\n
\n
\n
\n \"\"\n
\n

\n

Total Number of Registered Clients

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

\n

Total Number Of Registered Caregivers / Companions

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

Total Number of Bookings Per Caregiver / Companion

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

Total Earnings Per Week Of a Caregiver / Companion

\n
\n
\n\n
\n
\n\n\n
","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class DashboardService {\n url: any = environment.API_URL;\n header = {};\n\n constructor(\n private http: HttpClient\n ) { }\n\n getDashboard(data:any){\n return this.http.post(this.url + \"appList/getDashboardAnalytics\", data );\n }\n\n\n getDownloadAppList(){\n return this.http.get(this.url + \"appList/getTotalAppsDownloaded\");\n }\n\n\n getActiveUsers(){\n return this.http.get(this.url + \"appList/getHospitalsUsers\");\n }\n\n\n // getActiveUsers()\n\n getTotalForms(){\n return this.http.get(this.url + \"appList/getTotalForms\");\n }\n\n getAgeGroup(data){\n return this.http.post(this.url + \"appList/getAgeGroup\", data);\n }\n\n deviceCount(){\n return this.http.get(this.url + \"appList/getDeviceCountByHospital\");\n }\n\n getDeviceModel(id:any){\n return this.http.post(this.url + \"appList/getDeviceListsByHospital\", id);\n }\n\n\n getAnalytics(data:any){\n return this.http.post(this.url + \"user/analytics-report\",data);\n }\n\n}","import { Component, ElementRef, HostListener, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { ImageCroppedEvent } from 'ngx-image-cropper';\nimport { ToastrService } from 'ngx-toastr';\nimport { HeaderService } from 'src/app/shared/services/header.service';\nimport { SharedService } from 'src/app/shared/services/shared.service';\nimport { AuthService } from '../auth/services/auth.service';\n\n@Component({\n selector: 'app-edit-profile',\n templateUrl: './edit-profile.component.html',\n styleUrls: ['./edit-profile.component.scss'],\n})\nexport class EditProfileComponent implements OnInit, OnDestroy {\n hide = true;\n hide1 = true;\n hide2 = true;\n\n\n\n userType: any;\n message: string;\n imagePath: any;\n imgURL: any;\n uploaded: boolean = false;\n fileName: any;\n currentUser: any;\n passChangeMsg: boolean = false;\n modalRef: BsModalRef;\n\n submitted: boolean = false;\n changed: boolean = false;\n\n\n imgChangeEvt: any = '';\n cropImgPreview: any = '';\n singalurl: any;\n selectedFile: any;\n @ViewChild('template2') template2: TemplateRef;\n @ViewChild('myFile2') myFile2: ElementRef;\n\n // @HostListener(\"click\")\n // clicked() {\n // this.myFile2.nativeElement.value = '';\n // // this.eventForm.controls['myFile'].setValue('');\n // }\n\n\n // passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*])[\\w !@#$%&*]/;\n passwordRegex = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-])[\\w !@#$%&*~`^\\(\\)_+=\\{\\[\\}\\]\\|\\:;\"'\\\\<,>\\/.\\?-]/;\n\n passwordForm = new FormGroup({\n oldPassword: new FormControl('', [Validators.required, Validators.minLength(8)]),\n newPassword: new FormControl('', [Validators.required, Validators.minLength(8),Validators.pattern(this.passwordRegex)]),\n confirmPassword: new FormControl('', [Validators.required, Validators.minLength(8), Validators.pattern(this.passwordRegex)]),\n })\n\n get p() {\n return this.passwordForm.controls;\n }\n\n constructor(\n private _header: HeaderService,\n private authService: AuthService,\n private sharedService: SharedService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService\n ) { }\n\n lang: string = 'eng';\n ngOnInit(): void {\n let currentUser = localStorage.getItem('currentUser');\n this.userType = JSON.parse(currentUser).userType;\n this.lang = localStorage.getItem('lang');\n this._header.changePasswordHeading.next(true);\n this.currentUser = this.authService.currentUserValue;\n }\n ngOnDestroy() {\n this._header.changePasswordHeading.next(false);\n }\n\n // confirmation modal box\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n match: boolean = true;\n changePassword() {\n this.changed = true;\n if (this.passwordForm.invalid || this.passwordForm.pristine) return;\n this.changed = false;\n let data = {\n oldPassword: this.passwordForm.value.oldPassword,\n newPassword: this.passwordForm.value.newPassword,\n };\n if (this.passwordForm.value.newPassword == this.passwordForm.value.confirmPassword) {\n this.match = true;\n this.authService.changePassword(data).subscribe((res: any) => {\n console.log('changepassword res', res);\n if (res.status == 200) {\n this.passwordForm.controls['oldPassword'].reset();\n this.passwordForm.controls['newPassword'].reset();\n this.passwordForm.controls['confirmPassword'].reset();\n this.passChangeMsg = true;\n this.toastr.success(res.message);\n this.router.navigateByUrl('/analytics-dashboard');\n } else {\n this.toastr.error(res.error.message);\n }\n });\n } else {\n this.match = false;\n }\n }\n}\n","\n\n\n
\n \n\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n Old password is required.\n \n \n Password must have at least 6 characters.\n \n
\n
\n
\n\n
\n \n \n \n \n
\n \n New password is required.\n \n \n Password must have at least 6 characters.\n \n \n Password must contain at least one Uppercase, Lowercase, Digit and One Special symbol\n \n
\n
\n
\n\n
\n \n \n \n \n
\n \n Confirm password is required.\n \n \n Password must have at least 6 characters.\n \n \n Password must contain at least one Uppercase, Lowercase, Digit and One Special symbol\n \n
\n \n Password doesn't match.\n \n
\n
\n\n
\n \n

Password Changed!

\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

{{bandcamp.title}}

\n
\n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n No Playlists yet !\n
\n
\n Add Playlists\n
\n
\n\n\n \n
\n
\n \n
\n \n \n
\n
\n\n\n
\n \n
\n
\n

Are you sure you want to remove?

\n
\n \n \n
\n
\n
","import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/auth/services/auth.service';\nimport { BandcampModalContentComponent } from '../dynamic-profile/dynamic-profile.component';\nimport { SharedService } from '../services/shared.service';\n\n@Component({\n selector: 'app-bandcamp',\n templateUrl: './bandcamp.component.html',\n styleUrls: ['./bandcamp.component.scss']\n})\nexport class BandcampComponent implements OnInit {\n modalRef: any;\n \n @Input() userId;\n myInputValue:any='';\n @ViewChild(\"bandcampIframe\") bandcampIframe: TemplateRef;\n\n removeModalref: any;\n @ViewChild(\"removeBandcampIframeModal\") removeBandcampIframeModal: TemplateRef;\n\n constructor(\n private modalService: BsModalService,\n private service: SharedService,\n private toastrService: ToastrService,\n private authService: AuthService,\n private fb: FormBuilder,\n private router: ActivatedRoute,\n private spinner: SpinnerVisibilityService,\n private route: Router,\n private domSanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n console.log(this.userId);\n this.getBandcampList();\n }\n\n page = 1;\n pageSize = 20;\n bandcampList = [];\n getBandcampList(){\n this.service.getBandcampList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n this.bandcampList = res.data;\n })\n }\n addBandcampIframe(){\n console.log((document.getElementById(\"bandcampIframeNew\")).value);\n let bandcampIframe = (document.getElementById(\"bandcampIframeNew\")).value;\n this.service.addBandcampIframe({iframeCode:bandcampIframe}).subscribe((res:any)=>{\n console.log(res);\n // Add Validations\n this.bandcampList.unshift(res.data);\n (document.getElementById(\"bandcampIframeNew\")).value = '';\n this.myInputValue = '';\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n if(err?.error?.message?.includes('iFrame code already added')){\n this.toastrService.info(\"iFrame code already added\");\n }\n else {\n this.toastrService.info(err?.error?.message);\n }\n (document.getElementById(\"bandcampIframeNew\")).value = '';\n this.myInputValue = '';\n })\n }\n transFormUrl(url){\n // return this.domSanitizer.sanitize(SecurityContext.URL, url);\n return this.domSanitizer.bypassSecurityTrustResourceUrl(url);\n }\n iframeSource = '';\n bandcampModalP(iframesrc:any){\n let initialState: ModalOptions = {\n initialState: {\n source:iframesrc\n } as Partial,\n class: 'bandcamppopup'\n };\n this.iframeSource = iframesrc;\n this.modalRef = this.modalService.show(this.bandcampIframe, initialState);\n }\n\n removeBandcampId;\n removeBandcampIndex;\n\n removeBandcamp(id,index){\n // this.service.removeBandcampIframe(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.bandcampList.splice(index,1);\n // }\n // })\n\n this.removeBandcampId = id;\n this.removeBandcampIndex = index;\n this.removeModalref = this.modalService.show(this.removeBandcampIframeModal);\n\n }\n\n removeBandcampIframe(){\n this.service.removeBandcampIframe(this.removeBandcampId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.bandcampList.splice(this.removeBandcampIndex,1);\n }\n this.removeModalref.hide();\n })\n }\n\n loadMoreBandcamps(e){\n console.log(\"scrolled fired\");\n if(this.loadMoreBandcamp){\n console.log(\"loading more\")\n this.page++;\n this.getMoreBandcampList();\n }\n }\n\n loadMoreBandcamp:Boolean = true;\n getMoreBandcampList(){\n this.service.getBandcampList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.bandcampList.push(...res.data);\n }\n else{\n this.loadMoreBandcamp = false;\n }\n })\n }\n\n @Input('addBandcamp')\n set addBandcamp(data: any) {\n //do whatever you want with your data here, this data will be passed from parent component\n console.log(\"sdasdsdsd\",data);\n if(data && Object.keys(data).length){\n this.bandcampList.unshift(data);\n }\n }\n\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ChangeDetectorRef\n} from \"@angular/core\";\nimport { AbstractControl, AsyncValidatorFn, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { BsModalRef, BsModalService, ModalOptions } from \"ngx-bootstrap/modal\";\nimport { ImageCroppedEvent, ImageTransform } from \"ngx-image-cropper\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { AuthService } from \"src/app/auth/services/auth.service\";\nimport { HeaderService } from \"src/app/shared/services/header.service\";\nimport { SharedService } from \"src/app/shared/services/shared.service\";\nimport { error } from \"src/app/_helpers/error\";\nimport { FormBuilder, NgForm } from \"@angular/forms\";\nimport * as _moment from 'moment';\nimport { MatTabChangeEvent } from \"@angular/material/tabs\";\nimport { ActivatedRoute, NavigationEnd, Router } from \"@angular/router\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport * as $ from 'jquery';\nimport { OwlOptions, SlidesOutputData } from 'ngx-owl-carousel-o';\nimport { HttpEventType } from \"@angular/common/http\";\nimport { ThrowStmt } from \"@angular/compiler\";\nimport { filter } from \"rxjs/operators\";\nimport { UrlService } from \"src/app/views/registration-part/services/url.service\";\nimport SpotifyPlayer from \"spotify-web-playback\";\n// const YTPlayer = require('yt-player');\n// import YTPlayer from \"yt-player\";\nimport { YtPlayerService, PlayerOptions } from 'yt-player-angular';\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { formatDate, Location } from \"@angular/common\";\nimport { AngularEditorConfig } from \"@kolkov/angular-editor\";\nimport { DOCUMENT } from '@angular/common';\nimport { AngularFireAnalytics } from \"@angular/fire/analytics\";\nimport { AnalyticsEvents, SVConstants } from \"src/app/app.constants\";\n// import { resolve } from \"dns\";\n// import { rejects } from \"assert\";\n\ndeclare global {\n interface Window {\n FB:any;\n }\n}\n\n@Component({\n selector: \"dynamic-profile\",\n templateUrl: \"./dynamic-profile.component.html\",\n styleUrls: [\"./dynamic-profile.component.scss\",'../../views/home/home.component.scss'],\n})\nexport class ProfileDynamicComponent implements OnInit, OnDestroy {\n\n @ViewChild(\"cancelRequests\") cancelRequests: TemplateRef;\n\n modalRef: BsModalRef;\n modalRef2: BsModalRef;\n modalRef3: BsModalRef;\n reportPostModel:boolean;\n reportCommentModel:boolean;\n reportPost:any;\n reportPostId:any;\n likes:any;\n reportCommentPostId:any;\n reportCommentId:any;\n allPosts:any = [];\n allShows:any = [];\n friendsList:any=[];\n topFourFriends:any=[];\n searchFriendKey:any;\n myInputValuedyn:any = '';\n error = error.err;\n date:any;\n\n update: boolean = false;\n view: boolean = false;\n submit: boolean = true;\n del: boolean = false;\n modalRefOpen:any;\n imagessArray = [];\n commentArea:boolean=false;\n\n moment = _moment;\n\n imgURL: any;\n fileName: any;\n uploaded: boolean = false;\n imagePath: any;\n message: any;\n cId: String;\n\n imgChangeEvt: any = \"\";\n cropImgPreview: any = \"\";\n singalurl: any;\n selectedFile: any;\n\n viewData: any;\n type: any;\n name: String;\n\n submitted: boolean = false;\n servicesList:any = [];\n serviceId:any;\n roleForm: FormGroup;\n dropdownChange:any = 1;\n modalImageUrl:any;\n profilePicUrl:any;\n coverPicUrl:any;\n profileDetails:any;\n createShowImageUrl:any;\n singleFriendData:any;\n playList:any=[];\n postId:any;\n profileId:any;\n otherFriends:any=[];\n genreList:any=[];\n photoAlbumCheckbox:boolean=true;\n uploadPhotoAlbumUrl:any;\n page:number=1;\n itemperPage:number=10;\n stopScrollingPost:boolean=true;\n stopScrollingShow:boolean=true;\n commentPostId:any;\n youtubeEdit:boolean = true;\n spotifyEdit:boolean = true;\n youtubePlayListData:any=[];\n\n @ViewChild(\"template\") template: TemplateRef;\n @ViewChild(\"myFile2\") myFile2: ElementRef;\n @ViewChild(\"reportPostModal\") reportPostModal: TemplateRef;\n @ViewChild(\"userUnfriend\") userUnfriend: TemplateRef;\n @ViewChild(\"editProfileModal\") editProfileModal: TemplateRef;\n @ViewChild(\"showupdateGenerModal\") showupdateGenerModal: TemplateRef;\n @ViewChild(\"youtubePlay\") youtubePlay: TemplateRef;\n @ViewChild(\"friendClickModal\") friendClickModal: TemplateRef;\n @ViewChild(\"spotifyPlay\") spotifyPlay: TemplateRef; \n @ViewChild(\"photoAlbumSlider\") photoAlbumSlider: TemplateRef; \n @ViewChild(\"deleteAlbumImage\") deleteAlbumImage: TemplateRef; \n @ViewChild(\"deletePost\") deletePost : TemplateRef;\n @ViewChild(\"commentsListModel\") commentsListModel: TemplateRef;\n @ViewChild(\"likesModel\") likesModel: TemplateRef;\n @ViewChild(\"addPlaylistModal\") addPlaylistModal: TemplateRef;\n @ViewChild('tabGroup') tabGroup;\n @ViewChild('ProfileOrCoverPictureview') ProfileOrCoverPictureview;\n @ViewChild(\"CreateShowCropModal\") CreateShowCropModal: TemplateRef;\n @ViewChild(\"CreatePostImageCropModal\") CreatePostImageCropModal: TemplateRef;\n @ViewChild(\"deleteCommentPopup\") deleteCommentPopup: TemplateRef;\n @ViewChild(\"deleteCommentReplyPopup\") deleteCommentReplyPopup: TemplateRef;\n @ViewChild(\"invalidVideoCodecPopup\") invalidVideoCodecPopup: TemplateRef;\n @ViewChild(\"myfileMac\") myfileMac;\n // @HostListener(\"click\")\n // clicked() {\n // this.myFile2.nativeElement.value = \"\";\n // }\n previousUrl:any;\n currentUrl:any;\n showSiidbar:boolean;\n spotify:any;\n constructor(\n private _header: HeaderService,\n private modalService: BsModalService,\n private service: SharedService,\n private toastrService: ToastrService,\n private authService: AuthService,\n private fb: FormBuilder,\n private router: ActivatedRoute,\n private spinner: SpinnerVisibilityService,\n private route: Router,\n private urlService: UrlService,\n private ytPlayerService: YtPlayerService,\n protected _sanitizer: DomSanitizer,\n private spinners: SpinnerVisibilityService,\n @Inject(DOCUMENT) private document: Document,\n private analytics: AngularFireAnalytics,\n private changeDetectorRef: ChangeDetectorRef,\n ) {\n \n this.route.events.pipe(\n filter((event) => event instanceof NavigationEnd)\n ).subscribe((event: NavigationEnd) => {\n console.log('previous url',this.previousUrl);\n console.log('currentUrl url',this.currentUrl);\n this.previousUrl = this.currentUrl;\n // if(this.previousUrl =='/dashboard/profile?id=639326892ab261ca24429811'){\n // (document.querySelector(\".slidepage\")).style.marginLeft = \"-78.3%\";\n // }\n \n this.currentUrl = event.url;\n this.urlService.setPreviousUrl(this.previousUrl);\n this.currentUser = this.authService.currentUserValue;\n this.analytics.logEvent(AnalyticsEvents.SCREEN_VISITED,{name:SVConstants.profile});\n });\n }\n\n currentUser;\n\n interests: any;\n postList:any = [];\n goYoutubeField:any;\n unFriendUserName:string;\n timelineVisible:boolean;\n youtubePlayer;\n\n // heading\n ngOnInit(): void {\n // var tabs= document.querySelector('.mat-tab-label');\n // console.log(tabs);\n // document.querySelector('audio').removeAttribute('controls')\n // this.bandcampp();\n document.getElementById(\"text\").style.overflow=\"\";\n document.getElementById('text').classList.remove('removebodyscroll');\n var owl = $('.owl-carousel');\n // get owl instance from element\n var owlInstance = owl.data('owlCarousel');\n \n // if instance is existing\n if(owlInstance != null)\n owlInstance.reinit();\n\n\n this.service.data$.subscribe(\n (data) => {\n console.log(data);\n this.selectedIndex = data;\n }\n );\n\n this.service.play$.subscribe((data:any)=> {\n this.youtubePlayData = data;\n this.openModal(this.youtubePlay);\n // this.youtubePlay.classList.add('hello');\n // this.modalService.openModal( youtubePlay, { windowClass: 'my-own-styles' });\n this.modalService.show(this.youtubePlay, {class: 'customClass'});\n document.querySelector('.modal').classList.add('youtubepopup');\n })\n\n this.service.playSpotify$.subscribe((data:any)=> {\n this.spotifySingleData = data;\n this.openModal(this.spotifyPlay);\n console.log(data);\n })\n\n\n this._header.manageServicesHeading.next(true);\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.createShowImageUrl = '../../../../assets/Indietown_icons/coverpic.png';\n this.uploadPhotoAlbumUrl='../../../assets/Indietown_icons/upload-photo-album.svg';\n this.router.queryParams.subscribe(params => {\n this.postId = params['id'];\n this.profileId = params['id'];\n this.unFriendUserName = params['user'];\n this.timelineVisible = params['timeline'];\n if(this.unFriendUserName) {\n this.showSiidbar = true;\n }else{\n this.showSiidbar = false;\n }\n\n \n\n })\n\n this.photoAlbumCheckbox= false;\n\n if(this.postId){\n this.getProfileById(this.postId);\n this.getMyProfile();\n this.getPostsId(this.postId,this.postsPageNumber,this.postsPageSize);\n this.getShows(this.postId,this.showsPageNumber,this.showsPageSize);\n // this.getFriendsListById(this.postId);\n this.getPlayListById(this.postId);\n this.getYoutubePlaylist(this.postId);\n }else{\n \n this.getProfile();\n // this.getPlayList();\n // this.getSpotifyList();\n console.log(this.currentUser);\n this.getPostsId(this.currentUser.userId,this.postsPageNumber,this.postsPageSize);\n this.getShows(this.currentUser.userId,this.showsPageNumber,this.showsPageSize);\n // this.getPosts(this.page, this.itemperPage);\n // this.getFriendsList();\n this.getYoutubePlaylist(\"\");\n }\n // this.spotifyInitialization();\n // this.getPostsId(this.profileDetails._id);\n // this.youtubePlayer = new YTPlayer('#youtubePlayer');\n\n /** Hide Spotify \n this.checkSpotifyExist(this.postId);\n */\n /** Unhide and opens link in new tab or Iframe */\n this.checkSpotifyExist(this.postId);\n \n this.checkYoutubeExist(this.postId);\n this.checkSoundcloudExist(this.postId);\n this.checkBandcampExist(this.postId);\n // if(localStorage.getItem(\"SpotifyAutorizedAndRedirected\")){\n // localStorage.removeItem(\"SpotifyAutorizedAndRedirected\");\n // this.selectedIndex = 3;\n // }\n // if(localStorage.getItem(\"profile-incomplete\")){\n // console.log(\"1111111\",this.document.getElementById(\"editProfileBtn\"));\n // localStorage.removeItem(\"profile-incomplete\");\n // // this.document.getElementById(\"editProfileBtn\")?.click();\n // this.openEditModal();\n // }\n\n // console.log(\"from after view init\");\n if(localStorage.getItem(\"profile-incomplete\")){\n console.log(\"1111111\",this.document.getElementById(\"editProfileBtn\"));\n localStorage.removeItem(\"profile-incomplete\");\n // this.document.getElementById(\"editProfileBtn\")?.click();\n // this.spinner.show();\n this.openEditModal();\n }\n \n }\n\n ngAfterViewInit(){\n // console.log(\"from after view init\");\n // if(localStorage.getItem(\"profile-incomplete\")){\n // console.log(\"1111111\",this.document.getElementById(\"editProfileBtn\"));\n // localStorage.removeItem(\"profile-incomplete\");\n // // this.document.getElementById(\"editProfileBtn\")?.click();\n // // this.spinner.show();\n // this.openEditModal();\n // }\n }\n\n spotifyPlayerNew;\n spotifyToken;\n device_id;\n postsPageNumber = 1;\n postsPageSize = 20;\n showsPageSize = 20;\n showsPageNumber = 1;\n\n\n customOptions: OwlOptions = {\n loop: true,\n mouseDrag: false,\n touchDrag: false,\n pullDrag: false,\n dots: false,\n navSpeed: 700,\n navText: ['', ''],\n responsive: {\n 0: {\n items: 1\n },\n 200: {\n items: 2\n },\n 300: {\n items: 3\n },\n 400: {\n items: 4\n }\n },\n nav: true\n }\n\n updateProfileForm = new FormGroup({\n bandName: new FormControl(''),\n email: new FormControl(''),\n phone: new FormControl(''),\n location: new FormControl(''),\n genre: new FormControl(''),\n bio: new FormControl(''),\n spotifyURL: new FormControl(''),\n youtubeURL: new FormControl(''),\n profilePicture: new FormControl(''),\n profilePictureKey: new FormControl(''),\n coverPicture: new FormControl(''),\n coverPictureKey: new FormControl(''),\n city: new FormControl(''),\n state: new FormControl(''),\n country: new FormControl(''),\n lat: new FormControl(''),\n long: new FormControl(''),\n MobNum: new FormControl ('')\n })\n\n\n reportPostForm = new FormGroup({\n comment: new FormControl('', [Validators.required])\n })\n\n reportCommentForm = new FormGroup({\n comment: new FormControl('', [Validators.required])\n })\n\n createCommentForm = new FormGroup({\n comment: new FormControl('', [Validators.required])\n })\n\n\n geners = '';\n genersId=[];\n role:any;\n myProfileDetails;\n getProfile(){\n\n this.service.getProfile().subscribe((res:any) => {\n this.geners = '';\n this.genersId=[];\n if(res.type == 'success'){\n this.profileDetails = res.data;\n this.role = res.data.role;\n if(this.role=='Artist'){\n this.service.getArtistGenerList().subscribe((res:any) => {\n if(res.type == 'success'){\n this.genreList = res.data;\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n console.log(this.profileDetails, \"this.profileDetails\")\n for(var i of this.genreList){\n for(var j of res.data.genereIds)\n if(i._id == j?._id){\n this.genersId.push(i._id);\n this.geners = this.geners + ',' + ' ' + i.genereName;\n console.log(this.geners);\n }\n }\n }\n })\n }\n })\n }else{\n this.service.getGenres().subscribe((res:any) => {\n if(res.type == 'success'){\n let list = res.data;\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n for(var i of list){\n for(var j of res.data.communityIds)\n if(i._id == j?._id){\n this.genersId.push(i._id);\n this.geners = this.geners + ',' + ' ' + i.communityName;\n }\n }\n }\n })\n }\n })\n }\n }\n })\n\n }\n\n getMyProfile(){\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.myProfileDetails = res.data; \n }\n })\n }\n\n getGeners(){\n this.service.getGenres().subscribe((res:any) => {\n if(res.type == 'success'){\n this.genreList = res.data;\n }\n })\n }\n\n getProfileById(id:any){\n this.service.getProfileById(id).subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n }\n })\n }\n\n allPostsCopy = [];\n getPostsId(id:any,pageSize,pageNumber){\n this.service.getPostByIdImpl(id,pageSize,pageNumber).subscribe((res:any) => {\n if(res.type == 'success'){\n if(res?.data?.length){\n // this.allPosts.push(...res.data);\n this.allPostsCopy.push(...res.data);\n this.allPosts = this.allPostsCopy;\n }\n else{\n this.stopScrollingPost= false;\n this.allPosts = this.allPostsCopy;\n }\n // this.postList = res.data;\n // if(res.data == 'res.data'){\n // this.postList = [];\n // }\n // if(res.data.length==0){\n // this.stopScrollingPost= false;\n // }else{\n // this.stopScrollingPost= true;\n // }\n\n // for(var i of this.postList){\n // if(i.type=='SHOW'){\n // this.allShows.push(i);\n // }else{\n // this.allPosts.push(i);\n // this.allPostsCopy.push(i);\n // }\n // }\n\n // this.allPostsCopy = this.allPosts;\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n getShows(id:any,pageSize,pageNumber){\n this.service.getShowsByIdImpl(id,pageSize,pageNumber).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.allShows = res.data;\n if(res?.data?.length){\n this.allShows.push(...res.data)\n }\n else{\n this.stopScrollingShow= false;\n }\n // this.postList = res.data;\n // if(res.data == 'res.data'){\n // this.postList = [];\n // }\n // if(res.data.length==0){\n // this.stopScrollingPost= false;\n // }else{\n // this.stopScrollingPost= true;\n // }\n\n // for(var i of this.postList){\n // if(i.type=='SHOW'){\n // this.allShows.push(i);\n // }else{\n // this.allPosts.push(i)\n // }\n // }\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n spotifyplayList:any=[];\n // audioList:any = [];\n\n\n myPlayList:any=[];\n // audioList = [\n // {\n // url: \"https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3\",\n // title: \"Smaple 1\",\n // cover: \"https://i1.sndcdn.com/artworks-000249294066-uow7s0-t500x500.jpg\",\n // time:6100\n // }\n // ];\n audioList:any = [];\n NextPageTokenForYoutube;\n getYoutubePlaylist(userId){\n console.log(1);\n this.service.getYoutubePlayList({id:userId}).subscribe((res:any)=>{\n // this.playList = res?.data?.youtubeResult;\n console.log(res.data.videos);\n this.playList = res.data.videos;\n if(res.data?.pageInfo?.nextPageToken){\n this.moreVideosComing = true;\n }\n this.NextPageTokenForYoutube = res.data.pageInfo.nextPageToken;\n })\n // this.playList = res.data.youtubeResult;\n }\n\n getPlayList(){\n this.service.getSpotifyPlayList(\"\").subscribe(\n (res:any)=> {\n console.log(res); \n for(var i of res?.data){\n let data = { \n url: ''+i?.track?.uri,\n title: ''+i?.track?.name,\n cover: ''+i?.track?.album?.images[2]?.url,\n time: i?.track?.duration_ms,\n albumName: ''+i?.track?.album?.name,\n durationInMilli: i?.track?.duration_ms\n }\n this.audioList.push(data);\n if(this.audioList.length>3){\n this.audioList = this.audioList.splice(0, 3);\n }\n this.currentlyPlayingSpotifySong = this.audioList[0];\n this.spotifySongSelectedIndex = 0;\n }\n // this.audioList.splice(0,1);\n }, (res:any)=> {\n this.spinner.hide();\n });\n // let data = [\n // {\n // \"name\": \"a\",\n // \"uri\": \"spotify:track:6XYQvYJzHjK5150Vl7NKfJ\",\n // url:\"https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\",\n // duration_ms:3500\n // } ,\n // {\n // \"name\": \"b\",\n // \"uri\": \"spotify:track:3LP4QpKptfe2yEC7oG5iNa\",\n // url:\"https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\",\n // duration_ms:3500\n // },\n // {\n // \"name\": \"c\",\n // \"uri\": \"spotify:track:1AzNN19lPYC68iacrbWL8X\",\n // url:\"https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\",\n // duration_ms:3500\n // } \n // ]\n // for(var i of data){\n // let data = { \n // url: ''+i?.uri,\n // title: ''+i?.name,\n // cover: ''+i?.url,\n // time: i?.duration_ms\n // }\n // this.audioList.push(data);\n // }\n // this.audioList.splice(0,1);\n // this.service.getPlayList().subscribe((res:any)=> {\n // if(res.type == 'success'){\n // let youtb;\n // let spot;\n // if(res?.data?.youtubeResult?.length<=0 || res?.data?.youtubeResult?.length==undefined){\n // youtb = true;\n // }\n // if(res.data?.spotifyResult?.body?.tracks?.items?.length<=0 || res.data?.spotifyResult?.body?.tracks?.items?.length==undefined){\n // spot = true;\n // }\n\n // if(spot==true && youtb==true){\n // return\n // }\n // if(youtb!=true){\n // this.playList = res.data.youtubeResult;\n // }\n // if(spot!=true){\n // this.spotifyplayList = res.data.spotifyResult;\n\n // for(var i of res?.data?.spotifyResult?.body?.tracks?.items){\n // let data = \n // { \n // url: ''+i?.track?.preview_url,\n // title: ''+i?.track?.name,\n // cover: ''+i?.track?.album?.images[2]?.url,\n // time: i?.track?.duration_ms\n // }\n // if(i?.track?.preview_url!=null){\n // this.audioList.push(data);\n // }\n // }\n // this.audioList.splice(0,1);\n // }\n // }else{\n // this.toastrService.error(res.message);\n // }\n // },(error)=>{\n // this.toastrService.error(error?.error?.message?.body?.error?.message);\n // })\n }\n\n getPlayListById(id:any){\n this.service.getSpotifyPlayList(id).subscribe((res:any)=> {\n console.log(res); \n for(var i of res?.data){\n let data = { \n url: ''+i?.track?.uri,\n title: ''+i?.track?.name,\n cover: ''+i?.track?.album?.images[2]?.url,\n time: i?.track?.duration_ms,\n albumName: ''+i?.track?.album?.name,\n durationInMilli: i?.track?.duration_ms\n }\n this.audioList.push(data);\n // if(this.audioList.length>3){\n // this.audioList = this.audioList.splice(0, 3);\n // }\n this.currentlyPlayingSpotifySong = this.audioList[0];\n this.spotifySongSelectedIndex = 0;\n }\n // this.audioList.splice(0,1);\n }, (res:any)=> {\n this.spinner.hide();\n });\n }\n\n spotifySongSelectedIndex:any;\n spotifySongSelected:boolean = false;\n currentlyPlayingSpotifySong;\n\n \n\n\n async spotifyInitialization() {\n \n // const token = \"BQDa4OM2ETnfXrs_te2UPsh4FG-gE0wE_4OUSpPKO0JAWkWA3kDB_i5GcRXD_N1zXFlxu_kP64kD_WzStIrjETUTDsmRtR6Oh6SnM8G4kLbyr-t5KDbMIBC_mWb3KUqLiBnUbLSZF7ljNRwZeivyIAlqde6V9CsDy3Z5ClJ5uKObaNPlScemEElXJE0G9bQMCcgm2mTXDhJhyYVXfL2S_A54NUz8ECKc4m7gZDZmG7gLAbpFlui_Ixqeiw\";\n // const token = \"BQCavXJA-UdLHHtPDlSbZRJ45TIcp59Hir7wa86AeuyAGgArNGs-cQSxMZeOAR5fDjnH9n24vjnT0pC_jRvIvP0dJpEjlXMfHRHSmpAtmDC2HLBAnnakgEWrZZTC4qkLzcjw10aLvtT81vzdopYm4WbgpH06NYhksTeq6bj2E82JP0IBVrWC5kfSqQ3Cq-VHqTXPw7mghpV4j63RO_MHp7RPT-7xEuXVf_NBlJerdmkWf0eM6BbiyNwjww\";\n // const token = \"BQBssH7wcAx7c5diUlPcTjA6RiJNV103jaiaWgS1fSBh_UYu2Pg8rAlI_-1snXdLSj7DUSBFBdPXR8BLOxQRcH3E-aQx3W2AdX4m1AtCu8pAeo0OpzE2s_rNcgjDGhN4oSbScDHgBMS0fUbR_0P61RLVHIMhQZOMjSpeT3IdITK2WHNjZw6HkptDSZKqGSsX6kHSJbH_JzEoTm4ODNdIAI0tRT3n_jKrP_95o4UmR-GiEd6Pv_7ooUHIlQ\";\n // const token = \"BQAG-hn1hI8C6iN1Rz0YOGaff33zVyV5gDKeURTTqck9gysOKvjrDBH0UdSXDTlUyATm0Dq4vkqLEIqiHvS0OX17QQRG9m-Z8NGlP6MMqqPZHeh-WA4kAB28WmhoAd6diYyk9Hqu2LmaF-Y5Wa6Cf0f6vvTwb5gwXqxlR5g3RZHjaBDNfzsPxZpkD-naLNmDMGuoD27h8cKtTduNyEUwTnvS0Bmeo6ZuYy_RGenfnEyWcwq2REe3oO5ODA\";\n //const token = \"BQC2TWaAmcQZRKXXraIC2XwKVXwF_9LY44ITTgeKocRTvupOjZmhRDl4gzVVvatUS0bYbJ5Ni_mWkPqcFFjq1PeA9sFTPsEoYn8DgDgLE6rG9_DfSQAl14_dbZmfptYqMvv6IO84YA8sWrtvqXujURDhGpl28RSkxnP-kDAwWviuymOzQN9wCqENQg-jVmNDVPBm3q70WiL1S_Ibd3vaByeR3o0t2DHSM-5YxzxNjXMV8UA52UKNDU88MQ\";\n // const token = \"BQDQbKgEpL7LfpvPfnUAIiLWlKAQxC1RA5m-98RVQmlgGc6wdpA-JhYBEwgTnA4F4LNDFJwUblCdfMfgTIII6XyMYuURxVdKSD-9_kMSzkslTV5-yhg9bQpqRpF6YrG3_aDqF_j13-yMrgSaJAbbrFJiM5ij8NaTLcS97n8BQ4NgPYuEx1iGA_QyQ15ZDkabps2gTP0J1lxYIcUhTZVrCZMSd_m6xZ-QlwLuQ9jCJDhfUWmB3QZJwsd9Yg\";\n // const token = \"BQAwAt3z_WeJELJMoqPb8b5roH0DGLSViY1Ki_nv0IfGWI9WUE0lwIfNcVt79j7FCw8BaN0H_6zdoWlqmuDi_rI6Q8-YchKNtxuAqIH26aXlTz6owSGTAzmpMDJoWDJiqFHE5Sls9RHwFOPYUxeI_SIXXmHwBk1IfAn9c6NzxQuR0J0wOhEOUObYInGJ22uipMS5EEyaQgnWog19hnvL3E0lTMiFfiwgHzl4xdBJA39mR6U69KI6ZYJTpA\";\n // const token = \"BQDQbKgEpL7LfpvPfnUAIiLWlKAQxC1RA5m-98RVQmlgGc6wdpA-JhYBEwgTnA4F4LNDFJwUblCdfMfgTIII6XyMYuURxVdKSD-9_kMSzkslTV5-yhg9bQpqRpF6YrG3_aDqF_j13-yMrgSaJAbbrFJiM5ij8NaTLcS97n8BQ4NgPYuEx1iGA_QyQ15ZDkabps2gTP0J1lxYIcUhTZVrCZMSd_m6xZ-QlwLuQ9jCJDhfUWmB3QZJwsd9Yg\";\n // const token = \"BQBla4Zxrkw6Htc5yg7f6EcgEY988E3iKrenxxykF7pY02NQWlRr3B_xk1-5sBIPNf8ZSsPWC4SmeAto8Pc4QufYDF0LezoLygBsUGPPqiz5qSnn5I3wRRDyR5Z8D6YWRHyqMaJZVCip0T00EPT6qjO5Dbs3N9myNHwTf6VVnKLk9ACl_latNRFrwBj4U_cdEF10y1WoCibSZpa04VB3MgRouXOxbZ3c3Y3gpFat97axEeTW8-i2oLASXg\";\n // this.service.getSpotifyToken().subscribe(async(res:any)=>{\n // console.log(res);\n // this.spotify = new SpotifyPlayer(\"test12\");\n // await this.spotify.connect(res?.data?.access_token);\n // })\n // const uri = \"spotify:track:3GCwsB2loRGeUL8oq2Y4TW\";\n \n // this.spotify = new SpotifyPlayer(\"test12\");\n // await this.spotify.connect(token);\n\n const script = document.createElement('script')\n script.src = 'https://sdk.scdn.co/spotify-player.js'\n script.type = 'text/javascript'\n script.addEventListener('load', e => {\n console.log(e)\n });\n document.head.appendChild(script);\n\n (window).onSpotifyWebPlaybackSDKReady = () => {\n // this.spotifyToken = 'BQAT3ywNQLFFwApAcZIwBdX3KOpi2THCpgcbQktLHa_zcmbYT_k_kckdxw-SjlA22fwrOygbALYZQNZHcI3wzE4PcOdy3tA4KmzKi22jiSxgNpXcefemHH-JYZsgjNacBCO4nYK6EXDvbg5iaJnQYoKc6Sfo7chjBCKBwgasmsKyd5s0UoeAuWKwqhmzOB9_UllWwoLfY58PCQVmHNa2mJkI9mee2U22xbm7wiJKXzutMSbngls0T3zwqQ';\n // this.spotifyToken = \"BQAc4b9Lp4nD-D-WljcC8XoSJjEhteGPmT_V7vQxKGpO5Aqi2V5_5KeVEPkDpA2lcwC69gLET0WwqESlchV6crOcdO_N-kgQyx1pdL6eLryV5VTtvewM1gWa6fSetmgJOdFHjTJcATxdXg8YO6KrqJFYeP_cXn6uQGxEJV4nGSG4Ivd6IShEK3NvUwT73wLZm63DaDB_bgbWxoTLqTvOcJ5mNTW-p_O1hoQFnBgZzGyLlclmeG-cv3fMVg\";\n // this.spotifyToken = \"BQC9-Cnx8EmSGYlI-mb4wf5vEfKFFvY7nnoeu9xGDYJ76HVH_qzwp4qeEU2o-8egQXIF0eBfmXyfN_UAkAlomX_FUWnO1hfxu3KV6nAfjulBGyq4G0wVEVo5KQjSwC5Hv2Vud8zXS9KbHkw7RUkHBAsMkeZJhHF6veIRi16Wrx8jQWhLfng-FMdiMW1ROJ0Q09DB6JHF1BwtKh5J8Snk9aC4w6DU1vKorecgviPyDszjDG0CTX40W18aRg\";\n // this.spotifyToken = this.service.getSpotifyToken().subscribe(\n // (res:any)=>{\n // let token = this.spotifyToken;\n\n\n // this.spotifyToken = res.data[\"access_token\"];\n // this.spotifyToken = JSON.parse(localStorage.getItem('spotifyTokenInfo')).accessToken;\n this.spotifyToken = this.getSpotifyToken();\n // Get the token and assign here\n\n this.spotifyToken = this.spotifyTokenInfo.access_token;\n let token = this.spotifyToken;\n this.spotifyPlayerNew = new (window).Spotify.Player({\n name: 'Web Playback SDK Quick Start Player',\n getOAuthToken: cb => { cb(token); },\n volume: 0.5\n }, (res:any)=> {\n this.spinner.hide();\n });\n \n console.log(this.spotifyPlayerNew);\n \n this.spotifyPlayerNew.addListener('ready', ({ device_id }) => {\n console.log('Ready with Device ID', device_id);\n this.device_id = device_id;\n });\n \n // Not Ready\n this.spotifyPlayerNew.addListener('not_ready', ({ device_id }) => {\n console.log('Device ID has gone offline', device_id);\n });\n\n this.spotifyPlayerNew.addListener('player_state_changed', state => {\n // this.paused1 = state.paused;\n // this.state1 = state;\n // // this.spotifySongProgressBarValue = Math.trunc((state.position/state.duration)*100);\n // this.position1 = state.position;\n // this.duration1 = state.duration;\n this.currState[\"paused\"] = state?.paused;\n this.currState[\"position\"] = state?.position;\n this.currState['duration'] = state?.duration;\n this.currState['updateTime'] = performance.now();\n });\n \n this.spotifyPlayerNew.connect();\n \n // })\n \n // this.spotifyPlayerNew.addListener('player_state_changed', ({\n // position,\n // duration,\n // track_window: { current_track }\n // }) => {\n // this.spotifySongProgressBarValue = Math.trunc((position/duration)*100);\n // this.position1 = position;\n // this.duration1 = duration;\n // });\n\n \n // setInterval(()=>{\n // // console.log(this.spotifySongProgressBarValue);\n // // console.log(this.position1);\n // // console.log(this.duration1);\n // // console.log(this.paused1);\n // // console.log(this.state1);\n // // let aa = this.getStatePosition();\n // // console.log(aa);\n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n // console.log(state);\n \n // console.log('Currently Playing');\n // console.log('Playing Next');\n // });\n // });\n\n // setTimeout(()=>{\n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n \n // var current_track = state.track_window.current_track;\n // var next_track = state.track_window.next_tracks[0];\n \n // console.log('Currently Playing', current_track);\n // console.log('Playing Next', next_track);\n // });\n // },10000)\n }\n\n }\n\n getStatePosition() {\n if (this.currState?.paused) {\n return this.currState?.position;\n }\n console.log(\"position \",this.currState?.position);\n console.log(\"pnow \",performance.now());\n console.log(\"upddatetime \",this.currState?.updateTime);\n let position = this.currState?.position + (performance.now() - this.currState?.updateTime) / 1000;\n\n console.log(\"final pos\",position);\n console.log(\"final duration\",this.currState?.duration);\n return position > this.currState?.duration ? this.currState?.duration : position;\n }\n // currState:any;\n currState = {\n paused:false,\n position:0,\n duration:0,\n updateTime:0\n }\n position1;\n duration1;\n paused1;\n state1;\n abc(position,duration){\n console.log(\"123\");\n this.spotifySongProgressBarValue = Math.trunc((position/duration)*100);\n }\n // playSelectedSong(songDetails,index:any){\n // // var names = document.querySelectorAll('ang-music-player audio');\n // // var image = document.querySelectorAll('ang-music-player img');\n // // var title = document.querySelectorAll('ang-music-player p');\n \n // console.log(songDetails);\n // console.log(index);\n \n // this.spotifySongSelected = true;\n // this.spotifySongSelectedIndex = index;\n // this.currentlyPlayingSpotifySong = this.audioList[index];\n \n // this.play(this.currentlyPlayingSpotifySong.url);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // // console.log(this.audioList[index].url);\n // // this.spotify.play(this.audioList[index].url);\n // console.log(\"playing spotify song\");\n // // console.log(this.playList);\n // // for(var i=0; ititle[i]).innerHTML = data.title;\n // // }\n \n // // for(var i=0; inames[i]).src = data.url;\n // // }\n \n // // for(var i=0; iimage[i]).src = data.cover;\n // // }\n // // document.getElementsByTagName('audio')[0].autoplay=true;\n \n // // this.spotifySingleData = data;\n // // this.openModal(this.spotifyPlay)\n // }\n\n spotifySongTrackType;\n spotifySongPlaylistIndex;\n playSelectedSong(type,index,subTrackIndex:any){\n // var names = document.querySelectorAll('ang-music-player audio');\n // var image = document.querySelectorAll('ang-music-player img');\n // var title = document.querySelectorAll('ang-music-player p');\n \n console.log(type);\n console.log(index);\n console.log(subTrackIndex);\n \n this.spotifySongSelected = true;\n if(type == 'playlist'){\n this.spotifySongTrackType = 'playlist';\n this.spotifySongPlaylistIndex = index;\n this.spotifySongSelectedIndex = subTrackIndex;\n this.currentlyPlayingSpotifySong = this.spotifyList[index].items[subTrackIndex];\n }\n else{\n this.spotifySongTrackType = 'singleTrack';\n this.spotifySongSelectedIndex = index;\n this.currentlyPlayingSpotifySong = this.spotifyList[index].items[0];\n }\n \n console.log(this.currentlyPlayingSpotifySong);\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n console.log(\"playing spotify song\");\n \n }\n\n spotifyVolumeOn = true;\n spotifyVolumeToggle(){\n if(this.spotifyVolumeOn){\n this.spotifyPlayerNew.setVolume(0).then(() => {\n console.log('Muted');\n this.spotifyVolumeOn = false;\n this.spotifyVolume = 0;\n });\n }\n else{\n this.spotifyPlayerNew.setVolume(0.3).then(() => {\n console.log('UnMuted');\n this.spotifyVolumeOn = true;\n this.spotifyVolume = 30;\n });\n }\n \n\n }\n \n spotifyPlayPrevious(){\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n // }\n // else if(this.spotifySongSelectedIndex == 0){\n // // if(this.spotifySongRepeatModeOn){\n // this.spotifySongSelectedIndex = this.audioList.length;\n // // }\n // }\n // this.spotifySongSelectedIndex-=1;\n\n\n\n if(this.spotifySongTrackType == 'playlsit'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == 0){\n this.spotifySongSelectedIndex = this.spotifyList[this.spotifySongPlaylistIndex].items.length-1;\n }\n else{\n this.spotifySongSelectedIndex--;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getPreviousSingleAndPlay();\n }\n\n\n /********************************* Latest Code ************************************* */\n /** \n if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == 0 && this.spotifySongSelectedIndex == 0) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == 0)){\n // this.spotifySongSelectedIndex = -1;\n let subTrackIndex = this.spotifyList[this.spotifyList.length-1].trackType == 'playlist' ? this.spotifyList[this.spotifyList.length-1].items[this.spotifyList[this.spotifyList.length-1].items.length-1] : null;\n this.playSelectedSong(this.spotifyList[this.spotifyList.length-1].trackType,this.spotifyList.length-1,subTrackIndex);\n return;\n } \n else if(this.spotifySongTrackType == 'playlist'){\n if(this.spotifySongSelectedIndex == 0){\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex-1].items[this.spotifySongSelectedIndex];\n }\n else{\n this.spotifySongSelectedIndex = this.spotifySongSelectedIndex - 1;\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex].items[this.spotifySongSelectedIndex];\n }\n }\n else{\n this.spotifySongSelectedIndex = this.spotifySongSelectedIndex - 1;\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongSelectedIndex].items[0];\n }\n // this.currentlyPlayingSpotifySong = this.audioList[this.spotifySongSelectedIndex];\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n this.spotifySongPaused = false;\n */\n }\n\n spotifySongPlay(){\n // this.spotify\n // debugger;\n // if(this.spotifySongSelected)\n // this.spotify.play(this.audioList[this.spotifySongSelectedIndex].url);\n // else{\n // this.spotifySongSelected = true;\n // this.spotifySongSelectedIndex = 0;\n // this.spotify.play(this.audioList[this.spotifySongSelectedIndex].url);\n // }\n // this.spotifyPlayerNew.play();\n \n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // console.log(state);\n // if (!state) {\n // console.log(\"playing new\")\n // this.play(this.currentlyPlayingSpotifySong.url);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // }\n // else{\n // this.spotifyPlayerNew.resume().then(() => {\n // console.log('Resumed!');\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // });\n // }\n // });\n // if(document.getElementById(\"spotifySongPlay\").style.display == 'block'){\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // this.play(this.currentlyPlayingSpotifySong.url);\n // }\n // else{\n // document.getElementById(\"spotifySongPlay\").style.display = 'block';\n // document.getElementById(\"spotifySongPause\").style.display = 'none';\n // this.spotifyPlayerNew.resume();\n // }\n\n if(this.spotifySongPaused){\n this.spotifyPlayerNew.resume();\n this.spotifySongPaused = false;\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n }\n else{\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n }\n \n \n }\n\n spotifySongProgressBarValue = 0;\n spotifySongPaused = false;\n spotifySongRepeatModeOn = false;\n spotifyVolume = 50;\n songEnded = false;\n already = true;\n spotifySongPause(){\n this.spotifyPlayerNew.pause().then(() => {\n console.log('Paused!');\n this.spotifySongPaused = true;\n document.getElementById(\"spotifySongPlay\").style.display = 'block';\n document.getElementById(\"spotifySongPause\").style.display = 'none';\n }); \n }\n volumeChange(e){\n console.log(e.target.value);\n this.spotifyPlayerNew.setVolume(e.target.value*0.01).then(() => {\n console.log('Volume updated!');\n if(e.target.value == 0){\n this.spotifyVolumeOn = false;\n }\n });\n }\n spotifyPlayNext(){\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n // }\n // else if(this.spotifySongSelectedIndex == this.spotifyList.length-1){\n // // if(this.spotifySongRepeatModeOn){\n // this.spotifySongSelectedIndex = -1;\n // // }\n // } \n\n \n \n // this.currentlyPlayingSpotifySong = this.audioList[this.spotifySongSelectedIndex];\n // this.play(this.audioList[this.spotifySongSelectedIndex].url);\n \n /**** ***************************** Latest Commented ************************************ */\n\n\n // Check if this is last song\n // if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == this.spotifyList.length-1 && this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].length-1) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == this.spotifyList.length-1)){\n // // this.spotifySongSelectedIndex = -1;\n // let subTrackIndex = this.spotifyList[0].trackType == 'playlist' ? 0 : null;\n // this.playSelectedSong(this.spotifyList[0].trackType,0,subTrackIndex);\n // return;\n // } \n // else if(this.spotifySongTrackType == 'playlist'){\n // if(this.spotifyList[this.spotifySongPlaylistIndex].items.length-1 == this.spotifySongSelectedIndex){\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex+1].items[this.spotifySongSelectedIndex];\n // }\n // else{\n // this.spotifySongSelectedIndex = this.spotifySongSelectedIndex + 1;\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex].items[this.spotifySongSelectedIndex];\n // }\n // }\n // else{\n // this.spotifySongSelectedIndex = this.spotifySongSelectedIndex + 1;\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongSelectedIndex].items[0];\n // }\n // this.play(this.currentlyPlayingSpotifySong.uri);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // this.spotifySongPaused = false;\n \n //Check if it the last song\n // this.audioList.length\n\n /******************************************************************************************** */\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.spotifyList.length);\n\n // if(this.spotifyList)\n\n // }\n // else\n // debugger;\n if(this.spotifySongTrackType == 'playlist'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].items.length-1){\n this.spotifySongSelectedIndex = 0;\n }\n else{\n this.spotifySongSelectedIndex++;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getNextSingleAndPlay();\n }\n }\n spotifyProgressBarInterval;\n // play(url){\n // // this.songEnded = false;\n // setTimeout(()=>{\n // this.already = true;\n // },5000)\n \n // $.ajax({\n // url: \"https://api.spotify.com/v1/me/player/play?device_id=\" + this.device_id,\n // type: \"PUT\",\n // data: `{\"uris\": [\"${url}\"]}`,\n // // data: `{\"uris\": [\"}\"]}`,\n // beforeSend: (xhr)=>{xhr.setRequestHeader('Authorization', 'Bearer ' + this.spotifyToken );},\n // success: (data) => { \n // console.log(data);\n // this.startProgress();\n // // this.spotifyProgressBarInterval = setInterval(()=>{\n // // // console.log(this.spotifySongProgressBarValue);\n // // // console.log(this.position1);\n // // // console.log(this.duration1);\n // // // console.log(this.paused1);\n // // // console.log(this.state1);\n // // // let aa = this.getStatePosition();\n // // // console.log(aa);\n // // this.spotifyPlayerNew.getCurrentState().then(state => {\n // // if (!state) {\n // // console.error('User is not playing music through the Web Playback SDK');\n // // return;\n // // }\n // // console.log(state);\n // // this.spotifySongProgressBarValue = (state.position/state.duration)*100;\n // // console.log(this.spotifySongProgressBarValue);\n\n // // if(state.paused && !Math.trunc(this.spotifySongProgressBarValue)){\n // // clearInterval(this.spotifyProgressBarInterval);\n // // }\n\n // // });\n // // });\n // }\n // });\n // }\n play(url){\n // this.songEnded = false;\n setTimeout(()=>{\n this.already = true;\n },5000)\n \n $.ajax({\n url: \"https://api.spotify.com/v1/me/player/play?device_id=\" + this.device_id,\n type: \"PUT\",\n data: `{\"uris\": [\"${url}\"]}`,\n // data: `{\"uris\": [\"}\"]}`,\n beforeSend: (xhr)=>{xhr.setRequestHeader('Authorization', 'Bearer ' + this.spotifyToken );},\n success: (data) => { \n console.log(data);\n this.startProgress();\n }\n });\n }\n spotifySongPlayedTill = '0:00';\n spotifyShuffleModeOn = false;\n originalSpotifyList = [];\n spotifySongShuffleToggle(){\n this.spotifyShuffleModeOn = !this.spotifyShuffleModeOn;\n // if(this.spotifyShuffleModeOn){\n // this.spotifyList = this.shuffle(this.spotifyList);\n // }\n // else{\n // this.spotifyList = this.originalSpotifyList;\n // }\n }\n\n shuffle(array) {\n let currentIndex = array.length, randomIndex;\n \n // While there remain elements to shuffle.\n while (currentIndex != 0) {\n \n // Pick a remaining element.\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n \n // And swap it with the current element.\n [array[currentIndex], array[randomIndex]] = [\n array[randomIndex], array[currentIndex]];\n }\n \n return array;\n }\n\n\n\n startProgress(){\n console.log(\"started\");\n this.spotifySongProgressBarValue = 0;\n this.spotifyProgressBarInterval = setInterval(()=>{\n // console.log(this.spotifySongProgressBarValue);\n // console.log(this.position1);\n // console.log(this.duration1);\n // console.log(this.paused1);\n // console.log(this.state1);\n // let aa = this.getStatePosition();\n // console.log(aa);\n this.spotifyPlayerNew.getCurrentState().then(state => {\n if (!state) {\n console.error('User is not playing music through the Web Playback SDK');\n return;\n }\n // console.log(state);\n this.spotifySongProgressBarValue = (state.position/state.duration)*100;\n this.spotifySongPlayedTill = this.getTimeInMinuteAndSeconds(state.position);\n // console.log(this.spotifySongProgressBarValue);\n\nif(this.already){\n if(state.paused && !this.spotifySongProgressBarValue){\n clearInterval(this.spotifyProgressBarInterval);\n console.log(\"end\");\n // if(this.already){\n this.checkNextAndPlay();\n this.already = false;\n // }\n // if(!this.songEnded){\n // let timer = 0;\n // if(this.spotifySongSelectedIndex == this.audioList.length-1){\n // timer = 4000;\n // }\n // else{\n // timer = 1000;\n // }\n // setTimeout(()=>{\n // this.checkNextAndPlay();\n // },timer);\n \n // this.songEnded = true;\n // }\n \n }\n}\n \n\n });\n },1000);\n\n }\n \n checkNextAndPlay(){\n if(this.spotifySongRepeatModeOn){\n this.spotifySongPlay();\n }\n else{\n console.log(\"1\");\n console.log(\"2\");\n console.log(\"3\");\n console.log(\"4\");\n if(this.spotifyShuffleModeOn){\n this.playShuffledSong();\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n }\n else if(this.spotifySongTrackType == 'playlsit'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].items.length-1){\n this.spotifySongSelectedIndex = 0;\n }\n else{\n this.spotifySongSelectedIndex++;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getNextSingleAndPlay();\n }\n\n // else if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == this.spotifyList.length-1 && this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].length-1) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == this.spotifyList.length-1)){\n // // this.spotifySongSelectedIndex = -1;\n // let subTrackIndex = this.spotifyList[0].trackType == 'playlist' ? 0 : null;\n // this.playSelectedSong(this.spotifyList[0].trackType,0,subTrackIndex);\n // } \n // else{\n // this.spotifyPlayNext();\n // }\n \n }\n \n }\n getNextSingleAndPlay(){\n for(let i=this.spotifySongSelectedIndex;i {\n if (!state) {\n console.error('User is not playing music through the Web Playback SDK');\n return;\n }\n \n this.spotifyPlayerNew.seek((e.target.value/100)*state.duration).then(() => {\n console.log('Changed position!');\n });\n });\n }\n\n getTimeInMinuteAndSeconds = function(timeInMilli){\n let seconds = timeInMilli/1000;\n return Math.trunc(seconds/60) + \":\" + Math.trunc(seconds%60);\n }\n\n getPosts(page,pageLimit){\n this.spinner.show();\n this.service.getPosts(page,pageLimit).subscribe((res:any) => {\n if(res.type == 'success'){\n this.postList = res.data;\n if(res.data.length==0){\n this.stopScrollingPost= false;\n }else{\n this.stopScrollingPost= true;\n }\n for(var i of res.data){\n if(i.type=='SHOW'){\n this.allShows.push(i);\n }else{\n this.allPosts.push(i)\n }\n }\n }else{\n this.toastrService.error(res.message);\n }\n })\n this.spinner.hide();\n }\n\n \n ngOnDestroy() {\n this._header.manageServicesHeading.next(false);\n }\n\n onSubmit(search:any){\n\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template,{backdrop: 'static'});\n }\n\n reportPostType;\n openReportDialog(id:any,type){\n this.reportPostModel = true;\n this.reportCommentModel = false;\n // this.openModal(this.reportPostModal);\n this.modalRef = this.modalService.show(this.reportPostModal, {class:\"reportpostdynamic\",backdrop: 'static'});\n this.reportPostType = type;\n this.reportPostId = id;\n }\n\n onClickSilentPost(id,index){\n // this.service.silentPost(id,{\"isSilent\":true}).subscribe((res:any)=> {\n // if(res.type == \"success\"){\n \n // }else{\n // this.toastrService.error(res.message);\n // }\n // })\n this.service.silentUserPosts({\"userId\":id}).subscribe((res:any)=> {\n if(res.type == \"success\"){\n this.toastrService.success(\"User Silenced\");\n // this.allPostData.splice(index,1);\n if(!this.postId){\n this.allPosts = this.allPosts.filter((data)=>{\n return data.userId._id !=id\n })\n this.allShows = this.allShows.filter((data)=>{\n return data.userId._id !=id\n })\n }\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n commentAreaEnable(postIndex:any){\n // document.getElementById('postCommentList'+postId).style.display = 'block';\n // document.getElementById('postCommentList'+postId).style.display = 'block';\n \n this.service.getCommentsList(this.allPosts[postIndex]._id,1,3).subscribe((res:any)=>{\n this.allPosts[postIndex].comments = res.data;\n this.allPosts[postIndex]['pageNumber'] = 0;\n document.getElementById('postCommentList'+this.allPosts[postIndex]._id).style.display = 'block';\n })\n }\n\n\n likesList:any=[];\n LikeListModalPostId;\n openLikesModal(id:any){\n this.getLikesList(id);\n this.LikeListModalPostId = id;\n // this.openModal(this.likesModel);\n this.modalRef = this.modalService.show(this.likesModel, {class:\"likesmodaldynamic\"});\n\n }\n\n mentionReplyingTo = [];\n removeReplyOption(postIndex){\n (document.getElementById('replyCrossMark'+this.allPosts[postIndex]._id)).style.display = \"none\";\n this.allPosts[postIndex].commentFieldStatus = 'comment';\n delete this.allPosts[postIndex].replyCommentId;\n (document.getElementById('replyCrossMark'+this.allPosts[postIndex]._id)).style.display = \"none\";\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value = '';\n this.mentionReplyingTo = [];\n }\n\n\n getLikesList(id:any){\n this.service.getLikesList(id).subscribe((res:any)=> {\n if(res.type == \"success\"){\n this.likesList = res.data;\n console.log(this.likesList);\n\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n reportPostById(){\n this.service.reportPost(this.reportPostId, {\"comment\":this.reportPostForm.value.comment}).subscribe((res:any) => {\n if(res.type == 'success'){\n this.modalRef.hide();\n this.reportPostForm.reset();\n // this.toastrService.success(res.message);\n this.toastrService.success(this.reportPostType + \" Reported\");\n }else{\n this.toastrService.error(res.message);\n }\n this.reportPostModel = false;\n })\n }\n\n reportCommentById(){\n this.service.reportComment(this.reportCommentPostId,this.reportCommentId,this.reportCommentForm.value.comment,{}).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.modalRef.hide();\n this.reportCommentForm.reset();\n // this.toastrService.success(res.message)\n this.toastrService.success(\"Comment Reported\")\n }else{\n this.toastrService.error(res.message)\n }\n this.reportCommentModel = false;\n },(err)=>{\n this.toastrService.error(err.error.message)\n this.reportCommentModel = false;\n })\n }\n\n cancel(): void {\n this.youtubeEdit = true;\n this.spotifyEdit = true;\n this.reportPostForm.reset();\n this.modalRef.hide();\n this.imagessArray = [];\n this.updateProfileForm.reset();\n this.reportPostModel = false;\n this.reportProfileUser = false;\n this.reportCommentModel = false;\n }\n\n cancelEditProfileModal(){\n this.youtubeEdit = true;\n this.spotifyEdit = true;\n this.reportPostForm.reset();\n this.modalRef.hide();\n this.imagessArray = [];\n this.updateProfileForm.reset();\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n }\n });\n }\n\n mentionsAdded;\n createComment(postIndex:any){\n if(this.allPosts[postIndex].commentFieldStatus && this.allPosts[postIndex].commentFieldStatus == 'reply'){\n this.replyPostCommentClick(postIndex,this.allPosts[postIndex][\"replyCommentId\"],this.allPosts[postIndex]._id);\n }\n else{\n let data = {\n \"text\": this.createCommentForm.value.comment,\n \"postId\": this.allPosts[postIndex]._id,\n }\n \n if((this.createCommentForm.invalid) ||(this.createCommentForm.value.comment.trim()==\"\")){\n this.toastrService.error(\"Add a comment please\");\n return;\n }\n console.log(this.allPosts[postIndex]._id);\n \n if(this.mentionsAdded){\n data['mentions'] = [];\n this.mentionsAdded.forEach(mention => {\n data['mentions'].push({\n \"userId\" : mention.choice._id,\n \"name\" : mention.choice.bandName,\n \"key\" : \"@\"+mention.choice.bandName,\n \"startIndex\" : mention.indices?.start,\n \"endIndex\" : mention.indices?.end\n })\n });\n \n }\n this.service.createComment(data).subscribe((res:any) => {\n // this.onSelectedChoicesChange([]);\n if(res.type == 'success'){\n \n this.toastrService.success(\"Comment created\");\n // let commentcount = (document.getElementById('totalcommentCount'+this.allPosts[postIndex]._id));\n // // commentcount= commentcount.split(' ')[0];\n // console.log(commentcount.innerText);\n // (document.getElementById('totalcommentCount'+this.allPosts[postIndex]._id)).innerHTML=`${parseInt(commentcount.innerHTML)+1}`;\n \n // append the comment here\n // this.allPostData[postIndex].comments.push(\n // {\n // \"createdOn\":\"2023-03-23T14:34:57.591Z\",\n // \"isDeleted\":false,\n // \"mentions\":[],\n // \"postId\":this.allPostData[postIndex]._id,\n // \"replies\":[],\n // \"reports\":[],\n // \"text\":this.createCommentForm.value.comment,\n // \"_id\":\"2212156654\"\n // }\n // )\n this.allPosts[postIndex].comments.unshift(res.data);\n this.createCommentForm.reset();\n this.allPosts[postIndex].commentCount++;\n\n // {\n // \"text\":\"a\",\n // \"mentions\":[],\n // \"_id\":\"641d70cbd49fa109d8e72449\",\n // \"createdOn\":\"2023-03-24T09:43:39.876Z\",\n // \"reports\":[]\n // }\n\n }else{\n this.toastrService.error(res.message);\n }\n }, (err) => {\n this.toastrService.error(err.error.message);\n })\n }\n // this.spinner.show();\n // let data = {\n // \"text\": this.createCommentForm.value.comment,\n // \"postId\": postId,\n // }\n\n // if(this.createCommentForm.invalid){\n // this.toastrService.error(\"Add a comment please\");\n // return;\n // }\n // this.service.createComment(data).subscribe((res:any) => {\n // if(res.type == 'success'){\n // this.createCommentForm.reset();\n // if(this.openModalPostId){\n // this.getCommentsList(this.openModalPostId);\n // }else{\n // this.createCommentForm.reset();\n // this.toastrService.success(res.message);\n // this.postList=[];\n // this.allPosts=[];\n // this.allShows=[];\n // this.page=1;\n // this.getPosts(this.page,this.itemperPage);\n // }\n // }else{\n // this.toastrService.error(res.message);\n // }\n // }, (err) => {\n // this.toastrService.error(err.error.message);\n // })\n // this.spinner.hide();\n }\n\n usersForMention = [];\n\n loadChoices(e){\n console.log(\"loading choices\", e);\n if(e.length >= 2 && !this.choiceRemovedRecently){\n this.service.getUsersForMention({\"keyword\":e}).subscribe((res:any)=>{\n this.usersForMention = res.data;\n });\n }\n else\n this.usersForMention = [];\n }\n choiceRemovedRecently:Boolean;\n choiceRemoved(e,postIndex){\n console.log(\"choice removed\",e);\n console.log(\"choice removed\",postIndex);\n let str = (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value;\n console.log(str.replace(str.substring(e.indices.start,e.indices.end),\"\"));\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value = str.replace(str.substring(e.indices.start+1,e.indices.end),\"\");\n this.choiceRemovedRecently = true;\n this.usersForMention = [];\n setTimeout(()=>{\n this.choiceRemovedRecently = false;\n },1000);\n \n }\n onSelectedChoicesChange(e){\n console.log('Selected Choices Changed',e);\n this.mentionsAdded = e;\n }\n getChoiceLabel(choice){\n console.log(\"creating choice label\",choice);\n return `@${choice.bandName}`;\n }\n onMenuShow(){\n console.log(\"menu show\");\n // this.service.getUsersForMention({}).subscribe((res:any)=>{\n // this.usersForMention = res.data;\n // });\n }\n onMenuHide(){\n console.log(\"mennu hide\");\n this.usersForMention = [];\n }\n selectChoice(user){\n console.log(\"select choice\",user);\n }\n selectChoice2(user){\n console.log(\"select choice\",user);\n }\n getModifiedComment(comment,i){\n if(comment?.mentions?.length){\n return comment?.mentions?.reduce((outPut, mention) =>{\n\n return outPut.replace(mention?.key, `` + mention?.key + \"\");\n \n // return outPut.replace(mention?.key,\"\"+mention?.key+\"\");\n \n // if(mention.endIndex){\n // return outPut.substring(0,mention.startIndex) + \"\" + mention.key + \"\" + outPut.substring(mention.endIndex+1);\n // }\n },comment?.text);\n }\n else{\n return comment?.text;\n }\n }\n\n editProfilePictureURL;\n editProfileCoverPictureURL;\n editProfilePicUpated:Boolean = false;\n editCoverPicUpdated:Boolean = false;\n profileUpdated:Boolean = false;\n\n\n openEditModal(){\n \n // this.spinner?.hide();\n this.spinner.show();\n this.service.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n\n this.profileDetails = res.data;\n this.spinner.hide();\n console.log(this.profileDetails, \"this.geners\")\n this.modalRef = this.modalService.show(this.editProfileModal, {class: 'editprofilepopup'});\n \n this.updateProfileForm.get('bandName').patchValue(this.profileDetails.bandName);\n this.updateProfileForm.get('email').patchValue(this.profileDetails.email);\n let phone = this.profileDetails.countryCode + ' ' + this.profileDetails.mobileNumber.toString().slice(0,3) + ' ' + this.profileDetails.mobileNumber.toString().slice(3,6) + ' ' + this.profileDetails.mobileNumber.toString().slice(6);\n this.updateProfileForm.get('phone').patchValue(phone);\n this.updateProfileForm.get('location').patchValue(this.profileDetails?.address?.city+', '+this.profileDetails?.address?.state+', '+this.profileDetails?.address?.country);\n // this.updateProfileForm.get('genre').patchValue(this.profileDetails?.genereIds[0]?.genereName +\", \" + this.profileDetails?.genereIds[1]?.genereName +\", \" + this.profileDetails?.genereIds[2]?.genereName);\n // this.updateProfileForm.get('genre').patchValue(\n // this.profileDetails?.genereIds[0]?.genereName ? (this.profileDetails?.genereIds[1]?.genereName ? \n // (this.profileDetails?.genereIds[2]?.genereName ? this.profileDetails?.genereIds[0]?.genereName +\",\"+this.profileDetails?.genereIds[1]?.genereName +\",\"+this.profileDetails?.genereIds[2]?.genereName: this.profileDetails?.genereIds[0]?.genereName +\",\"+this.profileDetails?.genereIds[1]?.genereName) : this.profileDetails?.genereIds[0]?.genereName) : '');\n\n this.updateProfileForm.get('genre').patchValue(this.profileDetails?.communityIds.length>0 ? ((this.profileDetails?.communityIds[0]?.communityName != null ? this.profileDetails?.communityIds[0]?.communityName : '') + (this.profileDetails?.communityIds[1]?.communityName!=null ? \",\" +this.profileDetails?.communityIds[1]?.communityName : '')): ((this.profileDetails?.genereIds[0]?.genereName!=null ? this.profileDetails?.genereIds[0]?.genereName : '') + (this.profileDetails?.genereIds[1]?.genereName!=null ? \",\" +this.profileDetails?.genereIds[1]?.genereName : '') + (this.profileDetails?.genereIds[2]?.genereName ? \",\" +this.profileDetails?.genereIds[2]?.genereName :\n ''))) \n // if(this.geners.length>3){\n // this.updateProfileForm.get('genre').patchValue(this.geners.slice(2,40)+'...');\n // }\n // this.updateProfileForm.get('genre').patchValue(this.profileDetails);\n // this.updateProfileForm.get('genre').patchValue(this.geners.substring(1));\n this.updateProfileForm.get('bio').patchValue(this.profileDetails.bio);\n this.updateProfileForm.get('spotifyURL').patchValue(this.profileDetails?.playList?.spotify?.url);\n this.updateProfileForm.get('youtubeURL').patchValue(this.profileDetails?.playList?.youtube?.url);\n this.updateProfileForm.get('profilePicture').patchValue(this.profileDetails?.profileImage?.fileUrl);\n this.updateProfileForm.get('coverPicture').patchValue(this.profileDetails?.coverImage?.fileUrl);\n this.updateProfileForm.get('city').patchValue(this.profileDetails?.address?.city);\n this.updateProfileForm.get('state').patchValue(this.profileDetails?.address?.state);\n this.updateProfileForm.get('country').patchValue(this.profileDetails?.address?.country);\n this.updateProfileForm.get('city').patchValue(this.profileDetails?.address?.city);\n this.updateProfileForm.get('lat').patchValue(this.profileDetails?.location?.coordinates[0]);\n this.updateProfileForm.get('long').patchValue(this.profileDetails?.location?.coordinates[1]);\n\n this.editProfilePictureURL = this.profileDetails?.profileImage?.fileUrl;\n this.editProfileCoverPictureURL = this.profileDetails?.coverImage?.fileUrl;\n \n }\n else{\n this.spinner.hide();\n this.toastrService.info(\"some error occured.please try after some time!\");\n }\n });\n \n }\n\n updateProfileData() {\n // if((this.updateProfileForm.pristine && !this.profileUpdated) || (updateProfileForm.dirty && updateProfileForm.invalid)){\n\n // }\n if(this.updateProfileForm.dirty && this.updateProfileForm.invalid){\n this.toastrService.error(\"Please enter valid details\");\n return;\n }\n if(this.updateProfileForm.pristine && !this.profileUpdated){\n this.modalRef.hide();\n return;\n }\n let data = {\n // \"address\":{\n // \"city\": this.updateProfileForm.value.city,\n // \"state\": this.updateProfileForm.value.state,\n // \"country\": this.updateProfileForm.value.country,\n // },\n\n \"bandName\": this.updateProfileForm.value.bandName,\n // \"location\":{\n // \"lat\": this.updateProfileForm.value.lat,\n // \"long\": this.updateProfileForm.value.long \n // },\n\n // \"email\":this.updateProfileForm.value.email,\n \"bio\": this.updateProfileForm.value.bio,\n // \"genereIds\": this.genersId\n // \"communityIds\": this.profileDetails.role!='Artist' ? this.genersId : [],\n // \"genereIds\": this.profileDetails.role=='Artist' ? this.genersId : [],\n // \"coverImage\":{\n // \"fileUrl\": this.updateProfileForm.value.coverPicture,\n // \"key\": this.updateProfileForm.value.coverPictureKey\n // },\n // \"profileImage\":{\n // \"fileUrl\": this.updateProfileForm.value.profilePicture,\n // \"key\": this.updateProfileForm.value.profilePictureKey\n // }\n // \"youtube\":{\n // \"url\":this.updateProfileForm.value.youtubeURL\n // },\n // \"spotify\":{\n // \"url\":this.updateProfileForm.value.spotifyURL\n // }\n\n }\n\n this.service.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n this.toastrService.success(res.message);\n this.youtubeEdit = true;\n this.spotifyEdit = true;\n this.modalRef.hide();\n this.getProfile();\n this.getPlayList();\n }else{\n this.toastrService.error(res.message);\n }\n })\n\n if(this.updateProfileForm.value.youtubeURL != this.profileDetails?.playList?.youtube?.url || this.updateProfileForm.value.spotifyURL != this.profileDetails?.playList?.spotify?.url){\n let updatePlaylist = {\n \"youtube\":{\n \"url\":this.updateProfileForm.value.youtubeURL\n },\n \"spotify\":{\n \"url\":this.updateProfileForm.value.spotifyURL\n }\n }\n \n this.service.updatePlayList(updatePlaylist).subscribe((res:any)=> {\n if(res.type =='success'){\n this.updateProfileForm.reset();\n this.editCoverPicUpdated = false;\n this.editProfilePicUpated = false;\n this.profileUpdated = false;\n }\n else{\n // this.toastrService.info(\"Please try after sometime\");\n this.updateProfileForm.reset();\n this.editCoverPicUpdated = false;\n this.editProfilePicUpated = false;\n this.profileUpdated = false;\n }\n },\n error => {\n // this.toastrService.info(\"Please try after sometime\");\n this.updateProfileForm.reset();\n this.editCoverPicUpdated = false;\n this.editProfilePicUpated = false;\n this.profileUpdated = false;\n })\n } \n else{\n this.updateProfileForm.reset();\n this.editCoverPicUpdated = false;\n this.editProfilePicUpated = false;\n this.profileUpdated = false;\n }\n }\n\n playYoutube(){\n document.getElementById(\"iframe1\");\n // debugger;\n }\n youtubePlayData:any;\n spotifyPlayData:any;\n currentlyPlayingVideoId = 'fJ9rUzIMcZQ';\n openYoutubeModalP(videoIndex,data:any){\n console.log(videoIndex);\n console.log(data);\n this.youtubePlayData=data;\n this.currentlyPlayingVideoId = data.url.split('v=')[1];\n let initialState: ModalOptions = {\n initialState: {\n videoId: this.currentlyPlayingVideoId,\n videoIndex,\n playList:this.playList,\n videoPlayerOptions : {\n autoplay: true,\n width:906,\n height:596\n }\n } as Partial,\n class: 'ytmodalpopup'\n };\n this.modalRef = this.modalService.show(YoutubeModalContentComponent, initialState);\n // this.openModal(this.youtubePlay);\n // setTimeout(()=>{\n // this.currentlyPlayingVideoId = data.url.split('v=')[1];\n // console.log(data);\n // console.log(this.currentlyPlayingVideoId);\n // this.ytPlayerService.play();\n // // console.log(this.youtubePlayer);\n // // this.youtubePlayer.load('GKSRyLdjsPA')\n // // this.youtubePlayer.setVolume(100)\n \n // // this.youtubePlayer.on('playing', () => {\n // // console.log(this.youtubePlayer.getDuration()) // => 351.521\n // // });\n // },5000)\n \n }\n\n// BANDCAMP \nbandcampModalP(iframesrc:any){\n // console.log(data);\n let initialState: ModalOptions = {\n initialState: {\n source:this._sanitizer.bypassSecurityTrustUrl(iframesrc)\n } as Partial,\n class: 'bandcamppopup'\n };\n this.modalRef = this.modalService.show(BandcampModalContentComponent, initialState);\n // this.openModal(this.youtubePlay);\n // setTimeout(()=>{\n // this.currentlyPlayingVideoId = data.url.split('v=')[1];\n // console.log(data);\n // console.log(this.currentlyPlayingVideoId);\n // this.ytPlayerService.play();\n // // console.log(this.youtubePlayer);\n // // this.youtubePlayer.load('GKSRyLdjsPA')\n // // this.youtubePlayer.setVolume(100)\n \n // // this.youtubePlayer.on('playing', () => {\n // // console.log(this.youtubePlayer.getDuration()) // => 351.521\n // // });\n // },5000)\n \n}\n\nopenSoundCloudModal(source:any){\n // console.log(data);\n let initialState: ModalOptions = {\n initialState: {\n source\n } as Partial,\n class: 'bandcamppopup'\n };\n this.modalRef = this.modalService.show(SoundCloudModalContentComponent, initialState);\n // this.openModal(this.youtubePlay);\n // setTimeout(()=>{\n // this.currentlyPlayingVideoId = data.url.split('v=')[1];\n // console.log(data);\n // console.log(this.currentlyPlayingVideoId);\n // this.ytPlayerService.play();\n // // console.log(this.youtubePlayer);\n // // this.youtubePlayer.load('GKSRyLdjsPA')\n // // this.youtubePlayer.setVolume(100)\n \n // // this.youtubePlayer.on('playing', () => {\n // // console.log(this.youtubePlayer.getDuration()) // => 351.521\n // // });\n // },5000)\n \n}\n\n private _friendsListStatus: boolean;\n public get friendsListStatus(): boolean {\n return this._friendsListStatus;\n }\n public set friendsListStatus(value: boolean) {\n this._friendsListStatus = value;\n }\n getFriendsList(){\n this.service.getFriendsList('','','').subscribe((res:any)=> {\n if(res.type =='success'){\n this.friendsList = res.data.friends;\n if(res.data.friends.length==0){\n this.friendsListStatus = true;\n }else{\n this.friendsListStatus = false;\n }\n if(res.data.friends.length>4){\n this.topFourFriends = res.data.friends.slice(0,4);\n this.otherFriends = res.data.friends.slice(4);\n }else{\n this.topFourFriends = res.data.friends;\n }\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n getFriendsListById(id:any){\n this.service.getFriendsListByUserId(id).subscribe((res:any)=> {\n if(res.type =='success'){\n this.friendsList = res.data.friends;\n this.otherFriends = res.data.friends\n if(res.data.friends.length==0){\n this.friendsListStatus = true; \n }else{\n this.friendsListStatus = false; \n }\n // if(res.data.friends.length>4){\n // this.topFourFriends = res.data.friends.slice(0,4);\n // this.otherFriends = res.data.friends.slice(4);\n // }else{\n // this.topFourFriends = res.data.friends;\n // }\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n \n\n onClickFriend(data:any){\n this.singleFriendData = data;\n if(this.showSiidbar==false){\n this.openModal(this.friendClickModal);\n }else{\n // this.route.navigate(['/user/profile'],{queryParams:{id:data?._id}})\n }\n \n }\n\n sendMessage(id:any){\n // alert(id);\n }\n\n onClickUnfriend(id:any){\n this.service.unFriend(id,{}).subscribe((res:any)=> {\n if(res.type =='success'){\n this.modalRef.hide();\n this.getFriendsList();\n this.profileDetails.friendStatus = 'NOT_FRIEND';\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n onClickSilencePost(id:any){\n this.service.silentPost(id,{\"isSilent\":true}).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.modalRef.hide();\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n\n\n spotifySingleData:any;\n\n\n\n\n player: YT.Player;\n private id: string;\n \n savePlayer(player) {\n this.player = player;\n console.log('player instance', player);\n }\n onStateChange(event) {\n console.log('player state', event.data);\n }\n\n selectedIndex:any = 0;\n\n tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n this.selectedIndex = tabChangeEvent.index;\n console.log(tabChangeEvent);\n if(tabChangeEvent.index == 0){\n this.allPosts = this.allPostsCopy;\n }\n if(tabChangeEvent.index == 1){\n this.allPosts = this.allShows;\n }\n // this.audioplayerprogress();\n\n if(tabChangeEvent.index == 3 && tabChangeEvent.tab.textLabel == 'Spotify'){\n console.log(\"spotify-auth tab\");\n // this.checkSpotifyAuthorized();\n // this.spotifyAuth();\n }\n\n localStorage.setItem(\"selectedProfileTabIndex\",JSON.stringify(tabChangeEvent.index));\n }\n\n gotoSpotify(){\n this.selectedIndex = 3;\n }\n\n gotoYoutube(){\n // this.selectedIndex = 4;\n this.selectedIndex = 6;\n }\n\n addFriendById(id:any){\n let data = (document.getElementById('userFriendsList'+id)).innerHTML;\n if(data=='Add Friend'){\n this.spinner.show();\n (document.getElementById('userFriendsList'+id)).innerText = 'Pending';\n (document.getElementById('userFriendsList'+id)).style.background='white';\n (document.getElementById('userFriendsList'+id)).style.border='solid 1px black';\n (document.getElementById('userFriendsList'+id)).style.color='black';\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => {\n if(res.type == 'success'){\n this.toastrService.success(\"Friend request sent\"); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else{\n this.spinner.show();\n document.getElementById('userFriendsList'+id).innerText = 'Add Friend'\n document.getElementById('userFriendsList'+id).style.background = 'black';\n document.getElementById('userFriendsList'+id).style.color = 'white';\n \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n if(res.type=='success'){\n this.toastrService.success(res.message); \n }\n })\n this.spinner.hide();\n }\n }\n\n onShowsClick(){\n console.log(\"shows clicked\");\n }\n addFriend(){\n let data = (document.getElementById('addFriendButton'+this.postId)).innerHTML;\n if(data=='Add Friend'){\n this.spinner.show();\n this.service.AddFriend({\"recipientId\":this.postId}).subscribe((res:any) => {\n if(res.type == 'success'){\n this.toastrService.success(res.message); \n (document.getElementById('addFriendButton'+this.postId)).innerText = 'Pending';\n (document.getElementById('addFriendButton'+this.postId)).style.background='#E9E9EB';\n (document.getElementById('addFriendButton'+this.postId)).style.border='solid 1px black';\n (document.getElementById('addFriendButton'+this.postId)).style.color='black';\n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else{\n this.spinner.show();\n document.getElementById('addFriendButton'+this.postId).innerText = 'Add Friend'\n document.getElementById('addFriendButton'+this.postId).style.background = 'black';\n document.getElementById('addFriendButton'+this.postId).style.color = 'white';\n \n this.service.cancelRequest(this.postId,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n if(res.type=='success'){\n this.toastrService.success(res.message); \n }\n })\n this.spinner.hide();\n }\n\n }\n\n addFriendImpl(){\n this.spinner.show();\n this.service.AddFriend({\"recipientId\":this.postId}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastrService.success(res.message); \n this.toastrService.success(\"Friend request sent\");\n this.profileDetails.friendStatus = 'REQUEST_SENT';\n }\n this.spinner.hide();\n },(err) => {\n this.toastrService.error(err.error.message);\n this.spinner.hide();\n })\n \n }\n addFriendButtonText:string = \"Add Friend\";\n\n AddFriend(){\n let id=this.postId;\n let data = document.getElementById('addFriendText'+id).innerText;\n // alert(data);\n if(data=='Pending'){\n // this.spinner.show();\n // document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n // document.getElementById('addFriendText'+id).style.background = 'black';\n // document.getElementById('addFriendText'+id).style.color = 'white';\n this.cancelRequestId = this.postId;\n this.modalRef = this.modalService.show(this.cancelRequests,{class:'cancelrequestmodall'});\n // this.service.cancelRequest({\"action\":\"CANCEL\"},id).subscribe((res:any)=>{\n // if(res.type=='success'){\n // this.toastrService.success(res.message); \n // }\n // })\n // this.spinner.hide();\n }else if(data=='Add Friend'){\n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Pending'\n document.getElementById('addFriendText'+id).style.background='white';\n document.getElementById('addFriendText'+id).style.color='black';\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => { \n if(res.type == 'success'){\n // this.toastrService.success(res.message); \n this.toastrService.success(\"Friend request sent\"); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else if(data=='Accept'){ \n this.spinner.show();\n // document.getElementById('addFriendText'+id).innerText = 'Friend'; \n // document.getElementById('addFriendText'+id).classList.add(\"friend\");\n // document.getElementById('addFriendText'+id).classList.remove(\"requestSent\");\n\n // document.getElementById('addFriendText'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n // this.profileDetails?.friendStatus == 'FRIEND';\n // this.changeDetectorRef.detectChanges();\n this.service.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastrService.success(\"Friend request accepted\");\n window.document.location.reload();\n // this.profileDetails?.friendStatus == 'FRIEND';\n // this.changeDetectorRef.detectChanges();\n // debugger;\n // let index = this.moreData.findIndex((obj)=>{\n // return obj._id == id\n // });\n // if(index != -1){\n // this.moreData[index].friendStatus = \"FRIEND\";\n // }\n }else{\n this.toastrService.error(res.message); \n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }\n \n}\n cancelRequest(id, index) {\n this.service.cancelRequest(id, { \"action\": \"CANCEL\" }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastrService.success(\"Cancelled friend request\");\n this.friendsList[index].friendStatus = 'NOT_FRIEND';\n }\n })\n }\n cancelRequestId;\ncancelRequestModalRef;\n\nshowCancelRequestLoader: Boolean = false;\ncancelFriendRequest(){\n this.showCancelRequestLoader = true;\n let id = this.cancelRequestId;\n \n \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n this.showCancelRequestLoader = false;\n if(res.type=='success'){\n this.toastrService.success(\"Cancelled friend request\"); \n document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n document.getElementById('addFriendText'+id).style.background = 'black';\n document.getElementById('addFriendText'+id).style.color = 'white';\n }\n else{\n this.toastrService.info(\"please try after some time!\"); \n }\n this.modalRef?.hide();\n },err => {\n this.showCancelRequestLoader = false;\n this.toastrService.info(\"please try after some time!\"); \n this.modalRef?.hide();\n })\n}\n\n // cancelFriendRequest(){\n // this.spinner.show();\n \n // this.service.cancelRequest(this.postId,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n // if(res.type=='success'){\n // // this.toastrService.success(res.message); \n // this.toastrService.success(\"Cancelled friend request\");\n // this.profileDetails.friendStatus = 'NOT_FRIEND';\n // }\n // this.spinner.hide();\n // })\n \n // }\n\n onClickPhotoAlbum(id:any){\n this.openModal(this.photoAlbumSlider);\n // alert(id);\n }\n\n deletePhotoAlbumIndex:any;\n\n onClickDeletePhotoAlbum(index:any){\n this.modalRef.hide();\n this.openModal(this.deleteAlbumImage);\n console.log(this.activeSlides);\n }\n\n\n // get active slide owl carousel\n activeSlides:any=SlidesOutputData;\n getPassedData(data: SlidesOutputData) {\n this.activeSlides = data;\n console.log(this.activeSlides);\n }\n\n deletePhotosIds:any=[];\n onClickCheckbox(e:any, index:any){\n let ids = e.target.checked;\n if(ids == true){\n this.deletePhotosIds.push(index);\n }else{\n let j=0;\n for(var i of this.deletePhotosIds){\n if(i==index){\n this.deletePhotosIds.splice(j,1);\n }\n j++;\n }\n }\n }\n\n deleteFunction(){\n // alert(this.deletePhotosIds);\n }\n\n photoDelete(){\n let index = (document.getElementById('deletePhotoAlbumId')).value;\n this.modalRef.hide();\n }\n\n // slidesStore: any[];\n\n\n slidesStore :any= [\n {image: '../../../../assets/images/banner-demo.jpg', text: 'First',id:1},\n {image: '../../../../assets/images/bungie.png',text: 'Second',id:2},\n {image: '../../../assets/images/bungie-heading.png',text: 'Third',id:3},\n {image: '../../../../assets/images/boungie-foundation.png',text: 'Forth',id:4},\n {image: '../../../../assets/images/career-views.jpg', text: 'First',id:5},\n {image: '../../../../assets/images/bungie.png',text: 'Second',id:6},\n {image: '../../../../assets/images/banner-demo.jpg',text: 'Third',id:7},\n {image: '../../../../assets/images/bungie.png',text: 'Forth',id:8}\n ];\n noWrapSlides = false;\n showIndicator = true;\n centeralign:boolean = true;\n deleteImagePath:any;\n\n onClickSelectImage(){\n this.photoAlbumCheckbox=true;\n }\n\n onClickCancleImage(){\n this.deletePhotosIds=[];\n this.photoAlbumCheckbox=false;\n }\n\n progress:any=0;\n uploadPhotoAlbum(e:any){\n let file = e.target.files[0];\n let fd = new FormData();\n fd.append('file', file);\n this.service.uploadImageProgressbar(fd).subscribe((res:any)=> {\n if(res.type == 'success'){\n this.uploadPhotoAlbumUrl = res.data.fileUrl;\n }\n })\n }\n\n scrollCheck:boolean;\n onScrollDown(e: any) { \n if(this.stopScrollingPost == true){\n this.page += 1;\n this.getPosts(this.page, this.itemperPage);\n }\n }\n\n onScrollDownPosts() { \n\n console.log(\"from scrolling posts\");\n\n if(this.stopScrollingPost){\n this.postsPageNumber += 1;\n this.getPostsId(this.profileDetails._id,this.postsPageNumber, this.postsPageSize);\n }\n }\n\n onScrollDownShows(e: any) { \n \n if(this.stopScrollingShow){\n // this.page += 1;\n // this.getPosts(this.page, this.itemperPage);\n this.showsPageNumber += 1;\n this.getShows(this.profileDetails._id,this.showsPageNumber, this.showsPageSize);\n }\n }\n\n CheckEnterPress(e:any){\n if (e.keyCode == 13) { \n e.preventDefault();\n return false;\n } \n}\n appendItems() {\n this.addItems(\"push\");\n }\n\n listArray: any = [];\n addItems(_method: string) {\n for (let i = 0; i < this.itemperPage; ++i) {\n if (_method === 'push') {\n this.listArray.push([i].join(\"\"));\n } else if (_method === 'unshift') {\n this.listArray.unshift([i].join(\"\"));\n }\n }\n }\n\n// likePost(id:any){\n// this.spinner.show();\n// this.service.likePost(id,{\"action\":\"LIKE\"}).subscribe((res:any)=>{\n// if(res.type == 'success'){\n// this.postList=[];\n// this.allShows=[]\n// this.allPosts=[];\n// this.page=1;\n// this.getPosts(this.page, this.itemperPage);\n// }\n// })\n// this.spinner.hide();\n// }\n\nlikePost(id:any){\n this.spinners.show();\n let sorce = (document.getElementById('likeImage'+id)).src;\n console.log(sorce);\n if(sorce.includes('Heart.svg')==true){\n (document.getElementById('likeImage'+id)).src = '../../../assets/Indietown_icons/like-dark.svg';\n let count = (document.getElementById('totalLikeCount'+id)).innerHTML;\n let like = count.split(\" \")[0];\n let send;\n if(parseInt(like)==0){\n send = `${parseInt(like)+1} like`;\n }else{\n send = `${parseInt(like)+1} likes`;\n }\n (document.getElementById('totalLikeCount'+id)).innerHTML=send;\n\n this.service.likePost(id,{\"action\":\"LIKE\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n }\n })\n }else{\n (document.getElementById('likeImage'+id)).src = '../../../assets/Indietown_icons/Heart.svg';\n let count = (document.getElementById('totalLikeCount'+id)).innerHTML;\n let like = count.split(\" \")[0];\n let send;\n if((parseInt(like)==2)){\n send = `${parseInt(like)-1} like`;\n }else{\n send = `${parseInt(like)-1} likes`;\n }\n (document.getElementById('totalLikeCount'+id)).innerHTML=send;\n\n this.service.likePost(id,{\"action\":\"DISLIKE\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n }\n })\n }\n this.spinner.hide();\n}\n\n// dislikePost(id:any){\n// this.spinner.show();\n// this.service.likePost(id,{\"action\":\"DISLIKE\"}).subscribe((res:any)=>{\n// if(res.type == 'success'){\n// this.postList=[];\n// this.allShows=[]\n// this.allPosts=[];\n// this.page=1;\n// this.getPosts(this.page, this.itemperPage);\n// }\n// })\n// this.spinner.hide();\n// }\n\ndislikePost(id:any){\n this.spinners.show();\n let sorce = (document.getElementById('dislikeImage'+id)).src;\n if(sorce.includes('Heart.svg')==true){\n (document.getElementById('dislikeImage'+id)).src = '../../../assets/Indietown_icons/like-dark.svg';\n let count = (document.getElementById('totalLikeCount'+id)).innerHTML;\n let like = count.split(\" \")[0];\n let send;\n if(parseInt(like)==0){\n send = `${parseInt(like)+1} like`;\n }else{\n send = `${parseInt(like)+1} likes`;\n }\n (document.getElementById('totalLikeCount'+id)).innerHTML=send;\n\n this.service.likePost(id,{\"action\":\"LIKE\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n }\n })\n }else{\n (document.getElementById('dislikeImage'+id)).src = '../../../assets/Indietown_icons/Heart.svg';\n let count = (document.getElementById('totalLikeCount'+id)).innerHTML;\n let like = count.split(\" \")[0];\n let send;\n if(parseInt(like)==2){\n send = `${parseInt(like)-1} like`;\n }else{\n send = `${parseInt(like)-1} likes`;\n }\n (document.getElementById('totalLikeCount'+id)).innerHTML=send;\n\n this.service.likePost(id,{\"action\":\"DISLIKE\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n }\n })\n }\n\n this.spinners.hide();\n }\n\n deletePostId:any;\n deletePostShowMsg;\n onClickDeletePost(id:any,post){\n // this.openModal(this.deletePost);\n this.modalRef = this.modalService.show(this.deletePost, {class:\"deletepostdynamic\"});\n\n this.deletePostShowMsg = post.type=='SHOW' ? 'show' : 'post';\n this.deletePostId = id;\n }\n\n editshoww:Boolean;\n disabledCreateShow:Boolean = false;\n updatePostId;\n updateShowButton:Boolean;\n updatePostButton:Boolean;\n createPostForm = new FormGroup({\n text: new FormControl('', [Validators.required])\n })\n createShowForm = new FormGroup({\n imageUrl: new FormControl(''),\n imageUrlKey: new FormControl(''),\n title: new FormControl('', [Validators.required]),\n startDate: new FormControl('', [this.asyncDateValidator(\"startDate\")]),\n endDate: new FormControl('', [this.asyncDateValidator(\"endDate\")]),\n startTime: new FormControl('', [this.asyncDateValidator(\"startTime\")]),\n endTime: new FormControl('', [this.asyncDateValidator(\"endTime\")]),\n venue: new FormControl('', []),\n city: new FormControl(''),\n state: new FormControl(''),\n country: new FormControl(''),\n ticketFrom: new FormControl('',Validators.min(0)),\n ticketTo: new FormControl('',Validators.min(0)),\n venueDetails: new FormControl(''),\n})\n\nmyTime:any;\nimagesVideosArray:any=[];\ncountVideoUploaded:any=[];\ncountImagesUploaded:any=[];\nminEndDate:any;\n\nasyncDateValidator(prop:string) {\n\n \n return (control: AbstractControl): { [key: string]: any } | null => {\n const value = control.value;\n // debugger;\n if (!value) {\n return null;\n }\n\n let startDate,endDate,startTime,endTime;\n if(this.createShowForm.controls.startDate?.value){\n startDate = formatDate(new Date(this.createShowForm.controls.startDate?.value),'yyyy-MM-dd','en_US');\n }\n if(this.createShowForm.controls.endDate?.value){\n endDate = formatDate(new Date(this.createShowForm.controls.endDate?.value),'yyyy-MM-dd','en_US');\n }\n if(this.createShowForm.controls.startTime?.value){\n startTime = this.createShowForm.controls.startTime?.value;\n }\n if(this.createShowForm.controls.endTime?.value){\n endTime = this.createShowForm.controls.endTime?.value;\n }\n if((prop == 'endDate' || prop == 'startDate') && (startDate && endDate) && (endDatethis.createShowForm.controls.startTime.value);\n console.log(this.createShowForm.controls.endTime.value<=this.createShowForm.controls.startTime.value);\n console.log(prop == 'endTime' || prop == 'startTime');\n console.log(startTime && endTime);\n console.log(startDate == endDate);\n console.log(startTime);\n console.log(endTime);\n\n if((prop == 'endDate' || prop == 'startDate' || prop == 'endTime' || prop == 'startTime') && (startTime) && (endTime) && (((startDate == endDate) && ((endTime <= startTime) || (endTime <= new Date().getTime()))) || ((startDate < endDate) && (new Date(endDate).toDateString() == new Date().toDateString()) && (endTime <= new Date().getTime())))){\n // if(startDate == endDate){\n \n console.log(\"end time should be greater than current time\");\n this.toastrService.error(\"End Time should be greater than start time and current time\",'',{timeOut:2000});\n return { outOfRange: true }\n // if(this.createShowForm.controls.startTime?.value.getHours >= this.createShowForm.controls.endTime?.value.getHours){\n // console.log(\"error start time hours is greater\");\n // }\n // else{\n // if(this.createShowForm.controls.startTime?.value.getMinutes >= this.createShowForm.controls.endTime?.value.getMinutes){\n // console.log(\"error start time minutes is greater\");\n // }\n // }\n // }\n }\n\n // const hours = value.getHours();\n \n// console.log(\"from hererer\");\n// console.log(this.createShowForm.controls.startDate.value);\n// console.log(typeof this.createShowForm.controls.endDate.value);\n// console.log(this.createShowForm.controls.startDate.value == this.createShowForm.controls.endDate.value);\n// console.log(new Date(this.createShowForm.controls.startDate.value));\n// console.log(new Date(this.createShowForm.controls.startDate.value) == new Date(this.createShowForm.controls.endDate.value))\n// let date1 = formatDate(new Date(this.createShowForm.controls.startDate.value),'yyyy-MM-dd','en_US');\n// let date2 = formatDate(new Date(this.createShowForm.controls.endDate.value),'yyyy-MM-dd','en_US');\n// console.log(date1>date2);\n// console.log(date1document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg' : (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n console.log(post);\n this.createShowForm.controls[\"imageUrl\"].setValue(post.media[0].fileUrl);\n this.createShowForm.controls[\"imageUrlKey\"].setValue(post.media[0].key);\n this.createShowForm.get('title').patchValue(post.text);\n this.createShowForm.get('startDate').patchValue(post.from);\n this.createShowForm.get('endDate').patchValue(post.to);\n this.createShowForm.get('startTime').patchValue(post.from);\n this.createShowForm.get('endTime').patchValue(post.to);\n this.createShowForm.get('venue').patchValue(post.address.venue);\n this.createShowForm.get('city').patchValue(post.address.city);\n this.createShowForm.get('state').patchValue(post.address.state);\n this.createShowForm.get('country').patchValue(post.address.country);\n this.createShowForm.get('ticketFrom').patchValue(post.money.from);\n this.createShowForm.get('ticketTo').patchValue(post.money.to);\n this.createShowForm.get('venueDetails').patchValue(post.venueDetails);\n $(\"#exampleModalToggle\").show();\n this.initAutocomplete();\n }\n }\n\n updatePost(){\n\n let text = this.createPostForm?.value?.text?.replace(/\\
/g, '');\n let data = {\n \"text\": text,\n // \"media\":this.imagesVideosArray\n }\n\n this.service.updatePost(this.updatePostId,data).subscribe((res:any)=>{\n if(res.type === \"success\"){\n this.toastrService.success(\"Post Updated\");\n this.imagesVideosArray=[];\n localStorage.removeItem(\"updatePost\");\n // this.updatePostId = '';\n this.createPostForm.reset();\n this.imagessArray=[];\n this.videoArray = [];\n this.countImagesUploaded=[];\n this.countVideoUploaded=[];\n this.postList=[];\n // this.allPosts=[];\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n this.progress = 0;\n this.disabledCreateShow = false;\n $(\"#createPostModalBootstrap\").hide();\n let index = this.allPosts.findIndex((elm)=>{\n return elm._id == this.updatePostId;\n })\n\n this.allPosts[index] = res.data;\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n }else{\n this.toastrService.error(res.message);\n }\n })\n // this.route.navigateByUrl('/home');\n }\n clickDeletePost(){\n this.service.deletePost(this.deletePostId).subscribe((res:any)=> {\n if(res.type === 'success'){\n // this.allPostData = [];\n this.modalRef.hide();\n this.postList=[];\n // this.allPosts=[];\n // this.allShows=[];\n // this.toastrService.success(res.message);\n this.toastrService.success(this.deletePostShowMsg.charAt(0).toUpperCase() + this.deletePostShowMsg.slice(1) + \" Deleted\");\n this.stopScrollingPost = true;\n // this.createShowForm.reset();\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n console.log(\"here\");\n let deleteElemindex = this.allPosts.findIndex((elm)=>{\n return elm._id == this.deletePostId\n })\n this.allPosts.splice(deleteElemindex,1);\n }else{\n this.toastrService.error(res.message);\n }\n },\n ((error)=> {\n this.modalRef.hide();\n this.toastrService.error(error.error.message);\n })\n )\n}\n\nnewImagesVideosArray = [];\nshowprogressBar = false;\nuserCreatePost(){\n this.showprogressBar = true;\n // this.spinners.show();\n // let data = {\n // \"text\": this.createPostForm.value.text,\n // \"media\":this.imagesVideosArray\n // }\n // this.service.createPost(data).subscribe((res:any) => {\n // if(res.type == 'success'){\n // $(\"#createPostModalBootstrap\").hide();\n // this.createPostForm.reset();\n // this.toastrService.success(res.message);\n // this.imagessArray=[];\n // this.videoArray = [];\n // this.countImagesUploaded=[];\n // this.countVideoUploaded=[];\n // this.getPosts(this.page, this.itemperPage);\n // }else{\n // this.toastrService.error(res.message);\n // }\n // })\n const elm = document.querySelector('.showbox');\n elm.style.boxShadow ='';\n elm.style.border = '';\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n $(\"#createPostModalBootstrap\").hide();\n let text = this.createPostForm?.value?.text?.replace(/\\
/g, '');\n\n let compltedFlag = 0;\n for (let i = 0;i {\n // this.countImagesUploaded.push({ fileUrl: rr.target.result, key: '' });\n // this.imagesVideosArray.push({ fileUrl: rr.target.result, key: '', \"type\": \"image\" });\n \n this.service.uploadImage(fd).subscribe((res: any) => {\n console.log(\"image uploaded\");\n this.newImagesVideosArray.push({ fileUrl: res.data.fileUrl, key: res.data.key, \"type\": \"image\", mediaWidth: file.mediaWidth, mediaHeight: file.mediaHeight,aspectRatio: this.aspectRatioAll == 1/1 ? 0 : (this.aspectRatioAll == 4/5 ? 1 : (this.aspectRatioAll == 16/9 ? 2 : 0)) });\n this.progress = Math.round(100 * (i+1)/this.imagesVideosArray.length);\n console.log(this.progress);\n compltedFlag++;\n if(compltedFlag == this.imagesVideosArray.length){\n this.createPostNew();\n }\n // this.countImagesUploaded.push({ fileUrl: res.data.fileUrl, key: res.data.key });\n // this.imagesVideosArray.push({ fileUrl: res.data.fileUrl, key: res.data.key, \"type\": \"image\" });\n // if (e.target.files.length == (this.imagesVideosArray.length - initialFilesLength)) {\n // e.target.value = '';\n // }\n })\n // }\n // }\n }\n else if (file.type == 'video') {\n console.log(file);\n let fd2 = new FormData();\n fd2.append('file', file.file);\n // const t = await this.getVideoDuration(file);\n // console.log(t.duration);\n // if (parseFloat(t?.duration) <= 480) {\n // const reader = new FileReader();\n // reader.readAsDataURL(file);\n // reader.onload = (rr) => {\n // this.countVideoUploaded.push({ fileUrl: rr.target.result, key: '' });\n // this.imagesVideosArray.push({ fileUrl: rr.target.result, key: '', \"type\": \"video\" });\n // };\n this.service.uploadImage(fd2).subscribe(async (res: any) => {\n console.log('video upload', res);\n if (res.type == 'success') {\n\n\n\n const fileUrlForImage = URL.createObjectURL(file.file);\n const thumbUrl = await this.getThumbnailForVideo(fileUrlForImage);\n\n let block = thumbUrl.split(\";\");\n let contentType = block[0].split(\":\")[1];\n let realData = block[1].split(\",\")[1];\n\n // Convert it to a blob to upload\n let blob2 = this.base64toBlob(realData, contentType);\n let fd3 = new FormData();\n\n let file3 = new File([blob2], 'indie-town.png');\n fd3.append('file', file3);\n\n\n \n this.service.uploadImage(fd3).subscribe((res3: any) => {\n console.log(res3);\n // debugger;\n // this.countVideoUploaded.push({ fileUrl: res.data.fileUrl, key: res.data.key });\n this.newImagesVideosArray.push({ fileUrl: res.data.fileUrl, key: res.data.key, \"type\": \"video\", thumbnail: res3.data.fileUrl,mediaWidth: this.aspectRatioAll == 1/1 ? 200 : (this.aspectRatioAll == 4/5 ? 800: (this.aspectRatioAll == 16/9 ? 3200 : 200)),mediaHeight: this.aspectRatioAll == 1/1 ? 200 : (this.aspectRatioAll == 4/5 ? 600 : (this.aspectRatioAll == 16/9 ? 1800 : 200)),aspectRatio: this.aspectRatioAll == 1/1 ? 0 : (this.aspectRatioAll == 4/5 ? 1 : (this.aspectRatioAll == 16/9 ? 2 : 0))});\n this.progress = Math.round(100 * (i+1)/this.imagesVideosArray.length);\n compltedFlag++;\n if(compltedFlag == this.imagesVideosArray.length){\n this.createPostNew();\n }\n // debugger;\n // if (e.target.files.length == (this.imagesVideosArray.length - initialFilesLength)) {\n // e.target.value = '';\n // }\n });\n \n \n\n \n //Thumbnail generate and upload thumbnail\n\n }\n })\n // } else {\n // this.toastrService.error('you can upload maximum 8 minutes video file');\n // }\n }\n // }\n // else {\n // this.toastrService.error('you can upload maximum 10 media files');\n // e.target.value = '';\n // break;\n // }\n }\n\n if(this.imagesVideosArray.length == 0){\n this.createPostNew();\n }\n\n// console.log(text);\n // return\n // if (this.progress == 0) {\n // this.spinners.show();\n // let data = {\n // \"text\": text,\n // \"media\":this.imagesVideosArray\n // }\n // // console.log(data);\n // return new Promise((resolve, reject) => {\n // this.service.createPost(data).subscribe((event: any) => {\n // if (event.type == 'success') {\n // // debugger;\n // this.createPostForm.reset();\n // // this.toastrService.success(event.message);\n // // this.imagessArray=[];\n // // this.videoArray = [];\n // // this.countImagesUploaded=[];\n // // this.countVideoUploaded=[];\n // this.postList=[];\n // // this.page=1;\n // // this.getPosts(this.page, this.itemperPage);\n // this.progress = 0;\n // console.log(event.data);\n // console.log(this.allPosts);\n // if(this.selectedIndex == 0){\n // this.allPosts.unshift(event.data);\n // }\n // else{\n // this.allPostsCopy.unshift(event.data);\n // }\n // console.log(this.allPosts);\n // this.toastrService.success(\"Created post\");\n // this.imagessArray=[];\n // this.videoArray = [];\n // this.countImagesUploaded=[];\n // this.countVideoUploaded=[];\n // this.imagesVideosArray =[]\n // this.postList=[];\n // } else {\n // this.progress = 0;\n // this.createPostForm.reset();\n // // this.toastrService.success(event.message);\n // this.imagessArray=[];\n // this.videoArray = [];\n // this.countImagesUploaded=[];\n // this.countVideoUploaded=[];\n // this.imagesVideosArray =[]\n // this.postList=[];\n // // this.allPosts = [];\n // // this.page=1;\n // // this.getPosts(this.page, this.itemperPage);\n // this.progress = 0;\n // }\n\n // // switch (event.type) { \n // // case HttpEventType.UploadProgress:\n // // this.progress = Math.round(100 * event.loaded / event.total);\n // // break;\n // // case HttpEventType.Response:\n // // if (event.type == 'success') {\n // // this.createPostForm.reset();\n // // this.toastrService.success(event.message);\n // // // this.imagessArray=[];\n // // // this.videoArray = [];\n // // // this.countImagesUploaded=[];\n // // // this.countVideoUploaded=[];\n // // this.postList=[];\n // // // this.page=1;\n // // // this.getPosts(this.page, this.itemperPage);\n // // this.progress = 0;\n // // console.log(event.data);\n // // console.log(this.allPosts);\n // // this.allPosts.push(event.data);\n // // console.log(this.allPosts);\n // // resolve(this.progress);\n // // } else {\n // // resolve(this.progress);\n // // this.progress = 0;\n // // reject(this.progress);\n // // this.createPostForm.reset();\n // // // this.toastrService.success(event.message);\n // // this.imagessArray=[];\n // // this.videoArray = [];\n // // this.countImagesUploaded=[];\n // // this.countVideoUploaded=[];\n // // this.imagesVideosArray =[]\n // // this.postList=[];\n // // // this.allPosts = [];\n // // // this.page=1;\n // // // this.getPosts(this.page, this.itemperPage);\n // // this.progress = 0;\n // // }\n // // }\n // // this.route.navigateByUrl('/home');\n \n // this.spinners.hide();\n // })\n // })\n // }\n}\n\ncreatePostNew(){\n\n let text = this.createPostForm?.value?.text?.replace(/\\
/g, '');\n\n // if (this.progress == 0) {\n this.spinners.show();\n let data = {\n \"text\": text,\n \"media\": this.newImagesVideosArray\n }\n return new Promise((resolve, reject) => {\n this.service.createPost(data).subscribe((event: any) => {\n switch (event.type) {\n case HttpEventType.UploadProgress:\n // this.progress = Math.round(100 * event.loaded / event.total);\n break;\n case HttpEventType.Response:\n if (event.type == 'success') {\n this.createPostForm.reset();\n this.createPostForm.controls.text.setValue('');\n // this.toastrService.info(\"1234\");\n this.toastrService.success(event.message);\n // this.imagessArray=[];\n // this.videoArray = [];\n // this.countImagesUploaded=[];\n // this.countVideoUploaded=[];\n this.postList = [];\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n \n resolve(this.progress);\n this.showprogressBar = false;\n this.progress = 0;\n this.toastrService.success(\"Created post\");\n this.countImagesUploaded = [];\n this.countVideoUploaded = [];\n this.imagesVideosArray = [];\n this.newImagesVideosArray = [];\n this.allPosts.push(event.data);\n } else {\n resolve(this.progress);\n this.progress = 0;\n reject(this.progress);\n this.createPostForm.reset();\n this.createPostForm.controls.text.setValue('');\n // this.toastrService.success(event.message);\n this.imagessArray = [];\n this.videoArray = [];\n this.countImagesUploaded = [];\n this.countVideoUploaded = [];\n this.imagesVideosArray = [];\n this.newImagesVideosArray = [];\n this.postList = [];\n // this.postList = [];\n this.page = 1;\n this.getPosts(this.page, this.itemperPage);\n this.showprogressBar = false;\n this.progress = 0;\n }\n }\n this.showprogressBar = false;\n this.route.navigateByUrl('/home');\n this.toastrService.success(\"Created post\");\n this.countImagesUploaded = [];\n this.countVideoUploaded = [];\n this.imagesVideosArray = [];\n this.newImagesVideosArray = [];\n // this.progress = 0;\n // this.toastrService.info(\"12345\");\n // this.toastrService.success(\"Created post\");\n this.spinners.hide();\n })\n })\n // }\n}\n\nbase64toBlob(base64Data, contentType) {\n contentType = contentType || '';\n var sliceSize = 1024;\n var byteCharacters = atob(base64Data);\n var bytesLength = byteCharacters.length;\n var slicesCount = Math.ceil(bytesLength / sliceSize);\n var byteArrays = new Array(slicesCount);\n\n for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n var begin = sliceIndex * sliceSize;\n var end = Math.min(begin + sliceSize, bytesLength);\n\n var bytes = new Array(end - begin);\n for (var offset = begin, i = 0; offset < end; ++i, ++offset) {\n bytes[i] = byteCharacters[offset].charCodeAt(0);\n }\n byteArrays[sliceIndex] = new Uint8Array(bytes);\n }\n return new Blob(byteArrays, { type: contentType });\n}\n\nasync getThumbnailForVideo(videoUrl) {\n const video = document.createElement(\"video\");\n const canvas = document.createElement(\"canvas\");\n video.style.display = \"none\";\n canvas.style.display = \"none\";\n\n // Trigger video load\n await new Promise((resolve, reject) => {\n video.addEventListener(\"loadedmetadata\", () => {\n video.width = video.videoWidth;\n video.height = video.videoHeight;\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n // Seek the video to 25%\n video.currentTime = video.duration * 0.25;\n });\n video.onerror = () => {\n reject(\"Invalid video codec. Please select a video file.\")\n }\n video.addEventListener(\"seeked\", () => resolve(''));\n video.src = videoUrl;\n });\n\n // Draw the thumbnailz\n canvas\n .getContext(\"2d\")\n .drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\n const imageUrl = canvas.toDataURL(\"image/png\");\n console.log(imageUrl);\n // debugger;\n return imageUrl;\n}\n\ndeleteComment(id:any){\n this.service.deleteComment(id).subscribe((res:any)=>{\n if(res.type==\"success\"){\n this.toastrService.success(res.message);\n }else{\n this.toastrService.error(res.message);\n }\n })\n}\n\ncheckEnterPress(e:any){\n e.preventDefault();\n if(e.charCode==13){\n if(this.imagesVideosArray.length>=1 || this.createPostForm.value.text!=''){\n this.userCreatePost();\n }\n }\n}\n\nvalidatePriceRange(e){\n if (e.target.value.length>9) {\n this.createShowForm.controls.ticketTo.setValue(e.target.value.slice(0,9));\n // this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n }\n if(!this.createShowForm.controls.ticketFrom.value){\n this.toastrService.error(\"Price range incorrect\",'',{timeOut: 2000});\n e.target.value = '';\n return;\n }\n if(+(e.target.value)<=this.createShowForm.controls.ticketFrom.value){\n this.toastrService.error(\"Price range incorrect\",'',{timeOut: 2000});\n }\n}\n\nvalidatePriceRange1(e) {\n if (e.target.value.length>9) {\n // e.target.value = e.target.value.slice(0,9);\n this.createShowForm.controls.ticketFrom.setValue(e.target.value.slice(0,9));\n // this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n }\n if (!this.createShowForm.controls.ticketFrom.value) {\n this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n e.target.value = '';\n return;\n }\n if (+(e.target.value) <= this.createShowForm.controls.ticketFrom.value) {\n this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n }\n // if (e.target.value.length>9) {\n // e.target.value = e.target.value.slice(0,9);\n // // this.toastrService.error(\"Price range incorrect\", '', { timeOut: 2000 });\n // }\n}\n\nlat:any;\nlong:any;\n\n\nshowprogressBarForShow: boolean = false;\nshowProgress = 0;\nasync userCreateShow(){\n // let sd = this.createShowForm.value.startDate;\n // let cd = new Date();\n // if(sdthis.createShowForm.value.ticketTo){\n return\n }\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n const elm = document.querySelector('.showbox');\n elm.style.boxShadow ='';\n elm.style.border = '';\n // let startDate = this.createShowForm.value.startDate;\n // let startTime = this.createShowForm.value.startTime;\n // startDate.setHours(startTime.getHours());\n // startDate.setMinutes(startTime.getMinutes());\n\n // let endDate = this.createShowForm.value.endDate;\n // let endTime = this.createShowForm.value.endTime;\n // endDate.setHours(endTime.getHours());\n // endDate.setMinutes(endTime.getMinutes());\n\n\n let from123;\n let to123;\n if(this.createShowForm.controls.startDate?.value){\n console.log(this.createShowForm.controls.startDate?.value);\n from123 = new Date(this.createShowForm.controls.startDate?.value?.toLocaleDateString('en-us') + ' ' + this.createShowForm.controls.startTime?.value?.toLocaleTimeString('en-us'));\n }\n if(this.createShowForm.controls.endDate?.value){\n to123 = new Date(this.createShowForm.controls.endDate?.value?.toLocaleDateString('en-us') + ' ' + this.createShowForm.controls.endTime?.value?.toLocaleTimeString('en-us'));\n }\n\n $(\"#exampleModalToggle\")?.hide();\n\n this.showprogressBarForShow = true;\n this.showProgress = 0;\n\n this.spinner.show();\n await this.uploadShowImageToS3();\n this.spinner.hide();\n\n let data = {\n \"text\":this.createShowForm.value.title,\n \"media\":[{\n \"fileUrl\": this.createShowForm.value.imageUrl,\n \"key\": this.createShowForm.value.imageUrlKey,\n \"type\":\"image\",\n mediaWidth: this.showImageWidth,\n mediaHeight: this.showImageHeight,\n aspectRatio: this.aspectRatio == 1/1 ? 0 : (this.aspectRatio == 4/5 ? 1 : (this.aspectRatio == 16/9 ? 2 : 0))\n }],\n \"showDate\": this.createShowForm.value.startDate,\n \"from\": from123,\n \"to\": to123,\n \"type\":\"SHOW\",\n \"address\":{\n \"venue\": (document.getElementById('pac-input')).value?.split(\",\")[0],\n \"city\": (document.getElementById('cityNameFetch')).value,\n \"state\": (document.getElementById('stateModal')).value,\n \"country\": (document.getElementById('countryModal')).value\n },\n \"location\":{\n \"lat\": this.lat,\n \"long\":this.long \n },\n \"money\":{\n \"currencyCode\":\"INR\",\n \"from\":this.createShowForm.value.ticketFrom,\n \"to\":this.createShowForm.value.ticketTo\n },\n \"venueDetails\": this.createShowForm.value.venueDetails\n }\n\n // this.service.createPost(data).subscribe((res:any) => {\n // if(res.type == 'success'){\n // $(\"#exampleModalToggle\").hide();\n // this.createShowForm.reset();\n // this.getPosts(this.page, this.itemperPage);\n // // this.modalRef.hide();\n // this.toastrService.success(res.message);\n // this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n // this.imageChangedEvent = '';\n // }else{\n // this.toastrService.error(res.message);\n // }\n // })\n \n if (this.progress == 0) {\n this.spinners.show();\n return new Promise((resolve, reject) => {\n this.service.createPost(data).subscribe((event: any) => {\n $(\"#exampleModalToggle\").hide();\n this.createShowForm.reset();\n if (event.type == 'success') {\n this.postList=[];\n // this.toastrService.success(event.message);\n // this.toastrService.success(event.message);\n this.progress = 0;\n this.allShows.unshift(event.data);\n this.toastrService.success(\"Created Show\");\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n this.imageChangedEvent = '';\n } else {\n this.progress = 0;\n this.postList=[];\n // this.allPosts=[];\n this.createShowForm.reset();\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n // this.modalRef.hide();\n // this.toastrService.success(event.message);\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n this.imageChangedEvent = '';\n // resolve(this.progress);\n // reject(this.progress);\n }\n\n this.showProgress = 100;\n this.toastrService.success(\"Created Show\");\n this.spinners.hide();\n this.route.navigateByUrl('/home');\n this.showprogressBarForShow = false;\n this.showProgress = 0;\n\n this.createPostForm.reset();\n this.resetImageCropper();\n this.imagessArray=[];\n this.videoArray = [];\n this.countImagesUploaded=[];\n this.countVideoUploaded=[];\n this.imagesVideosArray =[];\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n // this.postList=[];\n // switch (event.type) { \n // case HttpEventType.UploadProgress:\n // this.progress = Math.round(100 * event.loaded / event.total);\n // break;\n // case HttpEventType.Response:\n // if (event.type == 'success') {\n // this.postList=[];\n // this.toastrService.success(event.message);\n // this.toastrService.success(event.message);\n // this.progress = 0;\n // this.allPosts.push(event.data);\n // resolve(this.progress);\n // } else {\n // this.progress = 0;\n // this.postList=[];\n // this.allPosts=[];\n // this.createShowForm.reset();\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n // // this.modalRef.hide();\n // // this.toastrService.success(event.message);\n // this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n // this.imageChangedEvent = '';\n // resolve(this.progress);\n // reject(this.progress);\n // }\n // }\n this.spinners.hide();\n })\n })\n }\n}\n\nshowImageWidth: any;\n showImageHeight: any;\n uploadShowImageToS3(){\n\n return new Promise((resolve,reject) => {\n\n try{\n let fd = new FormData();\n const imageFile = new File([this.dataURItoBlob(this.croppedShowPicture.base64)], this.croppedShowPictureName, { type: 'image/png' });\n fd.append(\"file\", imageFile);\n this.service.uploadImage(fd).subscribe((res: any) => {\n\n this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n this.showProgress = 50;\n this.showImageWidth = this.croppedShowPicture.width;\n this.showImageHeight = this.croppedShowPicture.height;\n this.croppedShowPicture = null;\n this.croppedShowPictureName = null;\n resolve({fileUrl : res.data.fileUrl, key : res.data.key})\n\n\n // this.imageChangedEvent = e;\n // this.createShowImageUrl = res.data.fileUrl;\n // this.CreateShowCropModalRef.hide();\n // document.getElementById('craeteshowplaceholder').style.borderRadius = \"15px\";\n // this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n // this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n // (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n // this.resetImageCropper();\n });\n }\n catch(e){\n reject(\"some error occured\");\n }\n \n });\n \n }\n\n\nchangeToNumber(data:any){\n return parseFloat(data);\n}\n\nupdateShow(){\n if(this.createShowForm.invalid){\n this.toastrService.error('All Fields required');\n return\n }\n this.updateShowButton = false;\n\n let data = {\n \"text\":this.createShowForm.value.title,\n \"media\":[{\n \"fileUrl\": this.createShowForm.value.imageUrl,\n \"key\": this.createShowForm.value.imageUrlKey,\n \"type\":\"image\"\n }],\n \"showDate\": this.createShowForm.value.startDate,\n // \"from\": this.createShowForm.value.startTime,\n // \"to\": this.createShowForm.value.endTime,\n \"from\": new Date(new Date(this.createShowForm.controls.startDate.value).toLocaleDateString('en-us') + ' ' + new Date(this.createShowForm.controls.startTime.value).toLocaleTimeString('en-us')),\n \"to\": new Date(new Date(this.createShowForm.controls.endDate.value).toLocaleDateString('en-us') + ' ' + new Date(this.createShowForm.controls.endTime.value).toLocaleTimeString('en-us')),\n \"type\":\"SHOW\",\n \"address\":{\n \"venue\": (document.getElementById('pac-input')).value.split(\",\")[0],\n \"city\": (document.getElementById('cityNameFetch')).value,\n \"state\": (document.getElementById('stateModal')).value,\n \"country\": (document.getElementById('countryModal')).value\n },\n \"location\":{\n \"lat\": this.lat,\n \"long\":this.long \n },\n \"money\":{\n \"currencyCode\":\"INR\",\n \"from\":this.createShowForm.value.ticketFrom,\n \"to\":this.createShowForm.value.ticketTo\n },\n \"venueDetails\": this.createShowForm.value.venueDetails\n }\n \ndocument.getElementById('text').classList.remove(\"removebodyscroll\");\n // if (this.progress == 0) {\n // this.spinners.show();\n this.minEndDate = new Date();\n localStorage.removeItem('updatePost');\n // return new Promise((resolve, reject) => {\n this.service.updatePost(this.updatePostId,data).subscribe((event: any) => {\n $(\"#exampleModalToggle\").hide();\n if(event.type == 'success'){\n // this.postList=[];\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n this.disabledCreateShow=false;\n this.toastrService.success(\"Updated Show\");\n // this.allPosts=[];\n // this.page=1;\n // this.getPosts(this.page, this.itemperPage);\n this.createShowForm.reset();\n // this.allPosts.push(event.data);\n let index = this.allShows.findIndex((elm)=>{\n return elm._id == this.updatePostId;\n })\n\n this.allShows[index] = event.data;\n }\n this.resetImageCropper();\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n })\n // }\n // this.toastrService.success(\"Successfully Updated Show\");\n // this.spinners.hide();\n // this.route.navigateByUrl('/home');\n }\n\n\n latitude:any;\nlongitude:any;\n\n initAutocomplete() {\n const map = new google.maps.Map(\n document.getElementById(\"mapmk1234\") as HTMLElement,\n {\n center: { lat: this.latitude ? parseFloat(this.latitude): 28.7041, lng: this.longitude ? parseFloat(this.longitude): 77.1025 },\n zoom: 13,\n mapTypeId: \"roadmap\",\n }\n );\n\n\n // Create the search box and link it to the UI element.\n const input = document.getElementById(\"pac-input\") as HTMLInputElement;\n // const searchBox = new google.maps.places.SearchBox(input);\n\n const searchBox = new google.maps.places.Autocomplete(input,{\n types:['establishment']\n });\n\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);\n\n // Bias the SearchBox results towards current map's viewport.\n map.addListener(\"bounds_changed\", () => {\n searchBox.setBounds(map.getBounds() as google.maps.LatLngBounds);\n });\n\n \n // Listen for the event fired when the user selects a prediction and retrieve\n // more details for that place.\n searchBox.addListener(\"place_changed\", () => {\n const place = searchBox.getPlace();\n\n // if (places.length == 0) {\n // return;\n // }\n\n if(!Object.keys(place)?.length){\n return;\n }\n\n // For each place, get the icon, name and location.\n const bounds = new google.maps.LatLngBounds();\n\n // places.forEach((place) => {\n if (!place.geometry || !place.geometry.location) {\n console.log(\"Returned place contains no geometry\");\n return;\n }\n\n const icon = {\n url: place.icon as string,\n size: new google.maps.Size(71, 71),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(17, 34),\n scaledSize: new google.maps.Size(25, 25)\n };\n\n this.lat = place.geometry.location.lat();\n this.long = place.geometry.location.lng();\n\n this.codeLatLng(place.geometry.location.lat(), place.geometry.location.lng());\n let data = (document.getElementById('pac-input')).value;\n (document.getElementById('pac-input')).value = data.split(\",\")[0];\n // this.updateProfile.get('lat').patchValue(place.geometry.location.lat());\n // this.updateProfile.get('long').patchValue(place.geometry.location.lng());\n // this.codeLatLng(place.geometry.location.lat(),place.geometry.location.lng());\n\n \n if (place.geometry.viewport) {\n // Only geocodes have viewport.\n bounds.union(place.geometry.viewport);\n } else {\n bounds.extend(place.geometry.location);\n }\n // });\n map.fitBounds(bounds); \n });\n\n}\n\n\ncodeLatLng(lat, lng) {\n let geocoder = new google.maps.Geocoder();\n var latlng = new google.maps.LatLng(lat, lng);\n geocoder.geocode({location:latlng}, function(results, status) {\n if (status == google.maps.GeocoderStatus.OK) {\n if (results[1]) {\n let a = []; \n a = results[0].formatted_address.split(\",\");\n for (i = 0; i < results[0].address_components.length; i++) {\n let len = results.length; \n (document.getElementById('countryModal')).value=results[len-1].formatted_address;\n if (results[0].address_components[i].types[0] == 'postal_code')\n // alert(\"Zip Code: \" + results[0].address_components[i].short_name);\n (document.getElementById('abcd')).value=results[0].address_components[i].short_name;\n \n console.log(\"*****************************\",results[0].address_components[3].long_name);\n (document.getElementById('cityNameFetch')).value=results[0].address_components[3].long_name;\n }\n\n for (var i=0; idocument.getElementById('stateModal')).value=a.long_name;\n let city_name = (document.getElementById('pac-input')).value;\n let cityArray = city_name.split(',');\n \n // (document.getElementById('cityNameFetch')).value=cityArray[cityArray.length-3];\n break;\n }\n }\n }\n } else {\n alert(\"No results found\");\n }\n } else {\n }\n });\n}\n\n\nremoveVideo(index:any,key:any){\n this.countVideoUploaded.splice(index, 1);\n // this.imagesVideosArray = this.imagesVideosArray.filter(function(data:any){\n // return data.key!=key;\n // })\n\n let ind = this.imagesVideosArray.findIndex( (data: any) => {\n return data.key == key;\n })\n\n if(ind != -1){\n this.imagesVideosArray.splice(ind,1);\n }\n}\n\nremoveImage(index:any,key:any){\n this.countImagesUploaded.splice(index, 1);\n // this.imagesVideosArray = this.imagesVideosArray.filter(function(data:any){\n // return data.key!=key;\n // }) \n \n let ind = this.imagesVideosArray.findIndex( (data: any) => {\n return data.key == key;\n })\n\n if(ind != -1){\n this.imagesVideosArray.splice(ind,1);\n }\n}\n\nopneCreateShowModal(){\n console.log(1);\n if(this.disabledCreateShow == false){\n console.log(2);\n $(\"#createPostModalBootstrap\").hide();\n $(\"#exampleModalToggle\").show();\n // $(\"#createPostModal\").remove();\n document.getElementById('text').classList.add(\"removebodyscroll\");\n this.editshoww=false;\n console.log(4);\n this.initAutocomplete();\n }\n // this.modalRef.hide();\n // this.openModal(this.createShow);\n}\nimageChangedEvent: any = '';\n croppedImage: any = '';\nuploadShowImage(e:any){\n let files = e.target.files;\n let file = e.target.files[0];\n let fd = new FormData();\n fd.append(\"file\", file);\n if (e.target.files && e.target.files.length) {\n for (const file of e.target.files) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n const img = new Image();\n img.src = reader.result as string;\n img.onload = () => {\n this.service.uploadImage(fd).subscribe((res:any)=>{\n this.imageChangedEvent = e;\n this.createShowImageUrl = res.data.fileUrl;\n\n document.getElementById('craeteshowplaceholder').style.borderRadius=\"15px\";\n this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n })\n }\n }\n }\n }\n}\n\n\nremovespacess(e:any,type){\n if(type==1){\n let data = e.srcElement.innerText.trim();\n if(data==''){\n this.btndisablespace=true; \n }else{\n this.btndisablespace=false;\n }\n }else{\n console.log(\"show\",e.target.value)\n if(e.target.value.trim()==\"\"){ \n this.btndisablespace=true;\n }\n else{\n this.btndisablespace=false;\n }\n }\n} \n\nbackButtonClick(){\n // this.modalRef.hide();\n \n this.updateShowButton = false;\n this.createShowForm.reset();\n this.disabledCreateShow = false;\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n (document.getElementById('uploadshowImg')).value='';\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n $(\"#exampleModalToggle\").hide();\n $(\"#createPostModalBootstrap\").show();\n // this.openModal(this.createPost);\n}\n\nhideshowpopup(){\n this.minEndDate = new Date();\n localStorage.removeItem('updatePost');\n $(\"#exampleModalToggle\").hide();\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n this.updateShowButton = false;\n this.createShowForm.reset();\n this.disabledCreateShow = false;\n this.createShowImageUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n (document.getElementById('uploadshowImg')).value='';\n (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/camera.png';\n // this.route.navigateByUrl('/home');\n}\n\ngetTimeWeekWise(previousDate){\n // let previousDate = '2023-03-31T10:20:53.182Z';\n let currentDate = new Date().getTime();\n let previous = new Date(previousDate).getTime();\n let miliseconds = currentDate-previous;\n\n var days:any = Math.floor(miliseconds / (1000 * 60 * 60 * 24));\n var hours:any = Math.floor((miliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n var minutes:any = Math.floor((miliseconds % (1000 * 60 * 60)) / (1000 * 60));\n var seconds:any = Math.floor((miliseconds % (1000 * 60)) / 1000);\n\n // console.log(`mili seconds: ${miliseconds}`);\n // console.log(`Days: ${days}`);\n if(days){\n let msg ;\n if(days==1){\n return `${days} day ago`;\n }else if(days>1 && days<=6){ \n return `${days} days ago`;\n }else if(days >=7){\n let week:any = days/7;\n let we = parseInt(week);\n if(we==1){\n return `${we} week ago`;\n }else{\n return `${we} weeks ago`;\n }\n } \n }else if(hours){\n if(hours>1){\n return `${hours} hours`;\n }\n else{\n return `${hours} hour`;\n }\n \n }else if(minutes){\n if(minutes>1){\n return `${minutes} minutes`;\n }\n else{\n return `${minutes} minute`;\n }\n }else{\n return `now`;\n }\n}\n\ndeletePostComment(){\n // this.service.deleteComment(id).subscribe((res:any)=>{\n // if(res.type==\"success\"){\n // this.toastrService.success(res.message);\n // // this.allPostData = [];\n // this.postList=[];\n // this.page=1;\n // this.getPosts(this.page,this.itemperPage);\n // }else{\n // this.toastrService.error(res.message);\n // }\n // }) \n\n this.deleteCommentModalRef?.hide();\n let postIndex = this.deleteCommentPostIndex;\n let commentIndex = this.deleteCommentIndex;\n\n this.service.deleteComment(this.allPosts[postIndex][\"comments\"][commentIndex]._id).subscribe((res:any)=>{\n if(res.type==\"success\"){\n // this.toastrService.success(res.message);\n this.toastrService.success(\"Comment Deleted\");\n // debugger;\n\n var totalRepliedCommentCount = this.allPosts[postIndex][\"comments\"][commentIndex].replies.length + 1\n if(this.allPosts[postIndex][\"comments\"][commentIndex].replies.length==0){\n this.allPosts[postIndex].commentCount--;\n }else{\n console.log(this.allPosts[postIndex].commentCount, totalRepliedCommentCount)\n this.allPosts[postIndex].commentCount = this.allPosts[postIndex].commentCount - totalRepliedCommentCount\n\n }\n\n console.log(this.allPosts[postIndex][\"comments\"][commentIndex]);\n console.log(this.allPosts[postIndex][\"comments\"]);\n this.allPosts[postIndex][\"comments\"].splice(commentIndex,1);\n this.allPosts[postIndex].commentsCount--;\n console.log(this.allPosts[postIndex][\"comments\"]);\n // this.allPostData = [];\n // this.postList=[];\n // this.page=1;\n // this.getPosts(this.page,this.itemperPage);\n }else{\n this.toastrService.error(res.message);\n }\n }) \n}\n\ncommentbandname:any;\nreplyPostCommentEnable(postIndex,comment:any,reply){\n // (document.getElementById('postCommentReply'+id)).style.display='block';\n\n console.log(postIndex);\n console.log(comment);\n console.log(reply);\n if(reply){\n this.commentbandname = reply.userId.bandName;\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).focus();\n this.allPosts[postIndex][\"commentFieldStatus\"] = 'reply';\n this.allPosts[postIndex][\"replyReplyId\"] = reply.userId?._id;\n (document.getElementById('replyCrossMark'+this.allPosts[postIndex]._id)).style.display = \"block\";\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value = `@${reply.userId.bandName} `;\n this.mentionReplyingTo = [reply.userId];\n }\n else{ \n this.commentbandname = comment.userId.bandName;\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).focus();\n this.allPosts[postIndex][\"commentFieldStatus\"] = 'reply';\n this.allPosts[postIndex][\"replyCommentId\"] = comment._id;\n (document.getElementById('replyCrossMark'+this.allPosts[postIndex]._id)).style.display = \"block\";\n (document.getElementById('addcommnt'+this.allPosts[postIndex]._id)).value = `@${comment.userId.bandName} `;\n this.mentionReplyingTo = [comment.userId];\n }\n \n}\n\nreportReplyId:any;\nopenReportCommentModel(commentId:any,postId,replyId){\n // this.reportPostModel = true;\n // this.openModal(this.reportPostModal);\n this.modalRef = this.modalService.show(this.reportPostModal, {class : 'reportcommentdynamic',backdrop: 'static'});\n\n // this.reportPostModel = false;\n // this.reportCommentModel = true;\n // this.reportCommentId = commentId;\n // this.reportCommentPostId = postId; \n this.reportPostModel = false;\n this.reportCommentModel = true;\n this.reportCommentId = commentId;\n this.reportCommentPostId = postId;\n this.reportReplyId = replyId; \n}\n\ndeletePostCommentReply(){\n\n this.deleteCommentReplyModalRef?.hide();\n let postIndex = this.deleteCommentPostIndex;\n let commentIndex = this.deleteCommentIndex;\n let replyIndex = this.deleteCommentReplyIndex;\n\n this.service.deleteReply(this.allPosts[postIndex]._id,this.allPosts[postIndex][\"comments\"][commentIndex]['replies'][replyIndex]._id).subscribe((res:any)=>{\n if(res.type==\"success\"){\n // this.toastrService.success(res.message);\n this.allPosts[postIndex].commentCount--;\n this.toastrService.success(\"Reply Deleted\");\n this.allPosts[postIndex][\"comments\"][commentIndex][\"replies\"].splice(replyIndex,1);\n this.allPosts[postIndex][\"comments\"][commentIndex].totalRepliesCount--;\n // this.allPostData = [];\n // this.postList=[];\n // this.page=1;\n // this.getPosts(this.page,this.itemperPage);\n }else{\n this.toastrService.error(res.message);\n }\n })\n}\n\nloadMoreReplies(postIndex,commentIndex){\n console.log(postIndex);\n console.log(commentIndex);\n let comment = this.allPosts[postIndex].comments[commentIndex];\n\n\n if(comment.replyPageNumber)\n comment.replyPageNumber++ ;\n else\n comment.replyPageNumber = 1;\n this.service.getRepliesOfComment(comment._id,comment.replyPageNumber,10).subscribe((res:any)=>{\n if(comment.replies.length <= 3)\n this.allPosts[postIndex].comments[commentIndex].replies = res.data;\n else\n this.allPosts[postIndex].comments[commentIndex].replies.push(...res.data);\n })\n}\nhideReplies(postIndex,commentIndex){\n let comment = this.allPosts[postIndex].comments[commentIndex];\n (document.getElementById('hideunderline'+comment._id)).style.display='block';\n (document.getElementById('repliesBox'+comment._id)).style.display='none';\n // (document.getElementById('hideunderline'+comment._id)).style.display='none';\n (document.getElementById('showRepliesBtn'+comment._id)).style.display='block';\n // comment[\"replyPageNumber\"] = 0;\n // comment.replies = [];\n}\n\nreplyPostCommentClick(postIndex,commentId:any,postId:any){\n // let elms = (>document.getElementsByClassName('replyBox'));\n // $('.reply-box').hide();\n // debugger;\n let replyText = (document.getElementById('addcommnt'+postId)).value;\n\n // if(replyText!='')\n // alert(`Comment Id - ${commentId} Post Id: ${postId}`);\n if(replyText!=''){\n let data = {postId,commentId,\"text\":replyText};\n\n if(this.allPosts[postIndex][\"replyReplyId\"]){\n data['isReplyToReply'] = true;\n data['replyUserId'] = this.allPosts[postIndex][\"replyReplyId\"];\n }\n\n if(this.mentionsAdded){\n data['mentions'] = [];\n this.mentionsAdded.forEach(mention => {\n data['mentions'].push({\n \"userId\" : mention.choice._id,\n \"name\" : mention.choice.bandName,\n \"key\" : \"@\"+mention.choice.bandName,\n \"startIndex\" : mention.indices?.start,\n \"endIndex\" : mention.indices?.end\n })\n });\n }\n // this.mentionsAdded ? data['mentions'] = this.mentionsAdded : data ;\n this.service.replyToPostComment(data).subscribe((res:any)=>{\n this.createCommentForm.reset();\n this.mentionsAdded = [];\n let obj = this.allPosts.find(function(obj){\n return obj._id == postId;\n })\n obj.commentFieldStatus = 'comment';\n delete obj.replyCommentId;\n (document.getElementById('replyCrossMark'+postId)).style.display = \"none\";\n (document.getElementById('addcommnt'+postId)).value = '';\n this.mentionReplyingTo = [];\n if(res.type == 'success'){\n obj.commentCount++;\n this.toastrService.success(\"you replied to comment\");\n let commentObj = obj.comments.find((comment)=>{\n return comment._id == commentId\n });\n // commentObj.replies.unshift(\n // {\n // \"text\":replyText,\n // \"mentions\":[],\n // \"_id\":\"641d70cbd49fa109d8e72449\",\n // \"createdOn\":\"2023-03-24T09:43:39.876Z\",\n // \"reports\":[]\n // }\n // )\n commentObj.replies.unshift(res.data);\n commentObj.totalRepliesCount ? commentObj.totalRepliesCount++ : commentObj.totalRepliesCount = 1;\n }\n })\n } \n}\n\nshowReplies(comment){\n (document.getElementById('repliesBox'+comment._id)).style.display='block';\n (document.getElementById('showRepliesBtn'+comment._id)).style.display='none';\n (document.getElementById('hideunderline'+comment._id)).style.display='none';\n \n console.log(comment);\n}\n\ncommentsListData:any=[];\nopenModalPostId:any;\n\nloadMoreComments(id:any){\n this.openModalPostId = id;\n // this.commentsListData = [];\n this.commentPostId = id;\n // this.openModal(this.commentsListModel);\n this.getCommentsList(id);\n return\n}\n\nshowLessComments(postIndex){\n this.allPosts[postIndex]['comments'] = this.allPosts[postIndex]['comments'].slice(0,3);\n this.allPosts[postIndex].pageNumber = 0;\n console.log(this.allPosts[postIndex]['comments'].length);\n}\n\nchangeTime(time:any){\n var dt = new Date(time);\n var hours:any = dt.getHours() ; // gives the value in 24 hours format\n var AmOrPm = hours >= 12 ? 'PM' : 'AM';\n hours = (hours % 12) || 12;\n if(hours<10){\n hours= `0${hours}`;\n }\n var minutes:any = dt.getMinutes() ;\n if(minutes<10){\n minutes= `0${minutes}`;\n }\n var finalTime = hours + \":\" + minutes + \" \" + AmOrPm; \n finalTime // final time Time - 22:10\n return finalTime;\n}\n\nshowMoreDesc(id:any){\n (document.getElementById('lessDesc'+id)).style.display = \"none\";\n (document.getElementById('moreBtn'+id)).style.display = \"none\";\n (document.getElementById('moreBtn'+id)).style.display = \"none\";\n (document.getElementById('moreDataDesc'+id)).style.display = \"inline\";\n (document.getElementById('lessBtn'+id)).style.display = \"inline\";\n}\n\nshowLessDesc(id:any){\n (document.getElementById('lessDesc'+id)).style.display = \"inline\";\n (document.getElementById('moreBtn'+id)).style.display = \"inline\";\n (document.getElementById('moreBtn'+id)).style.display = \"inline\";\n (document.getElementById('moreDataDesc'+id)).style.display = \"none\";\n (document.getElementById('lessBtn'+id)).style.display = \"none\";\n}\n\ngetCommentsList(id:any){\n // this.service.getCommentsList(id,1,1000).subscribe((res:any)=>{\n // this.commentsListData =res.data;\n // })\n let obj = this.allPosts.find(function(obj){\n return obj._id == id;\n })\n if(obj.pageNumber)\n obj.pageNumber++ ;\n else\n obj.pageNumber = 1;\n this.service.getCommentsList(id,obj.pageNumber,10).subscribe((res:any)=>{\n this.commentsListData = res.data;\n // debugger;\n if(obj.comments.length <= 3)\n obj.comments = res.data;\n else\n obj.comments.push(...res.data);\n })\n}\n\nopenCreatePost(){\n if(this.postId){\n $(\"#createCommentOnFriendsTimeline\").show();\n document.getElementById('text').classList.add(\"removebodyscroll\");\n }\n else{\n this.updatePostButton = false;\n document.getElementById('text').classList.add(\"removebodyscroll\");\n const elm = document.querySelector('.showbox');\n elm.style.border = '1px solid #0F0D0F';\n elm.style.boxShadow ='0 0 0px 1000px white inset';\n // document.getElementsByClassName('showbox').style.border=\"\";\n $(\"#createPostModalBootstrap\").show();\n }\n \n // this.openModal(this.createPost);\n}\n\nhideTimelineComment(){\n $(\"#createCommentOnFriendsTimeline\").hide();\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n \n this.commentOnFriendsTimelineForm.reset();\n}\n\ncommentOnFriendsTimelineForm = new FormGroup({\n comment: new FormControl('', [Validators.required])\n})\n\n\ncreateCommentOnFriendTimeline(){\n let text = this.commentOnFriendsTimelineForm.value.comment.trim();\n if(text!=''){\n // this.reportPostSubmit = false;\n let type;\n console.log(this.selectedIndex);\n if(this.selectedIndex == 1){\n type = \"SHOW\";\n }\n let data = {\n \"text\": text,\n \"createdFor\":this.postId,\n type\n }\n this.service.commentOnFriendsTimeline(data).subscribe((res:any) => {\n if(res.type == 'success'){\n this.hideTimelineComment();\n // this.getPostsId(this.postId,this.postsPageNumber,this.postsPageSize);\n if(this.selectedIndex == 0){\n this.allPostsCopy.unshift(res?.data);\n // this.allPosts.unshift(res?.data);\n }\n else if(this.selectedIndex == 1){\n this.allShows.unshift(res?.data);\n }\n this.commentOnFriendsTimelineForm.reset();\n }else{\n this.toastrService.error(res.message);\n }\n })\n }\n}\n\nvideoArray = [];\ncancelPostModal(){\n localStorage.removeItem(\"updatePost\");\n this.disabledCreateShow = false;\n const elm = document.querySelector('.showbox');\n elm.style.boxShadow ='';\n elm.style.border = '';\n document.getElementById('text').classList.remove(\"removebodyscroll\");\n $(\"#createPostModalBootstrap\").hide();\n this.imagessArray=[];\n this.countImagesUploaded=[];\n this.countVideoUploaded=[];\n this.imagesVideosArray=[];\n this.videoArray=[];\n this.createPostForm.reset();\n // this.route.navigateByUrl('/home');\n \n \n \n}\n\ncancelShowModal(){\n // localStorage.removeItem(\"updateShow\");\n // this.disabledCreateShow = false;\n // const elm = document.querySelector('.showbox');\n // elm.style.boxShadow ='';\n // elm.style.border = '';\n // document.getElementById('text').classList.remove(\"removebodyscroll\");\n $(\"#exampleModalToggle\").hide();\n this.createShowForm.reset();\n // this.route.navigateByUrl('/home');\n \n \n \n}\n\nbtndisablespace:Boolean;\neditorConfig: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '122px',\n minHeight: '0',\n maxHeight: 'auto',\n width: 'auto',\n minWidth: '0',\n translate: 'yes',\n enableToolbar: false,\n showToolbar: false,\n // placeholder: 'Enter text here...',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n fonts: [\n { class: 'arial', name: 'Arial' },\n { class: 'times-new-roman', name: 'Times New Roman' },\n { class: 'calibri', name: 'Calibri' },\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\n ],\n customClasses: [\n {\n name: 'quote',\n class: 'quote',\n },\n {\n name: 'redText',\n class: 'redText'\n },\n {\n name: 'titleText',\n class: 'titleText',\n tag: 'span',\n },\n ],\n uploadUrl: 'v1/image',\n uploadWithCredentials: false,\n sanitize: true,\n toolbarPosition: 'top',\n toolbarHiddenButtons: [\n ['bold', 'italic'],\n ['fontSize']\n ]\n}\n\ninvalidVideoCodecPopupRef;\nunSupportedVideoDetailsPopupOpened: boolean = false;\nasync onChangeimg1(e: any) {\n // console.log(e.target.files.length);\n // console.log(this.imagesVideosArray.length);\n if(this.imagesVideosArray.length<10 && (e?.target?.files?.length+this.imagesVideosArray.length)<=10 ){\n if (e.target.files && e.target.files.length) {\n let initialFilesLength = this.imagesVideosArray.length;\n for (let i = 0; i < e.target.files.length; i++) {\n let file = e.target.files[i];\n if(this.imagesVideosArray.length<10){\n let index = this.imagesVideosArray.findIndex((media: any) => {\n return media.key == file.name;\n })\n if(index == -1){\n if(file.type.includes('image/')){\n let fd = new FormData();\n fd.append(\"file\", file);\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = async(rr) => {\n \n // ================OLD====================\n // this.countImagesUploaded.push({ fileUrl: rr.target.result, key: file.name });\n // this.imagesVideosArray.push({ fileUrl: rr.target.result, key: file.name, \"type\": \"image\", file });\n // if ((i+1) == e.target.files.length) {\n // e.target.value = '';\n // }\n // =========================OLD END============================\n \n // ===================NEW=====================\n let obj: any = await this.crop(reader.result as string,1);\n this.countImagesUploaded.push({ fileUrl: obj.resolve, key: file.name, file });\n this.imagesVideosArray.push({ fileUrl: obj.resolve, key: file.name, \"type\": \"image\", file, mediaWidth: obj.mediaWidth, mediaHeight: obj.mediaHeight });\n if ((i+1) == e.target.files.length) {\n e.target.value = '';\n // this.createPostEditImagesCropModalRef = this.modalService.show(this.CreatePostImagesCropModal,{class : \"Create-Post-Image-Crop-Modal\"});\n }\n // ==================NEW END=======================\n \n \n \n // const img = new Image();\n // img.src = reader.result as string;\n // img.onload = () => {\n // this.service.uploadImage(fd).subscribe((res:any)=>{\n // this.countImagesUploaded.push({fileUrl:res.data.fileUrl,key:res.data.key});\n // this.imagesVideosArray.push({fileUrl:res.data.fileUrl,key:res.data.key,\"type\":\"image\"});\n // if(e.target.files.length == (this.imagesVideosArray.length-initialFilesLength)){\n // e.target.value = '';\n // }\n // })\n // }\n }\n }\n else if(file.type.includes('video/')){\n console.log(file);\n let fd2 = new FormData();\n fd2.append('file', file);\n // const t = await this.getVideoDuration(file);\n let t = null;\n let thumbUrl = null;\n try{\n t = await this.getVideoDuration(URL.createObjectURL(file));\n thumbUrl = await this.getThumbnailForVideo(URL.createObjectURL(file));\n if(!thumbUrl || thumbUrl == 'data:,'){\n // this.toastrService.error(`Invalid video.\"${file?.name}\"`);\n throw new Error(`Invalid video.\"${file?.name}\"`);\n }\n }\n catch(error){\n console.log(error);\n // this.toastrService.error(`Invalid video.\"${file?.name}\"`,'',{timeOut:3000});\n this.unSupportedVideoDetails.push(file);\n if(!this.unSupportedVideoDetailsPopupOpened){\n this.invalidVideoCodecPopupRef = this.modalService.show(this.invalidVideoCodecPopup);\n this.unSupportedVideoDetailsPopupOpened = true;\n }\n if ((i+1) == e.target?.files?.length) {\n e.target.value = '';\n }\n continue;\n }\n console.log(t.duration);\n if(parseFloat(t?.duration)<=480){\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (rr) => {\n this.countVideoUploaded.push({ fileUrl: rr.target.result, key: file.name,fileNew : this._sanitizer.bypassSecurityTrustResourceUrl((window.URL || window.webkitURL).createObjectURL(file)) });\n this.imagesVideosArray.push({ fileUrl: rr.target.result, key: file.name, \"type\": \"video\", file });\n if ((i+1) == e.target.files.length) {\n e.target.value = '';\n }\n };\n // this.service.uploadImage(fd2).subscribe((res: any) => {\n // console.log('video upload', res);\n // if (res.type == 'success') {\n // this.countVideoUploaded.push({fileUrl:res.data.fileUrl,key:res.data.key});\n // this.imagesVideosArray.push({fileUrl:res.data.fileUrl,key:res.data.key,\"type\":\"video\"});\n // if(e.target.files.length == (this.imagesVideosArray.length-initialFilesLength)){\n // e.target.value = '';\n // }\n // }\n // })\n }else{\n this.toastrService.error('you can upload maximum 8 minutes video file');\n }\n }\n } else {\n // you cannot upload same media file again.please rename the duplicate file\n this.toastrService.error('Duplicate file detected. Please rename the file and try uploading again.');\n if ((i+1) == e.target.files.length) {\n e.target.value = '';\n // this.createPostEditImagesCropModalRef = this.modalService.show(this.CreatePostImagesCropModal,{class : \"Create-Post-Image-Crop-Modal\"});\n }\n continue;\n }\n \n }\n else{\n this.toastrService.error('you can upload maximum 10 media files');\n e.target.value = '';\n break;\n }\n }\n }\n }\n else{\n this.toastrService.error('you can upload maximum 10 media files');\n e.target.value = '';\n }\n}\n\ninputVideoWith = 200;\ninputVideoHeight = 200;\ncrop(url, aspectRatio) {\n // we return a Promise that gets resolved with our canvas element\n return new Promise((resolve) => {\n // this image will hold our source image data\n const inputImage = new Image();\n\n // we want to wait for our image to load\n inputImage.onload = () => {\n // let's store the width and height of our image\n const inputWidth = inputImage.naturalWidth;\n const inputHeight = inputImage.naturalHeight;\n\n // get the aspect ratio of the input image\n const inputImageAspectRatio = inputWidth / inputHeight;\n\n // if it's bigger than our target aspect ratio\n let outputWidth = inputWidth;\n let outputHeight = inputHeight;\n if (inputImageAspectRatio > aspectRatio) {\n outputWidth = inputHeight * aspectRatio;\n } else if (inputImageAspectRatio < aspectRatio) {\n outputHeight = inputWidth / aspectRatio;\n }\n\n // calculate the position to draw the image at\n const outputX = (outputWidth - inputWidth) * 0.5;\n const outputY = (outputHeight - inputHeight) * 0.5;\n\n // create a canvas that will present the output image\n const outputImage = document.createElement('canvas');\n\n // set it to the same size as the image\n outputImage.width = outputWidth;\n outputImage.height = outputHeight;\n this.inputVideoWith = outputWidth;\n this.inputVideoHeight = outputHeight;\n\n console.log(outputImage.width);\n console.log(outputImage.height);\n\n // draw our image at position 0, 0 on the canvas\n const ctx = outputImage.getContext('2d');\n ctx.drawImage(inputImage, outputX, outputY);\n var data = outputImage.toDataURL('image/jpeg', 1);\n let obj = {resolve: data, mediaWidth: outputWidth, mediaHeight: outputHeight}\n resolve(obj);\n };\n\n // start loading our image\n inputImage.src = url;\n });\n}\n\n\naspectRatios = [1/1, 4/5, 16/9];\n\naspectRatioAll: any = 1/1;\nchangeImageAspectRatioAll(ratioIndex: any){\n this.aspectRatioAll = this.aspectRatios[ratioIndex];\n console.log(this.aspectRatios[ratioIndex]);\n // here5555\n // this.cd.detectChanges();\n\n for (let i = 0; i < this.countImagesUploaded.length; i++) {\n \n\n let file = this.countImagesUploaded[i].file;\n \n let fd = new FormData();\n fd.append(\"file\", file);\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = async (rr) => {\n\n let obj: any = await this.crop(reader.result as string,this.aspectRatioAll);\n this.countImagesUploaded[i].fileUrl = obj.resolve;\n let imagesVideosArrayIndex = this.imagesVideosArray.findIndex((obj)=>{\n return obj.key == this.countImagesUploaded[i].key;\n });\n \n // debugger;\n if(imagesVideosArrayIndex != -1){\n this.imagesVideosArray[imagesVideosArrayIndex]['fileUrl'] = obj.resolve;\n this.imagesVideosArray[imagesVideosArrayIndex]['mediaWidth'] = obj.mediaWidth;\n this.imagesVideosArray[imagesVideosArrayIndex]['mediaHeight'] = obj.mediaHeight;\n }\n }\n }\n}\n\ngetVideoDuration(file):Promise {\n return new Promise((resolve, reject) => {\n try {\n let video = document.createElement('video')\n video.preload = 'metadata'\n\n video.onloadedmetadata = function () {\n resolve(this)\n }\n\n video.onerror = function () {\n reject(\"Invalid video. Please select a video file.\")\n }\n\n video.src = file;\n // video.src = window.URL.createObjectURL(file)\n } catch (e) {\n reject(e)\n }\n });\n}\nremovespacessPost(e:any){\n // let data = e.srcElement.innerText.trim();\n let data = e.target.value;\n if(data==''){\n this.btndisablespace=true; \n }else{\n this.btndisablespace=false;\n }\n}\n\nreplyCommentEnable(id:any){\n (document.getElementById('commentReply'+id)).style.display='block';\n}\n\nreplyCommentClick(commentId:any,postId:any){\n let data = (document.getElementById('replyText'+commentId)).value;\n console.log(data);\n\n if(data!='')\n alert(`Comment Id - ${commentId} Post Id: ${postId}`);\n}\n\n\ngetTimeRemaining(miliseconds:any){\n miliseconds = miliseconds - 1000;\n const days = Math.floor(miliseconds / (1000 * 60 * 60 * 24));\n const hours = Math.floor((miliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((miliseconds % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((miliseconds % (1000 * 60)) / 1000);\n let data = minutes + \" : \" + seconds;\n return data\n}\n\ngetImage(id:any){\n let src = \"https://img.youtube.com/vi/\" +id +\"/0.jpg\";\n return src\n}\n\nonClickYoutubeEditUrl(){\n this.youtubeEdit = false;\n}\n\nonClickSpotifyEditUrl(){\n this.spotifyEdit = false;\n}\n\ngetYoutubeId(data){\n let id = data.toString();\n let youId = id.split(\"=\");\n return youId[1];\n\n}\n\nsearchFriend(e:any){\n this.searchFriendKey = e;\n}\n\nupdateCity(){\n // this.modalRef.hide();\n // this.route.navigateByUrl('/profile/update/city');\n this.showUpdateModal('updateCity');\n}\n\nupdateMobNum(){\n this.showUpdateModal('updateMobNum'); \n}\n\nreportProfileUser: Boolean = false;\nonClickreportProfile(){\n this.reportProfileUser = true;\n this.openModal(this.reportPostModal);\n}\n\nreportUserById(){\n this.service.reportUser(this.postId, {\"text\":this.reportPostForm.value.comment}).subscribe((res:any) => {\n if(res.type == 'success'){\n this.modalRef.hide();\n this.reportPostForm.reset();\n this.toastrService.success('user reported');\n }else{\n this.toastrService.error(res.message);\n }\n this.reportProfileUser = false;\n })\n}\n\nunFriendConfirm(){\n this.onClickUnfriend(this.postId);\n}\n\nonClickUnfriendUser(){\n // this.openModal(this.userUnfriend);\n this.modalRef = this.modalService.show(this.userUnfriend, {class:'userunfirendpopup'});\n\n}\n\naudioplayerprogress(){\n return\n var title = document.querySelectorAll('ang-music-player div');\n let time =title[6].innerHTML.split(\":\");\n let time2 =title[6].innerHTML.split(\":\");\n let seconds = parseInt(time[1]);\n let minutes = parseInt(time[0]);\n let totalSeconds = (minutes * 60)+ seconds;\n let seconds2 = parseInt(time[1]);\n let minutes2 = parseInt(time[0]);\n let totalSeconds2 = (minutes * 60)+ seconds;\n let width = totalSeconds /465;\n // document.documentElement.style.setProperty(\"--anchor-hover-color\",width+'px');\n}\nformatTimeUnit(input, unit){\n var index = input.indexOf(unit);\n var output = \"00\"\n if(index < 0){\n return output; // unit isn't in the input\n }\n\n if(isNaN(input.charAt(index-2))){\n return '0' + input.charAt(index-1);\n }else{\n return input.charAt(index-2) + input.charAt(index-1);\n }\n}\n\nISO8601toDuration(input){\n var H = this.formatTimeUnit(input, 'H');\n var M = this.formatTimeUnit(input, 'M');\n var S = this.formatTimeUnit(input, 'S');\n\n if(H == \"00\"){\n H = \"\";\n }else{\n H += \":\"\n }\n\n return H + M + ':' + S ;\n}\n\nshowspinner(){\n this.spinner.show();\n}\nhidespinner(){\n this.spinner.hide();\n}\n\nbandcampp() {\n console.log(' Bandcampplayer...');\n // var names = document.querySelectorAll('#bandcamppp').contents().find('body').addClass('foo');;\n // names.contents().find('body').addClass('foo');\n // $(\"iframe\").contents().find('#player').addClass('foo');\n // var iframe = (document?.querySelector('#bandcamppp') as HTMLIFrameElement) \n // var iframe_doc = iframe.contentWindow ? iframe.contentWindow.document : iframe.contentDocument;\n $('#bandcamppp').find('#player').addClass('bandyyyy'); \n $('#bandcamppp').find('body').addClass('bannnnn'); \n console.log('banddiv' + $('#bandcamppp').find('#player'))\n // console.log(iframe_doc + \"BODY\");\n}\n\n moreVideosComing = false;\n\n onYoutubeScrollDown(e: any) { \n console.log(e);\n this.service.getYoutubePlayList({nextPageToken:this.NextPageTokenForYoutube}).subscribe((res:any)=>{\n // this.playList = res?.data?.youtubeResult;\n console.log(res.data.videos);\n this.playList.push(...res.data.videos)\n if(res?.data?.pageInfo?.nextPageToken){\n this.moreVideosComing = true;\n }\n this.NextPageTokenForYoutube = res.data?.pageInfo?.nextPageToken;\n })\n }\n sidebarFixed:any;\n\n @HostListener('window:scroll', ['$event']) onScroll(event) {\n\n// console.log(window.scrollY);\n if (window.scrollY > 350) {\n this.sidebarFixed = true;\n }\n else if (window.scrollY < 350) {\n this.sidebarFixed = false;\n }\n\n }\n makeFavouriteFriend(){\n this.service.makeFavouriteFriend(this.postId).subscribe(res=>{\n console.log(res);\n this.profileDetails.isTopFriend = true;\n // change star\n })\n }\n makeUnFavouriteFriend(){\n this.service.makeUnFavouriteFriend(this.postId).subscribe(res=>{\n console.log(res);\n this.profileDetails.isTopFriend = false;\n // change star\n })\n }\n\n AddFriendLikes(id:any){\n let data = document.getElementById('addFriendTextLikes'+id).innerText;\n if(data=='Pending'){\n this.spinners.show();\n document.getElementById('addFriendTextLikes'+id).innerText = 'Add Friend'\n document.getElementById('addFriendTextLikes'+id).classList.remove(\"requestSent\");\n document.getElementById('addFriendTextLikes'+id).classList.add(\"requestNotSent\"); \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n if(res.type=='success'){\n this.toastrService.success(res.message); \n }\n })\n this.spinners.hide();\n }else if(data=='Add Friend'){\n this.spinners.show();\n document.getElementById('addFriendTextLikes'+id).innerText = 'Pending'\n document.getElementById('addFriendTextLikes'+id).classList.add(\"requestSent\");\n document.getElementById('addFriendTextLikes'+id).classList.remove(\"requestNotSent\");\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => { \n if(res.type == 'success'){\n this.toastrService.success(res.message); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinners.hide();\n }else if(data=='Accept'){ \n document.getElementById('addFriendTextLikes'+id).innerText = 'Friend'; \n document.getElementById('addFriendTextLikes'+id).classList.add(\"friend\");\n document.getElementById('addFriendTextLikes'+id).classList.remove(\"requestSent\");\n\n document.getElementById('addFriendTextLikes'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.service.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastrService.success(\"Friend request accepted\");\n // debugger;\n // let index = this.moreData.findIndex((obj)=>{\n // return obj._id == id\n // });\n // if(index != -1){\n // this.moreData[index].friendStatus = \"FRIEND\";\n // }\n }else{\n this.toastrService.error(res.message); \n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }\n }\n\n generUpdatemodalRef;\n updateScreen;\n updateData = {};\n showGenerUpdate(){\n this.generUpdatemodalRef = this.modalService.show(this.showupdateGenerModal,{class:\"update-gener-modal\"});\n }\n\n showUpdateModal(updateScreen){\n this.updateScreen = updateScreen;\n this.generUpdatemodalRef = this.modalService.show(this.showupdateGenerModal,{class:\"update-gener-modal\"});\n }\n\n collectUpdatedIds(e){\n console.log(e);\n // this.updateData['ids'] = e;\n this.updateProfileForm.get('genre').patchValue(e.generNames);\n this.genersId = e.ids;\n this.generUpdatemodalRef.hide();\n this.profileUpdated = true;\n }\n\n collectUpdatedupdateMobNum(e){\n console.log(e, \"mob\");\n this.generUpdatemodalRef.hide();\n this.profileUpdated = true;\n let phone = e.countryCode + ' ' + e.mobileNumber.toString().slice(0,3) + ' ' + e.mobileNumber.toString().slice(3,6) + ' ' + e.mobileNumber.toString().slice(6);\n this.updateProfileForm.get('phone').patchValue(phone);\n this.updateProfileForm.get('MobNum').patchValue(e.mobileNumber);\n \n }\n\n collectUpdatedAddress(e){\n console.log(e);\n // this.updateData['addressDetails'] = JSON.parse(e);\n this.updateProfileForm.controls.city.patchValue(JSON.parse(e).address.city);\n this.updateProfileForm.controls.state.patchValue(JSON.parse(e).address.state);\n this.updateProfileForm.controls.country.patchValue(JSON.parse(e).address.country);\n this.updateProfileForm.controls.lat.patchValue(JSON.parse(e).location.lat);\n this.updateProfileForm.controls.long.patchValue(JSON.parse(e).location.long);\n this.updateProfileForm.get('location').patchValue(JSON.parse(e).address.city+', '+JSON.parse(e).address.state+', '+JSON.parse(e).address.country);\n\n this.generUpdatemodalRef.hide();\n this.profileUpdated = true;\n }\n\n collectUpdatedCoverPicture(e){\n console.log(e);\n // this.updateData['coverPicDetails'] = JSON.parse(e);\n this.editProfileCoverPictureURL = JSON.parse(e).coverImage.fileUrl;\n this.updateProfileForm.controls.coverPicture.patchValue(JSON.parse(e).coverImage.fileUrl);\n this.updateProfileForm.controls.coverPictureKey.patchValue(JSON.parse(e).coverImage.key);\n this.generUpdatemodalRef.hide();\n this.editCoverPicUpdated = true;\n this.profileUpdated = true;\n }\n\n collectUpdatedProfileDetails(e){\n console.log(e);\n // this.updateData['profilePicDetails'] = JSON.parse(e);\n this.editProfilePictureURL = JSON.parse(e).profileImage.fileUrl;\n this.updateProfileForm.controls.profilePicture.patchValue(JSON.parse(e).profileImage.fileUrl);\n this.updateProfileForm.controls.profilePictureKey.patchValue(JSON.parse(e).profileImage.key);\n this.generUpdatemodalRef.hide();\n this.editProfilePicUpated = true;\n this.profileUpdated = true;\n }\n\n enableBandNameUpdate(){\n document.getElementById('bandNameUpdate').style.display = 'none';\n this.updateProfileForm.controls.bandName.enable();\n setTimeout(()=>{\n document.getElementById('bandNameUpdateText').focus();\n },500);\n }\n enableBioUpdate(){\n document.getElementById('bioUpdate').style.display = 'none';\n this.updateProfileForm.controls.bio.enable();\n setTimeout(()=>{\n document.getElementById('bioUpdateText').focus();\n },500);\n }\n enableSpotifyUpdate(){\n document.getElementById('spotifyUpdate').style.display = 'none';\n this.updateProfileForm.controls.spotifyURL.enable();\n setTimeout(()=>{\n document.getElementById('spotifyUpdateText').focus();\n },500);\n }\n enableYoutubeUpdate(){\n document.getElementById('youtubeUpdate').style.display = 'none';\n this.updateProfileForm.controls.youtubeURL.enable();\n setTimeout(()=>{\n document.getElementById('youtubeUpdateText').focus();\n },500);\n }\n\n async checkSpotifyAuthorized(){\n // let spotifyTokenInfo = localStorage.getItem(\"spotifyTokenInfo\");\n // if(spotifyTokenInfo){\n // console.log(spotifyTokenInfo);\n // let spotifyTokenInfoParsed = JSON.parse(spotifyTokenInfo);\n // console.log(spotifyTokenInfoParsed);\n // if(!spotifyTokenInfoParsed.accessToken){\n // this.spotifyAuth();\n // }\n // else{\n // // Check token validity\n // console.log(\"check token validity\");\n // }\n // }\n // else{\n // this.spotifyAuth();\n // }\n let spotifyTokenInfoParsed:any = await this.getSpotifyToken();\n // spotifyTokenInfoParsed\n console.log(spotifyTokenInfoParsed);\n if(spotifyTokenInfoParsed){\n console.log(spotifyTokenInfoParsed);\n // let spotifyTokenInfoParsed = JSON.parse(spotifyTokenInfo);\n console.log(spotifyTokenInfoParsed);\n\n // Check token expired\n if(new Date().getTime() - spotifyTokenInfoParsed.expiresAtDate >= 216000){\n let refreshTokenResponse = await this.refreshSpotifyToken(spotifyTokenInfoParsed.refresh_token);\n refreshTokenResponse['expiresAtDate'] = refreshTokenResponse.expires_in + new Date().getTime();\n this.updateSpotifyToken(refreshTokenResponse);\n this.spotifyTokenInfo = refreshTokenResponse;\n this.spotifyInitialization();\n }\n else{\n this.spotifyTokenInfo = spotifyTokenInfoParsed;\n this.spotifyInitialization();\n }\n \n }\n else{\n this.spotifyAuth();\n }\n }\n\n spotifyTokenInfo:any;\n\n updateSpotifyToken(data){\n this.service.saveOrUpdateSpotifyToken(data).subscribe((res:any)=>{\n console.log(data);\n })\n }\n\n async refreshSpotifyToken(refresh_token){\n\n let body = new URLSearchParams({\n grant_type: 'refresh_token',\n refresh_token: refresh_token,\n client_id: 'b9568077e42a48ba89e30e3c7aa48b33',\n });\n const response = await fetch('https://accounts.spotify.com/api/token', {\n method: 'POST',\n body:body,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n });\n\n const data = await response.json();\n\n console.log(data);\n\n if(data.error){\n this.spotifyAuth();\n }\n else{\n return data;\n }\n\n // this.service.saveOrUpdateSpotifyToken(data).subscribe((res:any)=>{\n // console.log(data);\n // })\n }\n\n async getSpotifyToken(){\n return new Promise((resolve,reject)=>{\n this.service.getSpotifyAuthToken().subscribe((res:any)=>{\n console.log(res);\n if(res.data && res.data.access_token){\n resolve(res.data);\n }\n else{\n this.spotifyAuth();\n }\n },\n err => {\n console.log(err);\n this.toastrService.info(\"There is some issue with spotify.Please try after sometime\");\n resolve('');\n })\n })\n // return \n // let tokenInfo = localStorage.getItem('spotifyTokenInfo');\n // return tokenInfo;\n }\n\n spotifyAuth(){\n console.log(\"from spotify-auth\");\n const clientId = 'b9568077e42a48ba89e30e3c7aa48b33';\n\n // const redirectUri = 'http://localhost:4200/spotify-auth-redirect';\n\n const redirectUri = 'https://indietown-web.approd.ca/spotify-auth-redirect';\n\n let codeVerifier = this.generateRandomString(128);\n\n console.log(\"codeVerifier\",codeVerifier);\n\n this.generateCodeChallenge(codeVerifier).then(codeChallenge => {\n let state = this.generateRandomString(16);\n console.log(\"state\",state);\n\n let scope = 'streaming user-read-email user-modify-playback-state user-read-private';\n\n localStorage.setItem('code_verifier', codeVerifier);\n\n let args = new URLSearchParams({\n response_type: 'code',\n client_id: clientId,\n scope: scope,\n redirect_uri: redirectUri,\n state: state,\n code_challenge_method: 'S256',\n code_challenge: codeChallenge\n });\n\n // Location.g\n // Location.go('https://accounts.spotify.com/authorize?' + args);\n // Location.\n this.document.location.href = 'https://accounts.spotify.com/authorize?' + args;\n });\n }\n\n generateRandomString(length) {\n let text = '';\n let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n \n for (let i = 0; i < length; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n async generateCodeChallenge(codeVerifier) {\n function base64encode(string) {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(string)))\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '');\n }\n \n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await window.crypto.subtle.digest('SHA-256', data);\n \n return base64encode(digest);\n }\n\n addSpotifyUrl(){\n console.log((document.getElementById(\"spotifyUrlNew\")).value);\n let spotifyUrl = (document.getElementById(\"spotifyUrlNew\")).value;\n this.service.addSpotifyUrl({url:spotifyUrl}).subscribe((res:any)=>{\n console.log(res);\n this.spotifyList.unshift(res.data);\n (document.getElementById(\"spotifyUrlNew\")).value = '';\n },(err)=>{\n console.log(err);\n this.toastrService.info(err?.error?.message);\n (document.getElementById(\"spotifyUrlNew\")).value = '';\n })\n }\n\n spotifyList = [];\n getSpotifyList(){\n this.service.getSpotifyList(\"\",this.spotifyPageNumber,this.spotifyPageLimit).subscribe((res:any)=>{\n console.log(res);\n this.spotifyList = res.data;\n this.originalSpotifyList = res.data;\n // if(this.spotifyList[0].trackType == 'playlist'){\n // this.currentlyPlayingSpotifySong = this.spotifyList[0];\n // this.spotifySongSelectedIndex = 0;\n // }\n // else{\n\n // }\n\n this.spotifySongSelected = true;\n if(this.spotifyList[0].trackType == 'playlist'){\n this.spotifySongTrackType = 'playlist';\n this.spotifySongPlaylistIndex = 0;\n this.spotifySongSelectedIndex = 0;\n this.currentlyPlayingSpotifySong = this.spotifyList[0].items[0];\n }\n else{\n this.spotifySongTrackType = 'singleTrack';\n this.spotifySongSelectedIndex = 0;\n this.currentlyPlayingSpotifySong = this.spotifyList[0].items[0];\n }\n \n })\n }\n\n removeSingleTrack(index){\n let id = this.spotifyList[index]._id;\n this.service.removeSingleTrack(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList.splice(index,1);\n }\n })\n }\n\n removePlaylist(index){\n let id = this.spotifyList[index]._id;\n this.service.removePlaylist(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList.splice(index,1);\n }\n })\n }\n\n removePlaylistItem(index, subtrackIndex){\n let id = this.spotifyList[index].items[subtrackIndex]._id;\n this.service.removePlaylistItem(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList[index].items.splice(subtrackIndex,1);\n if(!this.spotifyList[index].items.length){\n this.spotifyList.splice(index,1);\n }\n }\n })\n }\n\n playlistOpened(index){\n console.log(\"playlist opened\",index);\n // 22931509_SID@ftts.BSNL.IR\n let playlistId = this.spotifyList[index]._id;\n this.service.getPlaylistItems(playlistId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList[index].items = res.data;\n }\n })\n }\n\n getMoreSpotifyTracks:Boolean = true;\n spotifyPageNumber = 1;\n spotifyPageLimit = 20;\n loadMoreSpotifyTracks(e){\n console.log(\"load more spotify tracks\");\n if(this.getMoreSpotifyTracks){\n this.spotifyPageNumber++;\n this.service.getSpotifyList(\"\",this.spotifyPageNumber,this.spotifyPageLimit).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.spotifyList.push(...res.data);\n }\n else{\n this.getMoreSpotifyTracks = false;\n }\n })\n }\n }\n\n addPlaylistModalRef;\n openAddPlaylistModal(){\n this.addPlaylistModalRef = this.modalService.show(this.addPlaylistModal, {class: 'addPlaylistModal'});\n }\n\n closeRegisterPlaylist(){\n this.addPlaylistModalRef.hide();\n }\n\n navigateToMessages(){\n localStorage.setItem(\"cameFromProfile\",JSON.stringify(this.profileDetails));\n this.route.navigateByUrl('/messages');\n }\n\n showSpotifyTab: Boolean = false;\n showYoutubeTab: Boolean = false;\n showSoundcloudTab: Boolean = false;\n showBandcampTab: Boolean = false;\n checkSpotifyExist(userId){\n this.service.getSpotifyList(userId,1,20).subscribe((res:any)=>{\n if(res?.type == 'success' && res?.data?.length){\n this.showSpotifyTab = true;\n this.checkRedirectedFromSpotifyAuthorization();\n }\n });\n }\n checkRedirectedFromSpotifyAuthorization(){\n if(localStorage.getItem(\"SpotifyAutorizedAndRedirected\")){\n localStorage.removeItem(\"SpotifyAutorizedAndRedirected\");\n this.selectedIndex = 3;\n }\n }\n checkYoutubeExist(userId){\n this.service.getYoutubeList(userId,1,20).subscribe((res:any)=>{\n if(res?.type == 'success' && res?.data?.length){\n this.showYoutubeTab = true;\n }\n });\n }\n checkSoundcloudExist(userId){\n this.service.getSoundcloudList(userId,1,20).subscribe((res:any)=>{\n if(res?.type == 'success' && res?.data?.length){\n this.showSoundcloudTab = true;\n }\n });\n }\n checkBandcampExist(userId){\n this.service.getBandcampList(userId,1,20).subscribe((res:any)=>{\n if(res?.type == 'success' && res?.data?.length){\n this.showBandcampTab = true;\n }\n if(!this.postId){\n setTimeout(()=>{\n if(localStorage.getItem(\"selectedProfileTabIndex\")){\n this.selectedIndex = localStorage.getItem(\"selectedProfileTabIndex\");\n }\n },2000);\n }\n });\n }\n\n newBandcampAddedData;\n newSoundcloudAddedData;\n newSpotifyAddedData;\n newYoutubeAddedData;\n\n newPlaylistUrlAdded(e){\n console.log(e);\n this[e.name] = true;\n if(e.name == \"showSpotifyTab\"){\n this.newSpotifyAddedData = e.data;\n }\n else if(e.name == \"showSoundcloudTab\"){\n this.newSoundcloudAddedData = e.data;\n }\n else if(e.name == \"showBandcampTab\"){\n this.newBandcampAddedData = e.data;\n }\n else if(e.name == \"showYoutubeTab\"){\n this.newYoutubeAddedData = e.data;\n }\n }\n navigateToUserProfile(id,bandName){\n if(this.postId){\n if(this.myProfileDetails?._id == id){\n this.route.navigateByUrl(`profile`);\n }\n else{\n this.route.navigateByUrl(`user/profile?id=${id}&user=${bandName}`).then((res)=>{\n window.location.reload();\n });\n \n }\n }\n else{\n if(this.profileDetails?._id == id){\n // this.route.navigateByUrl(`profile`);\n console.log(\"you are in the same screen\");\n }\n else{\n this.route.navigateByUrl(`user/profile?id=${id}&user=${bandName}`);\n }\n }\n \n }\n\n navigateToPhotoAlbum(profileorCoverImageDetails){\n console.log(this.tabGroup);\n if(profileorCoverImageDetails?.key){\n profileorCoverImageDetails[\"_id\"] = \"custom_id\";\n localStorage.setItem(\"profileorCoverImageDetails\",JSON.stringify(profileorCoverImageDetails));\n if(this.tabGroup._allTabs.length-2){\n this.selectedIndex = this.tabGroup._allTabs.length-2;\n } \n }\n \n // if(imageURL){\n // this.enlargeProfileOrCoverPicture(imageURL);\n // }\n }\n\n enlargeProfileOrCoverPictureModalRef;\n enlargeProfileOrCoverPictureURL='';\n\n enlargeProfileOrCoverPicture(imageURL){\n this.enlargeProfileOrCoverPictureURL = imageURL;\n this.enlargeProfileOrCoverPictureModalRef = this.modalService.show(this.ProfileOrCoverPictureview,{class:'enlargeProfileOrCoverPicture'});\n }\n\n stopGoToNextLine(e){\n e.preventDefault();\n }\n\n // imageChangedEvent: any = '';\n // croppedImage: any = '';\n\n imageCropped(event: ImageCroppedEvent) {\n this.croppedImage = event.base64;\n this.createShowImageUrl = event.base64;\n this.singalurl = event.base64;\n }\n\n showImageChangedEvent:any;\n CreateShowCropModalRef:any;\n // imageTransform = {};\n imageTransform: ImageTransform = {\n translateUnit: 'px'\n };\n croppedShowPicture:any;\n croppedShowPictureName:any;\n\n aspectRatio = 1/1;\n uploadShowImage1(e: any) {\n this.showImageChangedEvent = e;\n this.CreateShowCropModalRef = this.modalService.show(this.CreateShowCropModal,{class : \"Create-Show-Crop-Modal\"});\n this.croppedShowPictureName = e?.target?.files[0]?.name;\n }\n\n // aspectRatios = [1/1, 4/3, 16/9];\n changeImageAspectRatio(ratioIndex: any){\n this.aspectRatio = this.aspectRatios[ratioIndex];\n console.log(this.aspectRatios[ratioIndex]);\n // this.cd.detectChanges();\n }\n\n getInputVideoHeight(){\n return 200/(this.aspectRatioAll);\n }\n\n getDisplayVideoHeight(media){\n // console.log(mediaArray);\n // let found = false;\n // let mediaWidth;\n // let mediaHeight;\n // for(let i=0;idocument.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n this.resetImageCropper();\n\n\n\n // this.spinner.show();\n // let fd = new FormData();\n // const imageFile = new File([this.dataURItoBlob(this.croppedShowPicture.base64)], this.croppedShowPictureName, { type: 'image/png' });\n // fd.append(\"file\", imageFile);\n // this.service.uploadImage(fd).subscribe((res: any) => {\n // // this.imageChangedEvent = e;\n // this.createShowImageUrl = res.data.fileUrl;\n // this.CreateShowCropModalRef.hide();\n // this.spinner.hide();\n // document.getElementById('craeteshowplaceholder').style.borderRadius = \"15px\";\n // this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n // this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n // (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n // this.resetImageCropper();\n // });\n }\n\n green = 'green';\n\n dataURItoBlob(dataURI) {\n const parts = dataURI.split(';base64,');\n const byteString = atob(parts[1]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array], { type: 'image/png' });\n return blob;\n }\n\n scale:any = 1;\n\n zoomOut() {\n if (this.scale == 1) {\n return;\n }\n\n if (this.scale > 1) {\n\n this.scale -= .1;\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n }\n\n }\n\n translateV : any = 1;\n moveRight(){\n if(this.scale>1){\n console.log(\"moving to left\");\n this.translateV = this.translateV + 50;\n console.log(this.translateV);\n this.imageTransform = {\n ...this.imageTransform,\n translateH: this.translateV\n };\n }\n }\n\n translateH : any = 1;\n moveLeft(){\n if(this.scale>1){\n console.log(\"moving to left\");\n this.translateH = this.translateH + 50;\n console.log(this.translateH);\n this.imageTransform = {\n ...this.imageTransform,\n translateH: this.translateH\n };\n }\n }\n\n zoomIn() {\n console.log( this.scale)\n if (this.scale <= 10) {\n this.scale += .1;\n console.log( \"hello\")\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n } else {\n console.log( \"hi no more zoom in\");\n return;\n // this.scale = 1;\n // this.scale += .1;\n // this.imageTransform = {\n // ...this.imageTransform,\n // scale: this.scale\n // };\n }\n // }\n }\n\n ZoomImage(e) {\n var slider: any = document.getElementById(\"myRange\");;\n console.log(slider.value)\n this.scale = slider.value;\n this.imageTransform = {\n ...this.imageTransform,\n scale: slider.value\n };\n\n }\n\n createPostEditImageCropModalRef;\n createPostEditImageUrl;\n createPostEditImageIndex;\n createPostEditImageTransform:ImageTransform = {};\n croppedcreatePostEditImageName;\n croppedcreatePostEditImage;\n\n\n createPostEditImageFile: any;\n cropCreatePostImage(imageDetails,index){\n console.log(\"let's crop\",imageDetails,index);\n // this.createPostEditImageUrl = imageDetails.fileUrl;\n this.createPostEditImageFile = imageDetails.file;\n this.createPostEditImageIndex = index;\n this.createPostEditImageCropModalRef = this.modalService.show(this.CreatePostImageCropModal,{class : \"Create-Post-Image-Crop-Modal\"});\n // this.croppedcreatePostEditImageName = imageDetails.key?.split(\".\")[0];\n // this.croppedcreatePostEditImageName = imageDetails.key;\n this.croppedcreatePostEditImageName = imageDetails?.key ? imageDetails.key :\"Indietown.png\";\n }\n\n croppedCreatePostImage(e){\n console.log(\"create post Image Cropped\");\n console.log(e);\n this.croppedcreatePostEditImage = e;\n }\n\n cancelCreatePostEditImage(){\n this.createPostEditImageCropModalRef.hide();\n this.resetImageCropper();\n }\n\n cancelUploadShowImage(){\n this.CreateShowCropModalRef.hide();\n this.showImageChangedEvent = null;\n this.croppedShowPictureName = '';\n this.resetImageCropper();\n }\n\n // uploadShowImage1(e: any) {\n // this.showImageChangedEvent = e;\n // this.CreateShowCropModalRef = this.modalService.show(this.CreateShowCropModal,{class : \"Create-Show-Crop-Modal\"});\n // this.croppedShowPictureName = e?.target?.files[0]?.name;\n // }\n\n // croppedProfilePicture(event) {\n // console.log(\"Profile Picture Image Cropped\");\n // console.log(event);\n // this.croppedShowPicture = event;\n // }\n\n updateCreatePostEditImage() {\n\n\n // ====================== OLD =================================\n // let fd = new FormData();\n // const imageFile = new File([this.dataURItoBlob(this.croppedcreatePostEditImage.base64)], this.croppedcreatePostEditImageName, { type: 'image/png' });\n \n // console.log(imageFile);\n // fd.append(\"file\", imageFile);\n // // this.service.uploadImage(fd).subscribe((res: any) => {\n // this.createPostEditImageCropModalRef.hide();\n\n // let key = this.countImagesUploaded[this.createPostEditImageIndex]['key'];\n // this.countImagesUploaded[this.createPostEditImageIndex]['fileUrl'] = this.croppedcreatePostEditImage.base64;\n // this.countImagesUploaded[this.createPostEditImageIndex]['key'] = this.croppedcreatePostEditImageName;\n // this.resetImageCropper();\n\n // let imagesVideosArrayIndex = this.imagesVideosArray.findIndex((obj)=>{\n // return obj.key == key;\n // });\n\n // if(imagesVideosArrayIndex != -1){\n // this.imagesVideosArray[imagesVideosArrayIndex]['fileUrl'] = this.croppedcreatePostEditImage.base64;\n // this.imagesVideosArray[imagesVideosArrayIndex]['key'] = this.croppedcreatePostEditImageName;\n // this.imagesVideosArray[imagesVideosArrayIndex]['file'] = imageFile;\n // }\n\n // ====================== OLD END =================================\n \n //============================= NEW ===============================================\n \n this.createPostEditImageCropModalRef.hide();\n\n let key = this.countImagesUploaded[this.createPostEditImageIndex]['key'];\n this.countImagesUploaded[this.createPostEditImageIndex]['fileUrl'] = this.croppedcreatePostEditImage.base64;\n \n this.resetImageCropper();\n\n let imagesVideosArrayIndex = this.imagesVideosArray.findIndex((obj)=>{\n return obj.key == key;\n });\n\n if(imagesVideosArrayIndex != -1){\n this.imagesVideosArray[imagesVideosArrayIndex]['fileUrl'] = this.croppedcreatePostEditImage.base64;\n }\n\n // ================================= NEW END =============================================\n\n // this.imageChangedEvent = e;\n // this.createShowImageUrl = res.data.fileUrl;\n // this.createPostEditImageCropModalRef.hide();\n // document.getElementById('craeteshowplaceholder').style.borderRadius = \"15px\";\n // this.createShowForm.controls[\"imageUrl\"].setValue(res.data.fileUrl);\n // this.createShowForm.controls[\"imageUrlKey\"].setValue(res.data.key);\n // (document.getElementById('imageView')).src = '../../../../assets/Indietown_icons/edit-icon2.svg';\n // });\n }\n\n createPostImageEditScale:any = 1;\n\n createPostImageEditZoomOut() {\n if (this.createPostImageEditScale == 1) {\n return;\n }\n\n if (this.createPostImageEditScale > 1) {\n\n this.createPostImageEditScale -= .1;\n this.createPostEditImageTransform = {\n ...this.createPostImageEditScale,\n scale: this.createPostImageEditScale\n };\n }\n\n }\n\n createPostImageEditZoomIn() {\n console.log( this.createPostImageEditScale)\n if (this.createPostImageEditScale <= 10) {\n this.createPostImageEditScale += .1;\n console.log( \"hello\")\n this.createPostEditImageTransform = {\n ...this.createPostEditImageTransform,\n scale: this.createPostImageEditScale\n };\n } else {\n console.log( \"hi no more zoom in\");\n return;\n // this.scale = 1;\n // this.scale += .1;\n // this.imageTransform = {\n // ...this.imageTransform,\n // scale: this.scale\n // };\n }\n // }\n }\n\n createPostImageEditZoomImage(e) {\n var slider: any = document.getElementById(\"myRange2\");;\n console.log(slider.value)\n this.createPostImageEditScale = slider.value;\n this.createPostEditImageTransform = {\n ...this.createPostEditImageTransform,\n scale: slider.value\n };\n\n }\n\n resetImageCropper(){\n this.scale = 1;\n this.imageTransform = {};\n this.createPostImageEditScale = 1;\n this.createPostEditImageTransform = {};\n if(document.getElementById(\"uploadshowImg\") as HTMLInputElement){\n (document.getElementById(\"uploadshowImg\") as HTMLInputElement).value = \"\";\n }\n }\n\n deleteCommentModalRef;\n deleteCommentReplyModalRef;\n deleteCommentPostIndex;\n deleteCommentIndex;\n deleteCommentReplyIndex\n openDeleteCommentModal(deleteCommentPostIndex,deleteCommentIndex){\n this.deleteCommentPostIndex = deleteCommentPostIndex;\n this.deleteCommentIndex = deleteCommentIndex;\n this.deleteCommentModalRef = this.modalService.show(this.deleteCommentPopup);\n }\n\n openDeleteCommentReplyModal(deleteCommentPostIndex,deleteCommentIndex,deleteCommentReplyIndex){\n this.deleteCommentPostIndex = deleteCommentPostIndex;\n this.deleteCommentIndex = deleteCommentIndex;\n this.deleteCommentReplyIndex = deleteCommentReplyIndex;\n this.deleteCommentReplyModalRef = this.modalService.show(this.deleteCommentReplyPopup);\n } \n\n navigateToProfile(userId, userName) {\n if(this.postId){\n if(this.myProfileDetails._id == userId){\n this.route.navigateByUrl('profile');\n }\n else if(this.profileDetails._id == userId){\n return;\n }\n else{\n this.route.navigateByUrl('user/profile?id=' + userId + '&user=' + userName).then(() => {\n window.location.reload();\n });\n }\n }\n else{\n if(this.profileDetails._id == userId){\n return;\n }\n this.route.navigateByUrl('user/profile?id=' + userId + '&user=' + userName).then(() => {\n window.location.reload();\n });\n }\n \n }\n\n reportNonFriend(){\n console.log(\"open report non friend dialog\");\n this.onClickreportProfile();\n }\n\n timeSince(date1) {\n\n // debugger;\n // console.log(date1);\n let date2 = new Date(date1);\n let date:any = Math.floor(new Date(date2).getTime() / 1000);\n\n var seconds = Math.floor(((new Date().getTime()/1000) - date)),\n interval = Math.floor(seconds / 31536000);\n\n if (interval > 1) return interval + \"y\";\n\n interval = Math.floor(seconds / 2592000);\n if (interval > 1) return interval + \"m\";\n\n let date3:any = Math.floor(new Date(date2.toDateString()).getTime() / 1000);\n\n var seconds2 = Math.floor(((new Date(new Date().toDateString()).getTime()/1000) - date3)),\n // interval2 = Math.floor(seconds2 / 31536000);\n\n interval = Math.floor(seconds2 / 86400);\n if (interval >= 1 && interval <=6) return interval + \"d\";\n else if(interval >= 7){\n return Math.floor(interval/7) + 'w';\n }\n\n interval = Math.floor(seconds / 3600);\n if (interval >= 1) return interval + \"h\";\n\n interval = Math.floor(seconds / 60);\n if (interval >= 1) return interval + \"m \";\n\n return Math.floor(seconds) + \"s\";\n }\n\n previousScrollTop = 0;\n // @HostListener(\"window:scroll\", ['$event'])\n // onWindowScroll($event) {\n // console.log(\"Scrolling!\");\n // // console.log($event);\n // // console.log($event.target?.scrollingElement?.scrollTop);\n // if(!this.previousScrollTop){\n // console.log(\"previousScrollTop initiated \",$event.target?.scrollingElement?.scrollTop);\n // this.previousScrollTop = $event.target?.scrollingElement?.scrollTop;\n // }\n // else{\n // if(Math.abs($event.target?.scrollingElement?.scrollTop - this.previousScrollTop) >= 300){\n // console.log(\"scrolled more than 100\",$event.target.scrollingElement.scrollTop);\n // this.previousScrollTop = $event.target.scrollingElement.scrollTop;\n // this.currentPlayingVideo?.pause();\n // }\n // }\n // // debugger;\n \n // // this.currentPlayingVideo?.pause();\n // }\n\n unSupportedVideoDetails = [];\n closeUnsupportedVideoPopup(){\n this.unSupportedVideoDetails = [];\n this.invalidVideoCodecPopupRef.hide();\n this.unSupportedVideoDetailsPopupOpened = false;\n }\n\n logoutmodalRef;\n openLogoutModal(template: TemplateRef){\n this.logoutmodalRef = this.modalService.show(template, {class:'logoutpopupmodal'});\n }\n\n confirm() {\n this.logoutmodalRef.hide();\n this._header.logout(\"logout\");\n }\n}\n\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'youtube-modal-content',\n template: `\n
\n
\n \n \n
\n
\n `\n})\n \nexport class YoutubeModalContentComponent implements OnInit {\n videoId;\n videoPlayerOptions;\n videoIndex;\n playList;\n isMobile:boolean=false;\n\n constructor(public modalRef: BsModalRef,private ytPlayerService: YtPlayerService) {\n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n \n ngOnInit() {\n console.log(this.ytPlayerService); \n }\n\n playNextVideo(){\n this.videoIndex = this.videoIndex+1;\n this.videoId = this.playList[this.videoIndex].url.split(\"v=\")[1];\n this.ytPlayerService.load(this.videoId);\n // this.ytPlayerService.\n }\n\n onStateChange(e){\n console.log(e);\n if(e.type == 6){\n setTimeout(()=>{\n // let elm: any = document.getElementsByClassName(\"ytp-chrome-top-buttons\")[0];\n // elm.style.display = 'none';\n // debugger;\n const x = document.querySelector(\"iframe\").contentWindow;\n //x = window.frames[0];\n\n x.document.querySelector(\"body\").style.backgroundColor = \"blue\";\n // this would turn the 1st iframe in document blue.\n\n console.log(x);\n console.log(document.getElementsByClassName(\"ytp-chrome-top-buttons\")[0]);\n },10000);\n } \n if(e.type == 3){\n this.playNextVideo();\n }\n }\n\n \n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'bandcamp-modal-content',\n template: `\n
\n \n \"\"\n\n \n
\n \n
\n
\n `\n})\n \nexport class BandcampModalContentComponent implements OnInit {\n // videoId: string;\n source;\n\n constructor(public modalRef: BsModalRef, protected _sanitizer: DomSanitizer ) {}\n \n ngOnInit() {\n console.log(this.source);\n this.source = this._sanitizer.bypassSecurityTrustUrl(this.source);\n }\n ngAfterViewInit()\t{\n // console.log(document.getElementsByClassName(\"ytp-pause-overlay-container\"));\n // this.ytPlayerService.play();\n }\n\n}\n\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'soundcloud-modal-content',\n template: `\n
\n \n \"\"\n\n \n
\n \n
\n
\n `\n})\n \nexport class SoundCloudModalContentComponent implements OnInit {\n // videoId: string;\n source;\n\n constructor(public modalRef: BsModalRef, protected _sanitizer: DomSanitizer) {}\n \n ngOnInit() {\n console.log(this.source);\n // this.source = this._sanitizer.bypassSecurityTrustUrl(this.source);\n }\n ngAfterViewInit()\t{\n // console.log(document.getElementsByClassName(\"ytp-pause-overlay-container\"));\n // this.ytPlayerService.play();\n }\n \n}\n","\n\n\n
\n
\n
\n \n \"\"\n \"\"\n\n\n
\n
\"\"
\n
    \n
  • Report User
  • \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 {{ profileDetails?.bandName | titlecase }}\n

\n

\n {{ profileDetails?.communityIds[0]?.communityName }}\n \n | {{ profileDetails?.communityIds[1]?.communityName }}\n

\n

\n {{ profileDetails?.genereIds[0]?.genereName }}\n | {{ profileDetails?.genereIds[1]?.genereName }}\n | {{ profileDetails?.genereIds[2]?.genereName }}\n

\n

\n {{ profileDetails?.address?.city ? profileDetails?.address?.city + ', ':'' }}{{ profileDetails?.address?.state }} {{ profileDetails?.address?.country }}\n

\n
\n \n\n
\n
\n
\n \n \n \n
\n
    \n
  • \"\" Settings
  • \n
    \n
  • \"\" Log Out
  • \n
\n
\n
\n
\n \n \"\"\n \n \n Edit Profile\n \n
\n
\n
\n \n
\n
\n \n\n
\n \n \n Message\n \n\n
\n
\n
\n \n Friend\n \n
\n \n
  • \n \n Unfriend\n \n
  • \n
    \n
  • \n Report User\n
  • \n \n
    \n
    \n
    \n\n
    \n \n Add Friend\n \n
    \n
    \n \n \n \n Pending\n \n \n Accept\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?.userId?.bandName |titlecase\n }}\n \n
    \n \n \n
    \n \n \n
    \n
  • \n Report {{post.type=='POST'?'Post':'Show'}}\n
  • \n
    \n
  • \n Silence User\n
  • \n \n
  • \n Edit {{post.type=='POST'?'Post':'Show'}}\n
  • \n
    \n
  • \n Delete {{post?.type=='POST'? 'Post':'Show'}}\n
  • \n
    \n \n
    \n
    \n
  • \n Report {{post.type=='POST'?'Post':'Show'}}\n
  • \n
    \n \n
  • \n Silence User\n
  • \n
    \n \n
    \n \n \n
    \n \n \n\n \n \n \n \n \"First\n \n \n \n \n \n\n\n \n 0\" style=\"flex-direction: column\">\n
    \n
    \n
    \n \"\"\n \"\"\n \n \n {{ post?.likesCount }} {{post?.likesCount<=1 && post?.likesCount!=0?'Like':'Likes'}}\n
    \n
    \n \"\"\n {{ post?.commentCount }}\n
    \n \n
    \n
    \n \n {{timeSince(post?.createdOn)}}\n
    \n
    \n
    \n \n \n\n
    \n 200\" [innerHtml]=\"post.text ? (post.text.slice(0,200) | linky:{stripPrefix : false}) : ''\"\n [ngClass]=\"{'fw-600':post.type=='SHOW'}\"\n class=\"text-justify postdesc postdescspan formatted\" id=\"lessDesc{{post?._id}}\" style=\"font-size: 16px;font-weight: 500;\">\n\n \n \n 200\" style=\"cursor: pointer;font-weight: 600; text-transform: lowercase;color: black !important;\">... more\n \n \n \n less\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n \n\n \n \n \n\n
    \n 400\" [innerHtml]=\"post.text ? (post.text.slice(0,400) | linky:{stripPrefix : false}) : ''\"\n [ngClass]=\"{'fw-600':post.type=='SHOW'}\"\n class=\"text-justify postdesc postdescspan formatted\" id=\"lessDesc{{post?._id}}\" style=\"font-size: 16px;font-weight: 500;\">\n \n \n \n\n 400\" style=\"cursor: pointer;font-weight: 600; text-transform: lowercase;color: black !important;\">... more\n \n \n\n Less\n
    \n \n \n
    \n
    \n
    \n \"\"\n \"\"\n \n \n {{ post?.likesCount }} {{post?.likesCount<=1 && post?.likesCount!=0?'Like':'Likes'}}\n
    \n
    \n \"\"\n {{ post?.commentCount }}\n
    \n \n
    \n
    \n \n {{timeSince(post?.createdOn)}}\n
    \n
    \n
    \n \n

    \n \"\"\n {{post?.from?.length > 10 ? (post?.from | date:'MMM d, y h:mm a') : post?.from }} - \n {{post?.to?.length > 10 ? (post?.to | date:'MMM d, y h:mm a') : post?.to}}\n

    \n \n

    \n \"\"\n {{post?.address?.venue}} {{post?.address?.city}}, {{post?.address?.state}}, {{post?.address?.country}}\n

    \n \n

    \n \"\"\n US {{(post?.money?.from)?((post?.money?.from) | currency) : 0 | currency}} - \n US {{(post?.money?.to)?((post?.money?.to)| currency) : 0 | currency}}\n

    \n
    \n \n
    \n
    \n \n View {{post?.commentCount>1 ? 'all '+post?.commentCount+' Comments':post?.commentCount+' Comment'}}\n \n \n
    \n \n
    \n \n \n \n
    \n
    \n Replying to {{commentbandname}}\n \n
    \n
    \n
    \n \"\"\n \"\"\n
    \n
    \n \n \"\"\n \n \n \n \n \n \n \n
      \n
    • \n \"\"\n {{user.bandName |titlecase}}\n
    • \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n {{comment?.userId?.bandName}} \n
    \n
    \n {{getTimeWeekWise(comment?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n {{getTimeWeekWise(comment?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n \n
    \n \"\"\n \n \n \n \n
      \n
    • \n \"\"\n {{user.bandName |titlecase}}\n
    • \n
    \n
    \n
    \n
    \n \n
    \n 0\" id=\"hideunderline{{comment?._id}}\" class=\"hide-underline\"> \n
    0\" style=\"cursor: pointer;\" (click)=\"showReplies(comment)\" class=\"hiderepl\" id=\"showRepliesBtn{{comment?._id}}\">Show {{comment?.totalRepliesCount == 1 ? comment?.totalRepliesCount + ' Reply' : comment?.totalRepliesCount + ' Replies'}}
    \n
    \n
    0\" style=\"display: none; position: relative;\" id=\"repliesBox{{comment?._id}}\">\n \n
    \n
    \n
    \n \n \n {{reply?.userId?.bandName |titlecase}} \n
    \n
    \n {{getTimeWeekWise(reply?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n {{getTimeWeekWise(reply?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n \n \n
    \n \n
    comment?.replies?.length\" style=\"padding-top: 5px;\" class=\"d-flex\">comment?.replies?.length\" class=\"hide-underline\"> comment?.replies?.length\" (click)=\"loadMoreReplies(i,commentIndex)\" id=\"repliesLoadMore{{ comment?._id }}\" style=\"cursor: pointer; color: #0F0D0F; opacity: 0.5; padding-left: 0px; font-size: 14px;\">Show More Replies
    \n
     Hide all replies
    \n \n \n
    \n
    \n \n
    \n \n post?.comments?.length\" (click)=\"loadMoreComments(post?._id)\" id=\"commentLoadMore{{ post?._id }}\" style=\"cursor: pointer; font-weight: bold;\">Load more comments \n 3\" (click)=\"showLessComments(i)\" id=\"showLessComments{{ post?._id }}\" style=\"cursor: pointer; font-weight: bold;\" class=\"ml-3\">Show Less \n
    \n \n
    \n Add Posts!\n
    \n
    \n No Posts Yet !\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 \n \n \n \n \n {{\n post?.userId?.bandName |titlecase\n }}\n \n
    \n \n \n
    \n \n\n
  • \n Report {{post.type=='POST'?'Post':'Show'}}\n
  • \n
    \n\n \n Silence User\n \n \n
  • \n Report {{post.type=='POST'?'Post':'Show'}}\n
  • \n\n
    \n
    \n\n \n Silence User\n \n \n
  • \n Delete {{post?.type=='POST'? 'Post':'Show'}}\n
  • \n \n
    \n
    \n\n \n
  • \n Edit {{post.type=='POST'?'Post':'Show'}}\n
  • \n \n
    \n \n \n\n \n \n \n\n \n \n \"First\n \n \n \n\n\n \n 0\" style=\"flex-direction: column\">\n
    \n
    \n
    \n \"\"\n \"\"\n \n \n {{ post?.likesCount }} {{post?.likesCount<=1 && post?.likesCount!=0?'Like':'Likes'}}\n
    \n
    \n \"\"\n {{ post?.commentCount }}\n
    \n \n
    \n
    \n \n {{timeSince(post?.createdOn)}}\n
    \n
    \n
    \n \n \n\n
    \n 200\" [innerHtml]=\"post.text ? (post.text.slice(0,200) | linky) : ''\"\n [ngClass]=\"{'fw-600':post.type=='SHOW'}\"\n class=\"text-justify postdesc postdescspan formatted\" id=\"lessDesc{{post?._id}}\" style=\"font-size: 16px;font-weight: 500;\">\n \n \n 200\" style=\"cursor: pointer;font-weight: 600; text-transform: lowercase;\">... more\n \n \n \n less\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n \n\n \n \n \n\n
    \n 200\" [innerHtml]=\"post.text ? (post.text.slice(0,200) | linky:{stripPrefix : false}) : ''\"\n [ngClass]=\"{'fw-600':post.type=='SHOW'}\"\n class=\"text-justify postdesc postdescspan formatted\" id=\"lessDesc{{post?._id}}\" style=\"font-size: 16px;font-weight: 500;\">\n \n \n\n 200\" style=\"cursor: pointer;font-weight: 600; text-transform: lowercase;\">... more\n \n \n\n Less\n
    \n \n \n
    \n
    \n
    \n \"\"\n \"\"\n \n \n {{ post?.likesCount }} {{post?.likesCount<=1 && post?.likesCount!=0?'Like':'Likes'}}\n
    \n
    \n \"\"\n {{ post?.commentCount }}\n
    \n \n
    \n
    \n \n {{timeSince(post?.createdOn)}}\n
    \n
    \n
    \n \n

    \n \"\"\n {{post?.from?.length > 10 ? (post?.from | date:'MMM d, y h:mm a') : post?.from }} - \n {{post?.to?.length > 10 ? (post?.to | date:'MMM d, y h:mm a') : post?.to}}\n

    \n \n \n

    \n \"\"\n {{post?.venueDetails}}, {{post?.address?.venue}} {{post?.address?.city}}, {{post?.address?.state}},\n {{post?.address?.country}}\n

    \n \n

    \n \"\"\n US {{(post?.money?.from)?((post?.money?.from) | currency) : 0 | currency}} - \n US {{(post?.money?.to)?((post?.money?.to)| currency) : 0 | currency}}\n

    \n
    \n \n
    \n
    \n \n View {{post?.commentCount>1 ? 'all '+post?.commentCount+' Comments':post?.commentCount+' Comment'}}\n \n \n
    \n \n
    \n \n \n \n
    \n
    \n Replying to {{commentbandname}}\n \n
    \n
    \n
    \n \"\"\n \"\"\n
    \n
    \n \n \"\"\n \n \n \n \n \n \n \n
      \n
    • \n \"\"\n {{user.bandName |titlecase}}\n
    • \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n {{comment?.userId?.bandName}} \n
    \n
    \n {{getTimeWeekWise(comment?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n {{getTimeWeekWise(comment?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n \n
    \n \"\"\n \n \n \n \n
      \n
    • \n \"\"\n {{user.bandName |titlecase}}\n
    • \n
    \n
    \n
    \n
    \n \n
    \n 0\" id=\"hideunderline{{comment?._id}}\" class=\"hide-underline\"> \n
    0\" style=\"cursor: pointer;\" (click)=\"showReplies(comment)\" class=\"hiderepl\" id=\"showRepliesBtn{{comment?._id}}\">Show {{comment?.totalRepliesCount == 1 ? comment?.totalRepliesCount + ' Reply' : comment?.totalRepliesCount + ' Replies'}}
    \n
    \n
    0\" style=\"display: none; position: relative;\" id=\"repliesBox{{comment?._id}}\">\n \n
    \n
    \n
    \n \n \n {{reply?.userId?.bandName |titlecase}} \n
    \n
    \n {{getTimeWeekWise(reply?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n {{getTimeWeekWise(reply?.createdOn)}}\n Reply\n Report\n Delete\n
    \n
    \n \n \n
    \n \n
    comment?.replies?.length\" style=\"padding-top: 5px;\" class=\"d-flex\">comment?.replies?.length\" class=\"hide-underline\"> comment?.replies?.length\" (click)=\"loadMoreReplies(i,commentIndex)\" id=\"repliesLoadMore{{ comment?._id }}\" style=\"cursor: pointer; color: #0F0D0F; opacity: 0.5; padding-left: 0px; font-size: 14px;\">Show More Replies
    \n
     Hide all replies
    \n \n \n
    \n
    \n \n
    \n \n post?.comments?.length\" (click)=\"loadMoreComments(post?._id)\" id=\"commentLoadMore{{ post?._id }}\" style=\"cursor: pointer; font-weight: bold;\">Load more comments \n 3\" (click)=\"showLessComments(i)\" id=\"showLessComments{{ post?._id }}\" style=\"cursor: pointer; font-weight: bold;\" class=\"ml-3\">Show Less \n
    \n \n
    \n No Shows Yet !\n
    \n
    \n Add Shows!\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
    \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

    Bandcamp

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

    SoundCloud

    \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 YouTube\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 \n \n \n
    \n
    \n
    \n \n

    About

    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n \n {{ profileDetails?.address?.city }},\n {{ profileDetails?.address?.state }},\n {{ profileDetails?.address?.country }}\n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n \n
    {{profileDetails?.bio}}
    \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

    Report Inappropriate Content

    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n Send Report\n \n \n Send Report\n \n \n\n
    \n
    \n \n
    \n \n Send Report\n \n \n
    \n
    \n\n\n\n
    \n
    \n \n \"\"\n \n \n

    Edit Profile

    \n
    \n \n \n Save\n \n \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n \n \n \n\n
    \n
    \n\n \n
    \n
    \n \n
    Cover Image
    \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 \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\n
    \n \n ×\n \n
    \n\n
    \n \"\"\n
    \n

    {{ spotifySingleData?.title }}

    \n
    \n\n
    \n

    {{ getTimeRemaining(spotifySingleData?.time) }}

    \n
    \n\n \n
    \n
    \n\n\n\n
    \n
    \n \n ×\n \n \n

    Photo Album

    \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 Are you sure want to delete
    \n this photo?\n

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

    Likes

    \n
    \n \n ×\n \n
    \n \n \n \n \n {{ like?.bandName }}\n {{like?.communityIds.length>0 ? (like?.communityIds[0]?.communityName + \" \" + (like?.communityIds[1]?.communityName!=null ? \" | \" +like?.communityIds[1]?.communityName : '')): ((like?.genereIds[0]?.genereName!=null ? like?.genereIds[0]?.genereName : '') + (like?.genereIds[1]?.genereName!=null ? \" | \" +like?.genereIds[1]?.genereName : '') + (like?.genereIds[2]?.genereName ? \" | \" +like?.genereIds[2]?.genereName :\n ''))}}\n \n \n \n You\n \n \n \n\n

    No one has liked yet!

    \n\n \n \n
    \n\n\n\n
    \n \n \"\"\n \n
    \n
    \n \n Are you sure want to delete
    \n this {{deletePostShowMsg}}?\n

    \n \n \n No\n \n \n Yes\n \n
    \n \n
    \n\n\n\n
    \n
    \n

    Comments

    \n
    \n \n ×\n \n
    \n \n \n \n \n \n
    \n {{ comment?.commentedBy?.bandName | titlecase }}\n {{ comment.text }}\n
    \n
    \n \n Reply\n Report\n Delete\n \n
    \n\n \n \n \n \n
    \n\n \n No Comments\n \n\n
    \n \n \"\"\n\n \n \n \n
    \n\n\n\n
    \n
    \n Sure you want to unfriend?\n
    \n \n ×\n \n
    \n
    \n \n

    \n Sure you want to unfriend with
    {{ unFriendUserName }} ?\n

    \n
    \n \n No\n \n \n Yes\n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n

    Edit Create Post

    \n
    \n \n ×\n \n \n
    \n
    \n
    \n \n
    {{ profileDetails?.bandName }}
    \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 \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n Photo/Video\n
    \n
    \n
    \n \n
    \n \"\"\n\n Show\n \n \n
    \n
    \n
    \n
    \n \n \n Post\n \n\n \n Update\n \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n

    Create Post

    \n
    \n \n \"\"\n \n \n
    \n
    \n
    \n \n
    {{ myProfileDetails?.bandName }}
    \n
    \n
    \n
    \n \n
    \n \n POST\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n

    CreateEdit Show

    \n
    \n
    \n \n \n \"\"\n \n
    \n
    \n \n ×\n \n
    \n \n
    \n
    \n\n
    \n \"\"\n \"\"\n

    {{profileDetails?.bandName}}

    \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 \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
    \n
    \n \"\"\n\n changeToNumber(createShowForm.value.ticketTo) && createShowForm.value.ticketTo!='' && createShowForm.value.ticketTo!=undefined}\"\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

    Are you sure you want to cancel
    \n this request?

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

    EDIT

    \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

    Edit Your Image

    \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

    Are you sure want to delete
    this\n Comment?

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

    Are you sure want to delete
    this\n Reply?

    \n
    \n \n \n
    \n
    \n
    \n\n\n\n
    \n \n
    \n
    \n \n
    \n \"\"\n
    \n
    The following video is not 1\">videos are not
    supported by your browser
    \n
    \n
      \n
    • \n {{vid?.name}}\n
    • \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n \n
    \n \n
    \n
    \n \n

    Are you sure want to logout?

    \n
    \n \n \n
    \n
    \n
    ","import { ChangeDetectorRef, Component, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { BsModalService } from \"ngx-bootstrap/modal\";\nimport { HeaderService } from \"../services/header.service\";\nimport { AuthService } from \"src/app/auth/services/auth.service\";\nimport { ToastrService } from \"ngx-toastr\";\n// import { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { SharedService } from \"../services/shared.service\";\nimport * as $ from 'jquery';\nimport { HttpClient } from \"@angular/common/http\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport { RegistrationPartService } from \"src/app/views/registration-part/services/registration.service\";\n\ndeclare var Pushwoosh:any;\n\n@Component({\n selector: \"app-header\",\n templateUrl: \"./header.component.html\",\n styleUrls: [\"./header.component.scss\"],\n})\nexport class HeaderComponent implements OnInit {\n\n manageCaregiversHeading: boolean = false;\n manageClientHeading:boolean = false;\n manageServicesHeading: boolean = false;\n manageTutorialHeading:boolean = false;\n manageConvenienceHeading:boolean = false;\n manageDiseasesHeading:boolean = false;\n\n\n\n cancelPostId:any;\n cancelRequestIdText:any;\n welcomeUserMsg: boolean = false;\n hospitalHeading: boolean = false;\n loginHeading: boolean = false;\n usageHeading: boolean = false;\n supportHeading: boolean = false;\n feedbackHeading: boolean = false;\n manageHeading: boolean = false;\n aboutHeading:boolean = false;\n dashboardHeading:boolean = false;\n changePasswordHeading:boolean = false;\n pushNotificationHeading: boolean = false;\n addUserHeading: boolean = false;\n privacyPolicyHeading: boolean = false;\n surveyAnswersHeading: boolean = false;\n\n\n\n\n\n importedEventsHeading: boolean = false;\n subEventsHeading: boolean = false;\n zoneHeading: boolean = false;\n subZoneHeading: boolean = false;\n venueHeading: boolean = false;\n interestHeading: boolean = false;\n pointHeading: boolean = false;\n placeHeading: boolean = false;\n merchandiseHeading: boolean = false;\n sectionHeading: boolean = false;\n categoryHeading: boolean = false;\n pointcategoryHeading: boolean = false;\n homeScreenPartnersHeading: boolean = false;\n eventsponsorsHeading: boolean = false;\n notificationHeading: boolean = false;\n protocolHeading: boolean = false;\n seasonsHeading: boolean = false;\n chatListHeading: boolean = false;\n chatDetailsHeading: boolean = false;\n requestHeading: boolean = false;\n settingHeading: boolean = false;\n restaurantsHeading: boolean = false;\n requestsHeading: boolean = false;\n customerHeading: boolean = false;\n zoneRequestHeading: boolean = false;\n zoneChatHeading: boolean = false;\n zoneCallHeading: boolean = false;\n zoneReportingHeading: boolean = false;\n EventRequestHeading: boolean = false;\n BannerHeading: boolean = false;\n CuisineHeading: boolean = false;\n PopupHeading: boolean = false;\n PdfHeading: boolean = false;\n TreasureHeading: boolean = false;\n CouponHeading: boolean = false;\n ZoneCoordinatesHeading: boolean = false;\n SubZoneCoordinatesHeading: boolean = false;\n emailSupportHeading:boolean = false;\n\n default: boolean;\n lang: string;\n\n private returnUrl: any;\n\n profilePic: String = \"\";\n profileDetails:any;\n modalRef: any;\n bandSuggestionList:any=[];\n searchList:any=[];\n latitube:boolean = false;\n\n constructor(\n private _header: HeaderService,\n public router: Router,\n private modalService: BsModalService,\n private route: ActivatedRoute,\n private authService: AuthService,\n private toastr: ToastrService,\n private fb: FormBuilder,\n private sharedService: SharedService,\n private http: HttpClient,\n private spinner: SpinnerVisibilityService,\n private services: RegistrationPartService,\n private cdr:ChangeDetectorRef\n ) { \n this._header.clearLocalStorageOnLogout.subscribe(message =>{\n console.log(\"from clear logout.\");\n console.log(message);\n if(message == 'logout'){\n try{\n Pushwoosh.push( (api) => {\n console.log('Pushwoosh ready!',api);\n Pushwoosh.unsubscribe();\n Pushwoosh.push(['onUnsubscribe', (api) => {\n console.log('User successfully unsubscribed',api); \n }]); \n });\n this.sharedService.updateProfile({deviceToken:\"\"}).subscribe((res:any)=>{\n console.log(res);\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this._header.logout(\"\");\n this.router.navigateByUrl(\"/auth/login\");\n })\n Pushwoosh.push(['onLoad', (api) => {\n console.log(\"loaded\");\n }]);\n }\n catch(err){\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this._header.logout(\"\");\n this.router.navigateByUrl(\"/auth/login\");\n } \n }\n });\n }\n\n userName: String;\n firstName:String;\n lastName: String;\n allDate:any;\n search:boolean;\n disabledSlider:boolean = true;\n\n @ViewChild('searchDataModal') searchDataModal: TemplateRef;\n @ViewChild(\"cancelRequest\") cancelRequest: TemplateRef;\n\n currentUser:any;\n ngOnInit(): void {\n // let user = JSON.parse(localStorage.getItem(\"currentUser\"));\n this.currentUser = this.authService.currentUserValue;\n // this.initMapHeader();\n this.default = true;\n this.currentUser = this.authService.currentUserValue;\n this.profilePic = \"../../../assets/icons/user-img.svg\";\n this.allDate = this.authService.currentUserValue;\n this.userName = this.allDate?.firstName?.toUpperCase();\n let seeAll = localStorage.getItem(\"seeAll\");\n // this.getDefault();\n this.getProfile();\n document.getElementById('searchLocation').style.display = 'none';\n\n // alert(seeAll);\n // if(!seeAll){\n // document.getElementById('openModalField').style.display = 'block';\n // document.getElementById('searchLocation').style.display = 'none';\n // }else{\n // (document.getElementById('pac-input-header')).value = JSON.parse(seeAll);\n // document.getElementById('openModalField').style.display = 'none';\n // document.getElementById('text').style.overflow=\"\";\n // document.getElementById('searchLocation').style.display = 'flex';\n // }\n }\n\n searchForm = this.fb.group({\n slider: new FormControl('200',),\n gener: new FormControl('',),\n name: new FormControl('',),\n lat: new FormControl(''),\n lng :new FormControl(''),\n })\n\n\n searchData(){\n this.search = true;\n this.getBandSuggestions();\n }\n\n getDefault(){\n this.searchClick=false;\n this.search=false;\n let data = {\n \"radius\": this.searchForm.value.slider,\n \"genre\": '',\n \"phoneBook\":[],\n \"pageNumber\":1,\n \"limit\":20,\n \"bandName\":'',\n \"location\":{\n \"lat\": '',\n \"long\":'', \n }\n }\n console.log(data);\n this.sharedService.getBandSuggestions(data).subscribe((res:any) => {\n // this.initMapHeader();\n // debugger;\n if(res.type == 'success'){\n this.moreData = res.data;\n data.limit = 10\n localStorage.setItem('payload',JSON.stringify(data));\n if(res.data.length>10){\n this.searchList = res.data.slice(0,10);\n }else{\n this.searchList = res.data;\n }\n this.cdr.detectChanges();\n }\n })\n }\n\n\n moreData:any=[];\n searchClick:any;\n getBandSuggestions(){\n let data = {\n \"radius\": this.searchForm.value.slider,\n \"genre\": this.searchForm.value.gener,\n \"phoneBook\":[],\n \"pageNumber\":1,\n \"bandName\":this.searchForm.value.name,\n \"location\":{\n \"lat\": this.searchForm.value.lat,\n \"long\":this.searchForm.value.lng, \n },\n \"limit\":20\n }\n\n console.log(data);\n this.searchClick = true;\n this.sharedService.getBandSuggestions(data).subscribe((res:any) => {\n if(res.type == 'success'){\n data.limit = 10;\n localStorage.setItem('payload',JSON.stringify(data));\n this.moreData = res.data;\n if(res.data.length>10){\n this.searchList = res.data.slice(0,10);\n }else{\n this.searchList = res.data;\n }\n this.cdr.detectChanges();\n }\n })\n }\n\n clickCancelPostYes() {\n this.spinner.show();\n console.log(this.cancelPostId, \"this.cancelPostId\")\n document.getElementById( this.cancelRequestIdText + this.cancelPostId).innerText = 'Add Friend'\n document.getElementById( this.cancelRequestIdText+ this.cancelPostId).classList.remove(\"requestSent\");\n document.getElementById( this.cancelRequestIdText + this.cancelPostId).classList.add(\"requestNotSent\")\n this.sharedService.cancelRequest(this.cancelPostId,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.modalRef.hide()\n this.toastr.success(\"Cancelled friend request\");\n this.spinner.hide();\n let index = this.moreData.findIndex((obj)=>{\n return obj._id == this.cancelPostId;\n });\n if(index != -1){\n this.moreData[index].friendStatus = \"NOT_FRIEND\";\n }\n }\n })\n }\n \n\n addFriend(id:any){\n\n let data = document.getElementById('bandSuggestionList'+id).innerText;\n if(data =='Pending'){ \n // document.getElementById('bandSuggestionList'+id).innerText = 'Add Friend'; \n // document.getElementById('bandSuggestionList'+id).classList.remove(\"requestSent\");\n // document.getElementById('bandSuggestionList'+id).classList.add(\"requestNotSent\");\n // document.getElementById('bandSuggestionList'+id).classList.remove('btn:enabled');\n\n this.cancelPostId = id;\n this.cancelRequestIdText = 'bandSuggestionList';\n this.modalRef = this.modalService.show(this.cancelRequest, { class: \"deletepopuphomee\" });\n \n // this.spinner.show();\n // this.sharedService.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n // if(res.type == 'success'){\n // this.toastr.success(\"Cancelled friend request\");\n // }\n // })\n // this.spinner.hide();\n }else if(data=='Add Friend'){ \n this.spinner.show();\n document.getElementById('bandSuggestionList'+id).innerText = 'Pending'; \n document.getElementById('bandSuggestionList'+id).classList.add(\"requestSent\");\n document.getElementById('bandSuggestionList'+id).classList.remove(\"requestNotSent\");\n\n // document.getElementById('bandSuggestionList'+id).classList.add('myclass');\n // document.getElementById('bandSuggestionList'+id).classList.remove('myclass2');\n document.getElementById('bandSuggestionList'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.sharedService.AddFriend({\"recipientId\":id}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastr.success(\"Friend request sent\");\n // debugger;\n let index = this.moreData.findIndex((obj)=>{\n return obj._id == id\n });\n if(index != -1){\n this.moreData[index].friendStatus = \"REQUEST_SENT\";\n }\n }else{\n this.toastr.error(res.message); \n }\n },(err) => {\n this.toastr.error(err.error.message);\n })\n this.spinner.hide();\n }else if(data=='Accept'){ \n this.spinner.show();\n document.getElementById('bandSuggestionList'+id).innerText = 'Friend'; \n document.getElementById('bandSuggestionList'+id).classList.add(\"friend\");\n document.getElementById('bandSuggestionList'+id).classList.remove(\"requestSent\");\n\n document.getElementById('bandSuggestionList'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.sharedService.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastr.success(\"Friend request accepted\");\n // debugger;\n let index = this.moreData.findIndex((obj)=>{\n return obj._id == id\n });\n if(index != -1){\n this.moreData[index].friendStatus = \"FRIEND\";\n }\n }else{\n this.toastr.error(res.message); \n }\n },(err) => {\n this.toastr.error(err.error.message);\n })\n this.spinner.hide();\n }\n }\n notFount: boolean;\n onChangeGenerSearch(e) {\n this.searchData();\n // if(e.target.value?.trim() != e.target?.previousValue?.trim()){\n // let data = {\n // // \"radius\": this.updateProfile.value.slider,\n // \"genre\": this.searchForm.value.gener.trim(),\n // // \"phoneBook\":[\"7780984169\"],\n // \"pageNumber\": 1,\n // \"bandName\": this.searchForm.value.name,\n // \"location\": {\n // \"lat\": this.searchForm.value.locationLat,\n // \"long\": this.searchForm.value.locationLong,\n // },\n // \"limit\":10000\n // }\n // if (this.searchForm.value.locationLat) {\n // data[\"radius\"] = this.searchForm.value.slider;\n // }\n // // e.target.previousValue = e.target.value;\n // this.services.getBandSuggestions(data).subscribe((res: any) => {\n // if (res.type == 'success') {\n // console.log(res,\"lll\")\n // this.bandSuggestionList = res.data;\n\n // if (res.data?.length == 0) {\n // this.notFount = true;\n // } else {\n // this.notFount = false;\n // }\n // }\n // })\n // }\n // else if(e.target.value == ''){\n // this.getBandSuggestions();\n // }\n }\n\n // logout() {\n // this.modalRef.hide();\n \n // this.authService.logout({email:this.currentUser.email, password: this.currentUser.password}).subscribe((res:any) =>{\n // console.log(res.status);\n // if(res.status == 200){\n // localStorage.removeItem(\"currentUser\");\n // } \n // });\n // this.router.navigateByUrl(\"/auth/login\");\n // }\n\n // modal lougout confirmation\n confirm() {\n // this.logout();\n this.modalRef.hide();\n try{\n Pushwoosh.push( (api) => {\n console.log('Pushwoosh ready!',api);\n Pushwoosh.unsubscribe();\n Pushwoosh.push(['onUnsubscribe', (api) => {\n console.log('User successfully unsubscribed',api);\n this.sharedService.updateProfile({deviceToken:\"\"}).subscribe((res:any)=>{\n console.log(res);\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this.router.navigateByUrl(\"/auth/login\");\n })\n }]);\n });\n Pushwoosh.push(['onLoad', (api) => {\n console.log(\"loaded\");\n }]);\n }\n catch(err){\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this.router.navigateByUrl(\"/auth/login\");\n } \n \n \n \n \n // document.getElementById(\"text\").classList.remove(\"screenzooom\");\n\n }\n\n clearLogout(message){\n\n console.log(\"from clear logout\");\n console.log(message);\n if(message == 'logout'){\n try{\n Pushwoosh.push( (api) => {\n console.log('Pushwoosh ready!',api);\n Pushwoosh.unsubscribe();\n Pushwoosh.push(['onUnsubscribe', (api) => {\n console.log('User successfully unsubscribed',api);\n this.sharedService.updateProfile({deviceToken:\"\"}).subscribe((res:any)=>{\n console.log(res);\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this.router.navigateByUrl(\"/auth/login\");\n })\n }]);\n });\n Pushwoosh.push(['onLoad', (api) => {\n console.log(\"loaded\");\n }]);\n }\n catch(err){\n localStorage.removeItem(\"currentUser\");\n localStorage.removeItem(\"selectedRole\");\n localStorage.removeItem(\"email\");\n localStorage.removeItem(\"phone\");\n localStorage.removeItem(\"seeAll\");\n localStorage.removeItem(\"setSearchResult\");\n localStorage.removeItem(\"screensCompleted\");\n localStorage.removeItem(\"address\");\n localStorage.removeItem(\"countryCode\");\n this.router.navigateByUrl(\"/auth/login\");\n } \n }\n }\n cancel() {\n this.modalRef.hide();\n }\n\n openModal(template: TemplateRef){\n this.modalRef = this.modalService.show(template, {class:'logoutpopupmodal'});\n }\n\n CheckEnterPress(e:any){\n\n }\n\n goToProfile(){\n\n }\n\n formatLabel(value: number) {\n if (value >= 1000) {\n return Math.round(value / 1000) + ' Miles';\n }\n else{\n return `${value}`+' Miles';\n }\n }\n\n opened:any;\n openSearchModal(){\n document.getElementById('openModalField').style.display = 'none';\n this.getDefault();\n this.opened = true;\n document.getElementById('headertopbar').style.width='100%';\n document.getElementById('headertopbar').style.marginLeft='0';\n document.getElementById('text').style.overflow=\"hidden\";\n document.getElementById('searchLocation').style.display = 'flex';\n document.getElementById('openModalField').style.display = 'none';\n // this.openModal(this.searchDataModal);\n $(\"#searchModalDialog\").show();\n }\n\n latitude:any;\n longitude:any;\n\n initMapHeader() {\n const map = new google.maps.Map(\n document.getElementById(\"map-header\") as HTMLElement,\n {\n center: { lat: this.latitude ? parseFloat(this.latitude): 28.7041, lng: this.longitude ? parseFloat(this.longitude): 77.1025 },\n zoom: 13,\n mapTypeId: \"roadmap\",\n }\n );\n \n \n // Create the search box and link it to the UI element.\n const input = document.getElementById(\"pac-input-header\") as HTMLInputElement;\n // const searchBox = new google.maps.places.SearchBox(input);\n\n const searchBox = new google.maps.places.Autocomplete(input,{\n types:['(cities)']\n });\n \n map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);\n \n // Bias the SearchBox results towards current map's viewport.\n map.addListener(\"bounds_changed\", () => {\n searchBox.setBounds(map.getBounds() as google.maps.LatLngBounds);\n });\n \n \n // Listen for the event fired when the user selects a prediction and retrieve\n // more details for that place.\n searchBox.addListener(\"places_changed\", () => {\n // const places = searchBox.getPlaces();\n const place = searchBox.getPlace();\n \n // if (places.length == 0) {\n // return;\n // }\n\n if(!Object.keys(place)?.length){\n return;\n }\n\n // For each place, get the icon, name and location.\n const bounds = new google.maps.LatLngBounds();\n // places.forEach((place) => {\n this.latitube = true;\n console.log(place.geometry.location.lat())\n if(place.geometry.location.lat()){\n this.searchForm.get('lat').patchValue(1);\n this.searchForm.get('lat').patchValue(place.geometry.location.lat());\n this.disabledSlider = false;\n }\n if (!place.geometry || !place.geometry.location) {\n console.log(\"Returned place contains no geometry\");\n return;\n }\n \n const icon = {\n url: place.icon as string,\n size: new google.maps.Size(71, 71),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(17, 34),\n scaledSize: new google.maps.Size(25, 25)\n };\n\n // this.codeLatLng(place.geometry.location.lat(),place.geometry.location.lng());\n this.searchForm.get('lat').patchValue(place.geometry.location.lat());\n this.searchForm.get('lng').patchValue(place.geometry.location.lng());\n this.searchData();\n // this.disabledSlider = false;\n if (place.geometry.viewport) {\n // Only geocodes have viewport.\n bounds.union(place.geometry.viewport);\n } else {\n bounds.extend(place.geometry.location);\n }\n // });\n map.fitBounds(bounds); \n });\n \n let infoWindow = new google.maps.InfoWindow({\n content: \"Click the map to get Lat/Lng!\",\n // position: myLatlng,\n });\n \n infoWindow.open(map);\n }\n\n seeAll(){\n // this.initMapHeader();\n let loc = (document.getElementById('pac-input-header')).value;\n localStorage.setItem('seeAll',JSON.stringify(loc));\n // this.modalRef.hide();\n // debugger;\n this.moreData = this.moreData.slice(0,10)\n localStorage.setItem('setSearchResult',JSON.stringify(this.moreData));\n // for(var i of this.searchList){\n // console.log(i.bandName);\n // }\n this.sharedService.sendHeaderData(this.searchList);\n this.router.navigateByUrl('/search-result');\n }\n\n closeSearchModal(){\n this.hideLocSuggestions();\n this.disabledSlider = true;\n this.latitube = false;\n this.searchForm.get('lat').patchValue(\"\");\n this.searchForm.get('gener').patchValue(\"\");\n this.searchForm.get('name').patchValue(\"\");\n this.searchForm.get('slider').patchValue(\"200\");\n (document.getElementById('pac-input-header')).value = '';\n document.getElementById('searchLocation').style.display = 'none';\n document.getElementById('headertopbar').style.width='';\n document.getElementById('headertopbar').style.marginLeft='';\n document.getElementById('openModalField').style.display = 'block';\n document.getElementById('text').style.overflow=\"\";\n $(\"#searchModalDialog\").hide();\n }\n\n checkEmpty(e:any){\n if(e.target.value==''){\n this.hideLocSuggestions();\n this.disabledSlider = true;\n this.searchForm.get('lat').patchValue('');\n this.searchForm.get('lng').patchValue('');\n this.getDefault();\n if((this.searchForm.value.gener=='' || this.searchForm.value.gener==undefined) && (this.searchForm.value.name=='' || this.searchForm.value.name==undefined)){\n this.getDefault();\n }\n this.latitube=false;\n }\n else{\n console.log(e?.target?.value);\n this.hideLocSuggestions();\n this.getLocationSuggestions(e?.target?.value);\n }\n }\n\n getLocationSuggestions(key){\n // delete (document.getElementById(\"programmingLanguages\") as HTMLUListElement).children\n (document.getElementById(\"programmingLanguages\") as HTMLUListElement).innerHTML = '';\n this.cdr.detectChanges();\n const service = new google.maps.places.AutocompleteService();\n // getQueryPredictions\n // '(regions)','(cities)'\n service.getPlacePredictions({ input: key, types: ['(cities)'] }, (predictions)=>{\n console.log(predictions);\n // (document.getElementById(\"programmingLanguages\") as HTMLUListElement).innerHTML = '';\n this.hideLocSuggestions();\n predictions.forEach((prediction) => {\n if(prediction?.description?.split(',')?.length >= 2){\n const option = document.createElement(\"li\");\n option.appendChild(document.createTextNode(prediction.description));\n option.setAttribute(\"class\",\"suggestionItemClass\");\n option.setAttribute(\"description\",prediction.description);\n option.setAttribute(\"style\",\"padding:10px;\");\n option.setAttribute(\"placeId\",prediction.place_id);\n // option.setAttribute(\"country\",prediction.description.split(\",\")[2]);\n (document.getElementById(\"programmingLanguages\") as HTMLUListElement).appendChild(option);\n }\n });\n this.setHandler();\n });\n }\n\n setHandler(){\n (document.getElementById(\"programmingLanguages\") as HTMLUListElement).childNodes.forEach((node)=>{\n node.addEventListener('click', (e:any) => { \n console.log(\"yeas i am here\");\n console.log(e.target.getAttribute('description'));\n let desc = e.target.getAttribute('description');\n let placeId = e.target.getAttribute('placeId');\n (document.getElementById('pac-input-header')).value = desc;\n this.hideLocSuggestions();\n if(desc.split(\",\")?.length == 2){\n this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[1]?.trim(),placeId)\n }\n else if(desc.split(\",\")?.length > 2){\n this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[2]?.trim(),placeId)\n }\n // this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[2]?.trim())\n // debugger;\n });\n })\n }\n\n hideLocSuggestions(){\n (document.getElementById(\"programmingLanguages\") as HTMLUListElement).innerHTML = '';\n // (document.getElementById('programmingLanguages')).click();\n this.cdr.detectChanges();\n }\n \n getLatLngFromAddress(city, country,placeId){\n\n var address = city +\", \"+ country;\n var geocoder = new google.maps.Geocoder();\n\n let obj;\n\n if(placeId)\n obj = {placeId};\n else\n obj = {address};\n \n geocoder.geocode( obj, (results:any, status) => {\n \n if (status == google.maps.GeocoderStatus.OK) {\n // $('#latitude').val(results[0].geometry.location.Pa);\n // $('#longitude').val(results[0].geometry.location.Qa);\n console.log(results[0].geometry.location?.lat());\n console.log(results[0].geometry.location?.lng());\n this.searchForm.get('lat').patchValue(results[0].geometry.location?.lat());\n this.searchForm.get('lng').patchValue(results[0].geometry.location?.lng());\n this.disabledSlider = false;\n this.searchData();\n \n } else {\n console.log(\"Geocode was not successful for the following reason: \" + status);\n }\n });\n }\n\n checkEmptyForName(e:any){\n if(e.target?.value?.length>=2){\n this.searchData();\n }\n else if(!e.target?.value.length && !this.searchForm.value.gener && !this.latitube){\n this.getDefault();\n }\n else if(!e.target?.value.length){\n this.searchData();\n }\n }\n\n getSuggestionsForRadiusChange(){\n this.searchData();\n }\n\n generSuggestions;\n getGenerSuggestions(e) {\n console.log(e?.target?.value, e?.target?.value.length, \"ppp\")\n if(e.target?.value?.length >1){\n this.services.getGenerSuggestions(e?.target?.value).subscribe((res: any) => {\n if (res.type == 'success') {\n console.log(res)\n this.generSuggestions = res.data;\n }\n })\n\n if (!e.target.value) {\n this.getBandSuggestions();\n }\n }\n else if(!e.target?.value && !this.latitube && !this.searchForm.value.name.length){\n this.generSuggestions = [];\n this.getDefault();\n }\n else if(!e.target?.value){\n this.generSuggestions = [];\n this.searchData();\n }\n\n }\n getProfile(){\n this.sharedService.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\n // localStorage.removeItem('seeAll');\n\n }\n })\n }\n navigateToUserProfile(id,bandName){\n this.router.navigateByUrl(`user/profile?id=${id}&user=${bandName}`).then((res)=>{\n window.document?.location?.reload();\n })\n }\n // ngOnDestroy(){\n // console.log(\"on destroy\");\n // this._header.clearLocalStorageOnLogout.unsubscribe();\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

    Are you sure want to logout?

    \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 Radius\n \n \n
      0 Miles
      \n
      \n \n
      \n
      \n \n \n \n {{suggestion.genereName?suggestion.genereName:suggestion.communityName}}\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 {{res?.bandName | titlecase}}\n \n \n {{res?.communityIds.length>0 ? ((res?.communityIds[0]?.communityName != null ? res?.communityIds[0]?.communityName : '') + (res?.communityIds[1]?.communityName!=null ? \" | \" +res?.communityIds[1]?.communityName : '')): ((res?.genereIds[0]?.genereName!=null ? res?.genereIds[0]?.genereName : '') + (res?.genereIds[1]?.genereName!=null ? \" | \" +res?.genereIds[1]?.genereName : '') + (res?.genereIds[2]?.genereName ? \" | \" +res?.genereIds[2]?.genereName :\n ''))}}\n \n \n \n \n \n \n
      \n
      \n

      =10\" (click)=\"seeAll()\" style=\"padding-top: 20px;cursor: pointer;\">See all results

      \n \n

      No Results Found

      \n
      \n
      \n
      \n
      \n
      \n\n\n\n\n
      \n \"\"
      Home
      \n \"\"
      Messages
      \n \"\"
      Notifications
      \n \"\"
      Profile
      \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

      Are you sure want to Cancel Friend Request?

      \n
      \n \n\n \n
      \n
      \n
      ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss']\n})\nexport class LayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
      \n \n \n
      ","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { SharedService } from '../services/shared.service';\nimport { BsModalRef, BsModalService, ModalOptions } from \"ngx-bootstrap/modal\";\nimport { CarouselComponent, OwlOptions, SlidesOutputData } from 'ngx-owl-carousel-o';\nimport { CarouselService } from 'ngx-owl-carousel-o/lib/services/carousel.service';\nimport { style } from '@angular/animations';\ndeclare var $:any;\n// import 'owl.carousel/dist/assets/owl.carousel.css';\n// import 'owl.carousel';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'photo-album-slider-modal-content',\n template: `\n
      \n
      \n
      \n \n
      \n

      Photo Album

      \n
      \n \n
      \n
      \n
      \n \n \n \n \n \n \n \n \n \n
      \n
      \n `,\n styleUrls:['./photo-album-slider.component.css']\n })\n \n export class PhotoAlbumSliderModalContentComponent implements OnInit {\n \n slidesStore;\n customOptions2:any;\n selectedImageIndex;\n userAvailable;\n // customOptions2: OwlOptions = {\n // loop: false,\n // mouseDrag: false,\n // touchDrag: false,\n // pullDrag: false,\n // dots: false,\n // navSpeed: 700,\n // navText: ['', ''],\n // items: 2,\n // // responsive: {\n // // 0: {\n // // items: 3\n // // },\n // // 400: {\n // // items: 3\n // // },\n // // 740: {\n // // items: 3\n // // },\n // // 940: {\n // // items: 3\n // // }\n // // },\n // nav: true\n // }\n \n @ViewChild('owlCar', { static: true }) owlCar: CarouselComponent;\n \n constructor(public modalRef: BsModalRef) {}\n \n @Output() deletePhotoFromAlbum:EventEmitter = new EventEmitter();\n \n ngOnInit() {\n console.log(this.slidesStore);\n console.log(this.selectedImageIndex);\n // let anyService = this.owlCar as any;\n // let carouselService = anyService.carouselService as CarouselService; \n // carouselService.to(this.selectedImageIndex,500);\n // this.owlCar.to(this.selectedImageIndex.toString());\n\n // debugger;\n\n let intr;\n intr = setInterval(()=>{\n console.log(this.owlCar.carouselLoaded);\n if(this.owlCar.carouselLoaded){\n this.owlCar.to(this.selectedImageIndex.toString());\n clearInterval(intr);\n }\n },2000)\n // this.owlCar.carouselLoaded\n\n // console.log($('.loop'));\n\n // $('.loop').on('initialized.owl.carousel translate.owl.carousel', function(e){\n // console.log(e);\n // let idx = e.item.index;\n // ($('.owl-item.big') as any).removeClass('big');\n // $('.owl-item.medium').removeClass('medium');\n // $('.owl-item').eq(idx).addClass('big');\n // $('.owl-item').eq(idx-1).addClass('medium');\n // $('.owl-item').eq(idx+1).addClass('medium');\n // });\n \n \n // $('.loop').owlCarousel({\n // center: true,\n // items:3,\n // // loop:true,\n // margin:10,\n // // autoplay: true,\n // // autoPlay: 3000\n // loop: false,\n // rewind: true\n // })\n }\n \n onClickDeletePhotoAlbum(){\n this.deletePhotoFromAlbum.emit(this.activeSlidePosition.toString());\n }\n activeSlidePosition = 0;\n getActiveSlideData(data: SlidesOutputData) {\n console.log(\"active slide\",data);\n this.activeSlidePosition = data.startPosition;\n console.log(this.activeSlidePosition);\n \n /************** Get Index of the Item and add the class **************************/\n // document.querySelector(\".owl-item.active123\")?.classList.remove('active123');\n // document.querySelectorAll(\".owl-item\")[this.activeSlidePosition].classList.add('active123');\n\n /************** **************************/\n\n }\n\n addCss(){\n\n }\n \n ngAfterViewInit()\t{\n \n }\n \n }","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { SharedService } from '../services/shared.service';\nimport { BsModalRef, BsModalService, ModalOptions } from \"ngx-bootstrap/modal\";\nimport { CarouselComponent, OwlOptions, SlidesOutputData } from 'ngx-owl-carousel-o';\nimport { CarouselService } from 'ngx-owl-carousel-o/lib/services/carousel.service';\nimport { PhotoAlbumSliderModalContentComponent } from './photo-album-slider.component';\n// import * as $ from 'jquery';\ndeclare var $: any;\n@Component({\n selector: 'app-photo-album',\n templateUrl: './photo-album.component.html',\n styleUrls: ['./photo-album.component.scss']\n})\nexport class PhotoAlbumComponent implements OnInit {\n\n uploadPhotoAlbumUrl:string;\n deleteAlbumImage:any;\n modalRef: BsModalRef;\n photoAlbumCheckbox:any;\n @Input() userId: string;\n @Input() userAvailable: boolean;\n @Input() deleteButton: boolean;\n\n owlRef:any;\n\n constructor(\n private service: SharedService,\n private toaster: ToastrService,\n private modalService: BsModalService,\n // private albumModalComponent: PhotoAlbumSliderModalContentComponent\n ) { \n // this.albumModalComponent.deletePhotoFromAlbum.subscribe({\n // next: (event: MyServiceEvent) => {\n // console.log(`Received message #${event.eventId}: ${event.message}`);\n // }\n }\n\n @ViewChild(\"deleteAlbumImages\") deleteAlbumImages: TemplateRef; \n @ViewChild(\"photoAlbumSlider\") photoAlbumSlider: TemplateRef;\n // @ViewChild('owlCar', { static: true }) owlCar: CarouselComponent;\n \n\n customOptions: OwlOptions = {\n loop: true,\n mouseDrag: false,\n touchDrag: false,\n pullDrag: false,\n dots: false,\n navSpeed: 700,\n navText: ['', ''],\n // items: 1,\n responsive: {\n 0: {\n items: 3\n },\n // 200: {\n // items: 3\n // },\n // 300: {\n // items: 3\n // }\n },\n nav: true\n }\n number = 500;\n customOptions2: OwlOptions = {\n center: true,\n items:3,\n // loop:true,\n margin:15,\n // autoplay: true,\n // autoPlay: 3000\n loop: false,\n rewind: false,\n autoWidth:true,\n // loop: true,\n // center: true,\n // rewind:true,\n // autoWidth:true,\n // mouseDrag: false,\n // touchDrag: false,\n // pullDrag: false,\n dots: false,\n // navSpeed: 700,\n navText: ['', ''],\n // items: 3,\n // margin:10,\n responsive: {\n 0: {\n items: 1\n },\n 400: {\n items: 1\n },\n // 740: {\n // items: 3\n // },\n // 940: {\n // items: 3\n // }\n },\n nav: true\n }\n\n slidesStore :any= [];\n noWrapSlides = false;\n showIndicator = true;\n centeralign:boolean = true;\n deleteImagePath:any;\n \n\n ngOnInit(): void {\n console.log(\"user Id\",this.userId);\n this.uploadPhotoAlbumUrl='../../../assets/Indietown_icons/upload-photo-album.svg';\n setTimeout(()=>{\n this.getAlbum(this.userId)\n },3000)\n }\n\n\n uploadPhotoAlbum(e:any){\n let files = e.target.files;\n [...e.target.files].map((file)=>{\n let fd = new FormData();\n fd.append('file', file);\n this.service.uploadImage(fd).subscribe((res:any)=> {\n if(res.type == 'success'){\n this.uploadPhotoAlbumUrl = res.data.fileUrl;\n let data = {\n \"album\":[\n {\n \"fileUrl\": this.uploadPhotoAlbumUrl,\n \"key\": res.data.key\n }\n ]\n }\n this.createPhotoAlbum(data);\n }\n })\n })\n }\n \n uploadToServer(file){\n // let file = e.target.files[0];\n let fd = new FormData();\n fd.append('file', file);\n this.service.uploadImage(fd).subscribe((res:any)=> {\n if(res.type == 'success'){\n this.uploadPhotoAlbumUrl = res.data.fileUrl;\n let data = {\n \"album\":[\n {\n \"fileUrl\": this.uploadPhotoAlbumUrl,\n \"key\": res.data.key\n }\n ]\n }\n this.createPhotoAlbum(data);\n }\n })\n }\n\n createPhotoAlbum(data){\n this.service.createAlbum(data).subscribe((res:any)=>{\n if(res.type == 'success'){\n // this.getAlbum(this.userId);\n // this.slidesStore.push(data?.album[0]);\n this.slidesStore.push(res.data[res.data.length-1]);\n this.toaster.success(res.message);\n this.uploadPhotoAlbumUrl='../../../assets/Indietown_icons/upload-photo-album.svg';\n }else{\n this.toaster.error(res.message);\n }\n })\n }\n\n deletePhotoAlbumIndex:any;\n deleteAlbumModalRef:any;\n\n onClickDeletePhotoAlbum(index:any){\n // this.modalRef.hide();\n // this.openModal(this.deleteAlbumImages);\n this.deleteAlbumModalRef = this.modalService.show(this.deleteAlbumImages,{class: 'deletedd'});\n console.log(this.activeSlides);\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n photoDelete(){\n // console.log(this.deletePhotosIds);\n // if(this.firstTimePhotoId){\n // this.deletePhoto(this.firstTimePhotoId); \n // }else{\n // this.deletePhoto(this.deletePhotosIds);\n // }\n // this.deletePhotosIds = [];\n if(this.deletePhotosIds?.length){\n console.log(1);\n this.deletePhoto(this.deletePhotosIds);\n this.modalRef.hide();\n this.photoAlbumCheckbox = false; \n }\n else{\n console.log(\"no\");\n let arr = [{photoId:this.slidesStore[this.activeSlidePosition]._id,imageIndex:this.activeSlidePosition}]\n this.deletePhoto(arr);\n this.deleteAlbumModalRef.hide();\n }\n }\n\n deletePhoto(deletePhotosIds){\n console.log(deletePhotosIds);\n let imageIds = deletePhotosIds.map(elm => elm.photoId);\n this.service.deleteMultiplePhotos({photoIds:imageIds}).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.toaster.success(res.message);\n console.log(deletePhotosIds);\n\n // this.getAlbum(this.userId);\n deletePhotosIds.forEach(element => {\n console.log(\"innn\");\n console.log(this.slidesStore);\n // this.slidesStore.splice(element.imageIndex,1);\n let index = this.slidesStore.findIndex((elm)=>{\n return elm._id == element.photoId\n })\n this.slidesStore.splice(index,1);\n console.log(this.slidesStore);\n });\n console.log(\"end\");\n this.deletePhotosIds = [];\n }\n })\n }\n\n // get active slide owl carousel\n activeSlides:any=SlidesOutputData;\n activeSlidePosition:any = 0;\n // activeImageData:any;\n\n getActiveSlideData(data: SlidesOutputData) {\n console.log(\"active slide\",data);\n // if(data.startPosition != this.slidesStore.length){\n // this.activeSlidePosition = data.startPosition;\n // }\n // else{\n this.activeSlidePosition = data.startPosition;\n // }\n console.log(this.activeSlidePosition);\n \n // let ids = [];\n // // this.activeId= this.slidesStore.splice(this.activeSlides?.startPosition,this.activeSlides?.startPosition);\n // console.log(\"=======================\",this.activeId?._id);\n // this.firstTimePhotoId=[];\n // this.deletePhotosIds[0]=this.activeId?._id;\n\n }\n\n deletePhotosIds:any=[];\n onClickCheckbox(e:any, photoId:any,imageIndex){\n console.log(e);\n console.log(imageIndex);\n // let ids = e.checked;\n if(e.checked){\n this.deletePhotosIds.push({photoId,imageIndex});\n }else{\n for(var i=0;i,\n class:'photoalbumpopup'\n };\n this.modalRef = this.modalService.show(PhotoAlbumSliderModalContentComponent,initialState);\n this.modalRef.content.deletePhotoFromAlbum.subscribe((result)=>{\n console.log(result); \n this.activeSlidePosition = result;\n this.onClickDeletePhotoAlbum('');\n })\n }\n\n // setTimeout(()=>{\n // // this.owlRef = $('.owl-carousel')[0];\n // // // this.owlRef?.owlCarousel();\n // // console.log(this.owlRef);\n // let anyService = this.owlCar as any;\n // let carouselService = anyService.carouselService as CarouselService; \n // console.log(carouselService); \n // debugger;\n // },10000)\n\n }\n\n deleteMultiplePhotos(){\n // this.openModal(this.deleteAlbumImages)\n this.modalRef = this.modalService.show(this.deleteAlbumImages, {class:'deletealbumpopup'});\n\n }\n\n cancel(){\n // this.modalRef.hide();\n if(this.deletePhotosIds?.length){\n this.modalRef.hide();\n this.photoAlbumCheckbox = false; \n }\n else{\n this.deleteAlbumModalRef.hide();\n }\n }\n\n onClickCancleImage(){\n this.photoAlbumCheckbox = false;\n this.photoAlbumCheckbox = false;\n this.deletePhotosIds=[];\n }\n\n showCheckbox(){\n this.photoAlbumCheckbox = true;\n }\n\n firstTimePhotoId:any=[];\n getAlbum(id:any){\n let data;\n if(this.userAvailable){\n data = {userId:this.userId}\n }\n this.service.getPhotoAlbum(data,this.pageNumber,this.pageLimit).subscribe((res:any)=>{\n if(res.type == 'success'){\n this.slidesStore = res.data;\n this.firstTimePhotoId[0]=this.slidesStore[0]?._id;\n if(localStorage.getItem(\"profileorCoverImageDetails\")){\n let imageDetails = JSON.parse(localStorage.getItem(\"profileorCoverImageDetails\"));\n this.slidesStore.unshift(imageDetails);\n localStorage.removeItem(\"profileorCoverImageDetails\");\n this.openSlider(imageDetails._id);\n }\n }\n })\n }\n pageNumber = 1;\n pageLimit = 200;\n scrollForPhotos = true;\n getMorePhotosOfAlbum(e){\n let data;\n this.pageNumber++;\n if(this.userAvailable)\n data = {userId:this.userId}\n this.service.getPhotoAlbum(data,this.pageNumber,this.pageLimit).subscribe((res:any)=>{\n if(res.type == 'success'){\n if(res?.data?.length)\n this.slidesStore .push(...res.data);\n else\n this.scrollForPhotos = false;\n }\n })\n }\n}\n\n// import { CarouselComponent, OwlOptions, SlidesOutputData } from 'ngx-owl-carousel-o';\n\n\n","
      \n
      \n
      \n \n
      \n
      \n \"\"\n
      \n
      \n

      Photo Album

      \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 No Photos Uploaded Yet!\n
      \n
      \n
      \n
      \n
      \n \n \n\n
      0\">\n

      {{deletePhotosIds.length == 1 ? deletePhotosIds.length + \" Photo\" : deletePhotosIds.length + \" Photos\"}} Selected

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

      Are you sure want to delete
      this photo?

      \n
      \n \n \n \n
      \n
      \n
      \n\n\n\n\n\n\n\n\n\n","import {Directive, HostListener} from \"@angular/core\";\n \n@Directive({\n selector: \"[click-stop-propagation]\"\n})\nexport class ClickStopPropagation\n{\n @HostListener(\"click\", [\"$event\"])\n public onClick(event: any): void\n {\n event.stopPropagation();\n }\n}\n","/**\n * Usage: dateString | localDate:'format'\n **/\n\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filterFriends'\n})\nexport class FriendsFilterPipe implements PipeTransform {\n\n constructor() { }\n\n transform(items: any[], callback:any): any {\n if (!items || !callback) {\n return items;\n }\n return items.filter(item => {\n if(item.bandName){\n return item.bandName.toLowerCase().includes(callback.toLowerCase());\n }\n else if(item.userId?.bandName){\n return item.userId.bandName.toLowerCase().includes(callback.toLowerCase());\n }\n \n });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'htmlToPlaintext'\n})\nexport class HtmlToPlaintextPipe implements PipeTransform {\n transform(value: any): string {\n const temp = document.createElement('div');\n temp.innerHTML = value;\n return temp.textContent || temp.innerText || '';\n }\n}","/**\n * Usage: dateString | localDate:'format'\n **/\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { formatDate } from '@angular/common';\nimport { SessionService } from '../services/session.service';\n\n@Pipe({\n name: 'localDate'\n})\nexport class LocalDatePipe implements PipeTransform {\n\n constructor(private session: SessionService) { }\n\n transform(value: any) {\n\n if (!value) { return ''; }\n let format = 'medium';\n\n return formatDate(value, format, this.session.locale);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\n constructor(private sanitizer: DomSanitizer) { }\n\n transform(value) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeUrl'\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n transform(url) {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\n\n/**\n * Sanitize HTML\n */\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n /**\n * Pipe Constructor\n *\n * @param _sanitizer: DomSanitezer\n */\n // tslint:disable-next-line\n constructor(protected _sanitizer: DomSanitizer) {\n }\n\n /**\n * Transform\n *\n * @param value: string\n * @param type: string\n */\n transform(value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n switch (type) {\n case 'html':\n return this._sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this._sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this._sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this._sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n alert(value);\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n return this._sanitizer.bypassSecurityTrustHtml(value);\n }\n }\n}","
      \n
      \n
      \n
      \n \"\"\n \"Arrow\"\n

      Privacy Policy

      \n
      \n\n
      \n \n

      Last Modified: August 23, 2023

      \n
        \n
      • \n Introduction\n
          \n
        • Indie App, Inc. (the “Company”, “We”, or “Us”) respects the privacy of visitors\n to our website (“You”) and is committed to protecting your privacy through our\n compliance with this privacy policy (this “Privacy Policy”).\n
        • \n
        • \n This Privacy Policy describes:\n
            \n
          • the types of information We may collect from You or that You may\n provide when You visit the Indie App website ([indietown.org], the\n “Website”); and
          • \n
          • \n our practices for collecting, using, maintaining, protecting, and disclosing\n that information.\n
          • \n\n
          \n
        • \n
        • \n This Privacy Policy applies to information We collect:\n
            \n
          • onthe Website; and
          • \n
          • in email, text, phone calls, and other electronic messages between You and\n Us.\n
          • \n
          \n
        • \n
        • \n It does not apply to information collected by:\n
            \n
          • Us through any other means, including on any other website operated by\n Us or any third party; or
          • \n
          • \n any third party, including through any application, content or advertising\n that may link to or be accessible through the Website.\n
          • \n
          \n
        • \n
        • \n Please read this Privacy Policy carefully to understand our policies and practices\n regarding your information and how We will treat it. If You do not agree with our\n policies and practices, your choice is to not use the Website. By accessing or\n using the Website, You agree to this Privacy Policy.\n
        • \n
        \n
      • \n
      • Information We Collect About You and How We Collect It\n
          \n
        • We may collect several types of information directly from You when You provide\n it to Us, including information by which You may be personally identified\n including, but not limited to, your name, postal address, email address, age,\n gender and telephone number (\"Personal Information\").\n
        • \n
        • \n We also may collect information from You automatically. The information We\n collect automatically may include Personal Information as well as information\n that is about You but does not individually identify You. We may maintain or\n associate the information We collect automatically with information We receive in\n other ways or receive from third parties. Our goal in collecting this information is\n to help improve the Website and to deliver better and more personalized service,\n including by enabling Us to:\n
            \n
          • estimate our audience size and usage patterns;
          • \n
          • store information about your preferences, allowing Us to customize the\n Website according to your individual interests;
          • \n
          • \n speed up your searches; and\n
          • \n
          • \n recognize You when You return to the Website.\n
          • \n
          \n
        • \n
        • \n The technologies We use for automatic data collection may include the use of\n cookies, also called browser cookies. A cookie is a small file placed on the hard drive\n of your computer. You may refuse to accept browser cookies by activating\n the appropriate setting on your browser. However, if You select this setting You\n may be unable to access certain parts of the Website. Unless You have adjusted\n your browser setting so that it will refuse cookies, our system may issue cookies\n when You direct your browser to the Website.\n
        • \n\n
        \n
      • \n
      • Children Under the Age of 13\n
          \n
        • The Website is not intended for children under 13 years of age. We do not knowingly\n collect Personal Information from children under 13. If We learn We have collected or\n received Personal Information from a child under 13 We will delete that information.\n
        • \n
        \n
      • \n
      • \n Third-Party Use of Cookies and Other Tracking Technologies\n
          \n
        • Some content or applications, including advertisements, on the Website are served\n by third-parties, including Google Analytics, advertisers, ad networks and servers,\n content providers, and application providers. These third parties may use cookies\n alone or in conjunction with web beacons or other tracking technologies to collect\n information about You when You use the Website.\n
        • \n
        • \n ‘We do not control these third parties' tracking technologies or privacy policies. If\n You have any questions about an advertisement or other targeted content, You\n should contact the responsible provider directly.\n
        • \n
        \n
      • \n
      • \n How We Use Your Information\n
          \n
        • We use information that We collect about You or that You provide to Us,\n including any Personal Information:\n
            \n
          • to present the Website and its contents to You;
          • \n
          • to provide You with information, products, or services that You request\n from Us;
          • \n
          • to fulfill any other purpose for which You provide it;\n
          • \n
          • \n to provide You with notices about your account, including expiration and\n renewal notices;\n
          • \n
          • to carry out our obligations and enforce our rights arising from any\n contracts entered into between You and Us, including for billing and\n collection;
          • \n
          • \n to notify You about changes to the Website or any products or services We\n offer or provide through it;\n
          • \n
          • \n in any other way We may describe when You provide the information; and\n
          • \n
          • \n for any other purpose with your consent.\n
          • \n
          \n
        • \n
        \n
      • \n
      • \n Disclosure of Your Information\n
          \n
        • We may disclose aggregated information about our users, and information that\n does not identify any individual, without restriction.
        • \n
        • \n We may disclose Personal Information:\n
            \n
          • to contractors, service providers, and other third parties We use to support\n our business and who are bound by contractual obligations to keep\n Personal Information confidential and use it only for the purposes for\n which We disclose it to them;
          • \n
          • \n to fulfill the purpose for which You provide it;\n
          • \n
          • \n for any other purpose disclosed by Us when You provide the information;\n or\n
          • \n
          • \n with your consent.\n
          • \n
          \n
        • \n
        • \n We may also disclose your Personal Information:\n
            \n
          • to comply with any court order, law, or legal process, including to respond\n to any government or regulatory request;
          • \n
          • \n to enforce our Terms of Use and other agreements, including for billing\n and collection purposes; or\n
          • \n
          • \n if We believe disclosure is necessary to protect the rights, property, or\n safety of the Company, our customers, or others. This includes exchanging\n information with other companies and organizations for the purposes of\n fraud protection and credit risk reduction.\n
          • \n
          \n
        • \n
        \n
      • \n
      • Deletion of Personal Information\n
          \n
        • To delete your Personal Information, You must delete your account in settings.\n Your activity on Indie Town may still be visible on other users’ pages.\n
        • \n
        \n
      • \n
      • Data Security\n
          \n
        • We have implemented measures designed to secure your Personal Information\n from accidental loss and from unauthorized access, use, alteration, and disclosure.
        • \n
        • \n The safety and security of your information also depends on You. Where We have\n given You (or where You have chosen) a password for access to certain parts of\n the Website, You are responsible for keeping this password confidential. We ask\n You not to share your password with anyone.\n
        • \n
        • \n Unfortunately, the transmission of information via the internet is not completely\n secure. Although We do our best to protect your Personal Information, We cannot\n guarantee the security of your Personal Information transmitted to the Website.\n Any transmission of Personal Information is at your own risk. We are not\n responsible for circumvention of any privacy settings or security measures\n contained on the Website.\n
        • \n
        \n
      • \n
      • \n Your State Privacy Rights\n
          \n
        • State consumer privacy laws may provide their residents with additional rights\n regarding our use of their Personal Information, including, but not limited to, the\n following.\n
        • \n
            \n
          • 1. California provides its residents with additional privacy protections. To\n learn more about California residents’ privacy rights, visit\n https://oag.ca.gov/privacy/ccpa
          • \n
          • \n Colorado, Connecticut, Virginia, and Utah each provide their state\n residents with rights to:\n
              \n
            • Confirm whether We process their Personal Information,.
            • \n
            • Access and delete certain Personal Information,.
            • \n
            • Data portability, and.
            • \n
            • Opt-out of personal data processing for targeted advertising and\n sales.
            • \n
            \n
          • \n
          • \n Colorado, Connecticut, and Virginia also provide their state residents with\n rights to:\n
              \n
            • Correct inaccuracies in their Personal Information, taking into\n account the information's nature processing purpose, and.\n
            • \n
            • \n Opt-out of profiling in furtherance of decisions that produce legal\n or similarly significant effects.\n
            • \n
            \n
          • \n
          • \n Nevada provides its residents with a limited right to opt-out of certain\n Personal Information sales. However, please know We do not currently\n sell data triggering that statute's opt-out requirements.\n
          • \n
          \n
        \n
      • \n
      • \n Changes to Our Privacy Policy\n
          \n
        • It is our policy to post any changes We make to our Privacy Policy on this page with a\n notice that the Privacy Policy has been updated on the Website home page. If We make\n material changes to how We treat our users’ Personal Information, We will notify You by\n email to the email address specified in your account, or through a notice on the Website\n home page. The date the Privacy Policy was last revised is identified at the top of the\n page. You are responsible for ensuring We have an up-to-date active and deliverable\n email address for You, and for periodically visiting the Website and this Privacy Policy to\n check for any changes.\n
        • \n
        \n
      • \n
      • \n Contact Information\n
          \n
        • To ask questions or comment about this Privacy Policy and our privacy practices, contact\n Us at: support@indietown.org.
        • \n
        \n
      • \n
      \n
      \n
      \n
      \n
      ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-privacy',\n templateUrl: './privacy.component.html',\n styleUrls: ['./privacy.component.scss']\n})\nexport class PrivacyComponent implements OnInit {\n isMobile:boolean=false;\n constructor(\n ) {\n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n\n\n receiveEmail:any;\n\n ngOnInit() {\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 {{ friend?.bandName | titlecase }}\n
      \n
      \n
      \n
      {{friend?.communityIds.length>0 ?\n (friend?.communityIds[0]?.communityName +\n (friend?.communityIds[1]?.communityName!=null ? \" | \" +friend?.communityIds[1]?.communityName : '')):\n ((friend?.genereIds[0]?.genereName!=null ? friend?.genereIds[0]?.genereName : '') +\n (friend?.genereIds[1]?.genereName!=null ? \" | \" +friend?.genereIds[1]?.genereName :\n '') + (friend?.genereIds[2]?.genereName ? \" | \" +friend?.genereIds[2]?.genereName :\n ''))}}
      \n
      \n \n \n
      \n
      \n
      \n\n \n
      No Data Found !
      \n
      \n
      \n\n
      \n
      \n \n

      \n Top Friends\n ({{topFriendsCount}})\n

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

        


      \n
      \n {{ friend?.bandName | titlecase }}\n
      \n
      \n
      \n
      {{friend?.communityIds.length>0 ?\n (friend?.communityIds[0]?.communityName +\n (friend?.communityIds[1]?.communityName!=null ? \" | \" +friend?.communityIds[1]?.communityName : '')):\n ((friend?.genereIds[0]?.genereName!=null ? friend?.genereIds[0]?.genereName : '') +\n (friend?.genereIds[1]?.genereName!=null ? \" | \" +friend?.genereIds[1]?.genereName :\n '') + (friend?.genereIds[2]?.genereName ? \" | \" +friend?.genereIds[2]?.genereName :\n ''))}}
      \n
      \n \n \n
      \n
      \n
      \n\n \n\n
      \n To Make a Friend as a Top Friend Select the star at the top right
      corner of their profile\n
      \n \n
      \n \n \n

      \n Others\n ({{ otherFriendsCount }})\n

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

        


      \n
      \n {{ friend?.bandName | titlecase }}\n
      \n
      \n
      \n
      {{friend?.communityIds.length>0 ?\n (friend?.communityIds[0]?.communityName +\n (friend?.communityIds[1]?.communityName!=null ? \" | \" +friend?.communityIds[1]?.communityName :\n '')):\n ((friend?.genereIds[0]?.genereName!=null ? friend?.genereIds[0]?.genereName : '') +\n (friend?.genereIds[1]?.genereName!=null ? \" | \" +friend?.genereIds[1]?.genereName :\n '') + (friend?.genereIds[2]?.genereName ? \" | \" +friend?.genereIds[2]?.genereName :\n ''))}}
      \n
      \n \n \n
      \n
      \n
      \n
      \n\n
      No Friends Yet !
      \n
      \n\n
      \n\n
      \n
      \n \n \n
      \n \n \n
      \n \"\"\n \n
      \n

      \n {{ friend?.bandName | titlecase }}\n

      \n
      \n\n
      \n
      {{friend?.communityIds.length>0 ?\n (friend?.communityIds[0]?.communityName +\n (friend?.communityIds[1]?.communityName!=null ? \" | \" +friend?.communityIds[1]?.communityName : '')):\n ((friend?.genereIds[0]?.genereName!=null ? friend?.genereIds[0]?.genereName : '') +\n (friend?.genereIds[1]?.genereName!=null ? \" | \" +friend?.genereIds[1]?.genereName :\n '') + (friend?.genereIds[2]?.genereName ? \" | \" +friend?.genereIds[2]?.genereName :\n ''))}}
      \n
      \n\n
      \n \n \n \n \n Pending\n \n \n Accept\n \n \n \n
      \n
      \n
      \n
      \n\n \n
      No Data Found !
      \n
      No Friends Yet !
      \n
      \n\n
      \n
      \n\n\n
      \n \n
      \n
      \n \n
      \n
      \n

      \n {{ selectedFriendData?.bandName | titlecase }}\n

      \n \n \n

      \n {{selectedFriendData?.communityIds.length>0 ?\n (selectedFriendData?.communityIds[0]?.communityName +\n (selectedFriendData?.communityIds[1]?.communityName!=null ? \" | \"\n +selectedFriendData?.communityIds[1]?.communityName : '')):\n ((selectedFriendData?.genereIds[0]?.genereName!=null ? selectedFriendData?.genereIds[0]?.genereName : '')\n +\n (selectedFriendData?.genereIds[1]?.genereName!=null ? \" | \" +selectedFriendData?.genereIds[1]?.genereName\n :\n '') + (selectedFriendData?.genereIds[2]?.genereName ? \" | \" +selectedFriendData?.genereIds[2]?.genereName\n :\n ''))}}\n

      \n
      \n
      \n
      \n \n
      \n
      \n
        \n
      • \n \"\"\n Message {{ selectedFriendData?.bandName | titlecase\n }}\n
      • \n\n
      • \n \"\"\n Unfriend {{ selectedFriendData?.bandName | titlecase }}\n
      • \n\n
      • \n \"\"\n Silence {{ selectedFriendData?.bandName | titlecase }} Posts\n
      • \n
      • \n \"\"\n UnMute {{ selectedFriendData?.bandName | titlecase }} Posts\n
      • \n
      \n
      \n
      \n
      \n\n
      \n \n
      \n
      \n

      Are you sure you want to cancel
      \n this request?

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

      Are you sure you want to unfriend
      \n {{unFriendName | titlecase}}?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      \n\n\n \n","import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { ToastrService } from 'ngx-toastr';\nimport { SharedService } from '../services/shared.service';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\n\n@Component({\n selector: 'app-profile-friends-list',\n templateUrl: './profile-friends-list.component.html',\n styleUrls: ['./profile-friends-list.component.scss']\n})\nexport class ProfileFriendsListComponent implements OnInit {\n\n friendsList: any = [];\n topFriendsList: any = [];\n modalRef: BsModalRef;\n selectedFriendData: any;\n filterFriendKey: any;\n @Input() userId = '';\n otherFriendsList: any = [];\n friendsCount;\n otherFriendsCount;\n @Input() myProfileId;\n\n\n @ViewChild(\"friendActionsModal\") friendActionsModal: TemplateRef;\n @ViewChild(\"cancelRequests\") cancelRequests: TemplateRef;\n @ViewChild(\"unFriendModal\") unFriendModal: TemplateRef;\n\n\n constructor(private service: SharedService,\n private toastrService: ToastrService,\n private modalService: BsModalService,\n private router: Router,\n private spinner: SpinnerVisibilityService\n ) { }\n\n ngOnInit(): void {\n console.log(\"I am here\");;\n\n if (this.userId) {\n this.getFriendsList(this.userId);\n }\n else {\n this.getTopFriendsList();\n this.getOtherFriendsList();\n }\n\n }\n\n getFriendsList(userId) {\n this.service.getFriendsList(userId,this.loadMoreFriendPage,20).subscribe((res: any) => {\n if (res.type == 'success') {\n this.friendsList.push(...res.data);\n if(!res?.data?.length){\n this.loadMoreFriend = false;\n }\n // this.friendsCount = res.data.totalCount;\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n\n getOtherFriendsList() {\n this.service.getOtherFriendsList(this.loadMoreOtherFriendPage,20).subscribe((res: any) => {\n if (res.type == 'success') {\n this.otherFriendsList.push(...res.data);\n this.otherFriendsCount = res.totalCount;\n if(!res?.data?.length){\n this.loadMoreOtherFriend = false;\n }\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n\n topFriendsCount;\n getTopFriendsList() {\n this.service.getTopFriendsList().subscribe((res: any) => {\n if (res.type == 'success') {\n this.topFriendsList = res.data;\n this.topFriendsCount = res.totalCount;\n // this.topFriendsList = [\n // {\n // \"profileImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648063538.jpg\",\"key\":\"file_1677648063538.jpg\"},\n // \"coverImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648085268.jpg\",\"key\":\"file_1677648085268.jpg\"},\n // \"_id\":\"63fee04942cce284d9a694f7\",\"bandName\":\"Miller\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208824115.jfif\",\"key\":\"file_1681208824115.jfif\"},\n // \"coverImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208849534.jpg\",\"key\":\"file_1681208849534.jpg\"},\n // \"_id\":\"64353563be4c9e29bd6f8c14\",\"bandName\":\"denhy\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648063538.jpg\",\"key\":\"file_1677648063538.jpg\"},\n // \"coverImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648085268.jpg\",\"key\":\"file_1677648085268.jpg\"},\n // \"_id\":\"63fee04942cce284d9a694f7\",\"bandName\":\"Miller\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208824115.jfif\",\"key\":\"file_1681208824115.jfif\"},\n // \"coverImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208849534.jpg\",\"key\":\"file_1681208849534.jpg\"},\n // \"_id\":\"64353563be4c9e29bd6f8c14\",\"bandName\":\"denhy\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648063538.jpg\",\"key\":\"file_1677648063538.jpg\"},\n // \"coverImage\":{\"fileUrl\":\"https://indietown-dev.s3.amazonaws.com/file_1677648085268.jpg\",\"key\":\"file_1677648085268.jpg\"},\n // \"_id\":\"63fee04942cce284d9a694f7\",\"bandName\":\"Miller\"\n // },\n // {\n // \"profileImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208824115.jfif\",\"key\":\"file_1681208824115.jfif\"},\n // \"coverImage\":{\"fileUrl\":\"https://d1hbsedo7kzk7w.cloudfront.net/file_1681208849534.jpg\",\"key\":\"file_1681208849534.jpg\"},\n // \"_id\":\"64353563be4c9e29bd6f8c14\",\"bandName\":\"denhy\"\n // }\n // ]\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n\n selectedfriendType;\n selectedfriendSilenceStatus;\n openActionsModal(data: any, type) {\n\n console.log(\"popup coms here\");\n this.modalRef = this.modalService.show(this.friendActionsModal, { class: 'friendstabb' });\n this.selectedFriendData = data;\n this.selectedfriendType = type;\n this.getSilencedUserStatus(data._id);\n // if(this.showSiidbar==false){\n // this.openModal(this.friendClickModal);\n // }else{\n // // this.route.navigate(['/user/profile'],{queryParams:{id:data?._id}})\n // }\n }\n getSilencedUserStatus(id) {\n this.service.getSilencedUserStatus(id).subscribe((res: any) => {\n console.log(res);\n this.selectedfriendSilenceStatus = res.data.isSilent;\n })\n }\n\n unMute(id) {\n this.service.unMuteUserPosts({ userId: id }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.selectedfriendSilenceStatus = false;\n // this.modalRef.hide();\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n unFriendId;\n unFriendName;\n unFriendModalRef;\n openUnfriendModal(id: any,name) {\n this.modalRef.hide();\n this.unFriendId = id;\n this.unFriendName = name;\n this.unFriendModalRef = this.modalService.show(this.unFriendModal);\n }\n\n unFriend(){\n this.service.unFriend(this.unFriendId, {}).subscribe((res: any) => {\n // debugger;\n this.unFriendModalRef.hide();\n if (res.type == 'success') {\n if (this.selectedfriendType == 'topFriend') {\n let index = this.topFriendsList.findIndex((friend) => {\n return friend._id == this.unFriendId\n });\n this.topFriendsList.splice(index, 1);\n }\n else {\n let index = this.otherFriendsList.findIndex((friend) => {\n return friend._id == this.unFriendId\n });\n this.otherFriendsList.splice(index, 1);\n }\n // this.getFriendsList();\n } else {\n this.toastrService.error(res.message);\n }\n },\n (error) =>{\n console.log(\"ome error occurred while unfriend\");\n this.unFriendModalRef.hide();\n }\n )\n }\n\n silencePosts(id: any) {\n this.service.silentUserPosts({ userId: id }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.selectedfriendSilenceStatus = true;\n // this.modalRef.hide();\n } else {\n this.toastrService.error(res.message);\n }\n })\n }\n filter = false;\n filterFriendsList(e: any) {\n console.log(\"filtering \", e);\n this.filterFriendKey = e;\n console.log(this.userId)\n if (e.length >= 2) {\n this.filter = true\n if (!this.userId) {\n this.service.filterFriendsList(this.filterFriendKey, 'top', '').subscribe((res: any) => {\n console.log(res, \"res\")\n this.topFriendsList = res.data;\n this.topFriendsCount = res.totalCount;\n })\n this.service.filterFriendsList(this.filterFriendKey, 'others', '').subscribe((res: any) => {\n this.otherFriendsList = res.data;\n this.otherFriendsCount = res.totalCount;\n })\n }\n else {\n this.service.filterFriendsList(this.filterFriendKey, 'friends', this.userId).subscribe((res: any) => {\n this.friendsList = res.data;\n this.friendsCount = res.totalCount;\n })\n }\n }else{\n this.filter = false;\n if(this.userId){\n this.loadMoreFriendPage = 1;\n this.getFriendsList(this.userId);\n }\n else{\n this.loadMoreOtherFriendPage = 1;\n this.getTopFriendsList();\n this.getOtherFriendsList();\n }\n \n }\n }\n\n navigateToProfile(userId, userName) {\n if(this.myProfileId == userId){\n return;\n }\n this.router.navigateByUrl('user/profile?id=' + userId + '&user=' + userName).then(() => {\n window.location.reload();\n });\n }\n\n addFriend(id, index) {\n this.service.AddFriend({ \"recipientId\": id }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastrService.success(\"Friend request sent\");\n this.friendsList[index].friendStatus = 'REQUEST_SENT';\n }\n // this.spinner.hide();\n }, (err) => {\n this.toastrService.error(err.error.message);\n })\n }\n addFriendButtonText:string = \"Add Friend\";\n\n AddFriend(id:any, index){\n let data = document.getElementById('addFriendText'+id).innerText;\n // alert(data);\n if(data=='Pending'){\n // this.spinner.show();\n // document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n // document.getElementById('addFriendText'+id).style.background = 'black';\n // document.getElementById('addFriendText'+id).style.color = 'white';\n this.cancelRequestId = id;\n this.modalRef = this.modalService.show(this.cancelRequests,{class:'cancelrequestmodall'});\n // this.service.cancelRequest({\"action\":\"CANCEL\"},id).subscribe((res:any)=>{\n // if(res.type=='success'){\n // this.toastrService.success(res.message); \n // }\n // })\n // this.spinner.hide();\n }else if(data == 'Add Friend'){\n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Pending'\n document.getElementById('addFriendText'+id).style.background='#FAFAFA';\n document.getElementById('addFriendText'+id).style.color='black';\n document.getElementById('addFriendText'+id).style.border='1px solid black';\n document.getElementById('addFriendText'+id).style.borderRadius='8px';\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => { \n if(res.type == 'success'){\n // this.toastrService.success(res.message); \n this.toastrService.success(\"Friend request sent\"); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else if(data=='Accept'){ \n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Friend'; \n document.getElementById('addFriendText'+id).classList.add(\"friend\");\n document.getElementById('addFriendText'+id).classList.remove(\"addFriend\");\n\n document.getElementById('addFriendText'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.service.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastrService.success(\"Friend request accepted\");\n // debugger;\n // let index = this.moreData.findIndex((obj)=>{\n // return obj._id == id\n // });\n // if(index != -1){\n // this.moreData[index].friendStatus = \"FRIEND\";\n // }\n }else{\n this.toastrService.error(res.message); \n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }\n \n}\n cancelRequest(id, index) {\n this.service.cancelRequest(id, { \"action\": \"CANCEL\" }).subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastrService.success(\"Cancelled friend request\");\n this.friendsList[index].friendStatus = 'NOT_FRIEND';\n }\n })\n }\n cancelRequestId;\ncancelRequestModalRef;\n\nshowCancelRequestLoader: Boolean = false;\ncancelFriendRequest(){\n this.showCancelRequestLoader = true;\n let id = this.cancelRequestId;\n \n \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n this.showCancelRequestLoader = false;\n if(res.type=='success'){\n this.toastrService.success(\"Cancelled friend request\"); \n document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n document.getElementById('addFriendText'+id).style.background = 'black';\n document.getElementById('addFriendText'+id).style.color = 'white';\n document.getElementById('addFriendText'+id).style.borderRadius='15px';\n }\n else{\n this.toastrService.info(\"please try after some time!\"); \n }\n this.modalRef?.hide();\n },err => {\n this.showCancelRequestLoader = false;\n this.toastrService.info(\"please try after some time!\"); \n this.modalRef?.hide();\n })\n}\n\n message(id) {\n this.router.navigateByUrl('/messages');\n }\n\n loadMoreFriend: Boolean = true;\n loadMoreFriendPage = 1;\n\n\n loadMoreFriends(e){\n console.log(\"scrolled fired\");\n if(this.loadMoreFriend){\n console.log(\"loading more\")\n this.loadMoreFriendPage++;\n // this.getMoreFriendsList();\n this.getFriendsList(this.userId);\n }\n }\n loadMoreOtherFriend = true;\n loadMoreOtherFriendPage = 1;\n loadMoreOtherFriends(e){\n console.log(\"scrolled fired other friends\");\n if(this.loadMoreOtherFriend){\n console.log(\"loading more\")\n this.loadMoreOtherFriendPage++;\n this.getOtherFriendsList();\n }\n }\n\n getMoreFriendsList(){\n this.service.getBandcampList(this.userId,this.loadMoreFriendPage,20).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.friendsList.push(...res.data);\n }\n else{\n this.loadMoreFriend = false;\n }\n })\n }\n\n navigateToMessages(data){\n // routerLink=\"/messages\"\n this.modalRef?.hide();\n localStorage.setItem(\"cameFromProfile\",JSON.stringify(data));\n this.router.navigateByUrl('/messages');\n }\n\n}\n","import { Component, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { RegistrationPartService } from '../../views/registration-part/services/registration.service';\nimport { SharedService } from '../services/shared.service';\nimport { BsModalRef,BsModalService } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'app-register-playlist',\n templateUrl: './register-playlist.component.html',\n styleUrls: ['./register-playlist.component.scss','../../views/registration-part/community-register/community-register.component.scss']\n})\nexport class RegisterPlaylistComponent implements OnInit {\n\n // youtubeUrlRegex = /^(https:\\/\\/)((?:www|m)\\.)?((?:youtube\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$/;\n // // spotify old -> ^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:open.))?((?:spotify\\.com))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$\n // spotifyUrlRegex = /^(https:\\/\\/)((?:www|m)\\.)?((?:open.))?((?:spotify\\.com))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$/;\n // soundcloudUrlRegex = /^(https?:\\/\\/)?(www.)?(m\\.)?soundcloud\\.com\\/[\\w\\-\\.]+(\\/)+[\\w\\-\\.]+?$/;\n // bandcampUrlRegex = /^https?:\\/\\/(www\\.)?(bandcamp\\.com|snd\\.sc)\\/.*$/;\n\n youtubeUrlRegex = \"^https?:\\\\/\\\\/(?:www\\\\.)?(?:youtube\\\\.com\\\\/(?:playlist\\\\?list=|watch\\\\?v=)|youtu\\\\.be\\\\/)(?!channel\\\\/)([a-zA-Z0-9_-]+)\";\n spotifyUrlRegex = \"((?:https?:)?\\\\/\\\\/)?((?:www|m)\\\\.)?((?:open.))?((?:spotify\\\\.(com|link)))(\\\\/(?:[\\\\w\\\\-]+\\\\?v=|embed\\\\/|v\\\\/)?)([\\\\w\\\\-]+)(\\\\S+)?\";\n soundcloudUrlRegex = \"https://w.soundcloud.com\";\n bandcampUrlRegex = \"https://bandcamp.com\";\n\n updateProfile = new FormGroup({\n bandName: new FormControl('', [Validators.required]),\n city: new FormControl('', [Validators.required]),\n state: new FormControl('',),\n country: new FormControl('',),\n profilePic: new FormControl(''),\n profilePicKey: new FormControl(''),\n coverPic: new FormControl(''),\n coverPicKey: new FormControl(''),\n about: new FormControl(''),\n spotifyURL: new FormControl('',Validators.pattern(this.spotifyUrlRegex)),\n soundcloudURL: new FormControl('',Validators.pattern(this.soundcloudUrlRegex)),\n bandcampURL: new FormControl('', Validators.pattern(this.bandcampUrlRegex)),\n youtubeURL: new FormControl('',Validators.pattern(this.youtubeUrlRegex)),\n lat: new FormControl(''),\n long: new FormControl(''),\n searchLoaction: new FormControl(''),\n gener: new FormControl(''),\n name: new FormControl(''),\n locationLat: new FormControl(''),\n locationLong: new FormControl(''),\n slider:new FormControl('200'),\n listgener:new FormControl('')\n });\n\n isMobile:any;\n spotifySelected: boolean;\n spotifyimgsrc: string;\n soundcloudimgsrc: string;\n bandcampimgsrc: string;\n soundcloudSelected: boolean;\n bandcampSelected: boolean;\n nameErrorMsg: string;\n bioErrorMsg: string;\n youtubeError: boolean;\n spotifyError: boolean;\n soundcloudError: boolean;\n bandcampError: boolean;\n invalidName: boolean;\n invalidBio: boolean;\n // f: any;\n spotifyErrorMsg: string;\n youtubeErrorMsg: string;\n soundcloudErrorMsg: string;\n bandcampErrorMsg: string;\n sliderValue: number;\n \n @Output() closePopup = new EventEmitter();\n\n @Output() urlAdded = new EventEmitter();\n\n @ViewChild(\"showErrorModal\") showErrorModal: TemplateRef;\n\n\n\n constructor(\n private service: RegistrationPartService,\n private sharedService: SharedService,\n private router: Router,\n private toastrService: ToastrService,\n private modalService: BsModalService,\n ) { \n if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n ngOnInit(): void {\n this.onSpotifySelected();\n // this.onSoundcloudSelected();\n\n // Use backend to get info\n // if(localStorage.getItem('playlist')){\n // let playlistDetails = JSON.parse(localStorage.getItem('playlist'));\n // this.updateProfile.controls.spotifyURL.patchValue(playlistDetails.spotify.url);\n // this.updateProfile.controls.youtubeURL.patchValue(playlistDetails.youtube.url);\n // this.updateProfile.controls.bandcampURL.patchValue(playlistDetails.bandCamp.url);\n // this.updateProfile.controls.soundcloudURL.patchValue(playlistDetails.soundClub.url);\n // }\n\n /**\n * STEPS TO FOLLOW\n * 1.save the url's\n * 2.add condition while displaying tabs or find another way\n * 3.add the validations popup etc..!\n */\n\n this.modalService.onHide.subscribe((val)=>{\n console.log(\"hidden sjsjfk\");\n console.log(val);\n this.errorModalOpen = false;\n })\n this.modalService.onShow.subscribe((val)=>{\n console.log(\"Sfsdfsdfsdf show\");\n console.log(val);\n this.errorModalOpen = true;\n })\n }\n\n get f() {\n return this.updateProfile.controls;\n }\n\n spotifyURL;\n soundcloudURL;\n bandcampURL;\n youtubeURL;\n showErrorModalRef:BsModalRef;\n errorModalOpen;\n\n onSpotifySelected(){\n this.spotifySelected = true;\n this.spotifyimgsrc =\"../../../../assets/Indietown_icons/spotify-selected.svg\";\n this.soundcloudimgsrc=\"../../../../assets/Indietown_icons/soundcloud-not-selected.svg\";\n this.bandcampimgsrc=\"../../../../assets/Indietown_icons/bandcamp-notselected.svg\";\n this.soundcloudSelected = false;\n this.bandcampSelected = false;\n this.updateProfile.get('bandcampURL').patchValue('');\n this.updateProfile.get('soundcloudURL').patchValue('');\n this.soundcloudURL = '';\n this.bandcampURL = '';\n }\n \n onSoundcloudSelected(){\n this.spotifySelected = false;\n this.spotifyimgsrc =\"../../../../assets/Indietown_icons/spotify-not-selected.svg\";\n this.soundcloudimgsrc=\"../../../../assets/Indietown_icons/soundcloud-selected.svg\";\n this.bandcampimgsrc=\"../../../../assets/Indietown_icons/bandcamp-notselected.svg\";\n this.soundcloudSelected = true;\n this.bandcampSelected = false;\n this.updateProfile.get('bandcampURL').patchValue('');\n this.updateProfile.get('spotifyURL').patchValue('');\n this.spotifyURL = '';\n this.bandcampURL = '';\n }\n \n onbandcampSelected(){\n this.spotifySelected = false;\n this.spotifyimgsrc =\"../../../../assets/Indietown_icons/spotify-not-selected.svg\";\n this.soundcloudimgsrc=\"../../../../assets/Indietown_icons/soundcloud-not-selected.svg\";\n this.bandcampimgsrc=\"../../../../assets/Indietown_icons/bandcamp-selected.svg\";\n this.soundcloudSelected = false;\n this.bandcampSelected = true;\n this.updateProfile.get('soundcloudURL').patchValue('');\n this.updateProfile.get('spotifyURL').patchValue('');\n this.spotifyURL = '';\n this.soundcloudURL = '';\n }\n\n CheckEnterPress(e:any){\n this.nameErrorMsg = '';\n this.bioErrorMsg = '';\n this.youtubeError=false;\n this.spotifyError=false;\n this.soundcloudError=false;\n this.bandcampError=false;\n this.invalidName = false;\n this.invalidBio = false;\n if (e.keyCode == 13) { \n e.preventDefault();\n return false;\n } \n }\n\n showLoader: Boolean = false;\n\n async save(){\n let ssybResponse;\n let youtubeResponse;\n\n \n this.clearAllMessages();\n\n let t1 = false;\n let t2 = false;\n let term = '';\n\n if((this.spotifyURL || this.soundcloudURL || this.bandcampURL) && this.youtubeURL){\n if(this.spotifyURL){\n t1 = new RegExp(this.spotifyUrlRegex).test(this.spotifyURL);\n }\n else if(this.soundcloudURL){\n t1 = new RegExp(this.soundcloudUrlRegex).test(this.soundcloudURL);\n }\n else if(this.bandcampURL){\n t1 = new RegExp(this.bandcampUrlRegex).test(this.bandcampURL);\n }\n\n t2 = new RegExp(this.youtubeUrlRegex).test(this.youtubeURL);\n\n if(!t1 && !t2){\n this.toastrService.error(\"Both are Invalid URLs\");\n return;\n }\n else if(!t1){\n if(this.spotifyURL)\n this.toastrService.error(\"Spotify Album, Single or Playlist URL only\");\n else if(this.soundcloudURL)\n this.toastrService.error(\"please enter valid soundcloud Iframe\");\n else\n this.toastrService.error(\"please enter valid bandcamp Iframe\");\n return;\n }\n else if(!t2){\n this.toastrService.error(\"YouTube Video or Playlist URL only\");\n return;\n }\n\n }\n else if(this.youtubeURL){\n if(!new RegExp(this.youtubeUrlRegex).test(this.youtubeURL)){\n this.toastrService.error(\"YouTube Video or Playlist URL only\");\n return;\n }\n }\n else{\n if(this.spotifyURL){\n if(!new RegExp(this.spotifyUrlRegex).test(this.spotifyURL)){\n this.toastrService.error(\"Spotify Album, Single or Playlist URL only\");\n return;\n }\n }\n else if(this.soundcloudURL){\n if(!new RegExp(this.soundcloudUrlRegex).test(this.soundcloudURL)){\n this.toastrService.error(\"please enter valid soundcloud Iframe\");\n return;\n }\n }\n else if(this.bandcampURL){\n if(!new RegExp(this.bandcampUrlRegex).test(this.bandcampURL)){\n this.toastrService.error(\"please enter valid bandcamp Iframe\");\n return;\n }\n }\n }\n\n\n this.showLoader = true;\n\n if(this.spotifyURL){\n // if(!new RegExp(this.spotifyUrlRegex).test(this.spotifyURL)){\n // this.toastrService.error(\"please enter valid spotify url\");\n // this.showLoader = false;\n // return;\n // }\n ssybResponse = await this.addSpotifyURL();\n console.log(\"ssybResponse \",ssybResponse);\n }\n else if(this.soundcloudURL){\n // if(!new RegExp(this.soundcloudUrlRegex).test(this.soundcloudURL)){\n // this.toastrService.error(\"please enter valid soundcloud iframe code\");\n // this.showLoader = false;\n // return;\n // }\n ssybResponse = await this.addSoundcloudIframe();\n console.log(\"ssybResponse \",ssybResponse);\n }\n else if(this.bandcampURL){\n // if(!new RegExp(this.bandcampUrlRegex).test(this.bandcampURL)){\n // this.toastrService.error(\"please enter valid bandcamp iframe code\");\n // this.showLoader = false;\n // return;\n // }\n ssybResponse = await this.addBandcampIframe();\n console.log(\"ssybResponse \",ssybResponse);\n }\n\n if(this.youtubeURL){\n // if(!new RegExp(this.youtubeUrlRegex).test(this.youtubeURL)){\n // this.toastrService.error(\"please enter valid youtube url\");\n // this.showLoader = false;\n // return;\n // }\n youtubeResponse = await this.addYoutubeURL();\n console.log(\"youtubeResponse \",youtubeResponse);\n }\n\n this.showLoader = false;\n\n console.log(ssybResponse);\n console.log(youtubeResponse);\n this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : 'showErrorModal'});\n }\n\n addSpotifyURL(){\n\n //check spotify validation here\n\n return new Promise((resolve,reject)=>{\n this.sharedService.addSpotifyUrl({url:this.spotifyURL}).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifySuccessMsg = \"Spotify URL added\";\n // this.toastrService.info(this.spotifySuccessMsg);\n this.spotifyURL = '';\n // this.urlAdded.emit(\"showSpotifyTab\");\n this.urlAdded.emit({name:\"showSpotifyTab\",data:res.data});\n resolve(this.spotifySuccessMsg);\n // this.checkAndCloseTheModal();\n \n }\n },(err)=>{\n console.log(err);\n // this.toastrService.info(err?.error?.message);\n if(err?.error?.message == 'Invalid URL'){\n this.spotifyErrorMsg = 'Spotify Album, Single or Playlist URL only';\n }\n else{\n if(Object.keys(err?.error?.message)?.length){\n this.spotifyErrorMsg = err?.error?.message;\n }\n else{\n this.spotifyErrorMsg = \"Spotify Album, Single or Playlist URL only\";\n }\n }\n // this.spotifyErrorMsg = 'Spotify - ' + err?.error?.message;\n\n resolve(this.spotifyErrorMsg);\n \n // if(!this.errorModalOpen)\n // this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : ''});\n })\n })\n \n }\n\n addMore(){\n \n // debugger;\n // if(this.spotifySuccessMsg || this.soundcloudSuccessMsg || this.bandcampSuccessMsg){\n // this.spotifyURL = '';\n // this.soundcloudURL = '';\n // this.bandcampURL = '';\n // }\n // if(this.youtubeSuccessMsg){\n // this.youtubeURL = '';\n // }\n // this.clearAllMessages();\n this.showErrorModalRef.hide();\n\n }\n\n continue(){\n this.clearAllMessages();\n this.showErrorModalRef?.hide();\n this.closePopup.emit();\n // this.updateProfileAll();\n }\n\n clearAllMessages(){\n this.spotifySuccessMsg = '';\n this.soundcloudSuccessMsg = '';\n this.bandcampSuccessMsg = '';\n this.youtubeSuccessMsg = '';\n this.spotifyErrorMsg = '';\n this.soundcloudErrorMsg = '';\n this.bandcampErrorMsg = '';\n this.youtubeErrorMsg = '';\n }\n\n addSoundcloudIframe(){\n return new Promise((resolve,reject)=>{\n this.sharedService.addSoundcloudIframe({iframeCode:this.soundcloudURL}).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.soundcloudSuccessMsg = \"SoundCloud embed code added\";\n // this.toastrService.info(this.soundcloudSuccessMsg);\n this.soundcloudURL = '';\n // this.urlAdded.emit(\"showSoundcloudTab\");\n this.urlAdded.emit({name:\"showSoundcloudTab\",data:res.data});\n resolve(this.soundcloudSuccessMsg);\n // this.checkAndCloseTheModal();\n }\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n // this.toastrService.error(err?.error?.message);\n if(err?.error?.message == 'Invalid iFrame code'){\n this.soundcloudErrorMsg = 'Invalid SoundCloud embed code';\n }\n else if(err?.error?.message == 'iFrame code already added'){\n this.soundcloudErrorMsg = 'SoundCloud iFrame code already added';\n }\n else{\n if(Object.keys(err?.error?.message)?.length){\n this.soundcloudErrorMsg = err?.error?.message;\n }\n else{\n this.soundcloudErrorMsg = \"Invalid SoundCloud embed code\";\n }\n \n }\n // this.soundcloudErrorMsg = 'Soundcloud - ' + err?.error?.message;\n resolve(this.soundcloudErrorMsg);\n // if(!this.errorModalOpen)\n // this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : ''});\n })\n })\n }\n\n addBandcampIframe(){\n return new Promise((resolve,reject)=>{\n this.sharedService.addBandcampIframe({iframeCode:this.bandcampURL}).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.bandcampSuccessMsg = \"Bandcamp embed code added\";\n // this.toastrService.info(this.bandcampSuccessMsg);\n this.bandcampURL = '';\n this.urlAdded.emit({name:\"showBandcampTab\",data:res.data});\n // this.checkAndCloseTheModal();\n resolve(this.bandcampSuccessMsg);\n }\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n // this.toastrService.info(err?.error?.message);\n if(err?.error?.message == 'Invalid iFrame code'){\n this.bandcampErrorMsg = 'Invalid Bandcamp embed code';\n }\n else if(err?.error?.message == 'iFrame code already added'){\n this.bandcampErrorMsg = 'Bandcamp iFrame code already added';\n }\n else{\n if(Object.keys(err?.error?.message)?.length){\n this.bandcampErrorMsg = err?.error?.message;\n }\n else{\n this.bandcampErrorMsg = \"Invalid Bandcamp embed code\";\n }\n }\n // this.bandcampErrorMsg = 'Bandcamp' + err?.error?.message;\n resolve(this.bandcampErrorMsg);\n // if(!this.errorModalOpen)\n // this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : ''});\n })\n })\n \n }\n\n spotifySuccessMsg;\n soundcloudSuccessMsg;\n bandcampSuccessMsg;\n youtubeSuccessMsg;\n\n addYoutubeURL(){\n\n return new Promise((resolve,reject)=>{\n this.sharedService.addYoutubeUrl({url:this.youtubeURL}).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.youtubeSuccessMsg = \"YouTube URL added\";\n // this.toastrService.info(this.youtubeSuccessMsg);\n this.youtubeURL = '';\n // this.urlAdded.emit(\"showYoutubeTab\");\n this.urlAdded.emit({name:\"showYoutubeTab\",data:res.data});\n // this.checkAndCloseTheModal();\n resolve(this.youtubeSuccessMsg);\n }\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n // this.toastrService.info(err?.error?.message);\n if(err?.error?.message == 'Invalid URL'){\n this.youtubeErrorMsg = 'YouTube Video or Playlist URL only';\n }\n else{\n if(Object.keys(err?.error?.message)?.length){\n this.youtubeErrorMsg = err?.error?.message;\n }\n else{\n this.youtubeErrorMsg = \"YouTube Video or Playlist URL only\";\n }\n }\n \n resolve(this.youtubeErrorMsg);\n // if(!this.errorModalOpen)\n // this.showErrorModalRef = this.modalService.show(this.showErrorModal,{class : ''});\n })\n })\n \n }\n\n checkAndCloseTheModal(){\n if(!this.spotifyErrorMsg && !this.soundcloudErrorMsg && !this.bandcampErrorMsg && !this.youtubeErrorMsg){\n // this.closeBothModals();\n }\n }\n\n connectSpcialAccount(){\n if(this.f.spotifyURL?.errors?.pattern){\n this.spotifyError = true;\n this.spotifyErrorMsg = 'Please enter a valid url';\n document.getElementById('getstartedbuttonid').style.display=\"flex\";\n return\n }\n \n else if(this.f.youtubeURL?.errors?.pattern){\n this.youtubeError = true;\n this.youtubeErrorMsg = 'Please enter a valid url';\n document.getElementById('container1').style.height=\"auto\";\n document.getElementById('progressbar').style.position=\"relative\";\n return\n }\n\n else if(this.f.soundcloudURL?.errors?.pattern){\n this.soundcloudError = true;\n this.soundcloudErrorMsg = 'Please enter a valid url';\n } \n\n else if(this.f.bandcampURL?.errors?.pattern){\n this.bandcampError = true;\n this.bandcampErrorMsg = 'Please enter a valid url';\n }\n\n else{\n this.youtubeError=false;\n this.spotifyError=false;\n this.soundcloudError=false;\n this.bandcampError=false;\n this.sliderValue = 80;\n // (document.querySelector(\".slidepage\")).style.marginLeft=\"-78.3%\";\n this.updateProfileData();\n this.getBandSuggestions();\n document.getElementById('communityflow').classList.add('tabartistflow');\n // document.getElementById('getstartedbuttonid').style.display=\"\";\n document.getElementById('container1').classList.add('communityartistflow');\n }\n \n }\n\n notFount;\n bandSuggestionList:any = [];\n\n getBandSuggestions(){\n let data = {\n // \"radius\": 200,\n // \"genre\": this.generName,\n // \"phoneBook\":[\"7780984169\"],\n \"pageNumber\":1,\n // \"bandName\":this.updateProfile.value.bandName,\n // \"bandName\":'',\n // \"location\":{\n // \"lat\": this.updateProfile.value.lat,\n // \"long\":this.updateProfile.value.long, \n // }\n }\n\n this.service.getBandSuggestions(data).subscribe((res:any) => {\n if(res.type == 'success'){\n if(res.data.length == 0){\n this.notFount = true;\n }\n else{\n this.bandSuggestionList = res.data;\n this.bandSuggestionList = this.bandSuggestionList.slice(0,8);\n }\n \n // if(this.bandSuggestionList.length == 0){\n // this.service.getBandSuggestions({\"location\":{\"lat\": '',\"long\":''}}).subscribe((res:any) => {\n // if(res.type == 'success'){\n // this.bandSuggestionList = res.data;\n // this.bandSuggestionList = this.bandSuggestionList.slice(0,8);\n // }\n // })\n // }\n }\n })\n }\n\n skipconnectSpcialAccount(){\n document.getElementById('container1').style.height=\"auto\";\n // document.getElementById('getstartedbuttonid').style.display=\"flex\";\n document.getElementById('progressbar').style.position=\"relative\";\n document.getElementById('communityflow').classList.add('tabartistflow');\n this.youtubeError=false;\n this.spotifyError=false;\n this.soundcloudError=false;\n this.bandcampError=false;\n this.sliderValue = 80;\n this.getBandSuggestions();\n // localStorage.setItem(\"screensCompleted\",'playlist');\n this.updateProfileAll();\n // this.router.navigateByUrl('/register/find-other-artist');\n }\n\n updateProfileData() {\n // throw new Error('Method not implemented.');\n // let data = {\n // \"spotify\" : {url:this.updateProfile.value.spotifyURL},\n // \"youtube\" : {url:this.updateProfile.value.youtubeURL},\n // \"bandCamp\": {url: this.updateProfile.value.bandcampURL},\n // \"soundClub\": {url:this.updateProfile.value.soundcloudURL}\n // };\n let data = {};\n \n \n\n if(this.updateProfile.value.spotifyURL){\n data['spotify'] = {url:this.updateProfile.value.spotifyURL};\n }\n if(this.updateProfile.value.youtubeURL){\n data[\"youtube\"] = {url:this.updateProfile.value.youtubeURL};\n }\n if(this.updateProfile.value.bandcampURL){\n data[\"bandCamp\"] = {url: this.updateProfile.value.bandcampURL};\n }\n if(this.updateProfile.value.soundcloudURL){\n data[\"soundClub\"] = {url:this.updateProfile.value.soundcloudURL};\n }\n \n localStorage.setItem('playlist',JSON.stringify(data));\n localStorage.setItem(\"screensCompleted\",'playlist');\n\n this.service.updatePlayList(data).subscribe((res:any)=> {\n if(res.type =='success'){\n // this.router.navigateByUrl('/register/find-other-artist');\n this.updateProfileAll();\n }\n })\n // let playData;\n // if(this.updateProfile.value.youtubeURL!=''){\n // if(this.updateProfile.value.spotifyURL== '' && this.updateProfile.value.soundcloudURL == ''){\n // playData = {\n // \"youtube\":{\n // \"url\":this.updateProfile.value.youtubeURL\n // },\n // \"bandCamp\":{\n // \"url\":this.updateProfile.value.bandcampURL\n // }\n // }\n // this.service.updatePlayList(playData).subscribe((res:any)=> {\n // if(res.type =='success'){\n // this.router.navigateByUrl('/register/find-other-artist');\n // }\n // })\n // }\n // }\n\n // if(this.updateProfile.value.youtubeURL!=''){\n // if(this.updateProfile.value.spotifyURL== '' && this.updateProfile.value.bandcampURL == ''){\n // playData = {\n // \"youtube\":{\n // \"url\":this.updateProfile.value.youtubeURL\n // },\n // \"soundClub\":{\n // \"url\":this.updateProfile.value.soundcloudURL\n // },\n // }\n // this.service.updatePlayList(playData).subscribe((res:any)=> {\n // if(res.type =='success'){\n // this.router.navigateByUrl('/register/find-other-artist');\n // }\n // })\n // }\n // }\n\n // if(this.updateProfile.value.youtubeURL!=''){\n // if(this.updateProfile.value.soundcloudURL== '' && this.updateProfile.value.bandcampURL == ''){\n // playData = {\n // \"youtube\":{\n // \"url\":this.updateProfile.value.youtubeURL\n // },\n // \"spotify\":{\n // \"url\":this.updateProfile.value.spotifyURL\n // }\n // }\n // this.service.updatePlayList(playData).subscribe((res:any)=> {\n // if(res.type =='success'){\n // this.router.navigateByUrl('/register/find-other-artist');\n // }\n // })\n // }\n // }\n \n }\n\n updateProfileAll(){\n let data = {\n \"role\": localStorage.getItem('selectedRole'),\n \"address\":{\n \"city\": JSON.parse(localStorage.getItem('address')).address.city,\n \"state\": JSON.parse(localStorage.getItem('address')).address.state,\n \"country\": JSON.parse(localStorage.getItem('address')).address.country,\n },\n \"bandName\": JSON.parse(localStorage.getItem('address')).bandName,\n \"location\":{\n \"lat\": JSON.parse(localStorage.getItem('address')).location.lat,\n \"long\": JSON.parse(localStorage.getItem('address')).location.long \n },\n \"profileImage\":{\n \"fileUrl\": JSON.parse(localStorage.getItem('profilePicture'))?.fileUrl,\n \"key\": JSON.parse(localStorage.getItem('profilePicture'))?.key\n },\n\n // \"playList\": {\n // \"spotify\" : JSON.parse(localStorage.getItem('profilePicture')).,\n // \"youtube\" : {url:this.updateProfile.value.youtubeURL},\n // \"bandCamp\": {url: this.updateProfile.value.bandcampURL},\n // \"soundClub\": {url:this.updateProfile.value.soundcloudURL}\n // },\n \"coverImage\":{\n \"fileUrl\": JSON.parse(localStorage.getItem('coverPicture'))?.fileUrl,\n \"key\": JSON.parse(localStorage.getItem('coverPicture'))?.fileUrl,\n },\n \"email\":localStorage.getItem('email'),\n \"bio\": localStorage.getItem('bio'),\n \"communityIds\": localStorage.getItem('selectedRole') != 'Artist'?localStorage.getItem('communityIds').split(\",\"):[],\n \"genereIds\": localStorage.getItem('selectedRole') == 'Artist'?JSON.parse(localStorage.getItem('geners')):[]\n } \n\n this.service.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n console.log(\"success\");\n this.router.navigateByUrl('/register/find-other-artist');\n }\n })\n }\n\n closeAddPlaylistModal(){\n this.clearAllMessages();\n this.showErrorModalRef?.hide();\n this.closePopup.emit();\n }\n}\n","\n
      \n \n \n \n \n
      \n
      \n \"\"\n
      \n
      \n \n
      \n \n
      \n \n \n
      \n \n

      Create Playlists

      \n
      \n
      \n \n \n
      \n
      \n
      \n
      \n \n \n \n
      \n
      \n \n
      \n \n \n
      \n \n {{bandcampErrorMsg}}\n \n
      \n
      \n \n
      \n \n \n
      \n \n {{soundcloudErrorMsg}}\n \n
      \n
      \n \n
      \n \n \n \n
      \n \n {{spotifyErrorMsg}}\n \n
      \n
      \n
      \n
      \n
      \n
      \n \n
      \n \n \n
      \n \n {{youtubeErrorMsg}}\n \n
      \n
      \n
      \n
      \n \n Save\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
      {{spotifySuccessMsg}}
      \n
      {{spotifyErrorMsg}}
      \n
      {{soundcloudSuccessMsg}}
      \n
      {{soundcloudErrorMsg}}
      \n
      {{bandcampSuccessMsg}}
      \n
      {{bandcampErrorMsg}}
      \n
      {{youtubeSuccessMsg}}
      \n
      {{youtubeErrorMsg}}
      \n
      \n \n
      \n \n \n
      \n \n
      \n
      ","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class HeaderService {\n constructor() {}\n\n manageCaregiversHeading = new BehaviorSubject(false);\n manageClientHeading = new BehaviorSubject(false);\n manageServicesHeading = new BehaviorSubject(false);\n manageTutorialHeading = new BehaviorSubject(false);\n manageConvenienceHeading = new BehaviorSubject(false);\n manageDiseasesHeading = new BehaviorSubject(false);\n welcomeUserMsg = new BehaviorSubject(false);\n dashboardHeading = new BehaviorSubject(false);\n changePasswordHeading = new BehaviorSubject(false);\n clearLocalStorageOnLogout = new BehaviorSubject(\"default\");\n\n logout(message: string) {\n this.clearLocalStorageOnLogout.next(message);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { registerLocaleData } from '@angular/common';\nimport localeNorwegian from '@angular/common/locales/nb';\nimport localeSwedish from '@angular/common/locales/sv';\nimport localeFrench from '@angular/common/locales/fr';\n\n@Injectable({ providedIn: 'root' })\nexport class SessionService {\n\n private _locale: string;\n\n set locale(value: string) {\n this._locale = value;\n }\n get locale(): string {\n return this._locale || 'en-US';\n }\n\n registerCulture(culture: string) {\n if (!culture) {\n return;\n }\n this.locale = culture;\n\n // Register locale data since only the en-US locale data comes with Angular\n switch (culture) {\n case 'fr-CA': {\n registerLocaleData(localeFrench);\n break;\n }\n }\n }\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, Subject } from \"rxjs\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class SharedService {\n url: any = environment.API_URL;\n constructor(private http: HttpClient) {}\n\n // uploadImage(file: any) {\n // return this.http.post(this.url + \"upload/image\", file);\n // }\n\n private data = new Subject();\n public data$ = this.data.asObservable();\n\n private play = new Subject();\n public play$ = this.play.asObservable();\n\n private playSpotify = new Subject();\n public playSpotify$ = this.playSpotify.asObservable();\n\n private sendPlayList = new Subject();\n public receivePlayList$ = this.sendPlayList.asObservable();\n\n private closeSearchModal = new Subject();\n public closeSearchModal$ = this.sendPlayList.asObservable();\n\n private locationAvailable = new Subject();\n public locationAvailable$ = this.locationAvailable.asObservable();\n\n closeSearch(id:any){\n this.closeSearchModal.next(id);\n }\n\n checkLocation(x:any){\n this.locationAvailable.next(x); \n }\n\n selectYoutube(x: any){\n this.data.next(x);\n }\n\n playYoutube(x:any){\n this.play.next(x)\n }\n\n playSpotifySong(x:any){\n this.playSpotify.next(x)\n }\n\n sendPlaydata(x:any){\n this.sendPlayList.next(x);\n }\n\n private editClick = new Subject();\n public editClick$ = this.editClick.asObservable();\n\n private headerData = new Subject();\n public headerData$ = this.headerData.asObservable();\n\n private activateModalHeader = new Subject();\n public activateModalHeader$ = this.activateModalHeader.asObservable();\n\n activate(x:any){\n this.activateModalHeader.next(x);\n }\n\n editClickOpenModal(x:any){\n this.editClick.next(x);\n }\n\n sendHeaderData(e:any){\n this.headerData.next(e);\n }\n\n\n\n\n getGenres(){\n return this.http.get(this.url + 'api/community/list');\n}\n\n uploadVideo(file: any) {\n return this.http.post(this.url + \"upload/video\", file);\n }\n\n uploadPdf(file: any) {\n return this.http.post(this.url + \"upload/pdf\", file);\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n}\n\ncreatePost(data:any){\n return this.http.post(this.url + 'api/post/create-post', data);\n}\n\ngetPosts(page,pageLimit){\n return this.http.get(this.url + `api/post/list?page=${page}&pageSize=${pageLimit}`);\n}\n\ngetProfile(){\n return this.http.get(this.url + 'api/user/profile');\n}\n\n\nuploadImage(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n}\n\nuploadImageProgressbar(data:any){\n\n return this.http.post(this.url + 'api/file/upload', data, {\n reportProgress: true,\n responseType: 'json',\n observe: 'events',\n });\n}\n\ncreateShow(data:any){\n return this.http.post(this.url + 'api/show/create', data);\n}\n\nreportPost(data:any,comment:any){\n return this.http.put(this.url + `api/post/report-post/${data}`,comment);\n}\n\ncreateComment(data:any){\n return this.http.post(this.url + 'api/comment/create', data);\n}\n\ngetCommentsList(data:any,page,pageLimit){\n return this.http.get(this.url + `api/comment/list/${data}?pageNumber=${page}&limit=${pageLimit}`);\n // return this.http.get(this.url + `api/comment/list/${data}`);\n}\n\ngetBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n}\n\nAddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n}\n\n\ncancelRequest(id:any,data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`, data);\n}\n\nacceptRequest(data:any){\n return this.http.post(this.url + 'api/friend/accept', data);\n}\n\nfriendRequestList(){\n return this.http.get(this.url + 'api/friend/fr-list');\n}\n\nacceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n}\n\nsilentPost(id:any, data:any){\n return this.http.put(this.url + `api/post/silent-post/${id}`,data);\n}\n\nsilentUserPosts(data:any){\n return this.http.post(this.url + `api/user/silent-user`,data);\n}\n\nunMuteUserPosts(data:any){\n return this.http.post(this.url + `api/user/un-silent-user`,data);\n}\n\ngetSilencedUserStatus(id:any){\n return this.http.get(this.url + `api/user/user-status-details/${id}`);\n}\n\nreportComment(postId:any, commentId:any,comment:any, data:any){\n return this.http.put(this.url + `api/comment/report`,{postId,commentId,comment});\n}\n\nupdateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n}\n\ngetFriendsList(userId,page,pageLimit){\n let url = 'api/friend/list';\n if(userId)\n url = url + '/' + userId;\n return this.http.get(this.url + url + `?page=${page}&pageSize=${pageLimit}`);\n}\n\ngetTopFriendsList(){\n return this.http.get(this.url + 'api/friend/top-fr-list');\n}\n\ngetOtherFriendsList(pageNumber,limit){\n return this.http.get(this.url + 'api/friend/other-friend-list?page='+pageNumber+'&pageSize='+limit);\n}\n\n\nfilterFriendsList(keyword,type,userId){\n let url = 'api/friend';\n if(type == 'top'){\n url = url + '/top-fr-list';\n }\n else if(type == 'others'){\n url = url + '/list';\n }\n else if(type == 'friends'){\n url = url + '/list/' + userId;\n }\n return this.http.get(this.url + `${url}?keyword=${keyword}`);\n}\n\ngetFriendsListById(id:any){\n return this.http.get(this.url + `api/user/user-friend-list/${id}`);\n}\n\nupdatePlayList(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n}\n\ngetPlayList(){\n return this.http.get(this.url + 'api/user/playlist');\n}\n\ngetPlayListById(id:any){\n return this.http.get(this.url + 'api/user/playlist/'+id);\n}\n\nunFriend(id:any,data){\n return this.http.put(this.url + `api/friend/unfriend-user/${id}`,data);\n}\n\n\ngetPostById(id:any){\n return this.http.get(this.url + `api/post/${id}`);\n}\n\ngetPostByIdImpl(id:any,pageSize,pageNumber){\n return this.http.get(this.url + `api/post/list-posts/${id}?page=${pageSize}&pageSize=${pageNumber}&type=POST`);\n}\n\ngetShowsByIdImpl(id:any,pageSize,pageNumber){\n return this.http.get(this.url + `api/post/list-posts/${id}?page=${pageSize}&pageSize=${pageNumber}&type=SHOW`);\n}\n\ngetProfileById(id:any){\n return this.http.get(this.url + `api/user/user-profile/${id}`);\n}\n\nlikePost(id:any,data:any){\n return this.http.put(this.url + `api/post/update/${id}`,data);\n}\n\ndeletePost(id:any){\n return this.http.delete(this.url + `api/post/delete-user-post/${id}`);\n}\n\ngetArtistGenerList(){\n return this.http.get(this.url + 'api/genere/list');\n}\n\ngetLikesList(id:any){\n return this.http.get(this.url + `api/post/post-likes/${id}`);\n}\n\ndeleteComment(id:any){\n return this.http.delete(this.url + `api/comment/delete/${id}`,{});\n}\n\n\ncreateAlbum(data:any){\n return this.http.post(this.url + 'api/user/create-album',data);\n}\n\n\ngetPhotoAlbum(data:any,pageNumber,pageLimit){\n let url = `api/user/album`;\n if(data)\n url = url + '?userId=' + data.userId + `&page=${pageNumber}&pageSize=${pageLimit}`;\n else\n url = url + `?page=${pageNumber}&pageSize=${pageLimit}`\n return this.http.get(this.url + url);\n}\n\n\ndeleteSinglePhoto(data:any){\n return this.http.delete(this.url + `api/user/delete-photo?photoId=${data}`);\n}\n\nreportUser(id:any,data:any){\n return this.http.put(this.url + `api/user/report-user/${id}`,data);\n}\n\ngetFriendsListByUserId(id:any){\n return this.http.get(this.url + `api/friend/list/${id}`)\n}\n getSpotifyPlayList(id){\n let url = this.url + 'api/user/spotify-playlist';\n if(id){\n url = url + '?userId='+id;\n }\n return this.http.get(url);\n }\n getYoutubePlayList(data){\n console.log(2);\n console.log(data);\n let url = this.url + 'api/user/youtube-playlist';\n if(data.id){\n console.log(3);\n url = url + '?userId='+data.id;\n }\n if(data.nextPageToken){\n url = url + '?nextPageToken='+data.nextPageToken;\n }\n console.log(url);\n return this.http.get(url);\n // return this.http.get(this.url + 'api/user/youtube-playlist');\n }\n\ndeleteMultiplePhotos(ids:any){\n return this.http.put(this.url + 'api/user/delete-photos', ids);\n}\n getSpotifyToken(){\n return this.http.get(this.url + 'api/user/get-token');\n }\n\n makeFavouriteFriend(userId){\n return this.http.post(this.url + 'api/user/add-favrouite',{userId});\n }\n\n makeUnFavouriteFriend(userId){\n return this.http.put(this.url + 'api/user/remove-favrouite',{userId});\n }\n uploadProfile(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n getUsersForMention(data){\n let url = this.url + `api/user/filter-bands-list?page=1&pageSize=16`;\n url = data.keyword ? url + `&keyword=${data.keyword}` : url ;\n return this.http.get(url);\n }\n\n replyToPostComment(data){\n return this.http.post(this.url + 'api/comment/replyToComment',data);\n }\n\n getRepliesOfComment(commentId,pageNumber,limit){\n return this.http.get(this.url + `api/comment/show-more-replies?commentId=${commentId}&pageNumber=${pageNumber}&limit=${limit}`);\n }\n reportCommentReply(data){\n return this.http.put(this.url + `api/comment/report-child?postId=${data.postId}&comment=${data.comment}&childCommentId=${data.childCommentId}`,data);\n }\n\n deleteReply(postId,replyId:any){\n return this.http.delete(this.url + `api/comment/delete-child?id=${replyId}&postId=${postId}`,{});\n }\n\n updatePost(id:any,data:any){\n return this.http.put(this.url + `api/post/update-post/${id}`,data);\n }\n commentOnFriendsTimeline(data){\n return this.http.post(this.url + 'api/post/create-post', data);\n }\n\n addSpotifyUrl(data){\n return this.http.post(this.url + 'api/playlist/add-spotify-url', data);\n }\n\n getSpotifyList(userId,page,pageSize){\n let urlPath = `api/playlist/spotify?page=${page}&pageSize=${pageSize}`;\n if(userId){\n urlPath = urlPath + `&userId=${userId}`;\n }\n return this.http.get(this.url + urlPath);\n }\n\n removeSingleTrack(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removePlaylist(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removePlaylistItem(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist-item/${id}`,{});\n }\n\n getPlaylistItems(id:any){\n return this.http.get(this.url + `api/playlist/byId/${id}`);\n }\n getSoundcloudList(userId,page,pageSize){\n let urlPath = `api/playlist/soundcloud-list?page=${page}&pageSize=${pageSize}`;\n if(userId){\n urlPath = urlPath + `&userId=${userId}`;\n }\n return this.http.get(this.url + urlPath);\n }\n addSoundcloudIframe(data){\n return this.http.post(this.url + 'api/playlist/add-soundcloud', data);\n }\n removeSoundcloudIframe(id:any){\n return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n }\n getBandcampList(userId,page,pageSize){\n let urlPath = `api/playlist/bandcamp-list?page=${page}&pageSize=${pageSize}`;\n if(userId){\n urlPath = urlPath + `&userId=${userId}`;\n }\n return this.http.get(this.url + urlPath);\n }\n addBandcampIframe(data){\n return this.http.post(this.url + 'api/playlist/add-bandcamp', data);\n }\n removeBandcampIframe(id:any){\n return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n }\n\n getSpotifyAuthToken(){\n return this.http.get(this.url + `api/user/spotify-token`);\n }\n\n saveOrUpdateSpotifyToken(data){\n return this.http.post(this.url + 'api/user/update-spotify-token', data);\n }\n\n getYoutubeList(userId,page,pageSize){\n let urlPath = `api/playlist/youtube?page=${page}&pageSize=${pageSize}`;\n if(userId){\n urlPath = urlPath + `&userId=${userId}`;\n }\n return this.http.get(this.url + urlPath);\n }\n addYoutubeUrl(data){\n return this.http.post(this.url + 'api/playlist/add-youtube-url', data);\n }\n removeYoutubeUrl(id:any){\n // return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n }\n getYoutubePlaylistItems(id:any){\n return this.http.get(this.url + `api/playlist/byId/${id}`);\n }\n\n removeYoutubePlaylist(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removeYoutubePlaylistItem(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist-item/${id}`,{});\n }\n\n removeSpotifyUrl(id:any){\n // return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n // return this.http.delete(this.url + `api/playlist/delete-item/${id}`);\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removeSpotifyPlaylist(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist/${id}`,{});\n }\n\n removeSpotifyPlaylistItem(id:any){\n return this.http.put(this.url + `api/playlist/remove-playlist-item/${id}`,{});\n }\n\n AcceptFriendRequest(data){\n return this.http.put(this.url + 'api/friend/update-request-by-id', data);\n }\n}\n","
      \n
      \n
      \n
      \n \n \n

      Privacy Policy

      \n
      \n\n
      \n \n

      Last Modified: August 23, 2023

      \n
        \n
      • \n Introduction\n
          \n
        • Indie App, Inc. (the “Company”, “We”, or “Us”) respects the privacy of visitors\n to our website (“You”) and is committed to protecting your privacy through our\n compliance with this privacy policy (this “Privacy Policy”).\n
        • \n
        • \n This Privacy Policy describes:\n
            \n
          • the types of information We may collect from You or that You may\n provide when You visit the Indie App website ([indietown.org], the\n “Website”); and
          • \n
          • \n our practices for collecting, using, maintaining, protecting, and disclosing\n that information.\n
          • \n\n
          \n
        • \n
        • \n This Privacy Policy applies to information We collect:\n
            \n
          • onthe Website; and
          • \n
          • in email, text, phone calls, and other electronic messages between You and\n Us.\n
          • \n
          \n
        • \n
        • \n It does not apply to information collected by:\n
            \n
          • Us through any other means, including on any other website operated by\n Us or any third party; or
          • \n
          • \n any third party, including through any application, content or advertising\n that may link to or be accessible through the Website.\n
          • \n
          \n
        • \n
        • \n Please read this Privacy Policy carefully to understand our policies and practices\n regarding your information and how We will treat it. If You do not agree with our\n policies and practices, your choice is to not use the Website. By accessing or\n using the Website, You agree to this Privacy Policy.\n
        • \n
        \n
      • \n
      • Information We Collect About You and How We Collect It\n
          \n
        • We may collect several types of information directly from You when You provide\n it to Us, including information by which You may be personally identified\n including, but not limited to, your name, postal address, email address, age,\n gender and telephone number (\"Personal Information\").\n
        • \n
        • \n We also may collect information from You automatically. The information We\n collect automatically may include Personal Information as well as information\n that is about You but does not individually identify You. We may maintain or\n associate the information We collect automatically with information We receive in\n other ways or receive from third parties. Our goal in collecting this information is\n to help improve the Website and to deliver better and more personalized service,\n including by enabling Us to:\n
            \n
          • estimate our audience size and usage patterns;
          • \n
          • store information about your preferences, allowing Us to customize the\n Website according to your individual interests;
          • \n
          • \n speed up your searches; and\n
          • \n
          • \n recognize You when You return to the Website.\n
          • \n
          \n
        • \n
        • \n The technologies We use for automatic data collection may include the use of\n cookies, also called browser cookies. A cookie is a small file placed on the hard drive\n of your computer. You may refuse to accept browser cookies by activating\n the appropriate setting on your browser. However, if You select this setting You\n may be unable to access certain parts of the Website. Unless You have adjusted\n your browser setting so that it will refuse cookies, our system may issue cookies\n when You direct your browser to the Website.\n
        • \n\n
        \n
      • \n
      • Children Under the Age of 13\n
          \n
        • The Website is not intended for children under 13 years of age. We do not knowingly\n collect Personal Information from children under 13. If We learn We have collected or\n received Personal Information from a child under 13 We will delete that information.\n
        • \n
        \n
      • \n
      • \n Third-Party Use of Cookies and Other Tracking Technologies\n
          \n
        • Some content or applications, including advertisements, on the Website are served\n by third-parties, including Google Analytics, advertisers, ad networks and servers,\n content providers, and application providers. These third parties may use cookies\n alone or in conjunction with web beacons or other tracking technologies to collect\n information about You when You use the Website.\n
        • \n
        • \n ‘We do not control these third parties' tracking technologies or privacy policies. If\n You have any questions about an advertisement or other targeted content, You\n should contact the responsible provider directly.\n
        • \n
        \n
      • \n
      • \n How We Use Your Information\n
          \n
        • We use information that We collect about You or that You provide to Us,\n including any Personal Information:\n
            \n
          • to present the Website and its contents to You;
          • \n
          • to provide You with information, products, or services that You request\n from Us;
          • \n
          • to fulfill any other purpose for which You provide it;\n
          • \n
          • \n to provide You with notices about your account, including expiration and\n renewal notices;\n
          • \n
          • to carry out our obligations and enforce our rights arising from any\n contracts entered into between You and Us, including for billing and\n collection;
          • \n
          • \n to notify You about changes to the Website or any products or services We\n offer or provide through it;\n
          • \n
          • \n in any other way We may describe when You provide the information; and\n
          • \n
          • \n for any other purpose with your consent.\n
          • \n
          \n
        • \n
        \n
      • \n
      • \n Disclosure of Your Information\n
          \n
        • We may disclose aggregated information about our users, and information that\n does not identify any individual, without restriction.
        • \n
        • \n We may disclose Personal Information:\n
            \n
          • to contractors, service providers, and other third parties We use to support\n our business and who are bound by contractual obligations to keep\n Personal Information confidential and use it only for the purposes for\n which We disclose it to them;
          • \n
          • \n to fulfill the purpose for which You provide it;\n
          • \n
          • \n for any other purpose disclosed by Us when You provide the information;\n or\n
          • \n
          • \n with your consent.\n
          • \n
          \n
        • \n
        • \n We may also disclose your Personal Information:\n
            \n
          • to comply with any court order, law, or legal process, including to respond\n to any government or regulatory request;
          • \n
          • \n to enforce our Terms of Use and other agreements, including for billing\n and collection purposes; or\n
          • \n
          • \n if We believe disclosure is necessary to protect the rights, property, or\n safety of the Company, our customers, or others. This includes exchanging\n information with other companies and organizations for the purposes of\n fraud protection and credit risk reduction.\n
          • \n
          \n
        • \n
        \n
      • \n
      • Deletion of Personal Information\n
          \n
        • To delete your Personal Information, You must delete your account in settings.\n Your activity on Indie Town may still be visible on other users’ pages.\n
        • \n
        \n
      • \n
      • Data Security\n
          \n
        • We have implemented measures designed to secure your Personal Information\n from accidental loss and from unauthorized access, use, alteration, and disclosure.
        • \n
        • \n The safety and security of your information also depends on You. Where We have\n given You (or where You have chosen) a password for access to certain parts of\n the Website, You are responsible for keeping this password confidential. We ask\n You not to share your password with anyone.\n
        • \n
        • \n Unfortunately, the transmission of information via the internet is not completely\n secure. Although We do our best to protect your Personal Information, We cannot\n guarantee the security of your Personal Information transmitted to the Website.\n Any transmission of Personal Information is at your own risk. We are not\n responsible for circumvention of any privacy settings or security measures\n contained on the Website.\n
        • \n
        \n
      • \n
      • \n Your State Privacy Rights\n
          \n
        • State consumer privacy laws may provide their residents with additional rights\n regarding our use of their Personal Information, including, but not limited to, the\n following.\n
        • \n
            \n
          • 1. California provides its residents with additional privacy protections. To\n learn more about California residents’ privacy rights, visit\n https://oag.ca.gov/privacy/ccpa
          • \n
          • \n Colorado, Connecticut, Virginia, and Utah each provide their state\n residents with rights to:\n
              \n
            • Confirm whether We process their Personal Information,.
            • \n
            • Access and delete certain Personal Information,.
            • \n
            • Data portability, and.
            • \n
            • Opt-out of personal data processing for targeted advertising and\n sales.
            • \n
            \n
          • \n
          • \n Colorado, Connecticut, and Virginia also provide their state residents with\n rights to:\n
              \n
            • Correct inaccuracies in their Personal Information, taking into\n account the information's nature processing purpose, and.\n
            • \n
            • \n Opt-out of profiling in furtherance of decisions that produce legal\n or similarly significant effects.\n
            • \n
            \n
          • \n
          • \n Nevada provides its residents with a limited right to opt-out of certain\n Personal Information sales. However, please know We do not currently\n sell data triggering that statute's opt-out requirements.\n
          • \n
          \n
        \n
      • \n
      • \n Changes to Our Privacy Policy\n
          \n
        • It is our policy to post any changes We make to our Privacy Policy on this page with a\n notice that the Privacy Policy has been updated on the Website home page. If We make\n material changes to how We treat our users’ Personal Information, We will notify You by\n email to the email address specified in your account, or through a notice on the Website\n home page. The date the Privacy Policy was last revised is identified at the top of the\n page. You are responsible for ensuring We have an up-to-date active and deliverable\n email address for You, and for periodically visiting the Website and this Privacy Policy to\n check for any changes.\n
        • \n
        \n
      • \n
      • \n Contact Information\n
          \n
        • To ask questions or comment about this Privacy Policy and our privacy practices, contact\n Us at: support@indietown.org.
        • \n
        \n
      • \n
      \n
      \n
      \n
      \n
      ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-privacysetting',\n templateUrl: './privacysetting.component.html',\n styleUrls: ['./privacysetting.component.scss']\n})\nexport class PrivacySettingComponent implements OnInit {\nisMobile:boolean=false;\n constructor( ) { \n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DashboardComponent } from '../dashboard/dashboard/dashboard.component';\nimport { ProfileDynamicComponent } from './dynamic-profile/dynamic-profile.component';\nimport { TermComponent } from './term/term.component';\nimport { PrivacyComponent } from './privacy/privacy.component';\nimport { PrivacySettingComponent } from './settingsprivacy/privacysetting.component';\nimport { SpotifyAuthRedirectComponent } from './spotify-auth-redirect/spotify-auth-redirect.component';\nconst routes: Routes = [\n { path: 'dashboard', component: DashboardComponent }, \n {path: 'profile', component: ProfileDynamicComponent},\n {path: 'friends-list', component: ProfileDynamicComponent},\n {path: 'terms-conditions', component: TermComponent},\n {path: 'privacy-policy', component: PrivacyComponent},\n {path: 'setting-privacy-policy', component: PrivacySettingComponent},\n {path: 'spotify-auth-redirect', component: SpotifyAuthRedirectComponent}\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class SharedRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { HeaderComponent } from './header/header.component';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { SharedRoutingModule } from './shared-routing.module';\n\n// ngx bootstrap\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { LayoutComponent } from './layout/layout.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { LocalDatePipe } from './pipes/local-date.pipe';\nimport { SafePipe } from './pipes/safe.pipe';\nimport { ProfileDynamicComponent } from './dynamic-profile/dynamic-profile.component';\n\n// ===================================================================================\nimport { RouterModule, Routes } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { ImageCropperModule } from 'ngx-image-cropper';\nimport { ToastrModule } from 'ngx-toastr';\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { NgxYoutubePlayerModule } from 'ngx-youtube-player';\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\nimport { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';\nimport { InfiniteScrollModule } from \"ngx-infinite-scroll\";\n// import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { CarouselModule } from 'ngx-owl-carousel-o';\nimport { YoutubeCardsComponent } from './youtube-cards/youtube-cards.component';\nimport { SpotifyCardsComponent } from './spotify-cards/spotify-cards.component';\nimport {SuggestionsCardsComponent} from './suggestions/suggestions-card-component'\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { PhotoAlbumComponent } from './photo-album/photo-album.component';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport { AngMusicPlayerModule } from 'ang-music-player';\nimport { YtPlayerAngularModule } from 'yt-player-angular';\n// import { YoutubeModalContentComponent } from './dynamic-profile/dynamic-profile.component'\nimport { TermComponent } from './term/term.component';\nimport { PrivacyComponent } from './privacy/privacy.component';\nimport { YoutubeModalContentComponent } from './dynamic-profile/dynamic-profile.component';\nimport { ProfileFriendsListComponent } from './profile-friends-list/profile-friends-list.component'\nimport { FriendsFilterPipe } from './pipes/fliter-friends';\nimport { PhotoAlbumSliderModalContentComponent } from './photo-album/photo-album-slider.component';\nimport { UpdateGenerComponent } from './update-gener/update-gener.component';\nimport { UpdateCityComponent } from './update-city/update-city.component';\nimport { UpdateCoverComponent } from './update-cover/update-cover.component';\nimport { UpdateProfileComponent } from './update-profile/update-profile.component';\n\nimport { MatChipsModule } from '@angular/material/chips';\nimport { CarouselModule as carousel} from 'ngx-bootstrap/carousel';\nimport { MentionsModule } from '@flxng/mentions';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\nimport { PrivacySettingComponent } from './settingsprivacy/privacysetting.component';\nimport { UpdatedMobNumComponent } from './updated-mob-num/updated-mob-num.component';\nimport { UpdatedInvitationCodeComponent } from './updated-invitation-code/updated-invitation-code.component';\nimport { SpotifyAuthRedirectComponent } from './spotify-auth-redirect/spotify-auth-redirect.component';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport { SpotifyViewComponent } from './spotify-view/spotify-view.component';\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\nimport { SoundcloudComponent } from './soundcloud/soundcloud.component';\nimport { BandcampComponent } from './bandcamp/bandcamp.component';\nimport { YoutubeComponent } from './youtube/youtube.component';\nimport { SafeUrlPipe } from './pipes/safe-url.pipe';\nimport { SpotifyComponent } from './spotify/spotify.component';\nimport { ClickStopPropagation } from './pipes/click-stop-propagtion'\nimport { RegistrationPartModule } from '../views/registration-part/registration-part.module';\nimport { RegisterPlaylistComponent } from './register-playlist/register-playlist.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { HtmlToPlaintextPipe } from './pipes/html-to-text.pipe';\nimport { LinkyModule } from 'ngx-linky';\n\n// import { } from \"ngx-owl-carousel-o\";\n\nconst routes: Routes = [];\n@NgModule({\n declarations: [\n HeaderComponent,\n SidebarComponent,\n LayoutComponent,\n SafeHtmlPipe,\n LocalDatePipe,\n SafePipe,\n ProfileDynamicComponent,\n YoutubeCardsComponent,\n SpotifyCardsComponent,\n PhotoAlbumComponent,\n SuggestionsCardsComponent,\n YoutubeModalContentComponent,\n TermComponent,\n PrivacyComponent,\n PrivacySettingComponent,\n ProfileFriendsListComponent,\n FriendsFilterPipe,\n PhotoAlbumSliderModalContentComponent,\n UpdateGenerComponent,\n UpdateCityComponent,\n UpdateCoverComponent,\n UpdateProfileComponent,\n UpdatedMobNumComponent,\n UpdatedInvitationCodeComponent,\n SpotifyAuthRedirectComponent,\n SpotifyViewComponent,\n SoundcloudComponent,\n BandcampComponent,\n YoutubeComponent,\n SafeUrlPipe,\n SpotifyComponent,\n ClickStopPropagation,\n RegisterPlaylistComponent,\n HtmlToPlaintextPipe\n ],\n imports: [\n CommonModule,\n BsDropdownModule.forRoot(),\n SharedRoutingModule,\n HttpClientModule,\n ModalModule.forRoot(),\n // ======================================================\n FormsModule,\n ReactiveFormsModule,\n TabsModule.forRoot(),\n ImageCropperModule,\n ToastrModule.forRoot(),\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatFormFieldModule,\n TimepickerModule.forRoot(),\n MatInputModule,\n MatCardModule,\n MatButtonModule,\n Ng2SearchPipeModule,\n MatTabsModule,\n NgxYoutubePlayerModule.forRoot(),\n AlertModule,\n InfiniteScrollModule,\n RouterModule.forChild(routes),\n // BrowserAnimationsModule,\n CarouselModule,\n MatToolbarModule,\n MatSliderModule,\n MatIconModule,\n MatCheckboxModule,\n AngMusicPlayerModule,\n YtPlayerAngularModule,\n MatChipsModule,\n MentionsModule,\n carousel,\n AngularEditorModule,\n DragDropModule,\n MatExpansionModule,\n MatAutocompleteModule,\n MatProgressBarModule,\n LinkyModule\n ],\n exports: [\n SidebarComponent,\n HeaderComponent,\n LayoutComponent,\n SafeHtmlPipe,\n LocalDatePipe,\n SafePipe,\n ProfileDynamicComponent,\n YoutubeCardsComponent,\n SpotifyCardsComponent,\n SuggestionsCardsComponent,\n TermComponent,\n PrivacySettingComponent,\n PrivacyComponent,\n FriendsFilterPipe,\n HtmlToPlaintextPipe\n ]\n})\nexport class SharedModule { }\n// platformBrowserDynamic().bootstrapModule(SharedModule);","
      \n \n\n \n
      \n\n\n\n
      \n \n
      \n
      \n \"\"\n

      Are you sure you
      want to logout

      \n
      \n \n \n
      \n
      \n
      ","import { Component, OnInit,AfterViewInit,DoCheck, TemplateRef } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/auth/services/auth.service';\nimport { BsModalService } from \"ngx-bootstrap/modal\";\nimport { ActivatedRoute, NavigationEnd, Router } from \"@angular/router\";\nimport { SharedService } from '../services/shared.service';\nimport { MessagesService } from 'src/app/views/messages/messages.service';\n// import { io } from \"socket.io-client\";\nimport { environment } from 'src/environments/environment';\nimport { Subscription } from 'rxjs';\nimport { NotificationsService } from 'src/app/views/notifications/notifications.service';\ndeclare var Pushwoosh:any;\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n})\nexport class SidebarComponent implements OnInit {\n constructor(\n private toAsterService: ToastrService,\n private authService: AuthService,\n public router: Router,\n private modalService: BsModalService,\n private route: ActivatedRoute,\n private shared: SharedService,\n private messageService: MessagesService,\n private notificationsService: NotificationsService\n ) {}\n\n modalRef: any;\n currentUser:any;\n profileDetails:any;\n showNewMesageRedDot:Boolean = false;\n\n // socket = io(environment.BaseChatUrl,{\n // query:{accessToken:JSON.parse(localStorage.getItem('currentUser')).token}\n // });\n msgSubscriptionSideBar: Subscription;\n currentUrl;\n ngOnInit(): void {\n this.currentUser = this.authService.currentUserValue;\n this.getProfile();\n\n // if(!this.currentActiveScreen){\n // this.router.events.subscribe(event => {\n // console.log(event);\n // if (event instanceof NavigationEnd) { \n \n // console.log(event.url);\n // this.currentUrl = event.url;\n // };\n // });\n // }\n // this.messageService.getNewMessage().subscribe((message: string) => {\n // // this.messageList.push(message);\n // console.log(\"got a message\", message);\n // // this.showNewMesageRedDot = true;\n // })\n\n \n // this.socket.on('receive-message', (message) =>{\n // console.log(\"got a message in sidebar\", message);\n // this.showNewMesageRedDot = true;\n // });\n\n this.msgSubscriptionSideBar = this.messageService.message$.subscribe((message: string) => {\n // this.messageList.push(message);\n // if(this.currentActiveScreen == 'messages'){\n // this.showNewMesageRedDot = false;\n // this.messageService.message$.next('');\n // }\n // else{\n // console.log(\"you are not in messages screen\", message);\n if(message && Object.keys(message)?.length){\n this.showNewMesageRedDot = true;\n } \n // }\n \n })\n\n this.notificationsService.getNotifications(1,10).subscribe((res: any) => {\n console.log(\"from sidebar\");\n console.log(res);\n if(res.data?.length){\n if(!res.data[0].read){\n this.showNotificationRedDot = true;\n }\n }\n });\n\n this.checkNotifications();\n\n if ('serviceWorker' in navigator) {\n\n console.log(\"check 1\");\n navigator.serviceWorker\n .register('assets/pushwoosh-service-worker.js', { })\n .then( (reg) => {\n console.log('Service Worker is ready123', reg);\n reg.active.postMessage(\"ping\");\n console.log(\"Posted message\");\n console.log(\"check 2\");\n navigator.serviceWorker.addEventListener('message', (event) => {\n console.log(\"from step final 9999\");\n var messageFromSW = event.data;\n console.log(messageFromSW);\n this.showNotificationRedDot = true;\n this.notificationsService.newNotification$.next(messageFromSW);\n // you can also send a stringified JSON and then do a JSON.parse() here.\n });\n }).catch(function(error) {\n console.log('Error : ', error);\n });\n // ensure service worker is ready\n \n }\n }\n showNotificationRedDot: Boolean = false;\n\n checkNotifications(){\n\n Pushwoosh.push(['onLoad', (api) => {\n console.log('Pushwoosh load!',api);\n\n Pushwoosh.addEventHandler('subscribe', (payload) => {\n console.log('Triggered event: subscribe',payload);\n Pushwoosh.getPushToken().then((pushToken) => {\n console.log('by default pushToken:', pushToken);\n if(pushToken){\n this.shared.updateProfile({deviceToken:pushToken,isNotificationEnabled:true}).subscribe((res:any)=>{\n console.log(res);\n })\n }\n });\n });\n\n Pushwoosh.isSubscribed().then((isSubscribed) => {\n console.log('isSubscribed', isSubscribed);\n });\n\n Pushwoosh.getPushToken().then((pushToken) => {\n console.log('by default pushToken:', pushToken);\n if(pushToken){\n this.shared.updateProfile({deviceToken:pushToken,isNotificationEnabled:true}).subscribe((res:any)=>{\n console.log(res);\n })\n }\n });\n\n Pushwoosh.addEventHandler('receive-push', function (payload) {\n console.log('Triggered event: receive-push', payload);\n });\n\n Pushwoosh.addEventHandler('receive-inbox-message', function (payload) {\n console.log('Triggered event: receive-inbox-message', payload);\n });\n \n // Executed after the Inbox is updated automatically while the page is loading.\n Pushwoosh.addEventHandler('update-inbox-messages', function (payload) {\n console.log('Triggered event: receive-inbox-messages', payload);\n });\n \n Pushwoosh.addEventHandler('unsubscribe', function (payload) {\n console.log('Triggered event: unsubscribe',payload);\n });\n\n Pushwoosh.push(['onUpdateInboxMessages', function(api, pwinbox) {\n pwinbox.loadMessages().then(function(messages) {\n console.log('EVENT: onUpdateInboxMessages', messages);\n });\n }]);\n\n // Pushwoosh.push(['onMessageReceived', function(api, pwinbox) {\n // console.log(\"messsssgggggg\");\n // // pwinbox.loadMessages().then(function(messages) {\n // // console.log('EVENT: onUpdateInboxMessages', messages);\n // // });\n // }]);\n\n // Executed by ServiceWorker after the Inbox Message is received and saved to indexedDB. \n Pushwoosh.push(['onPutNewMessageToInboxStore', function(api, message) {\n console.log('EVENT: onPutNewMessageToInboxStore', message);\n }]);\n\n Pushwoosh.addEventHandler('message', function (payload) {\n console.log('message event: receive-push', payload);\n });\n\n navigator.serviceWorker.addEventListener('message', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n\n Pushwoosh.addEventHandler('onPushDelivery', function (payload) {\n console.log('message event: onPushDelivery', payload);\n });\n\n Pushwoosh.addEventHandler('onPutNewMessageToInboxStore', function (payload) {\n console.log('message event: onPutNewMessageToInboxStore', payload);\n });\n\n Pushwoosh.addEventHandler('onUpdateInboxMessages', function (payload) {\n console.log('message event: onUpdateInboxMessages', payload);\n });\n\n Pushwoosh.addEventHandler('onNotificationClose', function (payload) {\n console.log('message event: onNotificationClose', payload);\n });\n\n Pushwoosh.addEventHandler('onPushDelivery', function (payload) {\n console.log('message event: onPushDelivery', payload);\n });\n\n Pushwoosh.push(['onPushDelivery', function(payload) {\n console.log('User successfully receive-push',payload);\n }]);\n\n navigator.serviceWorker.addEventListener('onPushDelivery', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n\n\n }]);\n\n navigator.serviceWorker.addEventListener('push', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\",event);\n });\n\n Pushwoosh.push(['onPushDelivery', function(payload) {\n console.log('User successfully receive-push',payload);\n }]);\n\n Pushwoosh.push(['onLoad', function (api) {\n // Executed when a push notification is displayed.\n Pushwoosh.addEventHandler('receive-push', function (payload) {\n console.log('Triggered event: receive-push', payload.notification);\n });\n }]);\n\n Pushwoosh.push(function (api) {\n console.log('Pushwoosh ready!',api);\n Pushwoosh.subscribe();\n\n Pushwoosh.addEventHandler('message', function (payload) {\n console.log('message event: receive-push 2', payload);\n });\n\n // Pushwoosh.push(['message', function(api) {\n // console.log('User successfully message',api);\n // }]);\n\n Pushwoosh.push(['onPushDelivery', function(payload) {\n console.log('User successfully receive-push',payload);\n }]);\n\n // Pushwoosh.push(['receive-inbox-message', function(api) {\n // console.log('User successfully receive-inbox-message',api);\n // }]);\n\n // Pushwoosh.push(['onPutNewMessageToInboxStore', function(api) {\n // console.log('User successfully onPutNewMessageToInboxStore-push',api);\n // }]);\n\n\n navigator.serviceWorker.addEventListener('message', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n navigator.serviceWorker.addEventListener('onPushDelivery', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n \n\n Pushwoosh.addEventHandler('receive-push', function (payload) {\n console.log('Triggered event: receive-push', payload);\n });\n\n Pushwoosh.addEventHandler('receive-inbox-message', function (payload) {\n console.log('Triggered event: receive-inbox-message', payload);\n });\n \n // Executed after the Inbox is updated automatically while the page is loading.\n Pushwoosh.addEventHandler('update-inbox-messages', function (payload) {\n console.log('Triggered event: receive-inbox-messages', payload);\n });\n Pushwoosh.push(['onPutNewMessageToInboxStore', function(api, message) {\n console.log('EVENT: onPutNewMessageToInboxStore', message);\n }]);\n\n navigator.serviceWorker.addEventListener('message', event => {\n // use `event.data`\n console.log(\"messageeeeeeeeeeeeeeeeeeeeeee\");\n });\n\n Pushwoosh.addEventHandler('onPushDelivery', function (payload) {\n console.log('message event: onPushDelivery', payload);\n });\n\n Pushwoosh.addEventHandler('onPutNewMessageToInboxStore', function (payload) {\n console.log('message event: onPutNewMessageToInboxStore', payload);\n });\n\n Pushwoosh.addEventHandler('onUpdateInboxMessages', function (payload) {\n console.log('message event: onUpdateInboxMessages', payload);\n });\n\n Pushwoosh.addEventHandler('onNotificationClose', function (payload) {\n console.log('message event: onNotificationClose', payload);\n });\n\n Pushwoosh.addEventHandler('onPushDelivery', function (payload) {\n console.log('message event: onPushDelivery', payload);\n });\n\n // const messaging = new AngularFireMessaging();\n\n });\n \n // this.pwInstance = new Pushwoosh();\n // this.pwInstance.push(['init', {\n // logLevel: 'info', // or debug\n // applicationCode: '82D1F-EDDDC',\n // defaultNotificationTitle: 'Pushwoosh',\n // defaultNotificationImage: 'https://indietown-web.approd.ca/assets/Indietown_icons/login-logo-white.svg',\n // autoSubscribe: false,\n // subscribeWidget: {\n // enable: true\n // },\n // userId: 'user_id',\n // serviceWorkerUrl: \"assets/service-worker.js\",\n // tags: {\n // 'Name': 'John Smith'\n // },\n \n // }]);\n\n // this.pwInstance.push(['onLoad', (api) => {\n // console.log('Pushwoosh load!',api);\n\n // // this.pwInstance.subscribe();\n \n\n // this.pwInstance.addEventHandler('subscribe', (payload) => {\n // console.log('Triggered event: subscribe',payload);\n // this.pwInstance.getPushToken().then((pushToken) => {\n // console.log('by default pushToken:', pushToken);\n // if(pushToken){\n // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // console.log(res);\n // })\n // }\n // });\n // });\n\n // this.pwInstance.isSubscribed().then((isSubscribed) => {\n // console.log('isSubscribed', isSubscribed);\n // });\n\n // this.pwInstance.getPushToken().then((pushToken) => {\n // console.log('by default pushToken:', pushToken);\n // if(pushToken){\n // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // console.log(res);\n // })\n // }\n // });\n\n // this.pwInstance.addEventHandler('permission-granted', function (payload) {\n // console.log('Triggered event: permission-granted',payload);\n // });\n\n \n // // this.pwInstance.push(['onSubscribe', function(api) {\n // // console.log('User successfully subscribed',api);\n // // }]);\n\n // // this.pwInstance.push(['onUnsubscribe', function(api) {\n // // console.log('User successfully unsubscribed',api);\n // // }]);\n\n \n\n // // this.pwInstance.addEventHandler('show-notification-permission-dialog', function (payload) {\n // // console.log('Triggered event: show-notification-permission-dialog',payload);\n // // });\n\n // // Executed on hiding the permission dialog with one of three possible statuses: \n // // 1. default - the dialog is closed \n // // 2. granted - permission is granted \n // // 3. denied - permission is denied\n // // this.pwInstance.addEventHandler('hide-notification-permission-dialog', function (payload) {\n // // console.log('Triggered event: hide-notification-permission-dialog', payload);\n // // });\n\n // // this.pwInstance.addEventHandler('permission-default', function (payload) {\n // // console.log('Triggered event: permission-default',payload);\n // // });\n\n // // Executed during the SDK initialization if notifications are blocked or once a user blocks push notifications.\n \n\n // // Executed during the SDK initialization if notifications are allowed or once a user allows push notifications.\n \n\n // // this.pwInstance.addEventHandler('subscribe-popup-show', function() {\n // // console.log(\"Triggered event: subscribe-popup-show\");\n // // })\n \n // // // Executed when a user clicks on the 'Subscribe' button in the pop-up window\n // // this.pwInstance.addEventHandler('subscribe-popup-accept', function() {\n // // console.log(\"Triggered event: subscribe-popup-accept\");\n // // })\n\n // // // Executed when a user clicks on the 'Ask later' button in the pop-up window\n // // this.pwInstance.addEventHandler('subscribe-popup-decline', function() {\n // // console.log(\"Triggered event: subscribe-popup-decline\");\n // // })\n \n // // Executed when the popup hides\n // // this.pwInstance.addEventHandler('subscribe-popup-hide', function() {\n // // console.log(\"Triggered event: subscribe-popup-hide\");\n // // })\n\n // // this.pwInstance.subscribe();\n\n // // this.pwInstance.isSubscribed().then((isSubscribed) => {\n // // console.log('isSubscribed', isSubscribed);\n // // this.pwInstance.unsubscribe();\n // // if(isSubscribed){\n // // this.pwInstance.getPushToken().then(function(pushToken) {\n // // console.log('after subcribed pushToken:', pushToken);\n // // if(pushToken){\n // // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // // console.log(res);\n // // })\n // // }\n // // });\n // // }\n // // else{\n // // // this.pwInstance.subscribe();\n\n // // console.log(\"todo\");\n\n // // // Notification.requestPermission().then((permission) => {\n // // // // If the user accepts, let's create a notification\n // // // if (permission === \"granted\") {\n // // // console.log(\"yes\");\n // // // this.pwInstance.getPushToken().then((pushToken) => {\n // // // console.log('after subcribed pushToken:', pushToken);\n // // // if(pushToken){\n // // // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // // // console.log(res);\n // // // })\n // // // }\n // // // });\n // // // }\n // // // });\n // // }\n \n // // this.pwInstance.getHWID().then(function(hwid) {\n // // console.log('after hwid:', hwid);\n // // });\n // // this.pwInstance.getParams().then(function(params) {\n // // params = params || {};\n // // var hwid = params.hwid;\n // // var pushToken = params.pushToken;\n // // var userId = params.userId;\n // // console.log(hwid);\n // // console.log(pushToken);\n // // console.log(userId);\n // // });\n // // });\n\n // // this.pwInstance.getPushToken().then((pushToken) => {\n // // console.log('by default pushToken:', pushToken);\n // // if(pushToken){\n // // this.sharedService.updateProfile({deviceToken:pushToken}).subscribe((res:any)=>{\n // // console.log(res);\n // // })\n // // }\n // // });\n\n // // this.pwInstance.getHWID().then(function(hwid) {\n // // console.log('by default :', hwid);\n // // });\n\n // }]);\n\n // this.pwInstance.push(function (api) {\n // console.log('Pushwoosh ready!',api);\n // });\n\n }\n\n ngOnDestroy(){\n // if(this.currentActiveScreen == 'messages'){\n // this.messageService.message$.next('');\n // this.showNewMesageRedDot = false;\n // }\n console.log(1);\n // console.log(this.currentActiveScreen);\n // if(this.currentUrl.includes('messages')){\n // console.log(2);\n // this.showNewMesageRedDot = false;\n // this.messageService.message$.next('');\n // }\n\n this.msgSubscriptionSideBar.unsubscribe();\n \n \n }\n\n ngDoCheck(){\n \n // if(window.location.pathname.indexOf('coupon') != -1){\n // document.getElementById('couponmenu').scrollIntoView();\n // }else if(window.location.pathname.indexOf('coordinates') != -1){\n // document.getElementById('Coordinates').scrollIntoView();\n // }else if(window.location.pathname.indexOf('notifications') != -1){\n // document.getElementById('notifications').scrollIntoView();\n // }else if(window.location.pathname.indexOf('event-sponsors') != -1){\n // document.getElementById('Sponsors').scrollIntoView();\n // }else if(window.location.pathname.indexOf('treasure') != -1){\n // document.getElementById('Treasure').scrollIntoView();\n // }else if(window.location.pathname.indexOf('more-sections') != -1){\n // document.getElementById('More-Section').scrollIntoView();\n // }else if(window.location.pathname.indexOf('home-partners') != -1){\n // document.getElementById('home-partners').scrollIntoView();\n // }\n \n\n }\n\n\n logout() {\n this.modalRef.hide();\n \n this.authService.logout({id:this.currentUser._id}).subscribe((res:any) =>{\n console.log(res.status);\n if(res.status == 200){\n localStorage.removeItem(\"currentUser\");\n }else{\n this.toAsterService.error(res.error.message);\n }\n \n });\n this.router.navigateByUrl(\"/auth/login\");\n }\n\n // modal lougout confirmation\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n confirm() {\n this.logout();\n }\n cancel() {\n this.modalRef.hide();\n }\n\n currentActiveScreen = '';\n activateSearchModal(screen){\n console.log(\"I am mmmm\");\n this.currentActiveScreen = screen;\n console.log(this.currentActiveScreen);\n this.shared.sendHeaderData('true');\n localStorage.removeItem('seeAll');\n localStorage.removeItem(\"setSearchResult\");\n if(screen == 'messages'){\n this.showNewMesageRedDot = false;\n // this.messageService.message$.next('');\n }\n if(screen == 'notifications'){\n this.showNotificationRedDot = false;\n // this.messageService.message$.next('');\n }\n if(screen == 'profile'){\n console.log(\"clicked on profile\");\n localStorage.removeItem(\"selectedProfileTabIndex\");\n }\n }\n\n disabledTab(event:any){\n if (event.keyCode == 9) { //tab pressed\n event.preventDefault(); // stops its action\n }\n }\n getProfile(){\n this.shared.getProfile().subscribe((res:any) => {\n if(res.type == 'success'){\n this.profileDetails = res.data;\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

      {{soundcloud.title}}

      \n
      \n
      \n \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      \n No Playlists yet !\n
      \n
      \n Add Playlists\n
      \n
      \n\n \n
      \n
      \n \n
      \n \n \n
      \n
      \n\n\n
      \n \n
      \n
      \n

      Are you sure you want to remove?

      \n
      \n \n \n
      \n
      \n
      ","import { Component, Input, OnInit, SecurityContext, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/auth/services/auth.service';\nimport { SharedService } from '../services/shared.service';\nimport { DomSanitizer} from '@angular/platform-browser';\n\n\n@Component({\n selector: 'app-soundcloud',\n templateUrl: './soundcloud.component.html',\n styleUrls: ['./soundcloud.component.scss']\n})\nexport class SoundcloudComponent implements OnInit {\n modalRef: any;\n myInputValues:any='';\n loadMoreSoundcloud: Boolean = true; \n @ViewChild(\"soundcloudIframe\") soundcloudIframe: TemplateRef;\n removeModalref: any;\n @ViewChild(\"removeSoundcloudIframeModal\") removeSoundcloudIframeModal: TemplateRef;\n \n @Input() userId;\n\n constructor(\n private modalService: BsModalService,\n private service: SharedService,\n private toastrService: ToastrService,\n private authService: AuthService,\n private fb: FormBuilder,\n private router: ActivatedRoute,\n private spinner: SpinnerVisibilityService,\n private route: Router,\n private domSanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n console.log(\"from soundcloud\",this.userId);\n this.getSoundcloudList();\n }\n\n page = 1;\n pageSize = 20;\n soundcloudList = [];\n getSoundcloudList(){\n this.service.getSoundcloudList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n this.soundcloudList = res.data;\n })\n }\n addSoundcloudIframe(){\n console.log((document.getElementById(\"soundcloudIframeNew\")).value);\n let soundcloudIframe = (document.getElementById(\"soundcloudIframeNew\")).value;\n this.service.addSoundcloudIframe({iframeCode:soundcloudIframe}).subscribe((res:any)=>{\n console.log(res);\n this.soundcloudList.unshift(res.data);\n (document.getElementById(\"soundcloudIframeNew\")).value = '';\n this.myInputValues = '';\n },\n (err)=>{\n console.log(err);\n console.log(err?.error?.message);\n if(err?.error?.message?.includes('iFrame code already added')){\n this.toastrService.info(\"iFrame code already added\");\n }\n else {\n this.toastrService.info(err?.error?.message);\n }\n (document.getElementById(\"soundcloudIframeNew\")).value = '';\n this.myInputValues = '';\n })\n }\n transFormUrl(url){\n // return this.domSanitizer.sanitize(SecurityContext.URL, url);\n return this.domSanitizer.bypassSecurityTrustResourceUrl(url);\n }\n iframeSource = '';\n soundcloudModalP(iframesrc:any){\n let initialState: ModalOptions = {\n initialState: {\n source:iframesrc\n } as Partial,\n class: 'soundcloudpopup'\n };\n this.iframeSource = iframesrc;\n this.modalRef = this.modalService.show(this.soundcloudIframe, initialState);\n }\n\n removeSoundcloudId;\n removeSoundcloudIndex;\n removeSoundcloud(id,index){\n\n this.removeSoundcloudId = id;\n this.removeSoundcloudIndex = index;\n\n // this.service.removeSoundcloudIframe(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.soundcloudList.splice(index,1);\n // }\n // })\n\n this.removeModalref = this.modalService.show(this.removeSoundcloudIframeModal,{class:\"remove-soundcloud-modal\"});\n }\n\n removeSoundcloudIframe(){\n this.service.removeSoundcloudIframe(this.removeSoundcloudId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.soundcloudList.splice(this.removeSoundcloudIndex,1);\n }\n this.removeModalref.hide();\n })\n }\n\n loadMoreSoundcloudData(e){\n console.log(\"scrolled fired\");\n if(this.loadMoreSoundcloud){\n console.log(\"loading more\")\n this.page++;\n this.getMoreSoundcloudList();\n }\n }\n\n // loadMoreSoundcloud:Boolean = true;\n getMoreSoundcloudList(){\n this.service.getSoundcloudList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.soundcloudList.push(...res.data);\n }\n else{\n this.loadMoreSoundcloud = false;\n }\n })\n }\n @Input('addSoundcloud')\n set addSoundcloud(data: any) {\n //do whatever you want with your data here, this data will be passed from parent component\n console.log(\"soundcloud to add\",data);\n if(data && Object.keys(data).length){\n this.soundcloudList.unshift(data);\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SharedService } from '../services/shared.service';\n\n@Component({\n selector: 'app-spotify-auth-redirect',\n templateUrl: './spotify-auth-redirect.component.html',\n styleUrls: ['./spotify-auth-redirect.component.scss']\n})\nexport class SpotifyAuthRedirectComponent implements OnInit {\n\n constructor(\n private route: Router,\n private service: SharedService,\n ) { }\n\n ngOnInit(): void {\n\n const urlParams = new URLSearchParams(window.location.search);\n let code = urlParams.get('code');\n this.requestAccessToken(code);\n }\n\n requestAccessToken(code){\n let codeVerifier = localStorage.getItem('code_verifier');\n\n let body = new URLSearchParams({\n grant_type: 'authorization_code',\n code: code,\n // redirect_uri: 'http://localhost:4200/spotify-auth-redirect',\n // redirect_uri: 'https://web.theindietown.com/spotify-auth-redirect',\n redirect_uri: 'https://indietown.org/spotify-auth-redirect',\n client_id: 'b9568077e42a48ba89e30e3c7aa48b33',\n code_verifier: codeVerifier\n });\n\n const response = fetch('https://accounts.spotify.com/api/token', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n body: body\n })\n .then(response => {\n if (!response.ok) {\n throw new Error('HTTP status ' + response.status);\n }\n return response.json();\n })\n .then(data => {\n\n let spotifyTokenInfo = {\n accessToken: data.access_token,\n refreshToken: data.refresh_token\n }\n // Need to add expiry time also\n let obj = {\n access_token: data.access_token,\n token_type: data.token_type,\n scope: data.scope,\n expires_in: data.expires_in,\n expiresAtDate: new Date().getTime() + (data.expires_in * 1000),\n refresh_token: data.refresh_token\n }\n localStorage.setItem('spotifyTokenInfo', JSON.stringify(obj));\n\n console.log(data);\n\n \n\n \n\n\n this.service.saveOrUpdateSpotifyToken(obj).subscribe((res:any)=>{\n console.log(res);\n localStorage.setItem('SpotifyAutorizedAndRedirected', \"true\");\n this.route.navigate(['/profile']);\n }) \n })\n .catch(error => {\n console.error('Error:', error);\n });\n }\n\n}\n","\n
      \n \"\"\n Navigating back to profile!
      \n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { SharedService } from \"../services/shared.service\";\n\n@Component({\n selector: \"app-spotify-card\",\n templateUrl: \"./spotify-cards.component.html\",\n styleUrls: [\"./spotify-cards.component.scss\"],\n})\nexport class SpotifyCardsComponent implements OnInit {\n youtubePlayData:any;\n selectedIndex:any;\n // @Input() playList: any=[];\n\n @Output() gotoSpotify = new EventEmitter();\n\n constructor(\n public router: Router,\n private service: SharedService,\n private toastrService: ToastrService,\n private spinner: SpinnerVisibilityService\n ) {}\n\n // @Input() goYoutube: any;\n // @Input() playlistModelOpen: any;\n\n @Input() userId: any;\n spotifyList = [];\n\n ngOnInit(): void {\n this.getSpotifyList();\n }\n\n getSpotifyList(){\n this.service.getSpotifyList(this.userId,1,20).subscribe((res:any)=>{\n console.log(res);\n this.spinner.hide();\n if(res.data.length){\n this.spotifyList = res.data;\n }\n },(err) => {\n // this.spinner.hide();\n console.log(\"some error occured\");\n // this.toastrService.info(\"some error occured, please try again\");\n }\n )\n }\n\n navigateToSpotify(){\n console.log(\"navigate to spotify\");\n this.gotoSpotify.emit();\n }\n\n\n openSpotifyModal(data:any){\n // this.service.playSpotifySong(data);\n }\n\n // gotoSpotify(){\n // // this.service.selectYoutube(3);\n // }\n\n\n getTimeRemaining(miliseconds:any){\n miliseconds = miliseconds - 1000;\n const days = Math.floor(miliseconds / (1000 * 60 * 60 * 24));\n const hours = Math.floor((miliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((miliseconds % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((miliseconds % (1000 * 60)) / 1000);\n let data = minutes + \":\" + seconds;\n return data;\n }\n\n \n}\n","
      \n
      \n \"\"\n Spotify\n
      \n
      3\">\n See all\n
      \n
      \n\n
      \n
      0}\">\n
      \n \n
      \n
      \n \"\"\n
      \n
      \n

      \n =15\">{{i?.name.slice(0,15)}} ...\n {{i?.name}}\n

      \n

      {{getTimeRemaining(i?.items[0].duration_ms)}}

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

      No Data Found

      \n\n
      ","import { Component, OnInit } from '@angular/core';\nimport { SharedService } from '../services/shared.service';\n\n@Component({\n selector: 'app-spotify-view',\n templateUrl: './spotify-view.component.html',\n styleUrls: ['./spotify-view.component.scss']\n})\nexport class SpotifyViewComponent implements OnInit {\n\n constructor(\n private service: SharedService,\n ) { }\n\n ngOnInit(): void {\n this.getSpotifyList();\n }\n\n spotifyList = [];\n getSpotifyList(){\n this.service.getSpotifyList(\"\",1,20).subscribe((res:any)=>{\n console.log(res);\n this.spotifyList = res.data;\n })\n }\n\n}\n","

      spotify-view works!

      \n\n","import { Component, HostListener, Inject, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { SharedService } from '../services/shared.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\nimport { DOCUMENT } from '@angular/common';\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'app-spotify',\n templateUrl: './spotify.component.html',\n styleUrls: ['./spotify.component.scss','../dynamic-profile/dynamic-profile.component.scss']\n})\nexport class SpotifyComponent implements OnInit {\n\n constructor(\n private service: SharedService,\n private toastrService: ToastrService,\n private spinner: SpinnerVisibilityService,\n @Inject(DOCUMENT) private document: Document,\n private modalService: BsModalService,\n ) { }\n\n spotifyPlayerNew;\n spotifyToken;\n device_id;\n myInputValuedyn = '';\n @Input() userId;\n\n @ViewChild(\"removeSpotifyModal\") removeSpotifyModal: TemplateRef;\n\n ngOnInit(): void {\n this.getSpotifyList();\n\n /** No Authorization \n this.checkSpotifyAuthorized();*/\n\n\n\n // this.spotifyAuth();\n // this.spinner.show();\n // this.spinner.hide();\n }\n\n getSpotifyList(){\n this.spinner.show();\n this.service.getSpotifyList(this.userId,this.spotifyPageNumber,this.spotifyPageLimit).subscribe((res:any)=>{\n console.log(res);\n this.spinner.hide();\n if(res.data.length){\n for(let i=0;i {\n this.spinner.hide();\n console.log(\"some error occured\");\n this.toastrService.info(\"some error occured, please try again\");\n }\n )\n }\n\n ngOnDestroy(){\n console.log(\"destroy\");\n this.spotifyPlayerNew?.pause().then(() => {\n console.log('Paused!');\n this.spotifySongPaused = true;\n document.getElementById(\"spotifySongPlay\").style.display = 'block';\n document.getElementById(\"spotifySongPause\").style.display = 'none';\n });\n }\n\n spotifySongSelectedIndex:any;\n spotifySongSelected:boolean = false;\n currentlyPlayingSpotifySong;\n\n sidebarFixed:any;\n\n @HostListener('window:scroll', ['$event']) onScroll(event) {\n\n// console.log(window.scrollY);\n if (window.scrollY > 350) {\n this.sidebarFixed = true;\n }\n else if (window.scrollY < 350) {\n this.sidebarFixed = false;\n }\n\n }\n\n async spotifyInitialization() {\n \n // const token = \"BQDa4OM2ETnfXrs_te2UPsh4FG-gE0wE_4OUSpPKO0JAWkWA3kDB_i5GcRXD_N1zXFlxu_kP64kD_WzStIrjETUTDsmRtR6Oh6SnM8G4kLbyr-t5KDbMIBC_mWb3KUqLiBnUbLSZF7ljNRwZeivyIAlqde6V9CsDy3Z5ClJ5uKObaNPlScemEElXJE0G9bQMCcgm2mTXDhJhyYVXfL2S_A54NUz8ECKc4m7gZDZmG7gLAbpFlui_Ixqeiw\";\n // const token = \"BQCavXJA-UdLHHtPDlSbZRJ45TIcp59Hir7wa86AeuyAGgArNGs-cQSxMZeOAR5fDjnH9n24vjnT0pC_jRvIvP0dJpEjlXMfHRHSmpAtmDC2HLBAnnakgEWrZZTC4qkLzcjw10aLvtT81vzdopYm4WbgpH06NYhksTeq6bj2E82JP0IBVrWC5kfSqQ3Cq-VHqTXPw7mghpV4j63RO_MHp7RPT-7xEuXVf_NBlJerdmkWf0eM6BbiyNwjww\";\n // const token = \"BQBssH7wcAx7c5diUlPcTjA6RiJNV103jaiaWgS1fSBh_UYu2Pg8rAlI_-1snXdLSj7DUSBFBdPXR8BLOxQRcH3E-aQx3W2AdX4m1AtCu8pAeo0OpzE2s_rNcgjDGhN4oSbScDHgBMS0fUbR_0P61RLVHIMhQZOMjSpeT3IdITK2WHNjZw6HkptDSZKqGSsX6kHSJbH_JzEoTm4ODNdIAI0tRT3n_jKrP_95o4UmR-GiEd6Pv_7ooUHIlQ\";\n // const token = \"BQAG-hn1hI8C6iN1Rz0YOGaff33zVyV5gDKeURTTqck9gysOKvjrDBH0UdSXDTlUyATm0Dq4vkqLEIqiHvS0OX17QQRG9m-Z8NGlP6MMqqPZHeh-WA4kAB28WmhoAd6diYyk9Hqu2LmaF-Y5Wa6Cf0f6vvTwb5gwXqxlR5g3RZHjaBDNfzsPxZpkD-naLNmDMGuoD27h8cKtTduNyEUwTnvS0Bmeo6ZuYy_RGenfnEyWcwq2REe3oO5ODA\";\n //const token = \"BQC2TWaAmcQZRKXXraIC2XwKVXwF_9LY44ITTgeKocRTvupOjZmhRDl4gzVVvatUS0bYbJ5Ni_mWkPqcFFjq1PeA9sFTPsEoYn8DgDgLE6rG9_DfSQAl14_dbZmfptYqMvv6IO84YA8sWrtvqXujURDhGpl28RSkxnP-kDAwWviuymOzQN9wCqENQg-jVmNDVPBm3q70WiL1S_Ibd3vaByeR3o0t2DHSM-5YxzxNjXMV8UA52UKNDU88MQ\";\n // const token = \"BQDQbKgEpL7LfpvPfnUAIiLWlKAQxC1RA5m-98RVQmlgGc6wdpA-JhYBEwgTnA4F4LNDFJwUblCdfMfgTIII6XyMYuURxVdKSD-9_kMSzkslTV5-yhg9bQpqRpF6YrG3_aDqF_j13-yMrgSaJAbbrFJiM5ij8NaTLcS97n8BQ4NgPYuEx1iGA_QyQ15ZDkabps2gTP0J1lxYIcUhTZVrCZMSd_m6xZ-QlwLuQ9jCJDhfUWmB3QZJwsd9Yg\";\n // const token = \"BQAwAt3z_WeJELJMoqPb8b5roH0DGLSViY1Ki_nv0IfGWI9WUE0lwIfNcVt79j7FCw8BaN0H_6zdoWlqmuDi_rI6Q8-YchKNtxuAqIH26aXlTz6owSGTAzmpMDJoWDJiqFHE5Sls9RHwFOPYUxeI_SIXXmHwBk1IfAn9c6NzxQuR0J0wOhEOUObYInGJ22uipMS5EEyaQgnWog19hnvL3E0lTMiFfiwgHzl4xdBJA39mR6U69KI6ZYJTpA\";\n // const token = \"BQDQbKgEpL7LfpvPfnUAIiLWlKAQxC1RA5m-98RVQmlgGc6wdpA-JhYBEwgTnA4F4LNDFJwUblCdfMfgTIII6XyMYuURxVdKSD-9_kMSzkslTV5-yhg9bQpqRpF6YrG3_aDqF_j13-yMrgSaJAbbrFJiM5ij8NaTLcS97n8BQ4NgPYuEx1iGA_QyQ15ZDkabps2gTP0J1lxYIcUhTZVrCZMSd_m6xZ-QlwLuQ9jCJDhfUWmB3QZJwsd9Yg\";\n // const token = \"BQBla4Zxrkw6Htc5yg7f6EcgEY988E3iKrenxxykF7pY02NQWlRr3B_xk1-5sBIPNf8ZSsPWC4SmeAto8Pc4QufYDF0LezoLygBsUGPPqiz5qSnn5I3wRRDyR5Z8D6YWRHyqMaJZVCip0T00EPT6qjO5Dbs3N9myNHwTf6VVnKLk9ACl_latNRFrwBj4U_cdEF10y1WoCibSZpa04VB3MgRouXOxbZ3c3Y3gpFat97axEeTW8-i2oLASXg\";\n // this.service.getSpotifyToken().subscribe(async(res:any)=>{\n // console.log(res);\n // this.spotify = new SpotifyPlayer(\"test12\");\n // await this.spotify.connect(res?.data?.access_token);\n // })\n // const uri = \"spotify:track:3GCwsB2loRGeUL8oq2Y4TW\";\n \n // this.spotify = new SpotifyPlayer(\"test12\");\n // await this.spotify.connect(token);\n\n const script = document.createElement('script')\n script.src = 'https://sdk.scdn.co/spotify-player.js'\n script.type = 'text/javascript'\n script.addEventListener('load', e => {\n console.log(e)\n });\n document.head.appendChild(script);\n\n (window).onSpotifyWebPlaybackSDKReady = () => {\n // this.spotifyToken = 'BQAT3ywNQLFFwApAcZIwBdX3KOpi2THCpgcbQktLHa_zcmbYT_k_kckdxw-SjlA22fwrOygbALYZQNZHcI3wzE4PcOdy3tA4KmzKi22jiSxgNpXcefemHH-JYZsgjNacBCO4nYK6EXDvbg5iaJnQYoKc6Sfo7chjBCKBwgasmsKyd5s0UoeAuWKwqhmzOB9_UllWwoLfY58PCQVmHNa2mJkI9mee2U22xbm7wiJKXzutMSbngls0T3zwqQ';\n // this.spotifyToken = \"BQAc4b9Lp4nD-D-WljcC8XoSJjEhteGPmT_V7vQxKGpO5Aqi2V5_5KeVEPkDpA2lcwC69gLET0WwqESlchV6crOcdO_N-kgQyx1pdL6eLryV5VTtvewM1gWa6fSetmgJOdFHjTJcATxdXg8YO6KrqJFYeP_cXn6uQGxEJV4nGSG4Ivd6IShEK3NvUwT73wLZm63DaDB_bgbWxoTLqTvOcJ5mNTW-p_O1hoQFnBgZzGyLlclmeG-cv3fMVg\";\n // this.spotifyToken = \"BQC9-Cnx8EmSGYlI-mb4wf5vEfKFFvY7nnoeu9xGDYJ76HVH_qzwp4qeEU2o-8egQXIF0eBfmXyfN_UAkAlomX_FUWnO1hfxu3KV6nAfjulBGyq4G0wVEVo5KQjSwC5Hv2Vud8zXS9KbHkw7RUkHBAsMkeZJhHF6veIRi16Wrx8jQWhLfng-FMdiMW1ROJ0Q09DB6JHF1BwtKh5J8Snk9aC4w6DU1vKorecgviPyDszjDG0CTX40W18aRg\";\n // this.spotifyToken = this.service.getSpotifyToken().subscribe(\n // (res:any)=>{\n // let token = this.spotifyToken;\n\n\n // this.spotifyToken = res.data[\"access_token\"];\n // this.spotifyToken = JSON.parse(localStorage.getItem('spotifyTokenInfo')).accessToken;\n // this.spotifyToken = this.getSpotifyToken();\n // Get the token and assign here\n\n this.spotifyToken = this.spotifyTokenInfo.access_token;\n let token = this.spotifyToken;\n this.spotifyPlayerNew = new (window).Spotify.Player({\n name: 'Web Playback SDK Quick Start Player',\n getOAuthToken: cb => { cb(token); },\n volume: 0.5\n }, (res:any)=> {\n // this.spinner.hide();\n });\n \n console.log(this.spotifyPlayerNew);\n \n this.spotifyPlayerNew.addListener('ready', ({ device_id }) => {\n console.log('Ready with Device ID', device_id);\n this.device_id = device_id;\n });\n \n // Not Ready\n this.spotifyPlayerNew.addListener('not_ready', ({ device_id }) => {\n console.log('Device ID has gone offline', device_id);\n });\n\n this.spotifyPlayerNew.addListener('player_state_changed', state => {\n // this.paused1 = state.paused;\n // this.state1 = state;\n // // this.spotifySongProgressBarValue = Math.trunc((state.position/state.duration)*100);\n // this.position1 = state.position;\n // this.duration1 = state.duration;\n this.currState[\"paused\"] = state?.paused;\n this.currState[\"position\"] = state?.position;\n this.currState['duration'] = state?.duration;\n this.currState['updateTime'] = performance.now();\n });\n \n this.spotifyPlayerNew.connect();\n \n // })\n \n // this.spotifyPlayerNew.addListener('player_state_changed', ({\n // position,\n // duration,\n // track_window: { current_track }\n // }) => {\n // this.spotifySongProgressBarValue = Math.trunc((position/duration)*100);\n // this.position1 = position;\n // this.duration1 = duration;\n // });\n\n \n // setInterval(()=>{\n // // console.log(this.spotifySongProgressBarValue);\n // // console.log(this.position1);\n // // console.log(this.duration1);\n // // console.log(this.paused1);\n // // console.log(this.state1);\n // // let aa = this.getStatePosition();\n // // console.log(aa);\n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n // console.log(state);\n \n // console.log('Currently Playing');\n // console.log('Playing Next');\n // });\n // });\n\n // setTimeout(()=>{\n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n \n // var current_track = state.track_window.current_track;\n // var next_track = state.track_window.next_tracks[0];\n \n // console.log('Currently Playing', current_track);\n // console.log('Playing Next', next_track);\n // });\n // },10000)\n }\n\n }\n\n getStatePosition() {\n if (this.currState?.paused) {\n return this.currState?.position;\n }\n console.log(\"position \",this.currState?.position);\n console.log(\"pnow \",performance.now());\n console.log(\"upddatetime \",this.currState?.updateTime);\n let position = this.currState?.position + (performance.now() - this.currState?.updateTime) / 1000;\n\n console.log(\"final pos\",position);\n console.log(\"final duration\",this.currState?.duration);\n return position > this.currState?.duration ? this.currState?.duration : position;\n }\n // currState:any;\n currState = {\n paused:false,\n position:0,\n duration:0,\n updateTime:0\n }\n position1;\n duration1;\n paused1;\n state1;\n abc(position,duration){\n console.log(\"123\");\n this.spotifySongProgressBarValue = Math.trunc((position/duration)*100);\n }\n // playSelectedSong(songDetails,index:any){\n // // var names = document.querySelectorAll('ang-music-player audio');\n // // var image = document.querySelectorAll('ang-music-player img');\n // // var title = document.querySelectorAll('ang-music-player p');\n \n // console.log(songDetails);\n // console.log(index);\n \n // this.spotifySongSelected = true;\n // this.spotifySongSelectedIndex = index;\n // this.currentlyPlayingSpotifySong = this.audioList[index];\n \n // this.play(this.currentlyPlayingSpotifySong.url);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // // console.log(this.audioList[index].url);\n // // this.spotify.play(this.audioList[index].url);\n // console.log(\"playing spotify song\");\n // // console.log(this.playList);\n // // for(var i=0; ititle[i]).innerHTML = data.title;\n // // }\n \n // // for(var i=0; inames[i]).src = data.url;\n // // }\n \n // // for(var i=0; iimage[i]).src = data.cover;\n // // }\n // // document.getElementsByTagName('audio')[0].autoplay=true;\n \n // // this.spotifySingleData = data;\n // // this.openModal(this.spotifyPlay)\n // }\n\n spotifySongTrackType;\n spotifySongPlaylistIndex;\n playSelectedSong(type,index,subTrackIndex:any){\n // var names = document.querySelectorAll('ang-music-player audio');\n // var image = document.querySelectorAll('ang-music-player img');\n // var title = document.querySelectorAll('ang-music-player p');\n \n console.log(type);\n console.log(index);\n console.log(subTrackIndex);\n \n this.spotifySongSelected = true;\n if(type == 'playlist'){\n this.spotifySongTrackType = 'playlist';\n this.spotifySongPlaylistIndex = index;\n this.spotifySongSelectedIndex = subTrackIndex;\n this.currentlyPlayingSpotifySong = this.spotifyList[index].items[subTrackIndex];\n }\n else{\n this.spotifySongTrackType = 'singleTrack';\n this.spotifySongSelectedIndex = index;\n this.currentlyPlayingSpotifySong = this.spotifyList[index].items[0];\n this.currentlyPlayingSpotifySong.imageUrl = this.spotifyList[index].imageUrl;\n }\n \n console.log(this.currentlyPlayingSpotifySong);\n this.play(this.currentlyPlayingSpotifySong.uri);\n setTimeout(()=>{\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n console.log(\"playing spotify song\");\n },1000);\n \n \n }\n\n spotifyVolumeOn = true;\n spotifyVolumeToggle(){\n if(this.spotifyVolumeOn){\n this.spotifyPlayerNew.setVolume(0).then(() => {\n console.log('Muted');\n this.spotifyVolumeOn = false;\n this.spotifyVolume = 0;\n });\n }\n else{\n this.spotifyPlayerNew.setVolume(0.3).then(() => {\n console.log('UnMuted');\n this.spotifyVolumeOn = true;\n this.spotifyVolume = 30;\n });\n }\n \n\n }\n \n spotifyPlayPrevious(){\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n // }\n // else if(this.spotifySongSelectedIndex == 0){\n // // if(this.spotifySongRepeatModeOn){\n // this.spotifySongSelectedIndex = this.audioList.length;\n // // }\n // }\n // this.spotifySongSelectedIndex-=1;\n\n\n if(this.spotifySongRepeatModeOn){\n this.spotifySongPlay();\n return;\n }\n if(this.spotifyShuffleModeOn){\n this.playShuffledSong();\n return;\n }\n if(this.spotifySongTrackType == 'playlist'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == 0){\n this.spotifySongSelectedIndex = this.spotifyList[this.spotifySongPlaylistIndex].items.length-1;\n }\n else{\n this.spotifySongSelectedIndex--;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getPreviousSingleAndPlay();\n }\n\n\n /********************************* Latest Code ************************************* */\n /** \n if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == 0 && this.spotifySongSelectedIndex == 0) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == 0)){\n // this.spotifySongSelectedIndex = -1;\n let subTrackIndex = this.spotifyList[this.spotifyList.length-1].trackType == 'playlist' ? this.spotifyList[this.spotifyList.length-1].items[this.spotifyList[this.spotifyList.length-1].items.length-1] : null;\n this.playSelectedSong(this.spotifyList[this.spotifyList.length-1].trackType,this.spotifyList.length-1,subTrackIndex);\n return;\n } \n else if(this.spotifySongTrackType == 'playlist'){\n if(this.spotifySongSelectedIndex == 0){\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex-1].items[this.spotifySongSelectedIndex];\n }\n else{\n this.spotifySongSelectedIndex = this.spotifySongSelectedIndex - 1;\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex].items[this.spotifySongSelectedIndex];\n }\n }\n else{\n this.spotifySongSelectedIndex = this.spotifySongSelectedIndex - 1;\n this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongSelectedIndex].items[0];\n }\n // this.currentlyPlayingSpotifySong = this.audioList[this.spotifySongSelectedIndex];\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n this.spotifySongPaused = false;\n */\n }\n\n spotifySongPlay(){\n // this.spotify\n // debugger;\n // if(this.spotifySongSelected)\n // this.spotify.play(this.audioList[this.spotifySongSelectedIndex].url);\n // else{\n // this.spotifySongSelected = true;\n // this.spotifySongSelectedIndex = 0;\n // this.spotify.play(this.audioList[this.spotifySongSelectedIndex].url);\n // }\n // this.spotifyPlayerNew.play();\n \n // this.spotifyPlayerNew.getCurrentState().then(state => {\n // console.log(state);\n // if (!state) {\n // console.log(\"playing new\")\n // this.play(this.currentlyPlayingSpotifySong.url);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // }\n // else{\n // this.spotifyPlayerNew.resume().then(() => {\n // console.log('Resumed!');\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // });\n // }\n // });\n // if(document.getElementById(\"spotifySongPlay\").style.display == 'block'){\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // this.play(this.currentlyPlayingSpotifySong.url);\n // }\n // else{\n // document.getElementById(\"spotifySongPlay\").style.display = 'block';\n // document.getElementById(\"spotifySongPause\").style.display = 'none';\n // this.spotifyPlayerNew.resume();\n // }\n\n if(this.spotifySongPaused){\n this.spotifyPlayerNew.resume();\n this.spotifySongPaused = false;\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n }\n else{\n this.play(this.currentlyPlayingSpotifySong.uri);\n document.getElementById(\"spotifySongPlay\").style.display = 'none';\n document.getElementById(\"spotifySongPause\").style.display = 'block';\n }\n \n \n }\n\n spotifySongProgressBarValue = 0;\n spotifySongPaused = false;\n spotifySongRepeatModeOn = false;\n spotifyVolume = 50;\n songEnded = false;\n already = true;\n spotifySongPause(){\n this.spotifyPlayerNew.pause().then(() => {\n console.log('Paused!');\n this.spotifySongPaused = true;\n document.getElementById(\"spotifySongPlay\").style.display = 'block';\n document.getElementById(\"spotifySongPause\").style.display = 'none';\n }); \n }\n volumeChange(e){\n console.log(e.target.value);\n this.spotifyPlayerNew.setVolume(e.target.value*0.01).then(() => {\n console.log('Volume updated!');\n if(e.target.value == 0){\n this.spotifyVolumeOn = false;\n }\n else if(!this.spotifyVolumeOn){\n this.spotifyVolumeOn = true;\n }\n });\n }\n spotifyPlayNext(){\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n // }\n // else if(this.spotifySongSelectedIndex == this.spotifyList.length-1){\n // // if(this.spotifySongRepeatModeOn){\n // this.spotifySongSelectedIndex = -1;\n // // }\n // } \n\n \n \n // this.currentlyPlayingSpotifySong = this.audioList[this.spotifySongSelectedIndex];\n // this.play(this.audioList[this.spotifySongSelectedIndex].url);\n \n /**** ***************************** Latest Commented ************************************ */\n\n\n // Check if this is last song\n // if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == this.spotifyList.length-1 && this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].length-1) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == this.spotifyList.length-1)){\n // // this.spotifySongSelectedIndex = -1;\n // let subTrackIndex = this.spotifyList[0].trackType == 'playlist' ? 0 : null;\n // this.playSelectedSong(this.spotifyList[0].trackType,0,subTrackIndex);\n // return;\n // } \n // else if(this.spotifySongTrackType == 'playlist'){\n // if(this.spotifyList[this.spotifySongPlaylistIndex].items.length-1 == this.spotifySongSelectedIndex){\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex+1].items[this.spotifySongSelectedIndex];\n // }\n // else{\n // this.spotifySongSelectedIndex = this.spotifySongSelectedIndex + 1;\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongPlaylistIndex].items[this.spotifySongSelectedIndex];\n // }\n // }\n // else{\n // this.spotifySongSelectedIndex = this.spotifySongSelectedIndex + 1;\n // this.currentlyPlayingSpotifySong = this.spotifyList[this.spotifySongSelectedIndex].items[0];\n // }\n // this.play(this.currentlyPlayingSpotifySong.uri);\n // document.getElementById(\"spotifySongPlay\").style.display = 'none';\n // document.getElementById(\"spotifySongPause\").style.display = 'block';\n // this.spotifySongPaused = false;\n \n //Check if it the last song\n // this.audioList.length\n\n /******************************************************************************************** */\n // if(this.spotifyShuffleModeOn){\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.spotifyList.length);\n\n // if(this.spotifyList)\n\n // }\n // else\n // debugger;\n\n if(this.spotifySongRepeatModeOn){\n this.spotifySongPlay();\n return;\n }\n if(this.spotifyShuffleModeOn){\n this.playShuffledSong();\n return;\n }\n if(this.spotifySongTrackType == 'playlist'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].items.length-1){\n this.spotifySongSelectedIndex = 0;\n }\n else{\n this.spotifySongSelectedIndex++;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getNextSingleAndPlay();\n }\n }\n spotifyProgressBarInterval;\n // play(url){\n // // this.songEnded = false;\n // setTimeout(()=>{\n // this.already = true;\n // },5000)\n \n // $.ajax({\n // url: \"https://api.spotify.com/v1/me/player/play?device_id=\" + this.device_id,\n // type: \"PUT\",\n // data: `{\"uris\": [\"${url}\"]}`,\n // // data: `{\"uris\": [\"}\"]}`,\n // beforeSend: (xhr)=>{xhr.setRequestHeader('Authorization', 'Bearer ' + this.spotifyToken );},\n // success: (data) => { \n // console.log(data);\n // this.startProgress();\n // // this.spotifyProgressBarInterval = setInterval(()=>{\n // // // console.log(this.spotifySongProgressBarValue);\n // // // console.log(this.position1);\n // // // console.log(this.duration1);\n // // // console.log(this.paused1);\n // // // console.log(this.state1);\n // // // let aa = this.getStatePosition();\n // // // console.log(aa);\n // // this.spotifyPlayerNew.getCurrentState().then(state => {\n // // if (!state) {\n // // console.error('User is not playing music through the Web Playback SDK');\n // // return;\n // // }\n // // console.log(state);\n // // this.spotifySongProgressBarValue = (state.position/state.duration)*100;\n // // console.log(this.spotifySongProgressBarValue);\n\n // // if(state.paused && !Math.trunc(this.spotifySongProgressBarValue)){\n // // clearInterval(this.spotifyProgressBarInterval);\n // // }\n\n // // });\n // // });\n // }\n // });\n // }\n play(url){\n // this.songEnded = false;\n setTimeout(()=>{\n this.already = true;\n },5000)\n \n $.ajax({\n url: \"https://api.spotify.com/v1/me/player/play?device_id=\" + this.device_id,\n type: \"PUT\",\n data: `{\"uris\": [\"${url}\"]}`,\n // data: `{\"uris\": [\"}\"]}`,\n beforeSend: (xhr)=>{xhr.setRequestHeader('Authorization', 'Bearer ' + this.spotifyToken );},\n success: (data) => { \n console.log(data);\n this.startProgress();\n },\n error:(arg1,arg2,arg3) => {\n console.log(\"Error occured while playing the song\");\n console.log(arg1);\n console.log(arg2);\n console.log(arg3);\n }\n });\n }\n spotifySongPlayedTill = '0:00';\n spotifyShuffleModeOn = false;\n originalSpotifyList = [];\n spotifySongShuffleToggle(){\n this.spotifyShuffleModeOn = !this.spotifyShuffleModeOn;\n // if(this.spotifyShuffleModeOn){\n // this.spotifyList = this.shuffle(this.spotifyList);\n // }\n // else{\n // this.spotifyList = this.originalSpotifyList;\n // }\n }\n\n shuffle(array) {\n let currentIndex = array.length, randomIndex;\n \n // While there remain elements to shuffle.\n while (currentIndex != 0) {\n \n // Pick a remaining element.\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n \n // And swap it with the current element.\n [array[currentIndex], array[randomIndex]] = [\n array[randomIndex], array[currentIndex]];\n }\n \n return array;\n }\n\n\n spotifySongState;\n startProgress(){\n console.log(\"started\");\n this.spotifySongProgressBarValue = 0;\n this.spotifyProgressBarInterval = setInterval(()=>{\n // console.log(this.spotifySongProgressBarValue);\n // console.log(this.position1);\n // console.log(this.duration1);\n // console.log(this.paused1);\n // console.log(this.state1);\n // let aa = this.getStatePosition();\n // console.log(aa);\n this.spotifyPlayerNew.getCurrentState().then(state => {\n if (!state) {\n console.error('User is not playing music through the Web Playback SDK');\n return;\n }\n this.spotifySongState = state;\n // console.log(state);\n this.spotifySongProgressBarValue = (state.position/state.duration)*100;\n this.spotifySongPlayedTill = this.getTimeInMinuteAndSeconds(state.position);\n // console.log(this.spotifySongProgressBarValue);\n\nif(this.already){\n if(state.paused && !this.spotifySongProgressBarValue){\n clearInterval(this.spotifyProgressBarInterval);\n console.log(\"end\");\n // if(this.already){\n this.checkNextAndPlay();\n this.already = false;\n // }\n // if(!this.songEnded){\n // let timer = 0;\n // if(this.spotifySongSelectedIndex == this.audioList.length-1){\n // timer = 4000;\n // }\n // else{\n // timer = 1000;\n // }\n // setTimeout(()=>{\n // this.checkNextAndPlay();\n // },timer);\n \n // this.songEnded = true;\n // }\n \n }\n}\n \n\n });\n },1000);\n\n }\n \n checkNextAndPlay(){\n if(this.spotifySongRepeatModeOn){\n this.spotifySongPlay();\n }\n else{\n console.log(\"1\");\n console.log(\"2\");\n console.log(\"3\");\n console.log(\"4\");\n if(this.spotifyShuffleModeOn){\n this.playShuffledSong();\n // this.spotifySongSelectedIndex = Math.floor(Math.random()*this.audioList.length)\n }\n else if(this.spotifySongTrackType == 'playlist'){\n console.log(this.spotifySongSelectedIndex)\n if(this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].items.length-1){\n this.spotifySongSelectedIndex = 0;\n }\n else{\n this.spotifySongSelectedIndex++;\n }\n this.playSelectedSong('playlist',this.spotifySongPlaylistIndex,this.spotifySongSelectedIndex);\n }\n else{\n this.getNextSingleAndPlay();\n }\n\n // else if((this.spotifySongTrackType == 'playlsit' && this.spotifySongPlaylistIndex == this.spotifyList.length-1 && this.spotifySongSelectedIndex == this.spotifyList[this.spotifySongPlaylistIndex].length-1) || (this.spotifySongTrackType == 'singleTrack' && this.spotifySongSelectedIndex == this.spotifyList.length-1)){\n // // this.spotifySongSelectedIndex = -1;\n // let subTrackIndex = this.spotifyList[0].trackType == 'playlist' ? 0 : null;\n // this.playSelectedSong(this.spotifyList[0].trackType,0,subTrackIndex);\n // } \n // else{\n // this.spotifyPlayNext();\n // }\n \n }\n \n }\n getNextSingleAndPlay(){\n for(let i=this.spotifySongSelectedIndex;i {\n // if (!state) {\n // console.error('User is not playing music through the Web Playback SDK');\n // return;\n // }\n if(this.spotifySongState){\n this.spotifyPlayerNew.seek((e.target.value/100)*this.spotifySongState.duration).then(() => {\n console.log('Changed position!');\n });\n }\n else {\n console.error('User is not playing music through the Web Playback SDK');\n return;\n }\n \n // });\n }\n\n getTimeInMinuteAndSeconds = function(timeInMilli){\n let seconds = timeInMilli/1000;\n if(Math.trunc(seconds%60).toString().length == 1){\n return Math.trunc(seconds/60) + \":0\" + Math.trunc(seconds%60);\n }\n else{\n return Math.trunc(seconds/60) + \":\" + Math.trunc(seconds%60);\n }\n \n }\n \n async checkSpotifyAuthorized(){\n // let spotifyTokenInfo = localStorage.getItem(\"spotifyTokenInfo\");\n // if(spotifyTokenInfo){\n // console.log(spotifyTokenInfo);\n // let spotifyTokenInfoParsed = JSON.parse(spotifyTokenInfo);\n // console.log(spotifyTokenInfoParsed);\n // if(!spotifyTokenInfoParsed.accessToken){\n // this.spotifyAuth();\n // }\n // else{\n // // Check token validity\n // console.log(\"check token validity\");\n // }\n // }\n // else{\n // this.spotifyAuth();\n // }\n let spotifyTokenInfoParsed:any = await this.getSpotifyToken();\n // debugger;\n // spotifyTokenInfoParsed\n console.log(spotifyTokenInfoParsed);\n if(spotifyTokenInfoParsed){\n console.log(spotifyTokenInfoParsed);\n // let spotifyTokenInfoParsed = JSON.parse(spotifyTokenInfo);\n console.log(spotifyTokenInfoParsed);\n\n // Check token expired\n // new Date().getTime() - spotifyTokenInfoParsed.expiresAtDate) >= (30*60*1000\n if(new Date().getTime() >= (spotifyTokenInfoParsed.expiresAtDate - (30*60*1000))){\n let refreshTokenResponse = await this.refreshSpotifyToken(spotifyTokenInfoParsed.refresh_token);\n refreshTokenResponse['expiresAtDate'] = (refreshTokenResponse.expires_in*1000) + new Date().getTime();\n this.updateSpotifyToken(refreshTokenResponse);\n this.spotifyTokenInfo = refreshTokenResponse;\n this.spotifyInitialization();\n }\n else{\n this.spotifyTokenInfo = spotifyTokenInfoParsed;\n this.spotifyInitialization();\n }\n \n }\n else{\n this.spotifyAuth();\n }\n }\n\n spotifyTokenInfo:any;\n\n updateSpotifyToken(data){\n this.service.saveOrUpdateSpotifyToken(data).subscribe((res:any)=>{\n console.log(data);\n })\n }\n\n async refreshSpotifyToken(refresh_token){\n\n let body = new URLSearchParams({\n grant_type: 'refresh_token',\n refresh_token: refresh_token,\n client_id: 'b9568077e42a48ba89e30e3c7aa48b33',\n });\n const response = await fetch('https://accounts.spotify.com/api/token', {\n method: 'POST',\n body:body,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n });\n\n const data = await response.json();\n\n console.log(data);\n\n if(data.error){\n this.spotifyAuth();\n }\n else{\n return data;\n }\n\n // this.service.saveOrUpdateSpotifyToken(data).subscribe((res:any)=>{\n // console.log(data);\n // })\n }\n\n async getSpotifyToken(){\n return new Promise((resolve,reject)=>{\n this.service.getSpotifyAuthToken().subscribe((res:any)=>{\n console.log(res);\n if(res.data && res.data.access_token){\n resolve(res.data);\n }\n else{\n this.spotifyAuth();\n }\n },\n err => {\n console.log(err);\n this.toastrService.info(\"There is some issue with spotify.Please try after sometime\");\n resolve('');\n })\n })\n // return \n // let tokenInfo = localStorage.getItem('spotifyTokenInfo');\n // return tokenInfo;\n }\n\n generateRandomString(length) {\n let text = '';\n let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n \n for (let i = 0; i < length; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n async generateCodeChallenge(codeVerifier) {\n function base64encode(string) {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(string)))\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '');\n }\n \n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await window.crypto.subtle.digest('SHA-256', data);\n \n return base64encode(digest);\n }\n\n spotifyAuth(){\n console.log(\"from spotify-auth\");\n const clientId = 'b9568077e42a48ba89e30e3c7aa48b33';\n\n // const redirectUri = 'http://localhost:4200/spotify-auth-redirect';\n\n // const redirectUri = 'https://web.theindietown.com/spotify-auth-redirect';\n\n const redirectUri = 'https://indietown.org/spotify-auth-redirect';\n\n let codeVerifier = this.generateRandomString(128);\n\n console.log(\"codeVerifier\",codeVerifier);\n\n this.generateCodeChallenge(codeVerifier).then(codeChallenge => {\n let state = this.generateRandomString(16);\n console.log(\"state\",state);\n\n let scope = 'streaming user-read-email user-modify-playback-state user-read-private';\n\n localStorage.setItem('code_verifier', codeVerifier);\n\n let args = new URLSearchParams({\n response_type: 'code',\n client_id: clientId,\n scope: scope,\n redirect_uri: redirectUri,\n state: state,\n code_challenge_method: 'S256',\n code_challenge: codeChallenge\n });\n\n // Location.g\n // Location.go('https://accounts.spotify.com/authorize?' + args);\n // Location.\n this.document.location.href = 'https://accounts.spotify.com/authorize?' + args;\n });\n }\n showAddUrlLoader:Boolean = false;\n addSpotifyUrl(){\n this.showAddUrlLoader = true;\n console.log((document.getElementById(\"spotifyUrlNew\")).value);\n let spotifyUrl = (document.getElementById(\"spotifyUrlNew\")).value;\n this.service.addSpotifyUrl({url:spotifyUrl}).subscribe((res:any)=>{\n this.showAddUrlLoader = false;\n console.log(res);\n this.spotifyList.unshift(res.data);\n (document.getElementById(\"spotifyUrlNew\")).value = '';\n this.myInputValuedyn = '';\n },(err)=>{\n this.showAddUrlLoader = false;\n console.log(err);\n this.toastrService.info(err?.error?.message);\n (document.getElementById(\"spotifyUrlNew\")).value = '';\n this.myInputValuedyn = '';\n })\n }\n\n spotifyList = [];\n \n\n // removeSingleTrack(index){\n // let id = this.spotifyList[index]._id;\n // this.service.removeSingleTrack(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.spotifyList.splice(index,1);\n // }\n // })\n // }\n\n // removePlaylist(index){\n // let id = this.spotifyList[index]._id;\n // this.service.removePlaylist(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.spotifyList.splice(index,1);\n // }\n // })\n // }\n\n // removePlaylistItem(index, subtrackIndex){\n // let id = this.spotifyList[index].items[subtrackIndex]._id;\n // this.service.removePlaylistItem(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.spotifyList[index].items.splice(subtrackIndex,1);\n // if(!this.spotifyList[index].items.length){\n // this.spotifyList.splice(index,1);\n // }\n // }\n // })\n // }\n\n playlistOpened(index){\n // expanded = !expanded;\n console.log(\"playlist opened\",index);\n this.spotifyList[index].expanded = true;\n // this.selectedSpotifyPlaylistIndex = index;\n // 22931509_SID@ftts.BSNL.IR\n let playlistId = this.spotifyList[index]._id;\n this.service.getPlaylistItems(playlistId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList[index].items = res.data;\n }\n this.spotifyList[index].expanded = false;\n },err => {\n this.toastrService.info(\"Please try after sometime!\")\n this.spotifyList[index].expanded = false;\n })\n }\n\n getMoreSpotifyTracks:Boolean = true;\n spotifyPageNumber = 1;\n spotifyPageLimit = 20;\n loadMoreSpotifyTracks(e){\n console.log(\"load more spotify tracks\");\n if(this.getMoreSpotifyTracks){\n this.spotifyPageNumber++;\n this.service.getSpotifyList(this.userId,this.spotifyPageNumber,this.spotifyPageLimit).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n for(let i=0;i{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList.splice(this.removeSpotifyIndex,1);\n this.checkSpotifyListAndHidePlayer();\n }\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n removePlaylist(){\n let id = this.spotifyList[this.removeSpotifyIndex]._id;\n this.service.removeSpotifyPlaylist(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList.splice(this.removeSpotifyIndex,1);\n this.checkSpotifyListAndHidePlayer();\n }\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n removePlaylistItem(){\n let id = this.spotifyList[this.removeSpotifyIndex].items[this.removeSpotifySubtrackIndex]._id;\n this.service.removeSpotifyPlaylistItem(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.spotifyList[this.removeSpotifyIndex].items.splice(this.removeSpotifySubtrackIndex,1);\n if(!this.spotifyList[this.removeSpotifyIndex].items.length){\n this.spotifyList.splice(this.spotifyList[this.removeSpotifyIndex],1);\n // this.SpotifyPlayListModalRef?.hide();\n }\n this.checkSpotifyListAndHidePlayer();\n }\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n checkSpotifyListAndHidePlayer(){\n if(!this.spotifyList.length){\n this.spotifyPlayerNew.pause();\n this.spotifySongSelected = false;\n }\n }\n\n @Input('addSpotify')\n set addSpotify(data: any) {\n //do whatever you want with your data here, this data will be passed from parent component\n console.log(\"spotify to add\",data);\n if(data && Object.keys(data).length){\n this.spotifyList.unshift(data);\n }\n }\n\n selectedSpotifySong;\n navigateToSelectedSong(type,index,subTrackIndex:any){\n // var names = document.querySelectorAll('ang-music-player audio');\n // var image = document.querySelectorAll('ang-music-player img');\n // var title = document.querySelectorAll('ang-music-player p');\n \n console.log(type);\n console.log(index);\n console.log(subTrackIndex);\n \n if(type == 'playlist'){\n this.selectedSpotifySong = this.spotifyList[index].items[subTrackIndex];\n }\n else{\n this.selectedSpotifySong = this.spotifyList[index].items[0];;\n }\n\n console.log(this.selectedSpotifySong);\n console.log(this.selectedSpotifySong?.uri?.split(\":\")[2]);\n\n let trackPath = this.selectedSpotifySong?.uri?.split(\":\")[2];\n \n window.open(\"https://open.spotify.com/track/\"+trackPath,'_blank');\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

      {{ track?.name }}

      \n
      \n
      \n \n

      \n {{ getTimeInMinuteAndSeconds(track?.items[0].duration_ms) }}\n

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

      {{ track?.name }}

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

      \n \n

      \n
      \n
      \n\n
      \n
        \n
      • \n \n
        \n \"\"\n
        \n \n
        \n

        {{ subtrack?.name }}

        \n
        \n
        \n \n

        \n {{ getTimeInMinuteAndSeconds(subtrack?.duration_ms) }}\n

        \n
        \n \n \n
        \n

        \n {{ getTimeInMinuteAndSeconds(subtrack?.duration_ms) }}\n

        \n
        \n
      • \n
      • \n \n
      • \n
      \n
        \n
      • \n \n
        \n
        \n \"\"\n
        \n
        \n

        {{ subtrack?.name }}

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

        \n {{ getTimeInMinuteAndSeconds(subtrack?.duration_ms) }}\n

        \n
        \n\n
        \n

        \n {{ getTimeInMinuteAndSeconds(subtrack?.duration_ms) }}\n

        \n
        \n
        \n
      • \n
      • \n \n
      • \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n \n
      \n\n
      \n
      \n
      \n
      \n \"\"\n
      \n {{currentlyPlayingSpotifySong?.name}}\n {{currentlyPlayingSpotifySong?.albumName}}\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

      {{spotifySongPlayedTill}}

      \n \n

      \n {{getTimeInMinuteAndSeconds(currentlyPlayingSpotifySong?.duration_ms)}}

      \n\n
      \n
      \n
      \n \"\"\n \"\"\n \n
      \n
      \n\n
      \n\n
      \n No Playlist Yet !\n
      \n\n
      \n
      \n \n
      \n
      \n\n\n
      \n \n
      \n
      \n

      Are you sure you want to remove this {{removingItem}}?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      ","
      \n
      \n
      \n
      \n

      Suggested Friends

      \n
      \n
      \n
      \n \n \n \n {{\n band?.bandName |titlecase\n }}\n \n \n {{band?.communityIds.length>0 ? ((band?.communityIds[0]?.communityName != null ? band?.communityIds[0]?.communityName : '') + (band?.communityIds[1]?.communityName!=null ? \" | \" +band?.communityIds[1]?.communityName : '')): ((band?.genereIds[0]?.genereName!=null ? band?.genereIds[0]?.genereName : '') + (band?.genereIds[1]?.genereName!=null ? \" | \" +band?.genereIds[1]?.genereName : '') + (band?.genereIds[2]?.genereName ? \" | \" +band?.genereIds[2]?.genereName :\n ''))}}\n \n\n \n \n Add Friend\n \n \n \n Pending\n \n \n Accept\n \n \n
      \n
      \n
      \n\n\n
      \n \n
      \n
      \n

      Are you sure you want to cancel
      \n this request?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      ","import { Component, Input, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { SharedService } from \"../services/shared.service\";\nimport { BsModalService } from \"ngx-bootstrap/modal\";\n\n@Component({\n selector: \"app-suggestions-card\",\n templateUrl: \"./suggestions-card-component.html\",\n styleUrls: [\"./suggestions-card-component.scss\"],\n})\n\nexport class SuggestionsCardsComponent implements OnInit {\n @ViewChild(\"cancelRequest\") cancelRequest: TemplateRef;\n \n bandSuggestionList:any = [];\n modalref: any;\n constructor(\n private modalService: BsModalService,\n public router: Router,\n private service: SharedService,\n private toastrService: ToastrService,\n private spinner: SpinnerVisibilityService\n ) {}\n\n ngOnInit(): void {\n // this.getPlayList();\n this.getBandSuggestion(1);\n }\n getBandSuggestion(page){\n let data = {\n \"radius\": 200,\n \"phoneBook\":[],\n \"pageNumber\":page,\n \"bandName\":'',\n \"limit\":1000,\n \"location\":{\n \"lat\": '',\n \"long\":'', \n }\n }\n this.service.getBandSuggestions(data).subscribe((res:any) => {\n if(res.type == 'success'){\n this.bandSuggestionList = res.data;\n }\n })\n }\n addFriendButtonText:string = \"Add Friend\";\n\n AddFriend(id:any, index){\n let data = document.getElementById('addFriendText'+id).innerText;\n if(data=='Pending'){\n // this.spinner.show();\n // document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n // document.getElementById('addFriendText'+id).style.background = 'black';\n // document.getElementById('addFriendText'+id).style.color = 'white';\n this.cancelRequestId = id;\n this.modalref = this.modalService.show(this.cancelRequest,{class:'cancelrequestmodall'});\n // this.service.cancelRequest({\"action\":\"CANCEL\"},id).subscribe((res:any)=>{\n // if(res.type=='success'){\n // this.toastrService.success(res.message); \n // }\n // })\n // this.spinner.hide();\n }else if(data=='Add Friend'){\n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Pending'\n document.getElementById('addFriendText'+id).style.background='white';\n document.getElementById('addFriendText'+id).style.color='black';\n this.service.AddFriend({\"recipientId\":id}).subscribe((res:any) => { \n if(res.type == 'success'){\n // this.toastrService.success(res.message); \n this.toastrService.success(\"Friend request sent\"); \n }else{\n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }else if(data=='Accept'){ \n this.spinner.show();\n document.getElementById('addFriendText'+id).innerText = 'Friend'; \n document.getElementById('addFriendText'+id).classList.add(\"friend\");\n document.getElementById('addFriendText'+id).classList.remove(\"requestSent\");\n\n document.getElementById('addFriendText'+id).classList.remove('btn:enabled');\n // document.getElementById('bandSuggestionList'+id).style.color='black';\n this.service.AcceptFriendRequest({\"recipientId\": id,\"action\": \"ACCEPT\"}).subscribe((res:any) => {\n if(res.type == 'success'){\n // this.toastr.success(res.message); \n this.toastrService.success(\"Friend request accepted\");\n // debugger;\n // let index = this.moreData.findIndex((obj)=>{\n // return obj._id == id\n // });\n // if(index != -1){\n // this.moreData[index].friendStatus = \"FRIEND\";\n // }\n }else{\n this.toastrService.error(res.message); \n }\n },(err) => {\n this.toastrService.error(err.error.message);\n })\n this.spinner.hide();\n }\n \n}\ncancelRequestId;\ncancelRequestModalRef;\n\nshowCancelRequestLoader: Boolean = false;\ncancelFriendRequest(){\n this.showCancelRequestLoader = true;\n let id = this.cancelRequestId;\n \n \n this.service.cancelRequest(id,{\"action\":\"CANCEL\"}).subscribe((res:any)=>{\n this.showCancelRequestLoader = false;\n if(res.type=='success'){\n this.toastrService.success(\"Cancelled friend request\"); \n document.getElementById('addFriendText'+id).innerText = 'Add Friend'\n document.getElementById('addFriendText'+id).style.background = 'black';\n document.getElementById('addFriendText'+id).style.color = 'white';\n }\n else{\n this.toastrService.info(\"please try after some time!\"); \n }\n this.modalref.hide();\n },err => {\n this.showCancelRequestLoader = false;\n this.toastrService.info(\"please try after some time!\"); \n this.modalref.hide();\n })\n}\n\n}\n","
      \n
      \n
      \n
      \n \n \n

      Terms and Conditions

      \n
      \n\n
      \n \n

      Last Modified: August 23, 2023

      \n
        \n
      • Acceptance of the Terms of Use\n
          \n
        • These website terms of use (these \"Terms of Use\")\n of the Indie App, Inc. website,\n [indietown.org] (the \"Website\") are entered into\n by Indie App, Inc. (the\n \"Company,\" \"We,\" or \"Us\") and by visitors to the Website (\"You\"). These Terms\n of Use, together with any documents they incorporate by reference, govern your\n access to and use of the Website, including any content, functionality, and services\n offered on or through the Website.\n
        • \n
        • \n Please read the Terms of Use carefully before You start to use the Website. By\n accessing or using the Website or by clicking to accept or agree to the Terms\n of Use when this option is made available to You, You accept and agree to be\n bound and abide by these Terms of Use and our Privacy Policy, found at\n indietown.org, incorporated herein by reference. If You do not want to agree\n to\n these Terms of Use or the Privacy Policy, You must not access or use the Website.\n
        • \n
        • \n This Website is only offered and available to users who are 13 years of age or\n older. By using this Website, You represent and warrant that You are of legal age\n to form a binding contract with the Company and meet all of the foregoing\n eligibility requirements.\n
        • \n
        \n
      • \n
      • \n Changes to the Terms of Use\n
          \n
        • \n We may revise and update these Terms of Use from time to time in our sole\n discretion. Your continued use of the Website following the posting of revised\n Terms of Use means that You accept and agree to the changes. You are expected\n to check this page from time to time so You are aware of any changes, as they are\n binding on You.\n
        • \n
        \n
      • \n
      • \n Accessing the Website and Account Security\n
          \n
        • \n We reserve the right to withdraw or amend this Website, and any service or\n material We provide on the Website, in our sole discretion without notice. We will\n not be liable if for any reason all or any part of the Website is unavailable at any\n time or for any period. From time to time, We may restrict access to some parts of\n the Website, or the entire Website.\n
        • \n
        • \n To access the Website or some of the resources it offers, You may be asked to\n provide certain registration details or other information. It is a condition of your\n use of the Website that all the information You provide on the Website is correct,\n current, and complete. You agree that all information You provide to register with\n this Website or otherwise, including, but not limited to, through the use of any\n interactive features on the Website, is governed by our Privacy Policy at\n indietown.org, and You consent to all actions We take with respect to your\n information consistent with our Privacy Policy.\n\n
        • \n
        • \n If You choose, or are provided with, a user name, password, or any other piece of\n information as part of our security procedures, You must treat such information as\n confidential, and You must not disclose it to any other person or entity. You also\n acknowledge that your account is personal to You and agree not to provide any\n other person with access to this Website or portions of it using your user\n name,password, or other security information. You agree to notify Us immediately of\n any unauthorized access to or use of your user name or password or any other\n breach of security. You also agree to ensure that You exit from your account at the\n end of each session. You should use particular caution when accessing your\n account from a public or shared computer so that others are not able to view or\n record your password or other personal information.\n
        • \n
        • \n We have the right to disable any user name, password, or other identifier, whether\n chosen by You or provided by Us, at any time in our sole discretion for any or no\n reason, including if, in our opinion, You have violated any provision of these\n Terms of Use.\n
        • \n
        \n
      • \n
      • Intellectual Property Rights and Trademarks\n
          \n
        • The Website and its entire contents, features, and functionality (including but not\n limited to all information, software, text, displays, images, video, and audio, and\n the design, selection, and arrangement thereof) are owned by the Company, its\n licensors, or other providers of such material and are protected by United States\n and international copyright, trademark, patent, trade secret, and other intellectual\n property or proprietary rights laws.
        • \n
        • \n These Terms of Use permit You to use the Website for your personal,\n non-commercial use only. You must not reproduce, distribute, modify, create\n derivative works of, publicly display, publicly perform, republish, download,\n store, or transmit any of the material on our Website, except as follows.\n
            \n
          • \n Your computer may temporarily store copies of such materials in RAM\n incidental to your accessing and viewing those materials.\n
          • \n
          • \n You may store files that are automatically cached by your Web browser for\n display enhancement purposes.\n
          • \n
          • \n If We provide desktop, mobile, or other applications for download, You\n may download a single copy to your computer or mobile device solely for\n your own personal, non-commercial use, provided You agree to be bound\n by our end user license agreement for such applications.\n
          • \n
          • \n If we provide social media features You may take such actions as are\n enabled and authorized by such features.\n\n
          • \n\n
          \n
        • \n
        • \n You must not:\n
            \n
          • modify copies of any materials from this site;
          • \n
          • use any illustrations, photographs, video or audio sequences, or any\n graphics separately from the accompanying text; or
          • \n
          • \n delete or alter any copyright, trademark, or other proprietary rights notices\n from copies of materials from this site.\n
          • \n
          \n
        • \n
        • \n You must not access or use for any commercial purposes any part of the Website\n or any services or materials available through the Website.\n
        • \n
        • \n If You print, copy, modify, download, or otherwise use or provide any other\n person with access to any part of the Website in breach of the Terms of Use, your\n right to use the Website will stop immediately and You must, at our option, return\n or destroy any copies of the materials You have made. No right, title, or interest in\n or to the Website or any content on the Website is transferred to You, and all\n rights not expressly granted are reserved by the Company. Any use of the Website\n not expressly permitted by these Terms of Use is a breach of these Terms of Use\n and may violate copyright, trademark, and other laws.\n
        • \n
        • \n The Company name, the Company logo, and all related names, logos, product and\n service names, designs, terms, and slogans are trademarks of the Company or its\n affiliates or licensors. You must not use such marks without the prior written\n permission of the Company. All other names, logos, product and service names,\n designs, and slogans on this Website are the trademarks of their respective\n owners.\n
        • \n
        \n\n
      • \n
      • Prohibited Uses\n
          \n
        • You may use the Website only for lawful purposes and in accordance with these\n\n Terms of Use. You agree not to use the Website:\n
            \n
          • in any way that violates any applicable federal, state, local, or international\n law or regulation (including, without limitation, any laws regarding the\n export of data or software to and from the US or other countries);\n
          • \n
          • \n for the purpose of exploiting, harming, or attempting to exploit or harm\n minors in any way by exposing them to inappropriate content, asking for\n personally identifiable information, or otherwise;\n\n
          • \n
          • \n to transmit, or procure the sending of, any advertising or promotional\n material without our prior written consent, including any \"junk mail,\"\n \"chain letter,\" \"spam,\" or any other similar solicitation;\n
          • \n
          • to impersonate or attempt to impersonate the Company, a Company\n employee, another user, or any other person or entity (including, without\n limitation, by using email addresses or screen names associated with any\n of the foregoing); or
          • \n
          • \n to engage in any other conduct that restricts or inhibits anyone's use or\n enjoyment of the Website, or which, as determined by Us, may harm the\n Company or users of the Website, or expose them to liability.\n
          • \n
          \n\n
        • \n
        • \n Additionally, You agree not to:\n
            \n
          • use the Website in any manner that could disable, overburden, damage, or\n impair the site or interfere with any other party's use of the Website,\n including their ability to engage in real time activities through the Website;\n
          • \n
          • use any robot, spider, or other automatic device, process, or means to\n access the Website for any purpose, including monitoring or copying any\n of the material on the Website;
          • \n
          • \n use any manual process to monitor or copy any of the material on the\n Website, or for any other purpose not expressly authorized in these Terms\n of Use, without our prior written consent;\n
          • \n
          • \n use any device, software, or routine that interferes with the proper working\n of the Website;\n
          • \n
          • \n introduce any viruses, Trojan horses, worms, logic bombs, or other\n material that is malicious or technologically harmful;\n
          • \n
          • \n attempt to gain unauthorized access to, interfere with, damage, or disrupt\n any parts of the Website, the server on which the Website is stored, or any\n server, computer, or database connected to the Website;\n
          • \n
          • \n attack the Website via a denial-of-service attack or a distributed\n denial-of-service attack; or\n
          • \n
          • otherwise attempt to interfere with the proper working of the Website.
          • \n
          \n
        • \n
        \n
      • \n
      • User Contributions\n
          \n
        • The Website may contain message boards, chat rooms, personal web pages or\n profiles, forums, bulletin boards, and other interactive features (collectively,\n \"Interactive Services\") that allow users to post,\n submit, publish, display, or\n transmit to other users or other persons (hereinafter, \"post\") content or materials\n (collectively, \"User Contributions\") on or through\n the Website.\n
        • \n
        • Any User Contribution You post to the site will be considered non-confidential\n and non-proprietary. By providing any User Contribution on the Website, You\n grant Us and our affiliates and service providers, and each of their and our\n respective licensees, successors, and assigns the right to use, reproduce, modify,\n perform, display, distribute, and otherwise disclose to third parties any such\n material for any purpose/according to your account settings.
        • \n
        • \n You represent and warrant that:\n
            \n
          • You own or control all rights in and to the User Contributions and have the\n right to grant the license granted above to Us and our affiliates and service\n providers, and each of their and our respective licensees, successors, and\n assigns.
          • \n
          • \n All of your User Contributions do and will comply with these Terms of\n Use.\n
          • \n
          \n
        • \n
        • You understand and acknowledge that You are responsible for any User\n Contributions You submit or contribute, and You, not the Company, have full\n responsibility for such content, including its legality, reliability, accuracy, and\n appropriateness.
        • \n
        • We are not responsible or liable to any third party for the content or accuracy of\n any User Contributions posted by You or any other user of the Website.
        • \n
        • If You believe that any User Contributions violate your copyright, please contact\n Us at support@indietown.org with notice of\n copyright infringement. It is the\n policy of the Company to terminate the user accounts of repeat infringers. We\n respond to notices of alleged copyright infringement under the United States\n Digital Millennium Copyright Act. If You believe your intellectual property has\n been infringed, please notify Us at support@indietown.org.
        • \n
        \n
      • \n
      • Monitoring and Enforcement; Termination\n
          \n
        • We have the right to:\n
            \n
          • remove or refuse to post any User Contributions for any or no reason at\n our sole discretion;
          • \n\n
          • take any action with respect to any User Contribution that We deem\n necessary or appropriate in our sole discretion, including if We believe\n that such User Contribution violates the Terms of Use, infringes any\n intellectual property right or other right of any person or entity, threatens\n the personal safety of users of the Website or the public, or could create\n liability for the Company;
          • \n\n
          • disclose your identity or other information about You to any third party\n who claims that material posted by You violates their rights, including\n their intellectual property rights or their right to privacy;
          • \n\n
          • take appropriate legal action, including without limitation, referral to law\n enforcement, for any illegal or unauthorized use of the Website; or
          • \n\n
          • terminate or suspend your account and your access to all or part of the\n Website for any or no reason, including without limitation, any violation\n of these Terms of Use.
          • \n\n
          \n
        • \n
        • \n Without limiting the foregoing, We have the right to cooperate fully with any law\n enforcement authorities or court order requesting or directing Us to disclose the\n identity or other information of anyone posting any materials on or through the\n Website. YOU WAIVE AND HOLD HARMLESS THE COMPANY AND ITS\n AFFILIATES, LICENSEES, AND SERVICE PROVIDERS FROM ANY\n CLAIMS RESULTING FROM ANY ACTION TAKEN BY ANY OF THE\n FOREGOING PARTIES DURING, OR TAKEN AS A CONSEQUENCE OF,\n INVESTIGATIONS BY EITHER SUCH PARTIES OR LAW ENFORCEMENT\n AUTHORITIES.\n\n
        • \n
        • \n However, We do not undertake to review all material before it is posted on the\n Website, and cannot ensure prompt removal of objectionable material after it has\n been posted. Accordingly, We assume no liability for any action or inaction\n regarding transmissions, communications, or content provided by any user or\n third party. We have no liability or responsibility to anyone for performance or\n nonperformance of the activities described in this section.\n
        • \n
        \n
      • \n
      • Content Standards\n
          \n
        • These content standards apply to any and all User Contributions and use of\n Interactive Services. User Contributions must in their entirety comply with all\n applicable federal, state, local, and international laws and regulations. Without\n limiting the foregoing, User Contributions must not:\n
            \n
          • contain any material that is defamatory, obscene, indecent, abusive,\n offensive, harassing, violent, hateful, inflammatory, or otherwise\n objectionable;
          • \n
          • \n promote sexually explicit or pornographic material, violence, or\n discrimination based on race, sex, religion, nationality, disability, sexual\n orientation, or age;\n\n
          • \n
          • \n infringe any patent, trademark, trade secret, copyright, or other intellectual\n property or other rights of any other person;
          • \n\n
          • violate the legal rights (including the rights of publicity and privacy) of\n others or contain any material that could give rise to any civil or criminal\n liability under applicable laws or regulations or that otherwise may be in\n conflict with these Terms of Use and our Privacy Policy at indietown.org\n
          • \n
          • be likely to deceive any person;
          • \n\n
          • promote any illegal activity, or advocate, promote, or assist any unlawful\n act;
          • \n\n
          • cause annoyance, inconvenience, or needless anxiety or be likely to upset,\n embarrass, alarm, or annoy any other person;
          • \n\n
          • impersonate any person, or misrepresent your identity or affiliation with\n any person or organization;
          • \n\n
          • involve commercial activities or sales, such as contests, sweepstakes, and\n other sales promotions, barter, or advertising; or
          • \n
          • give the impression that they emanate from or are endorsed by Us or any\n other person or entity, if this is not the case.
          • \n
          \n
        • \n
        \n
      • \n
      • Reliance on Information Posted\n
          \n
        • The information presented on or through the Website is made available solely for\n general information purposes. We do not warrant the accuracy, completeness, or\n usefulness of this information. Any reliance You place on such information is\n strictly at your own risk. We disclaim all liability and responsibility arising from\n any reliance placed on such materials by You or any other visitor to the Website,\n or by anyone who may be informed of any of its contents.
        • \n
        • \n This Website includes content provided by third parties, including materials\n provided by other users, bloggers, and third-party licensors, syndicators,\n aggregators, and/or reporting services. All statements and/or opinions expressed\n in these materials, and all articles and responses to questions and other content,\n other than the content provided by the Company, are solely the opinions and the\n responsibility of the person or entity providing those materials. These materials do\n not necessarily reflect the opinion of the Company. We are not responsible, or\n liable to You or any third party, for the content or accuracy of any materials\n provided by any third parties.\n
        • \n
        \n
      • \n
      • \n Changes to the Website\n
          \n
        • We may update the content on the Website from time to time, but its content is not\n necessarily complete or up-to-date. Any of the material on the Website may be out of\n date\n at any given time, and We are under no obligation to update such material.
        • \n
        \n
      • \n
      • \n Information About You and Your Visits to the Website\n
          \n
        • All information We collect on this Website is subject to our Privacy Policy at\n indietown.org. By using the Website, You consent to all actions taken by Us with respect\n to your information in compliance with the Privacy Policy.
        • \n
        \n
      • \n
      • \n Other Terms and Conditions\n
          \n
        • Additional terms and conditions may also apply to specific portions, services, or\n features\n of the Website. All such additional terms and conditions are hereby incorporated by this\n reference into these Terms of Use.
        • \n
        \n
      • \n
      • \n Linking to the Website and Social Media Features\n
          \n
        • You may link to our homepage, provided You do so in a way that is fair and legal\n and does not damage our reputation or take advantage of it, but You must not\n establish a link in such a way as to suggest any form of association, approval, or\n endorsement on our part without our express consent.
        • \n
        • The Website may provide certain social media features that enable You to:\n
            \n
          • link from your own or certain third-party websites to certain content on the\n Website;
          • \n
          • send emails or other communications with certain content, or links to\n certain content, on the Website; or
          • \n
          • cause limited portions of content on the Website to be displayed or appear\n to be displayed on your own or certain third-party websites.
          • \n
          \n
        • \n
        • You may use these features solely as they are provided by Us, solely with respect\n to the content they are displayed with, and otherwise in accordance with any\n additional terms and conditions We provide with respect to such features. Subject\n to the foregoing, You must not:\n
            \n
          • establish a link from any website that is not owned by You,
          • \n
          • cause the Website or portions of it to be displayed on, or appear to be\n displayed by, any other site, for example, framing, deep linking, or in-line\n linking;\n
          • \n
          • link to any part of the Website other than the homepage; or
          • \n
          • otherwise take any action with respect to the materials on this Website that\n is inconsistent with any other provision of these Terms of Use.
          • \n
          \n
        • \n
        • The website from which You are linking, or on which you make certain content\n accessible, must comply in all respects with the Content Standards set out in these\n Terms of Use.
        • \n
        • You agree to cooperate with Us in causing any unauthorized framing or linking\n immediately to stop. We reserve the right to withdraw linking permission without\n notice.
        • \n
        • We may disable all or any social media features and any links at any time without\n notice at our discretion.
        • \n
        \n
      • \n
      • \n Links from the Website\n
          \n
        • If the Website contains links to other sites and resources provided by third parties,\n these\n links are provided for your convenience only. This includes links contained in\n advertisements, including banner advertisements and sponsored links. We have no control\n over the contents of those sites or resources, and accept no responsibility for them or\n for\n any loss or damage that may arise from your use of them. If You decide to access any of\n the third-party websites linked to this Website, You do so entirely at your own risk and\n subject to the terms and conditions of use for such websites.
        • \n
        \n
      • \n
      • \n Geographic Restrictions\n
          \n
        • The owner of the Website is based in the State of Washington in the United States. We\n provide this Website for use only by persons located in the United States. We make no\n claims that the Website or any of its content is accessible or appropriate outside of\n the\n United States. Access to the Website may not be legal by certain persons or in certain\n countries. If You access the Website from outside the United States, You do so on your\n own initiative and are responsible for compliance with local laws.
        • \n
        \n
      • \n
      • Disclaimer of Warranties\n
          \n
        • You understand that We cannot and do not guarantee or warrant that files\n\n available for downloading from the internet or the Website will be free of viruses\n or other destructive code. You are responsible for implementing sufficient\n procedures and checkpoints to satisfy your particular requirements for anti-virus\n protection and accuracy of data input and output, and for maintaining a means\n external to our site for any reconstruction of any lost data. TO THE FULLEST\n EXTENT PROVIDED BY LAW, WE WILL NOT BE LIABLE FOR ANY LOSS\n OR DAMAGE CAUSED BY A DISTRIBUTED DENIAL-OF-SERVICE\n ATTACK, VIRUSES, OR OTHER TECHNOLOGICALLY HARMFUL\n MATERIAL THAT MAY INFECT YOUR COMPUTER EQUIPMENT,\n COMPUTER PROGRAMS, DATA, OR OTHER PROPRIETARY MATERIAL\n DUE TO YOUR USE OF THE WEBSITE OR ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE OR TO YOUR DOWNLOADING OF\n ANY MATERIAL POSTED ON IT, OR ON ANY WEBSITE LINKED TO IT.
        • \n
        • YOUR USE OF THE WEBSITE, ITS CONTENT, AND ANY SERVICES OR\n ITEMS OBTAINED THROUGH THE WEBSITE IS AT YOUR OWN RISK.\n THE WEBSITE, ITS CONTENT, AND ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE ARE PROVIDED ON AN \"AS IS\"\n AND \"AS AVAILABLE\" BASIS, WITHOUT ANY WARRANTIES OF ANY\n KIND, EITHER EXPRESS OR IMPLIED. NEITHER THE COMPANY NOR\n ANY PERSON ASSOCIATED WITH THE COMPANY MAKES ANY\n WARRANTY OR REPRESENTATION WITH RESPECT TO THE\n COMPLETENESS, SECURITY, RELIABILITY, QUALITY, ACCURACY, OR\n AVAILABILITY OF THE WEBSITE. WITHOUT LIMITING THE\n FOREGOING, NEITHER THE COMPANY NOR ANYONE ASSOCIATED\n WITH THE COMPANY REPRESENTS OR WARRANTS THAT THE\n WEBSITE, ITS CONTENT, OR ANY SERVICES OR ITEMS OBTAINED\n THROUGH THE WEBSITE WILL BE ACCURATE, RELIABLE,\n ERROR-FREE, OR UNINTERRUPTED, THAT DEFECTS WILL BE\n CORRECTED, THAT OUR SITE OR THE SERVER THAT MAKES IT\n AVAILABLE ARE FREE OF VIRUSES OR OTHER HARMFUL\n COMPONENTS, OR THAT THE WEBSITE OR ANY SERVICES OR ITEMS\n OBTAINED THROUGH THE WEBSITE WILL OTHERWISE MEET YOUR\n NEEDS OR EXPECTATIONS.
        • \n
        • TO THE FULLEST EXTENT PROVIDED BY LAW, THE COMPANY\n HEREBY DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER\n EXPRESS OR IMPLIED, STATUTORY, OR OTHERWISE, INCLUDING BUT\n NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,\n NON-INFRINGEMENT, AND FITNESS FOR PARTICULAR PURPOSE.
        • \n
        • \n THE FOREGOING DOES NOT AFFECT ANY WARRANTIES THAT\n CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.\n
        • \n
        \n
      • \n
      • Limitation on Liability\n
          \n
        • TO THE FULLEST EXTENT PROVIDED BY LAW, IN NO EVENT WILL\n THE COMPANY, ITS AFFILIATES, OR THEIR LICENSORS, SERVICE\n PROVIDERS, EMPLOYEES, AGENTS, OFFICERS, OR DIRECTORS BE\n LIABLE FOR DAMAGES OF ANY KIND, UNDER ANY LEGAL THEORY,\n ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR INABILITY\n TO USE, THE WEBSITE, ANY WEBSITES LINKED TO IT, ANY CONTENT\n ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY\n DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR\n PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO, PERSONAL\n INJURY, PAIN AND SUFFERING, EMOTIONAL DISTRESS, LOSS OF\n REVENUE, LOSS OF PROFITS, LOSS OF BUSINESS OR ANTICIPATED\n SAVINGS, LOSS OF USE, LOSS OF GOODWILL, LOSS OF DATA, AND\n WHETHER CAUSED BY TORT (INCLUDING NEGLIGENCE), BREACH OF\n CONTRACT, OR OTHERWISE, EVEN IF FORESEEABLE.
        • \n
        • \n The limitation of liability set out above does not apply to liability resulting from\n our gross negligence or willful misconduct or death or bodily injury caused by\n products You purchase through the site.\n
        • \n
        • THE FOREGOING DOES NOT AFFECT ANY LIABILITY THAT CANNOT\n BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.
        • \n
        \n
      • \n
      • Indemnification\n
          \n
        • You agree to defend, indemnify, and hold harmless the Company, its affiliates,\n licensors,\n and service providers, and its and their respective officers, directors, employees,\n contractors, agents, licensors, suppliers, successors, and assigns from and against any\n claims, liabilities, damages, judgments, awards, losses, costs, expenses, or fees\n (including\n reasonable attorneys’ fees) arising out of or relating to your violation of these Terms\n of\n Use or your use of the Website, including, but not limited to, your User Contributions,\n any use of the Website's content, services, and products other than as expressly\n authorized in these Terms of Use, or your use of any information obtained from the\n Website.
        • \n
        \n
      • \n
      • Governing Law and Jurisdiction\n
          \n
        • All matters relating to the Website and these Terms of Use, and any dispute or\n claim arising therefrom or related thereto (in each case, including non-contractual\n disputes or claims), shall be governed by and construed in accordance with the\n internal laws of the State of Washington without giving effect to any choice or\n conflict of law provision or rule (whether of the State of Washington or any other\n jurisdiction).
        • \n
        • \n Any legal suit, action, or proceeding arising out of, or related to, these Terms of\n Use or the Website shall be instituted exclusively in the federal courts of the\n United States or the courts of the State of Washington, although We retain the\n right to bring any suit, action, or proceeding against You for breach of these\n Terms of Use in your country of residence or any other relevant country. You\n waive any and all objections to the exercise of jurisdiction over You by such\n courts and to venue in such courts.\n
        • \n
        \n
      • \n
      • \n Arbitration\n
          \n
        • At Company's sole discretion, it may require You to submit any disputes arising from\n these Terms of Use or use of the Website, including disputes arising from or concerning\n their interpretation, violation, invalidity, non-performance, or termination, to final\n and\n binding arbitration under the Rules of Arbitration of the American Arbitration\n Association applying Washington law.
        • \n
        \n
      • \n
      • Limitation on Time to File Claims\n
          \n
        • ANY CAUSE OF ACTION OR CLAIM YOU MAY HAVE ARISING OUT OF OR\n RELATING TO THESE TERMS OF USE OR THE WEBSITE MUST BE\n COMMENCED WITHIN ONE (1) YEAR AFTER THE CAUSE OF ACTION\n ACCRUES; OTHERWISE, SUCH CAUSE OF ACTION OR CLAIM IS\n PERMANENTLY BARRED.
        • \n
        \n
      • \n
      • Waiver and Severability\n
          \n
        • No waiver by the Company of any term or condition set out in these Terms of Use\n shall be deemed a further or continuing waiver of such term or condition or a\n waiver of any other term or condition, and any failure of the Company to assert a\n right or provision under these Terms of Use shall not constitute a waiver of such\n right or provision.
        • \n
        • \n If any provision of these Terms of Use is held by a court or other tribunal of\n competent jurisdiction to be invalid, illegal, or unenforceable for any reason, such\n provision shall be eliminated or limited to the minimum extent such that the\n remaining provisions of the Terms of Use will continue in full force and effect.\n
        • \n
        \n
      • \n
      • \n Entire Agreement\n
          \n
        • The Terms of Use, our Privacy Policy, and User License Agreemnt constitute the sole and\n entire agreement between You and Us regarding the Website and supersede all prior and\n contemporaneous understandings, agreements, representations, and warranties, both\n written and oral, regarding the Website.
        • \n
        \n
      • \n
      • \n Your Comments and Concerns\n
          \n
        • All feedback, comments, requests for technical support, and other\n communications relating to the Website should be directed to:\n support@indietown.org.\n
        • \n
        \n
      • \n
      \n
      \n
      \n
      \n
      ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-term',\n templateUrl: './term.component.html',\n styleUrls: ['./term.component.scss']\n})\nexport class TermComponent implements OnInit {\nisMobile:boolean=false;\n constructor( ) { \n if(screen.width < 640) {\n // true for mobile device\n this.isMobile = true;\n } else {\n // false for not mobile device\n this.isMobile = false;\n }\n }\n\n ngOnInit() {\n }\n\n}\n","import { ChangeDetectorRef, Component, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\n// import { RegistrationPartService } from '../../registration-part/services/registration.service';\nimport { SharedService } from 'src/app/shared/services/shared.service';\n\n@Component({\n selector: 'shared-update-city',\n templateUrl: './update-city.component.html',\n styleUrls: ['./update-city.component.scss']\n})\nexport class UpdateCityComponent implements OnInit {\n\n submitted: boolean = false;\n imgURLCover: any;\n currentUser: any;\n selectedFile: any;\n profilePicUrl: any;\n coverPicUrl: any;\n profileData: any;\n profileImageFileUrl: any;\n profileImageKey: any;\n change: boolean = false;\n genersData: any = [];\n generIdsList: any = [];\n genreList: any = [];\n sample: any = [];\n role: any;\n\n @Output() addressDetails = new EventEmitter();\n\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n // private service: RegistrationPartService,\n private router: Router,\n private sharedService: SharedService,\n private fb: FormBuilder,\n private toastr: ToastrService,\n private cdr:ChangeDetectorRef\n ) { }\n\n\n ngOnInit(): void {\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n\n console.log(\"from heee\");\n // setTimeout(()=>{\n // console.log(1);\n // this.initAutocomplete();\n // console.log(2);\n // },5000);\n\n // this.initAutocomplete();\n\n this.sharedService.getProfile().subscribe((res: any) => {\n if (res.type == 'success') {\n this.profileData = res.data;\n // this.cityForm.get('bandName').setValue(this.profileData?.bandName);\n this.cityForm.get('city').setValue(this.profileData?.address?.city);\n this.cityForm.get('state').setValue(this.profileData?.address?.state);\n this.cityForm.get('country').setValue(this.profileData?.address?.country);\n this.cityForm.get('lat').setValue(this.profileData?.location?.coordinates[0]);\n this.cityForm.get('lng').setValue(this.profileData?.location?.coordinates[1]);\n }\n })\n }\n\n\n // bandName: new FormControl('', Validators.required),\n cityForm = new FormGroup({\n \n city: new FormControl('', Validators.required),\n state: new FormControl(''),\n country: new FormControl('', Validators.required),\n lat: new FormControl('', Validators.required),\n lng: new FormControl('', Validators.required),\n })\n\n nameError: any;\n\n updateName() {\n // if (this.cityForm.value.bandName.trim() == '') {\n // this.invalidName = true;\n // this.nameError = '*Please enter your name';\n // return\n // } else {\n // this.invalidName = false;\n // this.nameError = '';\n // }\n\n\n let data = {\n \"address\": {\n \"city\": this.cityForm.value.city,\n \"state\": this.cityForm.value.state,\n \"country\": this.cityForm.value.country,\n\n },\n // \"bandName\": this.cityForm.value.bandName.trim(),\n \"location\": {\n \"lat\": this.cityForm.value.lat,\n \"long\": this.cityForm.value.lng\n }\n }\n console.log(data);\n this.sharedService.updateProfile(data).subscribe((res: any) => {\n if (res.type == 'success') {\n // this.router.navigateByUrl(\"/profile/main\");\n this.addressDetails.emit(JSON.stringify(data));\n }\n })\n }\n\n\n latitude: any;\n longitude: any;\n\n initAutocomplete() {\n console.log(3);\n const map = new google.maps.Map(\n document.getElementById(\"map1234\") as HTMLElement,\n {\n center: { lat: this.latitude ? parseFloat(this.latitude) : 28.7041, lng: this.longitude ? parseFloat(this.longitude) : 77.1025 },\n zoom: 13,\n mapTypeId: \"roadmap\",\n }\n );\n // Create the search box and link it to the UI element.\n const input = document.getElementById(\"pac-input123\") as HTMLInputElement;\n console.log(input);\n const searchBox = new google.maps.places.Autocomplete(input, {\n types: ['(cities)']\n });;\n\n map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);\n\n // Bias the SearchBox results towards current map's viewport.\n map.addListener(\"bounds_changed\", () => {\n searchBox.setBounds(map.getBounds() as google.maps.LatLngBounds);\n });\n\n // Listen for the event fired when the user selects a prediction and retrieve\n // more details for that place.\n searchBox.addListener(\"place_changed\", () => {\n const place = searchBox.getPlace();\n\n // if (places.length == 0) {\n // return;\n // } \n\n if (!Object.keys(place)?.length) {\n return;\n }\n\n // For each place, get the icon, name and location.\n const bounds = new google.maps.LatLngBounds();\n\n // places.forEach((place) => {\n if (!place.geometry || !place.geometry.location) {\n console.log(\"Returned place contains no geometry\");\n return;\n }\n\n const icon = {\n url: place.icon as string,\n size: new google.maps.Size(71, 71),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(17, 34),\n scaledSize: new google.maps.Size(25, 25)\n };\n\n this.cityForm.get('lat').patchValue(place.geometry.location.lat());\n this.cityForm.get('lng').patchValue(place.geometry.location.lng());\n this.codeLatLng(place.geometry.location.lat(), place.geometry.location.lng());\n\n if (place.geometry.viewport) {\n // Only geocodes have viewport.\n bounds.union(place.geometry.viewport);\n } else {\n bounds.extend(place.geometry.location);\n }\n // });\n map.fitBounds(bounds);\n });\n\n }\n\n\n\n cityName: any;\n codeLatLng(lat: any, lng: any) {\n let geocoder = new google.maps.Geocoder();\n var latlng = new google.maps.LatLng(lat, lng);\n geocoder.geocode({ location: latlng }, (results, status) => {\n if (status == google.maps.GeocoderStatus.OK) {\n if (results[1]) {\n\n\n var country = null, countryCode = null, city = null, state = null;\n var c, lc, component;\n for (var r = 0, rl = results.length; r < rl; r += 1) {\n var result = results[r];\n console.log(result)\n\n if (!city && (result.types[0] === 'locality' || result.types[0] === 'postal_town' || result.types[0] === 'postal_code')) {\n for (c = 0, lc = result.address_components.length; c < lc; c += 1) {\n component = result.address_components[c];\n\n if (component.types[0] === 'locality' || component.types[0] === 'postal_town') {\n city = component.long_name;\n\n break;\n }\n }\n }\n \n else if ( result.types[0] === \"administrative_area_level_1\") {\n \n for (c = 0, lc = result.address_components.length; c < lc; c += 1) {\n component = result.address_components[c];\n console.log(component, \"component\")\n if (component.types[0] === 'administrative_area_level_1') {\n state = component.long_name;\n break;\n }\n }\n } else if (!country && result.types[0] === 'country') {\n country = result.address_components[0].long_name;\n countryCode = result.address_components[0].short_name;\n }\n\n if (city && country) {\n break;\n }\n }\n\n console.log(\"City: \" + city + \", State: \" + state + \", Country: \" + country + \", Country Code: \" + countryCode);\n if(city && state && country){\n // (document.getElementById('pac-input'))?.value = city;\n this.cityForm.controls['country'].setValue(country);\n (document.getElementById('pac-input123')).value = city;\n this.cityName = city;\n this.cityForm.controls['city'].setValue(city);\n this.cityForm.controls['state'].setValue(state);\n // && this.cityForm.value.bandName\n if (this.cityForm.value.city && this.cityForm.value.country) {\n (document.getElementById('nameAndAddressNext')).disabled = false;\n }\n }\n else{\n this.toastr.info(\"please search with your city name\");\n\n }\n\n // this.cityForm.controls['country'].setValue(results[len - 1].formatted_address.toString());\n // (document.getElementById('pac-input123')).value = results[0].address_components[3].long_name;\n // this.cityName = results[0].address_components[3].long_name;\n // this.cityForm.controls['city'].setValue(this.cityName);\n // this.cityForm.controls['state'].setValue(a.long_name);\n // if (this.cityForm.value.city && this.cityForm.value.country && this.cityForm.value.bandName) {\n // (document.getElementById('nameAndAddressNext')).disabled = false;\n // }\n\n // let a = [];\n // a = results[0].formatted_address.split(\",\");\n\n // for (i = 0; i < results[0].address_components.length; i++) {\n\n // let len = results.length;\n // this.cityForm.controls['country'].setValue(results[len - 1].formatted_address.toString());\n\n // (document.getElementById('pac-input123')).value = results[0].address_components[3].long_name;\n\n // this.cityName = results[0].address_components[3].long_name;\n // this.cityForm.controls['city'].setValue(this.cityName);\n // console.log(\"11112222\");\n // if (results[0].address_components[i].types[0] == 'postal_code')\n // (document.getElementById('abcd')).value = results[0].address_components[i].short_name;\n // console.log(\"11112222\", (document.getElementById('abcd')).value);\n // }\n\n // for (var i = 0; i < results[0].address_components.length; i++) {\n // for (var b = 0; b < results[0].address_components[i].types.length; b++) {\n\n // //there are different types that might hold a city admin_area_lvl_1 usually does in come cases looking for sublocality type will be more appropriate\n // if (results[0].address_components[i].types[b] == \"administrative_area_level_1\") {\n // let a = results[0].address_components[i];\n // this.cityForm.controls['state'].setValue(a.long_name);\n // if (this.cityForm.value.city && this.cityForm.value.country && this.cityForm.value.bandName) {\n // (document.getElementById('nameAndAddressNext')).disabled = false;\n // }\n // // (document.getElementById('pac-input')).value=cityArray[0];\n // break;\n // }\n // }\n // }\n } else {\n alert(\"No results found with the given city name\");\n }\n } else {\n }\n });\n }\n\n\n charCode: any;\n invalidName: any;\n CheckEnterPress(e: any) {\n this.invalidName = false;\n if (e.keyCode == 13) {\n e.preventDefault();\n return false;\n }\n }\n\n removeCity(e: any) {\n if (e == '') {\n this.hideLocSuggestions();\n this.cityForm.get('state').setValue('');\n this.cityForm.get('country').setValue('');\n }\n else{\n console.log(e);\n this.hideLocSuggestions();\n this.getLocationSuggestions(e);\n }\n }\n\n getLocationSuggestions(key){\n // delete (document.getElementById(\"programmingLanguages\") as HTMLUListElement).children\n (document.getElementById(\"programmingLanguages2\") as HTMLUListElement).innerHTML = '';\n this.cdr.detectChanges();\n const service = new google.maps.places.AutocompleteService();\n // getQueryPredictions\n // '(regions)','(cities)'\n service.getPlacePredictions({ input: key, types: ['(cities)'] }, (predictions)=>{\n console.log(predictions);\n // (document.getElementById(\"programmingLanguages\") as HTMLUListElement).innerHTML = '';\n this.hideLocSuggestions();\n predictions.forEach((prediction) => {\n if(prediction?.description?.split(',')?.length >= 2){\n const option = document.createElement(\"li\");\n option.appendChild(document.createTextNode(prediction.description));\n option.setAttribute(\"class\",\"suggestionItemClass\");\n option.setAttribute(\"description\",prediction.description);\n option.setAttribute(\"style\",\"padding:10px;\");\n option.setAttribute(\"placeId\",prediction.place_id);\n // option.setAttribute(\"country\",prediction.description.split(\",\")[2]);\n (document.getElementById(\"programmingLanguages2\") as HTMLUListElement).appendChild(option);\n }\n });\n this.setHandler();\n });\n }\n\n setHandler(){\n (document.getElementById(\"programmingLanguages2\") as HTMLUListElement).childNodes.forEach((node)=>{\n node.addEventListener('click', (e:any) => { \n console.log(\"yeas i am here\");\n console.log(e.target.getAttribute('description'));\n let desc = e.target.getAttribute('description');\n let placeId = e.target.getAttribute('placeId');\n (document.getElementById('pac-input123')).value = desc;\n this.hideLocSuggestions();\n if(desc.split(\",\")?.length == 2){\n this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[1]?.trim(),placeId)\n }\n else if(desc.split(\",\")?.length > 2){\n this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[2]?.trim(),placeId)\n }\n // this.getLatLngFromAddress(desc.split(\",\")[0],desc.split(\",\")[2]?.trim())\n // debugger;\n });\n })\n }\n\n hideLocSuggestions(){\n (document.getElementById(\"programmingLanguages2\") as HTMLUListElement).innerHTML = '';\n // (document.getElementById('programmingLanguages')).click();\n this.cdr.detectChanges();\n }\n \n getLatLngFromAddress(city, country,placeId){\n\n var address = city +\", \"+ country;\n var geocoder = new google.maps.Geocoder();\n\n let obj;\n\n if(placeId)\n obj = {placeId};\n else\n obj = {address};\n \n geocoder.geocode( obj, (results:any, status) => {\n \n if (status == google.maps.GeocoderStatus.OK) {\n // $('#latitude').val(results[0].geometry.location.Pa);\n // $('#longitude').val(results[0].geometry.location.Qa);\n console.log(results[0].geometry.location?.lat());\n console.log(results[0].geometry.location?.lng());\n \n this.cityForm.get('lat').patchValue(results[0].geometry.location?.lat());\n this.cityForm.get('lng').patchValue(results[0].geometry.location?.lng());\n this.codeLatLng(results[0].geometry.location?.lat(), results[0].geometry.location?.lng());\n // this.disabledSlider = false;\n // this.searchData();\n \n } else {\n console.log(\"Geocode was not successful for the following reason: \" + status);\n }\n });\n }\n}","\n\n
      \n
      \n
      \n
      \n

      Update City

      \n
      \n\n \n\n
      \n
      \n\n
      \n \n
      \n \n
      \n \n
      \n
      \n
      \n
      \n\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NavigationEnd, Router } from '@angular/router';\n// import { RegistrationPartService } from '../../registration-part/services/registration.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { LocationStrategy } from '@angular/common';\n// import { UrlService } from '../../registration-part/services/url.service';\nimport { filter } from 'rxjs/operators';\nimport { SharedService } from 'src/app/shared/services/shared.service';\n\n@Component({\n selector: 'shared-update-cover',\n templateUrl: './update-cover.component.html',\n styleUrls: ['./update-cover.component.scss']\n})\nexport class UpdateCoverComponent implements OnInit {\n\n submitted: boolean = false;\n imgURLCover:any;\n currentUser:any;\n selectedFile:any;\n profilePicUrl:any;\n coverPicUrl:any;\n profileData:any;\n popupedits: boolean;\n croppedCoverPicRef: any;\n coverImageFileUrl:any;\n coverImageKey:any;\n change:boolean = false;\n coverPictureImageChangedEvent: string;\n originalCoverPicRef: any;\n coverPicCropperUrl: string;\n coverPictureImageTransform: {};\n coverPictureScale: number;\n originalCoverPicName: any;\n coverPictureCropModalRef: any;\n showEditIcon:boolean=false;\n showDeleteCoverButton:boolean;\n\n @Output() coverPicDetails = new EventEmitter();\n @Input() profileURL;\n \n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n // private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy,\n // private urlService: UrlService,\n private sharedService: SharedService\n ) { }\n\n ngOnInit(): void {\n\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n\n this.sharedService.getProfile().subscribe((res:any)=> {\n if(res.type == 'success'){\n this.profileData = res.data;\n if(res.data?.coverImage.fileUrl){\n this.showEditIcon = true;\n this.showDeleteCoverButton = true;\n this.coverPicUrl = res.data?.coverImage.fileUrl;\n this.coverImageFileUrl =res.data?.coverImage.fileUrl,\n this.coverImageKey = res.data?.coverImage.key;\n this.updateProfile.controls[\"coverPic\"].setValue(this.coverPicUrl);\n this.updateProfile.controls[\"coverPicKey\"].setValue(this.coverImageKey);\n // debugger;\n }\n\n // if(res.data?.profileImage.fileUrl){\n // this.profilePicUrl = res.data?.profileImage.fileUrl;\n // }\n if(this.profileURL){\n this.profilePicUrl = this.profileURL;\n }\n }\n }) \n }\n updateProfile = new FormGroup({\n profilePic: new FormControl(''),\n profilePicKey: new FormControl(''),\n coverPic: new FormControl(''),\n coverPicKey: new FormControl(''),\n });\n uploadProfile(e:any){\n\n let files = e.target.files;\n let file = e.target.files[0];\n let fd = new FormData();\n fd.append(\"file\", file);\n if (e.target.files && e.target.files.length) {\n for (const file of e.target.files) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n const img = new Image();\n img.src = reader.result as string;\n document.getElementById('updatecoverpict').style.borderRadius=\"15px\";\n img.onload = () => {\n this.sharedService.uploadProfile(fd).subscribe((res:any)=>{\n this.change = true;\n this.showEditIcon = true;\n this.showDeleteCoverButton = true;\n this.coverPicUrl = res.data.fileUrl;\n this.coverImageFileUrl = res.data.fileUrl\n this.coverImageKey = res.data.key;\n })\n }\n }\n }\n}\n}\n\nsave(){\n\n\n let data = {\n \"coverImage\":{\n // \"fileUrl\": this.coverImageFileUrl,\n // \"key\": this.coverImageKey\n \"fileUrl\": this.updateProfile.controls[\"coverPic\"].value,\n \"key\": this.updateProfile.controls[\"coverPicKey\"].value,\n }\n } \n\n this.sharedService.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n // this.router.navigateByUrl(\"/profile/main\");\n this.coverPicDetails.emit(JSON.stringify(data));\n }\n })\n}\n\n// deleteCoverPic(){\n// this.showDeleteCoverButton = false;\n// this.showEditIcon = false;\n// this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n// this.coverImageFileUrl ='',\n// this.coverImageKey = ''\n// }\ndeleteCoverPic(){\n // debugger;\n this.showDeleteCoverButton = false;\n this.showEditIcon = false;\n // document.getElementById('profilepic').style.bottom=\"\";\n // document.getElementById('editicons').style.bottom=\"\";\n // document.getElementById('editicons').style.right=\"\";\n this.popupedits = false;\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n document.getElementById('coverpicurll').style.objectFit=\"\";\n this.coverImageFileUrl ='',\n this.coverImageKey = '';\n this.updateProfile.controls[\"coverPic\"].setValue(\"\");\n this.updateProfile.controls[\"coverPicKey\"].setValue(\"\");\n}\ncoverPictureCancelled(){\n this.coverPictureCropModalRef?.hide();\n if(this.originalCoverPicRef?.target?.value){\n this.originalCoverPicRef.target.value = '';\n }\n}\ncloseProfilePicModal() {\n this.coverPictureCropModalRef?.hide()\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n // this.router.navigate(['/register/cover-pic']);\n // });\n\n}\ncoverPictureZoomOut() {\n // if(this.scale == 1){\n // return;\n // }\n if (this.coverPictureScale >1) {\n this.coverPictureScale -= .1;\n this.coverPictureImageTransform = {\n ...this.coverPictureImageTransform,\n scale: this.coverPictureScale\n };\n }\n}\ncoverPictureZoomImage(e) {\n var slider: any = document.getElementById(\"myRangeCoverPic\");;\n console.log(slider.value)\n this.coverPictureScale = slider.value;\n this.coverPictureImageTransform = {\n ...this.coverPictureImageTransform,\n scale: slider.value\n };\n}\ncroppedCoverPicture(event) {\n console.log(\"Cover Picture Image Cropped\");\n console.log(event);\n this.croppedCoverPicRef = event;\n}\nscale:number;\ncoverPictureZoomIn() {\n // if (this.coverPictureScale <= 2) {\n // this.coverPictureScale += .1;\n // this.coverPictureImageTransform = {\n // ...this.coverPictureImageTransform,\n // scale: this.coverPictureScale\n // };\n // }\n\n if (this.coverPictureScale <= 2) {\n this.coverPictureScale += .1;\n console.log( this.scale)\n if (this.coverPictureScale <= 10) {\n console.log( \"hello\")\n this.coverPictureImageTransform = {\n ...this.coverPictureImageTransform,\n scale: this.coverPictureScale\n };\n } else {\n console.log( \"hi\")\n this.coverPictureScale = 1;\n this.coverPictureScale += .1;\n this.coverPictureImageTransform = {\n ...this.coverPictureImageTransform,\n scale: this.coverPictureScale\n };\n }\n }\n}\ndataURItoBlob(dataURI) {\n const parts = dataURI.split(';base64,');\n const byteString = atob(parts[1]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array], { type: 'image/png' }); \n return blob;\n}\nuploadCoverProfile(){\n // debugger;\n let file = this.croppedCoverPicRef.base64;\n let fd = new FormData();\n const imageFile = new File([this.dataURItoBlob(file)], this.originalCoverPicName, { type: 'image/png' });\n fd.append(\"file\", imageFile);\n this.sharedService.uploadProfile(fd).subscribe((res:any)=>{\n this.coverPicUrl = res.data.fileUrl;\n // document.getElementById('coverpicurll').style.objectFit=\"cover\";\n // if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n // document.getElementById('coverpicurll').style.height=\"200px\";\n // }\n // document.getElementById('profilepic').style.bottom=\"117px\";\n // document.getElementById('editicons').style.bottom=\"56px\";\n // document.getElementById('editicons').style.right=\"-332px\";\n this.updateProfile.controls[\"coverPic\"].setValue(res.data.fileUrl);\n this.updateProfile.controls[\"coverPicKey\"].setValue(res.data.key);\n this.showDeleteCoverButton = true;\n this.coverPictureCropModalRef.hide();\n if(this.originalCoverPicRef?.target?.value){\n this.originalCoverPicRef.target.value = '';\n }\n // this.showDeleteProfileButton = true;\n // this.profilePicUrl = res.data.fileUrl;\n // this.showDeleteProfileButton = true;\n // this.updateProfile.controls[\"profilePic\"].setValue(res.data.fileUrl);\n // this.updateProfile.controls[\"profilePicKey\"].setValue(res.data.key);\n // this.profilePicCropModalRef.hide();\n })\n}\n\nopenCoverPictureModal(type,fileChangedEvent:any,coverPicCropModal:TemplateRef){\n // debugger;\n this.popupedits = false;\n this.coverPictureImageChangedEvent = '';\n this.originalCoverPicRef = '';\n this.coverPicCropperUrl = '';\n this.coverPictureImageTransform = {};\n this.coverPictureScale = 1;\n\n let ngbModalOptions: any = {\n backdrop: 'static',\n keyboard: false,\n class:'profilepiccropmodall',\n };\n\n if(type == 'choose'){\n this.originalCoverPicRef = fileChangedEvent;\n this.coverPictureImageChangedEvent = fileChangedEvent;\n this.originalCoverPicName = fileChangedEvent?.target?.files[0]?.name;\n this.coverPictureCropModalRef = this.modalService.show(coverPicCropModal, ngbModalOptions); \n }\n else if(type == 'edit'){\n this.coverPictureImageChangedEvent = null;\n this.coverPicCropperUrl = this.coverPicUrl; \n this.coverPictureCropModalRef = this.modalService.show(coverPicCropModal, ngbModalOptions); \n }\n\n}\n\n}\n\n","\n\n
      \n \n
      \n
      \n

      Update Cover Picture

      \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

      Cover Picture

      \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","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NavigationEnd, Router } from '@angular/router';\n// import { RegistrationPartService } from '../../registration-part/services/registration.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { LocationStrategy } from '@angular/common';\n// import { UrlService } from '../../registration-part/services/url.service';\nimport { SharedService } from 'src/app/shared/services/shared.service';\n// import { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport {CdkDragDrop, moveItemInArray, transferArrayItem} from '@angular/cdk/drag-drop'; \n // <= DragDropModule removed\n\n\n@Component({\n selector: 'shared-update-gener',\n templateUrl: './update-gener.component.html',\n styleUrls: ['./update-gener.component.scss']\n})\nexport class UpdateGenerComponent implements OnInit {\n\n submitted: boolean = false;\n imgURLCover:any;\n currentUser:any;\n selectedFile:any;\n profilePicUrl:any;\n coverPicUrl:any;\n profileData:any;\n profileImageFileUrl:any;\n profileImageKey:any;\n change:boolean = false;\n genersData:any=[];\n generIdsList:any=[];\n genreList:any=[];\n sample:any=[];\n role:any;\n\n @Output() ids = new EventEmitter();\n \n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n // private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy,\n // private urlService: UrlService,\n private sharedService: SharedService,\n private fb: FormBuilder\n ) { }\n\n\n ngOnInit(): void {\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n\n this.sharedService.getProfile().subscribe((res:any)=> {\n if(res.type == 'success'){\n this.profileData = res.data;\n if(res.data?.profileImage.fileUrl){\n this.profilePicUrl = res.data?.profileImage.fileUrl;\n }\n\n this.role = this.profileData.role;\n\n if(this.profileData.role!='Artist'){\n this.sharedService.getGenres().subscribe((res:any) => {\n if(res.type == 'success'){\n this.genreList = res.data;\n for(var id of this.profileData?.communityIds){\n for(var gener of this.genreList){\n if(gener._id ==id?._id){\n // this.sample.push(gener);\n const addChip = () => { this.chips.add(gener); };\n // const removeChip = () => { this.chips.delete(gener); };\n this.chips.has(gener) ? addChip() : addChip();\n }\n }\n }\n // this.generForm.get('gener').patchValue(this.sample);\n // this.chips.add(this.sample);\n }\n })\n }else{\n this.sharedService.getArtistGenerList().subscribe((res:any) => {\n if(res.type == 'success'){\n this.genreList = res.data;\n for(var id of this.profileData?.genereIds){\n for(var gener of this.genreList){\n if(gener._id ==id?._id){\n this.sample.push(gener);\n const addChip = () => { this.chips.add(gener); };\n // const removeChip = () => { this.chips.delete(gener); };\n this.chips.has(gener) ? addChip() : addChip();\n \n }\n }\n }\n // this.generForm.get('gener').patchValue(this.sample);\n // this.chips.add(this.sample);\n }\n })\n }\n }\n }) \n\n // this.service.getGenres().subscribe((res:any) => {\n // if(res.type == 'success'){\n // this.genreList = res.data;\n \n // }\n // })\n // this.generForm.get('gener').patchValue(this.sample);\n }\n\n\n \n generForm = new FormGroup({\n gener : new FormControl(),\n })\n\n // onSelectGener(event: any) {\n // console.log(event.value);\n // this.genersData = event.value;\n\n // this.change = true;\n // this.generIdsList = [];\n // for(var i of event.value){\n // let y = i.split(' ');\n // this.generIdsList.push(y[y.length-1]);\n // }\n // console.log(this.generIdsList);\n// }\n\n \n\n\nsave(){\n let ids:any=[];\n let generNames = '';\n console.log(this.chipControl.value);\n if(this.profileData.role=='Artist'){\n for(var i of this.chipControl.value){\n ids.push(i?._id);\n generNames = generNames + ', ' + i.genereName;\n }\n }\n else{\n for(var i of this.chipControl.value){\n ids.push(i?._id);\n generNames = generNames + ', ' + i.communityName;\n }\n }\n\n console.log(\"ids\"+typeof ids);\n console.log(ids, generNames);\n\n let data = {\n \"role\": this.profileData?.role,\n \"address\":{\n \"city\": this.profileData?.address?.city,\n \"state\": this.profileData?.address?.state,\n \"country\": this.profileData?.address?.country,\n \n },\n \"bandName\": this.profileData?.bandName,\n // \"location\":{\n // \"lat\": this.profileData?.location?.coordinates[0],\n // \"long\": this.profileData?.location?.coordinates[1] \n // },\n \"profileImage\":{\n \"fileUrl\": this.profileData?.profileImage?.fileUrl,\n \"key\": this.profileData?.profileImage?.key,\n },\n \"coverImage\":{\n \"fileUrl\": this.profileData?.coverImage?.fileUrl,\n \"key\": this.profileData?.coverImage?.key\n },\n \"email\":this.profileData?.email,\n \"bio\": this.profileData?.bio,\n \"communityIds\": this.profileData.role!='Artist' ? ids : [],\n \"genereIds\": this.profileData.role=='Artist' ? ids : []\n } \n\n this.sharedService.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n // this.modalService.hide();\n // this.router.navigateByUrl(\"/profile/main\");\n // this.router.navigateByUrl('/',{skipLocationChange:true}).then(()=>{\n // this.router.navigate([`/profile`]).then(()=>{\n // console.log(\"hello\")\n // })\n // })\n this.ids.emit({ids,generNames:generNames.substring(1)});\n }\n })\n\n\n \n\n}\n\nchipControl = new FormControl(new Set());\n\n toggleChip = (chip: any) => {\n\n if(this.role =='Artist'){\n if(this.chips.has(chip)){\n this.chips.delete(chip);\n }else{\n if(this.chipControl.value.size>=3){\n this.toastr.error(\"Maximum 3 Allowed\");\n }\n else{\n this.chips.add(chip);\n }\n }\n }else{\n if(this.chips.has(chip)){\n this.chips.delete(chip);\n }else{\n if(this.chipControl.value.size>=2){\n this.toastr.error(\"Maximum 2 Allowed\");\n }\n else{\n this.chips.add(chip);\n }\n }\n }\n \n }\n\n addChip(chip){\n const addChip = () => { this.chips.add(chip); };\n const removeChip = () => { this.chips.delete(chip); };\n this.chips.has(chip) ? removeChip() : addChip();\n }\n\n deleteChip(chip){\n const removeChip = () => { this.chips.delete(chip); };\n this.chips.has(chip) ? removeChip() : removeChip();\n }\n\n\n\n get chips() { \n // console.log(this.chipControl);\n // console.log(this.chipControl.value.size);\n return this.chipControl.value; \n }\n\n drop(event) {\n console.log(event);\n // moveItemInArray(this.timePeriods, event.previousIndex, event.currentIndex);\n }\n horizontal = \"horizontal\";\n\n}\n\n","\n\n
      \n
      \n
      \n

      Update Genre Community

      \n
      \n
      \n
      Selected {{chips.size}}
      \n
      You can rearrange these genres by dragging
      \n \n \n \n\n
      \n
      \n {{ option.genereName }}\"\"\n {{ option.communityName }}\"\"\n
      \n
      \n \n \n
      \n
      \n

      Select 1 -3

      \n

      Select 1 -2

      \n
      \n\n
      \n
      \n
      \n \n \n {{ option.genereName }}\n {{ option.communityName }}\n \n \n\n \n
      \n
      \n
      \n\n\n \n\n
      \n
      \n \n
      \n
      ","import { Component, EventEmitter, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NavigationEnd, Router } from '@angular/router';\n// import { RegistrationPartService } from '../../registration-part/services/registration.service';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { LocationStrategy } from '@angular/common';\n// import { UrlService } from '../../registration-part/services/url.service';\nimport { filter } from 'rxjs/operators';\nimport { SharedService } from 'src/app/shared/services/shared.service';\n\n@Component({\n selector: 'shared-update-profile',\n templateUrl: './update-profile.component.html',\n styleUrls: ['./update-profile.component.scss']\n})\nexport class UpdateProfileComponent implements OnInit {\n updateProfile = new FormGroup({\n profilePic: new FormControl(''),\n profilePicKey: new FormControl('')\n });\n\n submitted: boolean = false;\n imgURLCover:any;\n currentUser:any;\n selectedFile:any;\n showDeleteProfileButton: boolean;\n popupedit: boolean;\n profilePicUrl:any;\n coverPicUrl:any;\n profileData:any;\n profileImageFileUrl:any;\n profileImageKey:any;\n change:boolean = false;\n showEditButton:boolean;\n showDeleteButton:boolean;\n imageChangedEvent: string;\n originalProfilePicRef: any;\n profilePicCropperUrl: string;\n imageTransform: {};\n scale: number = 5;\n originalProfilePicName: any;\n profilePicCropModalRef: any;\n // modalService: any;\n croppedProfilePicRef: any;\n\n @Output() profilePicDetails = new EventEmitter();\n\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n // private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy,\n // private urlService: UrlService,\n private sharedService: SharedService\n ) { }\n ngOnInit(): void {\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.coverPicUrl = '../../../../assets/Indietown_icons/upload-cover-pic.png';\n\n this.sharedService.getProfile().subscribe((res:any)=> {\n if(res.type == 'success'){\n this.profileData = res.data;\n if(res.data?.profileImage.fileUrl){\n this.profilePicUrl = res.data?.profileImage.fileUrl;\n this.showDeleteButton = true;\n this.showDeleteProfileButton = true;\n this.showEditButton = true;\n this.profileImageFileUrl = res.data?.profileImage.fileUrl;\n this.profileImageKey = res.data?.profileImage.key;\n this.updateProfile.controls[\"profilePic\"].setValue(this.profileImageFileUrl);\n this.updateProfile.controls[\"profilePicKey\"].setValue(this.profileImageKey);\n }\n }\n }) \n }\n openProfilePictureModal(type, fileChangedEvent: any, ProfilePicCropModal: TemplateRef) {\n this.popupedit = false;\n this.imageChangedEvent = '';\n this.originalProfilePicRef = '';\n this.profilePicCropperUrl = '';\n this.imageTransform = {};\n this.scale = 1;\n let ngbModalOptions: any = {\n backdrop: 'static',\n keyboard: false,\n class: \"profilepiccropmodall\"\n };\n // this.profilePicCropModalRef = this.modalService.show(ProfilePicCropModal);\n if (type == 'choose') {\n this.originalProfilePicRef = fileChangedEvent;\n this.imageChangedEvent = fileChangedEvent;\n this.originalProfilePicName = fileChangedEvent?.target?.files[0]?.name;\n this.profilePicCropModalRef = this.modalService.show(ProfilePicCropModal, ngbModalOptions);\n }\n else if (type == 'edit') {\n console.log(this.profilePicUrl);\n this.imageChangedEvent = null;\n this.profilePicCropperUrl = this.profilePicUrl;\n this.profilePicCropModalRef = this.modalService.show(ProfilePicCropModal, ngbModalOptions);\n }\n\n }\n\n // uploadProfile(e:any){\n\n // let files = e.target.files;\n // let file = e.target.files[0];\n // let fd = new FormData();\n // fd.append(\"file\", file);\n // if (e.target.files && e.target.files.length) {\n // for (const file of e.target.files) {\n // const reader = new FileReader();\n // reader.readAsDataURL(file);\n // reader.onload = () => {\n // const img = new Image();\n // img.src = reader.result as string;\n // img.onload = () => {\n // this.sharedService.uploadProfile(fd).subscribe((res:any)=>{\n // this.change = true;\n // this.profilePicUrl = res.data.fileUrl;\n // this.profileImageFileUrl = res.data.fileUrl\n // this.profileImageKey = res.data.key;\n // this.showEditButton = true;\n // this.showDeleteButton = true;\n // })\n // }\n // }\n // }\n // }\n // }\n // UPDATED CODE FOR EDIT OPTIONS\n uploadProfile() {\n // let files = e.target.files;\n let file = this.croppedProfilePicRef.base64;\n let fd = new FormData();\n const imageFile = new File([this.dataURItoBlob(file)], this.originalProfilePicName, { type: 'image/png' });\n fd.append(\"file\", imageFile);\n // if (e.target.files && e.target.files.length) {\n // for (const file of e.target.files) {\n // const reader = new FileReader();\n // reader.readAsDataURL(file);\n // reader.onload = () => {\n // const img = new Image();\n // img.src = reader.result as string;\n // img.onload = () => {\n // const height = img.naturalHeight;\n // const width = img.naturalWidth;\n // console.log(\"Width and Height\", width, height);\n // if(width <=2500 && height <= 1200){\n this.sharedService.uploadProfile(fd).subscribe((res: any) => {\n this.profilePicCropModalRef.hide();\n this.showDeleteProfileButton = true;\n this.profilePicUrl = res.data.fileUrl;\n this.updateProfile.controls[\"profilePic\"].setValue(res.data.fileUrl);\n this.updateProfile.controls[\"profilePicKey\"].setValue(res.data.key);\n if (this.originalProfilePicRef?.target?.value) {\n this.originalProfilePicRef.target.value = '';\n }\n })\n }\n save(){\n let data = {\n \"profileImage\":{\n \"fileUrl\": this.updateProfile.controls[\"profilePic\"].value,\n \"key\": this.updateProfile.controls[\"profilePicKey\"].value,\n }\n } \n\n // this.profilePicDetails.emit(JSON.stringify(data));\n\n this.sharedService.updateProfile(data).subscribe((res:any)=> {\n if(res.type == 'success'){\n // this.router.navigateByUrl(\"/profile/main\");\n this.profilePicDetails.emit(JSON.stringify(data));\n }\n })\n }\ndataURItoBlob(dataURI) {\n const parts = dataURI.split(';base64,');\n const byteString = atob(parts[1]);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array], { type: 'image/png' });\n return blob;\n}\nupdateProfileData() {\n // throw new Error('Method not implemented.');\n let data = {\n \"fileUrl\": this.updateProfile.value.profilePic,\n \"key\": this.updateProfile.value.profilePicKey\n };\n\n localStorage.setItem('profilePicture', JSON.stringify(data));\n localStorage.setItem(\"screensCompleted\", 'profile-pic');\n // this.router.navigateByUrl('/').then(() =>{\n this.router.navigateByUrl('register/cover-pic');\n // })\n}\n\nzoomOut() {\n if (this.scale == 1) {\n return;\n }\n\n if (this.scale >= 1) {\n\n this.scale -= .1;\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n }\n\n}\n\nzoomIn() {\n if (this.scale <= 2) {\n this.scale += .1;\n console.log( this.scale)\n if (this.scale <= 10) {\n console.log( \"hello\")\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n } else {\n console.log( \"hi\")\n this.scale = 1;\n this.scale += .1;\n this.imageTransform = {\n ...this.imageTransform,\n scale: this.scale\n };\n }\n }\n}\n\nZoomImage(e) {\n var slider: any = document.getElementById(\"myRange\");;\n console.log(slider.value)\n this.scale = slider.value;\n this.imageTransform = {\n ...this.imageTransform,\n scale: slider.value\n };\n\n}\n\ncloseProfilePicModal() {\n this.profilePicCropModalRef?.hide()\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n // this.router.navigate(['/register/profile-pic']);\n // });\n\n}\n// deleteProfilePic(){\n// this.showEditButton = false;\n// this.showDeleteButton=false;\n// this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n// this.profileImageFileUrl = '';\n// this.profileImageKey = '';\n// }\ndeleteProfilePic() {\n this.showEditButton = false;\n this.showDeleteButton=false;\n this.profileImageFileUrl = '';\n this.profileImageKey = '';\n this.showDeleteProfileButton = false;\n this.popupedit = false;\n this.profilePicUrl = \"../../../../assets/Indietown_icons/upload-profile-pic.png\";\n this.updateProfile.controls[\"profilePic\"].setValue(\"\");\n this.updateProfile.controls[\"profilePicKey\"].setValue(\"\");\n}\n\ncroppedProfilePicture(event) {\n console.log(\"Profile Picture Image Cropped\");\n console.log(event);\n this.croppedProfilePicRef = event;\n}\n\n\nprofilePictureCancelled() {\n this.profilePicCropModalRef?.hide();\n if (this.originalProfilePicRef?.target?.value) {\n this.originalProfilePicRef.target.value = '';\n }\n}\n\n}\n\n","\n\n
      \n
      \n
      \n

      Update Profile Picture

      \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

      Profile Picture

      \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, ViewChild, TemplateRef, Output, EventEmitter } from '@angular/core';\n\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { LocationStrategy } from '@angular/common';\nimport * as $ from 'jquery';\nimport { RegistrationPartService } from 'src/app/views/registration-part/services/registration.service';\n@Component({\n selector: 'shared-updated-invitation-code',\n templateUrl: './updated-invitation-code.component.html',\n styleUrls: ['./updated-invitation-code.component.scss']\n})\nexport class UpdatedInvitationCodeComponent implements OnInit {\n\n submitted: boolean = false;\n modalRef: BsModalRef;\n phoneNumber:any;\n countryCode:any;\n isTimer:boolean = false;\n generUpdatemodalRef;\n\n @Output() OTPDetails = new EventEmitter()\n @ViewChild(\"template\") template: TemplateRef;\n constructor(\n private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy\n ) { \n history.pushState(null, null, window.location.href); \n this.location.onPopState(() => {\n history.pushState(null, null, window.location.href);\n }); \n }\n\n resetOTPForm = new FormGroup({\n firstDigit: new FormControl('', [Validators.required,Validators.maxLength(1)]),\n secondDigit: new FormControl('', [Validators.required,Validators.maxLength(1)]),\n thirdDigit: new FormControl('', [Validators.required,Validators.maxLength(1)]),\n forthDigit: new FormControl('', [Validators.required,Validators.maxLength(1)]),\n })\n\n ngOnInit(): void {\n this.phoneNumber = localStorage.getItem('phone');\n this.countryCode = localStorage.getItem('countryCode');\n this.countryCode = this.countryCode.slice(1,this.countryCode.length-1);\n this.phoneNumber = this.phoneNumber.slice(1,this.phoneNumber.length-1);\n document.getElementById(\"showTime\").style.display='none';\n let Time = localStorage.getItem('time');\n let prevDate = localStorage.getItem('date');\n if(prevDate){\n let currentTime = new Date().getTime();\n let pre = new Date(prevDate.slice(1,prevDate.length-1)).getTime();\n\n let rem = currentTime-pre;\n if(rem+parseInt(Time)>0){\n this.isTimer = true;\n this.getTimeRemaining(parseInt(Time)-rem);\n }\n \n // console.log(\"rem\",rem,Time);\n // if(rem>parseInt(Time)){\n // document.getElementById('showTime').style.display = 'block';\n // this.getTimeRemaining(parseInt(Time)-rem); \n // }\n }\n\n // $(document).on(\"textInput keydown\", \"#text\", function(evt) {\n \n // console.log(\"emnter \");\n // let value = evt.target.value;\n // var charCode = evt.which ? evt.which : evt.keyCode;\n \n // if(charCode == 46 || charCode == 37){\n // return false;\n // }\n // if (charCode == 8 || charCode == 37) {\n // return true;\n // } else if (charCode == 46 && value.indexOf(\".\") != -1) {\n // return false;\n // } else if (\n // charCode > 31 &&\n // charCode != 46 &&\n // (charCode < 48 || charCode > 57)\n // ) {\n // return false;\n // }\n // return true;\n // })\n }\n\n get f() {\n return this.resetOTPForm.controls;\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n\n sendEmailToLogin:any;\n\n resetPassword() {\n this.submitted = true;\n if (this.resetOTPForm.invalid || this.resetOTPForm.pristine) return;\n this.submitted = false;\n\n let otp = parseInt(this.resetOTPForm.value.firstDigit + this.resetOTPForm.value.secondDigit + this.resetOTPForm.value.thirdDigit + this.resetOTPForm.value.forthDigit);\n \n\n let a = (document.getElementById('firstDigit')).value;\n let b = (document.getElementById('secondDigit')).value;\n let c = (document.getElementById('thirdDigit')).value;\n let d = (document.getElementById('forthDigit')).value;\n\n let data = parseInt(a+b+c+d);\n\n // if(otp!=1234){\n this.service.verifyOTP({otp:data})\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastr.success(\"Code verified\");\n // this.router.navigateByUrl('/register/select-role');\n // this.modalService.hide();\n this.saveMobileNumber();\n }\n },(error)=>{\n this.toastr.error(error?.error?.message);\n })\n // }\n // else{\n // this.toastr.error(\"Wrong Verification code. Please try again.\");\n // }\n }\n\n saveMobileNumber(){\n //save\n this.OTPDetails.emit({mobileNumber:this.phoneNumber.toString().replace(' ','').replace(' ',''),countryCode:this.countryCode});\n }\n\n onFillCode1(e:any){\n e.value ? e.value = e.value?.replace(/[^\\d]/g,'') : e.value;\n if(e.value){\n e.value = e.value.toString().slice(0,1);\n document.getElementById('secondDigit').focus();\n }\n \n }\n\n onFillCode2(e:any){\n e.value ? e.value = e.value?.replace(/[^\\d]/g,'') : e.value;\n if(e.value){\n e.value = e.value.toString().slice(0,1);\n document.getElementById('thirdDigit').focus();\n }\n }\n\n onFillCode3(e:any){\n e.value ? e.value = e.value?.replace(/[^\\d]/g,'') : e.value;\n if(e.value){\n e.value = e.value.toString().slice(0,1);\n document.getElementById('forthDigit').focus();\n }\n}\n\nonFillCode4(e:any){\n e.value ? e.value = e.value?.replace(/[^\\d]/g,'') : e.value;\n if(e.value){\n e.value = e.value.toString().slice(0,1);\n document.getElementById('nextBtn').focus();\n }\n \n}\n\ncheckbackpress(evt:any,index:any){\n console.log(\"key down\");\n let key = evt.key;\n if(key === 'Backspace'){\n if(index==2){\n if(this.resetOTPForm.get('secondDigit').value){\n this.resetOTPForm.get('secondDigit').patchValue('');\n }else{\n document.getElementById('firstDigit').focus();\n }\n \n }\n if(index==3){\n if(this.resetOTPForm.get('thirdDigit').value){\n this.resetOTPForm.get('thirdDigit').patchValue('');\n }else{\n document.getElementById('secondDigit').focus();\n }\n \n }\n if(index==4){\n if(this.resetOTPForm.get('forthDigit').value){\n this.resetOTPForm.get('forthDigit').patchValue('');\n }\n else{\n document.getElementById('thirdDigit').focus();\n }\n }\n }\n}\n\nnumberOnly(evt: any): boolean {\n console.log(\"emnter \",evt);\n \n let value = evt.target.value;\n var charCode = evt.which ? evt.which : evt.keyCode;\n\n if(charCode == 46 || charCode == 37){\n return false;\n }\n if (charCode == 8 || charCode == 37) {\n return true;\n } else if (charCode == 46 && value.indexOf(\".\") != -1) {\n return false;\n } else if (\n charCode > 31 &&\n charCode != 46 &&\n (charCode < 48 || charCode > 57)\n ) {\n return false;\n }\n return true;\n}\n\nnumberOnlyForMobile(e){\n e.target.value = e.target.value.replace(/[^\\d]/g,'');\n}\n\n\nsendCodeAgain() {\n this.submitted = true;\n let phoneNumber = this.phoneNumber.replace(\" \",'').replace(\" \",'');\n let data = {\n countryCode: this.countryCode,\n mobileNumber: phoneNumber\n }\n this.service.sendOTP(data)\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.isTimer = true;\n this.toastr.success(res.message);\n this.getTimeRemaining(45000);\n }else{\n this.getTimeRemaining(45000);\n this.toastr.error('error');\n }\n })\n}\n\n\n// 45000\ngetTimeRemaining(miliseconds:any){\n let x = setInterval(()=>{\n miliseconds = miliseconds - 1000;\n let currentDate = new Date();\n localStorage.setItem('date',JSON.stringify(currentDate));\n localStorage.setItem('time',JSON.stringify(miliseconds));\n // (document.getElementById('resendButton')).disabled = false;\n // (document.getElementById('nextBtn')).disabled = false;\n if(document.getElementById('showTime')){\n document.getElementById('showTime').style.display = 'block';\n }\n if(document.getElementById('resendButton')){\n (document.getElementById('resendButton')).disabled = false;\n }\n \n var days:any = Math.floor(miliseconds / (1000 * 60 * 60 * 24));\n var hours:any = Math.floor((miliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n var minutes:any = Math.floor((miliseconds % (1000 * 60 * 60)) / (1000 * 60));\n var seconds:any = Math.floor((miliseconds % (1000 * 60)) / 1000);\n\n if(days<10){\n days = `0${days}`\n }\n if(hours<10){\n hours = `0${hours}`\n }\n if(minutes<10){\n minutes = `0${minutes}`\n }\n\n if(seconds<10){\n seconds = `0${seconds}`\n }\n\n if(days<=0 && hours<=0 && minutes<=0 && seconds<=0){\n document.getElementById('showTime').style.display = 'none';\n document.getElementById('time').innerHTML = '0 d :' + '0 h :' + '0 m :' + \"0 s\";\n document.getElementById('showTime').style.display = 'none';\n localStorage.removeItem('time');\n localStorage.removeItem('date');\n this.isTimer = false;\n console.log(this.isTimer);\n clearInterval(x);\n (document.getElementById('resendButton')).disabled = false;\n // (document.getElementById(\"nextBtn\")).disabled = false;\n // if(this.resetForm?.value?.firstDigit !=undefined && this.resetForm?.value?.secondDigit !=undefined && this.resetForm?.value?.thirdDigit !=undefined && this.resetForm?.value?.forthDigit !=undefined){\n // (document.getElementById(\"nextBtn\")).disabled = false;\n // }\n }else{\n // document.getElementById('resendButton').disabled = true;\n this.isTimer = true;\n (document.getElementById('resendButton')).disabled = true;\n document.getElementById('showTime').style.display = 'block';\n // (document.getElementById(\"nextBtn\")).disabled = true;\n if(days>0){\n document.getElementById('time').innerHTML = days + ':' + hours + ':' + minutes + ':' + seconds +' minutes';\n }\n\n if(hours>0 && minutes>=0 && seconds>=0){\n document.getElementById('time').innerHTML = hours + ':' + minutes + ':' + seconds +' minutes';\n }\n if(minutes>=0 && seconds>=0){\n document.getElementById('time').innerHTML = minutes + ':' + seconds +' Seconds';\n }\n \n // console.log(days + ' days ' + hours + ' hours ' + minutes + ' minutes ' + seconds + ' seconds left');\n }\n \n },1000)\n}\n}\n","
      \n
      \n
      \n \n\n
      \n
      \n \n
      \n
      \n

      Enter Verification Code

      \n
      \n

      Please type the verification code sent to
      {{countryCode}} {{phoneNumber}}

      \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

      Resend Code in :

      \n \n
      Have you received the code?
      \n
      \n \n
      \n \n \n
      \n
      \n\n
      \n
      \n
      \n
      \n
      \n
      \n
      ","import { LocationStrategy } from '@angular/common';\nimport { Component, OnInit,TemplateRef, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { ToastrService } from 'ngx-toastr';\nimport { RegistrationPartService } from 'src/app/views/registration-part/services/registration.service';\nimport { SearchCountryField, CountryISO, PhoneNumberFormat } from 'ngx-intl-tel-input';\nimport { SharedService } from '../services/shared.service';\nimport { SpinnerVisibilityService } from 'ng-http-loader';\n\n\n@Component({\n selector: 'shared-updated-mob-num',\n templateUrl: './updated-mob-num.component.html',\n styleUrls: ['./updated-mob-num.component.scss']\n})\nexport class UpdatedMobNumComponent implements OnInit {\n\n phoneCode:any = [\n {\n \"name\": \"Afghanistan\",\n \"dial_code\": \"+93\",\n \"code\": \"AF\"\n },\n {\n \"name\": \"Aland Islands\",\n \"dial_code\": \"+358\",\n \"code\": \"AX\"\n },\n {\n \"name\": \"Albania\",\n \"dial_code\": \"+355\",\n \"code\": \"AL\"\n },\n {\n \"name\": \"Algeria\",\n \"dial_code\": \"+213\",\n \"code\": \"DZ\"\n },\n {\n \"name\": \"AmericanSamoa\",\n \"dial_code\": \"+1684\",\n \"code\": \"AS\"\n },\n {\n \"name\": \"Andorra\",\n \"dial_code\": \"+376\",\n \"code\": \"AD\"\n },\n {\n \"name\": \"Angola\",\n \"dial_code\": \"+244\",\n \"code\": \"AO\"\n },\n {\n \"name\": \"Anguilla\",\n \"dial_code\": \"+1264\",\n \"code\": \"AI\"\n },\n {\n \"name\": \"Antarctica\",\n \"dial_code\": \"+672\",\n \"code\": \"AQ\"\n },\n {\n \"name\": \"Antigua and Barbuda\",\n \"dial_code\": \"+1268\",\n \"code\": \"AG\"\n },\n {\n \"name\": \"Argentina\",\n \"dial_code\": \"+54\",\n \"code\": \"AR\"\n },\n {\n \"name\": \"Armenia\",\n \"dial_code\": \"+374\",\n \"code\": \"AM\"\n },\n {\n \"name\": \"Aruba\",\n \"dial_code\": \"+297\",\n \"code\": \"AW\"\n },\n {\n \"name\": \"Australia\",\n \"dial_code\": \"+61\",\n \"code\": \"AU\"\n },\n {\n \"name\": \"Austria\",\n \"dial_code\": \"+43\",\n \"code\": \"AT\"\n },\n {\n \"name\": \"Azerbaijan\",\n \"dial_code\": \"+994\",\n \"code\": \"AZ\"\n },\n {\n \"name\": \"Bahamas\",\n \"dial_code\": \"+1242\",\n \"code\": \"BS\"\n },\n {\n \"name\": \"Bahrain\",\n \"dial_code\": \"+973\",\n \"code\": \"BH\"\n },\n {\n \"name\": \"Bangladesh\",\n \"dial_code\": \"+880\",\n \"code\": \"BD\"\n },\n {\n \"name\": \"Barbados\",\n \"dial_code\": \"+1246\",\n \"code\": \"BB\"\n },\n {\n \"name\": \"Belarus\",\n \"dial_code\": \"+375\",\n \"code\": \"BY\"\n },\n {\n \"name\": \"Belgium\",\n \"dial_code\": \"+32\",\n \"code\": \"BE\"\n },\n {\n \"name\": \"Belize\",\n \"dial_code\": \"+501\",\n \"code\": \"BZ\"\n },\n {\n \"name\": \"Benin\",\n \"dial_code\": \"+229\",\n \"code\": \"BJ\"\n },\n {\n \"name\": \"Bermuda\",\n \"dial_code\": \"+1441\",\n \"code\": \"BM\"\n },\n {\n \"name\": \"Bhutan\",\n \"dial_code\": \"+975\",\n \"code\": \"BT\"\n },\n {\n \"name\": \"Bolivia, Plurinational State of\",\n \"dial_code\": \"+591\",\n \"code\": \"BO\"\n },\n {\n \"name\": \"Bosnia and Herzegovina\",\n \"dial_code\": \"+387\",\n \"code\": \"BA\"\n },\n {\n \"name\": \"Botswana\",\n \"dial_code\": \"+267\",\n \"code\": \"BW\"\n },\n {\n \"name\": \"Brazil\",\n \"dial_code\": \"+55\",\n \"code\": \"BR\"\n },\n {\n \"name\": \"British Indian Ocean Territory\",\n \"dial_code\": \"+246\",\n \"code\": \"IO\"\n },\n {\n \"name\": \"Brunei Darussalam\",\n \"dial_code\": \"+673\",\n \"code\": \"BN\"\n },\n {\n \"name\": \"Bulgaria\",\n \"dial_code\": \"+359\",\n \"code\": \"BG\"\n },\n {\n \"name\": \"Burkina Faso\",\n \"dial_code\": \"+226\",\n \"code\": \"BF\"\n },\n {\n \"name\": \"Burundi\",\n \"dial_code\": \"+257\",\n \"code\": \"BI\"\n },\n {\n \"name\": \"Cambodia\",\n \"dial_code\": \"+855\",\n \"code\": \"KH\"\n },\n {\n \"name\": \"Cameroon\",\n \"dial_code\": \"+237\",\n \"code\": \"CM\"\n },\n {\n \"name\": \"Canada\",\n \"dial_code\": \"+1\",\n \"code\": \"CA\"\n },\n {\n \"name\": \"Cape Verde\",\n \"dial_code\": \"+238\",\n \"code\": \"CV\"\n },\n {\n \"name\": \"Cayman Islands\",\n \"dial_code\": \"+ 345\",\n \"code\": \"KY\"\n },\n {\n \"name\": \"Central African Republic\",\n \"dial_code\": \"+236\",\n \"code\": \"CF\"\n },\n {\n \"name\": \"Chad\",\n \"dial_code\": \"+235\",\n \"code\": \"TD\"\n },\n {\n \"name\": \"Chile\",\n \"dial_code\": \"+56\",\n \"code\": \"CL\"\n },\n {\n \"name\": \"China\",\n \"dial_code\": \"+86\",\n \"code\": \"CN\"\n },\n {\n \"name\": \"Christmas Island\",\n \"dial_code\": \"+61\",\n \"code\": \"CX\"\n },\n {\n \"name\": \"Cocos (Keeling) Islands\",\n \"dial_code\": \"+61\",\n \"code\": \"CC\"\n },\n {\n \"name\": \"Colombia\",\n \"dial_code\": \"+57\",\n \"code\": \"CO\"\n },\n {\n \"name\": \"Comoros\",\n \"dial_code\": \"+269\",\n \"code\": \"KM\"\n },\n {\n \"name\": \"Congo\",\n \"dial_code\": \"+242\",\n \"code\": \"CG\"\n },\n {\n \"name\": \"Congo, The Democratic Republic of the Congo\",\n \"dial_code\": \"+243\",\n \"code\": \"CD\"\n },\n {\n \"name\": \"Cook Islands\",\n \"dial_code\": \"+682\",\n \"code\": \"CK\"\n },\n {\n \"name\": \"Costa Rica\",\n \"dial_code\": \"+506\",\n \"code\": \"CR\"\n },\n {\n \"name\": \"Cote d'Ivoire\",\n \"dial_code\": \"+225\",\n \"code\": \"CI\"\n },\n {\n \"name\": \"Croatia\",\n \"dial_code\": \"+385\",\n \"code\": \"HR\"\n },\n {\n \"name\": \"Cuba\",\n \"dial_code\": \"+53\",\n \"code\": \"CU\"\n },\n {\n \"name\": \"Cyprus\",\n \"dial_code\": \"+357\",\n \"code\": \"CY\"\n },\n {\n \"name\": \"Czech Republic\",\n \"dial_code\": \"+420\",\n \"code\": \"CZ\"\n },\n {\n \"name\": \"Denmark\",\n \"dial_code\": \"+45\",\n \"code\": \"DK\"\n },\n {\n \"name\": \"Djibouti\",\n \"dial_code\": \"+253\",\n \"code\": \"DJ\"\n },\n {\n \"name\": \"Dominica\",\n \"dial_code\": \"+1767\",\n \"code\": \"DM\"\n },\n {\n \"name\": \"Dominican Republic\",\n \"dial_code\": \"+1849\",\n \"code\": \"DO\"\n },\n {\n \"name\": \"Ecuador\",\n \"dial_code\": \"+593\",\n \"code\": \"EC\"\n },\n {\n \"name\": \"Egypt\",\n \"dial_code\": \"+20\",\n \"code\": \"EG\"\n },\n {\n \"name\": \"El Salvador\",\n \"dial_code\": \"+503\",\n \"code\": \"SV\"\n },\n {\n \"name\": \"Equatorial Guinea\",\n \"dial_code\": \"+240\",\n \"code\": \"GQ\"\n },\n {\n \"name\": \"Eritrea\",\n \"dial_code\": \"+291\",\n \"code\": \"ER\"\n },\n {\n \"name\": \"Estonia\",\n \"dial_code\": \"+372\",\n \"code\": \"EE\"\n },\n {\n \"name\": \"Ethiopia\",\n \"dial_code\": \"+251\",\n \"code\": \"ET\"\n },\n {\n \"name\": \"Falkland Islands (Malvinas)\",\n \"dial_code\": \"+500\",\n \"code\": \"FK\"\n },\n {\n \"name\": \"Faroe Islands\",\n \"dial_code\": \"+298\",\n \"code\": \"FO\"\n },\n {\n \"name\": \"Fiji\",\n \"dial_code\": \"+679\",\n \"code\": \"FJ\"\n },\n {\n \"name\": \"Finland\",\n \"dial_code\": \"+358\",\n \"code\": \"FI\"\n },\n {\n \"name\": \"France\",\n \"dial_code\": \"+33\",\n \"code\": \"FR\"\n },\n {\n \"name\": \"French Guiana\",\n \"dial_code\": \"+594\",\n \"code\": \"GF\"\n },\n {\n \"name\": \"French Polynesia\",\n \"dial_code\": \"+689\",\n \"code\": \"PF\"\n },\n {\n \"name\": \"Gabon\",\n \"dial_code\": \"+241\",\n \"code\": \"GA\"\n },\n {\n \"name\": \"Gambia\",\n \"dial_code\": \"+220\",\n \"code\": \"GM\"\n },\n {\n \"name\": \"Georgia\",\n \"dial_code\": \"+995\",\n \"code\": \"GE\"\n },\n {\n \"name\": \"Germany\",\n \"dial_code\": \"+49\",\n \"code\": \"DE\"\n },\n {\n \"name\": \"Ghana\",\n \"dial_code\": \"+233\",\n \"code\": \"GH\"\n },\n {\n \"name\": \"Gibraltar\",\n \"dial_code\": \"+350\",\n \"code\": \"GI\"\n },\n {\n \"name\": \"Greece\",\n \"dial_code\": \"+30\",\n \"code\": \"GR\"\n },\n {\n \"name\": \"Greenland\",\n \"dial_code\": \"+299\",\n \"code\": \"GL\"\n },\n {\n \"name\": \"Grenada\",\n \"dial_code\": \"+1473\",\n \"code\": \"GD\"\n },\n {\n \"name\": \"Guadeloupe\",\n \"dial_code\": \"+590\",\n \"code\": \"GP\"\n },\n {\n \"name\": \"Guam\",\n \"dial_code\": \"+1671\",\n \"code\": \"GU\"\n },\n {\n \"name\": \"Guatemala\",\n \"dial_code\": \"+502\",\n \"code\": \"GT\"\n },\n {\n \"name\": \"Guernsey\",\n \"dial_code\": \"+44\",\n \"code\": \"GG\"\n },\n {\n \"name\": \"Guinea\",\n \"dial_code\": \"+224\",\n \"code\": \"GN\"\n },\n {\n \"name\": \"Guinea-Bissau\",\n \"dial_code\": \"+245\",\n \"code\": \"GW\"\n },\n {\n \"name\": \"Guyana\",\n \"dial_code\": \"+595\",\n \"code\": \"GY\"\n },\n {\n \"name\": \"Haiti\",\n \"dial_code\": \"+509\",\n \"code\": \"HT\"\n },\n {\n \"name\": \"Holy See (Vatican City State)\",\n \"dial_code\": \"+379\",\n \"code\": \"VA\"\n },\n {\n \"name\": \"Honduras\",\n \"dial_code\": \"+504\",\n \"code\": \"HN\"\n },\n {\n \"name\": \"Hong Kong\",\n \"dial_code\": \"+852\",\n \"code\": \"HK\"\n },\n {\n \"name\": \"Hungary\",\n \"dial_code\": \"+36\",\n \"code\": \"HU\"\n },\n {\n \"name\": \"Iceland\",\n \"dial_code\": \"+354\",\n \"code\": \"IS\"\n },\n {\n \"name\": \"India\",\n \"dial_code\": \"+91\",\n \"code\": \"IN\"\n },\n {\n \"name\": \"Indonesia\",\n \"dial_code\": \"+62\",\n \"code\": \"ID\"\n },\n {\n \"name\": \"Iran, Islamic Republic of Persian Gulf\",\n \"dial_code\": \"+98\",\n \"code\": \"IR\"\n },\n {\n \"name\": \"Iraq\",\n \"dial_code\": \"+964\",\n \"code\": \"IQ\"\n },\n {\n \"name\": \"Ireland\",\n \"dial_code\": \"+353\",\n \"code\": \"IE\"\n },\n {\n \"name\": \"Isle of Man\",\n \"dial_code\": \"+44\",\n \"code\": \"IM\"\n },\n {\n \"name\": \"Israel\",\n \"dial_code\": \"+972\",\n \"code\": \"IL\"\n },\n {\n \"name\": \"Italy\",\n \"dial_code\": \"+39\",\n \"code\": \"IT\"\n },\n {\n \"name\": \"Jamaica\",\n \"dial_code\": \"+1876\",\n \"code\": \"JM\"\n },\n {\n \"name\": \"Japan\",\n \"dial_code\": \"+81\",\n \"code\": \"JP\"\n },\n {\n \"name\": \"Jersey\",\n \"dial_code\": \"+44\",\n \"code\": \"JE\"\n },\n {\n \"name\": \"Jordan\",\n \"dial_code\": \"+962\",\n \"code\": \"JO\"\n },\n {\n \"name\": \"Kazakhstan\",\n \"dial_code\": \"+77\",\n \"code\": \"KZ\"\n },\n {\n \"name\": \"Kenya\",\n \"dial_code\": \"+254\",\n \"code\": \"KE\"\n },\n {\n \"name\": \"Kiribati\",\n \"dial_code\": \"+686\",\n \"code\": \"KI\"\n },\n {\n \"name\": \"Korea, Democratic People's Republic of Korea\",\n \"dial_code\": \"+850\",\n \"code\": \"KP\"\n },\n {\n \"name\": \"Korea, Republic of South Korea\",\n \"dial_code\": \"+82\",\n \"code\": \"KR\"\n },\n {\n \"name\": \"Kuwait\",\n \"dial_code\": \"+965\",\n \"code\": \"KW\"\n },\n {\n \"name\": \"Kyrgyzstan\",\n \"dial_code\": \"+996\",\n \"code\": \"KG\"\n },\n {\n \"name\": \"Laos\",\n \"dial_code\": \"+856\",\n \"code\": \"LA\"\n },\n {\n \"name\": \"Latvia\",\n \"dial_code\": \"+371\",\n \"code\": \"LV\"\n },\n {\n \"name\": \"Lebanon\",\n \"dial_code\": \"+961\",\n \"code\": \"LB\"\n },\n {\n \"name\": \"Lesotho\",\n \"dial_code\": \"+266\",\n \"code\": \"LS\"\n },\n {\n \"name\": \"Liberia\",\n \"dial_code\": \"+231\",\n \"code\": \"LR\"\n },\n {\n \"name\": \"Libyan Arab Jamahiriya\",\n \"dial_code\": \"+218\",\n \"code\": \"LY\"\n },\n {\n \"name\": \"Liechtenstein\",\n \"dial_code\": \"+423\",\n \"code\": \"LI\"\n },\n {\n \"name\": \"Lithuania\",\n \"dial_code\": \"+370\",\n \"code\": \"LT\"\n },\n {\n \"name\": \"Luxembourg\",\n \"dial_code\": \"+352\",\n \"code\": \"LU\"\n },\n {\n \"name\": \"Macao\",\n \"dial_code\": \"+853\",\n \"code\": \"MO\"\n },\n {\n \"name\": \"Macedonia\",\n \"dial_code\": \"+389\",\n \"code\": \"MK\"\n },\n {\n \"name\": \"Madagascar\",\n \"dial_code\": \"+261\",\n \"code\": \"MG\"\n },\n {\n \"name\": \"Malawi\",\n \"dial_code\": \"+265\",\n \"code\": \"MW\"\n },\n {\n \"name\": \"Malaysia\",\n \"dial_code\": \"+60\",\n \"code\": \"MY\"\n },\n {\n \"name\": \"Maldives\",\n \"dial_code\": \"+960\",\n \"code\": \"MV\"\n },\n {\n \"name\": \"Mali\",\n \"dial_code\": \"+223\",\n \"code\": \"ML\"\n },\n {\n \"name\": \"Malta\",\n \"dial_code\": \"+356\",\n \"code\": \"MT\"\n },\n {\n \"name\": \"Marshall Islands\",\n \"dial_code\": \"+692\",\n \"code\": \"MH\"\n },\n {\n \"name\": \"Martinique\",\n \"dial_code\": \"+596\",\n \"code\": \"MQ\"\n },\n {\n \"name\": \"Mauritania\",\n \"dial_code\": \"+222\",\n \"code\": \"MR\"\n },\n {\n \"name\": \"Mauritius\",\n \"dial_code\": \"+230\",\n \"code\": \"MU\"\n },\n {\n \"name\": \"Mayotte\",\n \"dial_code\": \"+262\",\n \"code\": \"YT\"\n },\n {\n \"name\": \"Mexico\",\n \"dial_code\": \"+52\",\n \"code\": \"MX\"\n },\n {\n \"name\": \"Micronesia, Federated States of Micronesia\",\n \"dial_code\": \"+691\",\n \"code\": \"FM\"\n },\n {\n \"name\": \"Moldova\",\n \"dial_code\": \"+373\",\n \"code\": \"MD\"\n },\n {\n \"name\": \"Monaco\",\n \"dial_code\": \"+377\",\n \"code\": \"MC\"\n },\n {\n \"name\": \"Mongolia\",\n \"dial_code\": \"+976\",\n \"code\": \"MN\"\n },\n {\n \"name\": \"Montenegro\",\n \"dial_code\": \"+382\",\n \"code\": \"ME\"\n },\n {\n \"name\": \"Montserrat\",\n \"dial_code\": \"+1664\",\n \"code\": \"MS\"\n },\n {\n \"name\": \"Morocco\",\n \"dial_code\": \"+212\",\n \"code\": \"MA\"\n },\n {\n \"name\": \"Mozambique\",\n \"dial_code\": \"+258\",\n \"code\": \"MZ\"\n },\n {\n \"name\": \"Myanmar\",\n \"dial_code\": \"+95\",\n \"code\": \"MM\"\n },\n {\n \"name\": \"Namibia\",\n \"dial_code\": \"+264\",\n \"code\": \"NA\"\n },\n {\n \"name\": \"Nauru\",\n \"dial_code\": \"+674\",\n \"code\": \"NR\"\n },\n {\n \"name\": \"Nepal\",\n \"dial_code\": \"+977\",\n \"code\": \"NP\"\n },\n {\n \"name\": \"Netherlands\",\n \"dial_code\": \"+31\",\n \"code\": \"NL\"\n },\n {\n \"name\": \"Netherlands Antilles\",\n \"dial_code\": \"+599\",\n \"code\": \"AN\"\n },\n {\n \"name\": \"New Caledonia\",\n \"dial_code\": \"+687\",\n \"code\": \"NC\"\n },\n {\n \"name\": \"New Zealand\",\n \"dial_code\": \"+64\",\n \"code\": \"NZ\"\n },\n {\n \"name\": \"Nicaragua\",\n \"dial_code\": \"+505\",\n \"code\": \"NI\"\n },\n {\n \"name\": \"Niger\",\n \"dial_code\": \"+227\",\n \"code\": \"NE\"\n },\n {\n \"name\": \"Nigeria\",\n \"dial_code\": \"+234\",\n \"code\": \"NG\"\n },\n {\n \"name\": \"Niue\",\n \"dial_code\": \"+683\",\n \"code\": \"NU\"\n },\n {\n \"name\": \"Norfolk Island\",\n \"dial_code\": \"+672\",\n \"code\": \"NF\"\n },\n {\n \"name\": \"Northern Mariana Islands\",\n \"dial_code\": \"+1670\",\n \"code\": \"MP\"\n },\n {\n \"name\": \"Norway\",\n \"dial_code\": \"+47\",\n \"code\": \"NO\"\n },\n {\n \"name\": \"Oman\",\n \"dial_code\": \"+968\",\n \"code\": \"OM\"\n },\n {\n \"name\": \"Pakistan\",\n \"dial_code\": \"+92\",\n \"code\": \"PK\"\n },\n {\n \"name\": \"Palau\",\n \"dial_code\": \"+680\",\n \"code\": \"PW\"\n },\n {\n \"name\": \"Palestinian Territory, Occupied\",\n \"dial_code\": \"+970\",\n \"code\": \"PS\"\n },\n {\n \"name\": \"Panama\",\n \"dial_code\": \"+507\",\n \"code\": \"PA\"\n },\n {\n \"name\": \"Papua New Guinea\",\n \"dial_code\": \"+675\",\n \"code\": \"PG\"\n },\n {\n \"name\": \"Paraguay\",\n \"dial_code\": \"+595\",\n \"code\": \"PY\"\n },\n {\n \"name\": \"Peru\",\n \"dial_code\": \"+51\",\n \"code\": \"PE\"\n },\n {\n \"name\": \"Philippines\",\n \"dial_code\": \"+63\",\n \"code\": \"PH\"\n },\n {\n \"name\": \"Pitcairn\",\n \"dial_code\": \"+872\",\n \"code\": \"PN\"\n },\n {\n \"name\": \"Poland\",\n \"dial_code\": \"+48\",\n \"code\": \"PL\"\n },\n {\n \"name\": \"Portugal\",\n \"dial_code\": \"+351\",\n \"code\": \"PT\"\n },\n {\n \"name\": \"Puerto Rico\",\n \"dial_code\": \"+1939\",\n \"code\": \"PR\"\n },\n {\n \"name\": \"Qatar\",\n \"dial_code\": \"+974\",\n \"code\": \"QA\"\n },\n {\n \"name\": \"Romania\",\n \"dial_code\": \"+40\",\n \"code\": \"RO\"\n },\n {\n \"name\": \"Russia\",\n \"dial_code\": \"+7\",\n \"code\": \"RU\"\n },\n {\n \"name\": \"Rwanda\",\n \"dial_code\": \"+250\",\n \"code\": \"RW\"\n },\n {\n \"name\": \"Reunion\",\n \"dial_code\": \"+262\",\n \"code\": \"RE\"\n },\n {\n \"name\": \"Saint Barthelemy\",\n \"dial_code\": \"+590\",\n \"code\": \"BL\"\n },\n {\n \"name\": \"Saint Helena, Ascension and Tristan Da Cunha\",\n \"dial_code\": \"+290\",\n \"code\": \"SH\"\n },\n {\n \"name\": \"Saint Kitts and Nevis\",\n \"dial_code\": \"+1869\",\n \"code\": \"KN\"\n },\n {\n \"name\": \"Saint Lucia\",\n \"dial_code\": \"+1758\",\n \"code\": \"LC\"\n },\n {\n \"name\": \"Saint Martin\",\n \"dial_code\": \"+590\",\n \"code\": \"MF\"\n },\n {\n \"name\": \"Saint Pierre and Miquelon\",\n \"dial_code\": \"+508\",\n \"code\": \"PM\"\n },\n {\n \"name\": \"Saint Vincent and the Grenadines\",\n \"dial_code\": \"+1784\",\n \"code\": \"VC\"\n },\n {\n \"name\": \"Samoa\",\n \"dial_code\": \"+685\",\n \"code\": \"WS\"\n },\n {\n \"name\": \"San Marino\",\n \"dial_code\": \"+378\",\n \"code\": \"SM\"\n },\n {\n \"name\": \"Sao Tome and Principe\",\n \"dial_code\": \"+239\",\n \"code\": \"ST\"\n },\n {\n \"name\": \"Saudi Arabia\",\n \"dial_code\": \"+966\",\n \"code\": \"SA\"\n },\n {\n \"name\": \"Senegal\",\n \"dial_code\": \"+221\",\n \"code\": \"SN\"\n },\n {\n \"name\": \"Serbia\",\n \"dial_code\": \"+381\",\n \"code\": \"RS\"\n },\n {\n \"name\": \"Seychelles\",\n \"dial_code\": \"+248\",\n \"code\": \"SC\"\n },\n {\n \"name\": \"Sierra Leone\",\n \"dial_code\": \"+232\",\n \"code\": \"SL\"\n },\n {\n \"name\": \"Singapore\",\n \"dial_code\": \"+65\",\n \"code\": \"SG\"\n },\n {\n \"name\": \"Slovakia\",\n \"dial_code\": \"+421\",\n \"code\": \"SK\"\n },\n {\n \"name\": \"Slovenia\",\n \"dial_code\": \"+386\",\n \"code\": \"SI\"\n },\n {\n \"name\": \"Solomon Islands\",\n \"dial_code\": \"+677\",\n \"code\": \"SB\"\n },\n {\n \"name\": \"Somalia\",\n \"dial_code\": \"+252\",\n \"code\": \"SO\"\n },\n {\n \"name\": \"South Africa\",\n \"dial_code\": \"+27\",\n \"code\": \"ZA\"\n },\n {\n \"name\": \"South Sudan\",\n \"dial_code\": \"+211\",\n \"code\": \"SS\"\n },\n {\n \"name\": \"South Georgia and the South Sandwich Islands\",\n \"dial_code\": \"+500\",\n \"code\": \"GS\"\n },\n {\n \"name\": \"Spain\",\n \"dial_code\": \"+34\",\n \"code\": \"ES\"\n },\n {\n \"name\": \"Sri Lanka\",\n \"dial_code\": \"+94\",\n \"code\": \"LK\"\n },\n {\n \"name\": \"Sudan\",\n \"dial_code\": \"+249\",\n \"code\": \"SD\"\n },\n {\n \"name\": \"Suriname\",\n \"dial_code\": \"+597\",\n \"code\": \"SR\"\n },\n {\n \"name\": \"Svalbard and Jan Mayen\",\n \"dial_code\": \"+47\",\n \"code\": \"SJ\"\n },\n {\n \"name\": \"Swaziland\",\n \"dial_code\": \"+268\",\n \"code\": \"SZ\"\n },\n {\n \"name\": \"Sweden\",\n \"dial_code\": \"+46\",\n \"code\": \"SE\"\n },\n {\n \"name\": \"Switzerland\",\n \"dial_code\": \"+41\",\n \"code\": \"CH\"\n },\n {\n \"name\": \"Syrian Arab Republic\",\n \"dial_code\": \"+963\",\n \"code\": \"SY\"\n },\n {\n \"name\": \"Taiwan\",\n \"dial_code\": \"+886\",\n \"code\": \"TW\"\n },\n {\n \"name\": \"Tajikistan\",\n \"dial_code\": \"+992\",\n \"code\": \"TJ\"\n },\n {\n \"name\": \"Tanzania, United Republic of Tanzania\",\n \"dial_code\": \"+255\",\n \"code\": \"TZ\"\n },\n {\n \"name\": \"Thailand\",\n \"dial_code\": \"+66\",\n \"code\": \"TH\"\n },\n {\n \"name\": \"Timor-Leste\",\n \"dial_code\": \"+670\",\n \"code\": \"TL\"\n },\n {\n \"name\": \"Togo\",\n \"dial_code\": \"+228\",\n \"code\": \"TG\"\n },\n {\n \"name\": \"Tokelau\",\n \"dial_code\": \"+690\",\n \"code\": \"TK\"\n },\n {\n \"name\": \"Tonga\",\n \"dial_code\": \"+676\",\n \"code\": \"TO\"\n },\n {\n \"name\": \"Trinidad and Tobago\",\n \"dial_code\": \"+1868\",\n \"code\": \"TT\"\n },\n {\n \"name\": \"Tunisia\",\n \"dial_code\": \"+216\",\n \"code\": \"TN\"\n },\n {\n \"name\": \"Turkey\",\n \"dial_code\": \"+90\",\n \"code\": \"TR\"\n },\n {\n \"name\": \"Turkmenistan\",\n \"dial_code\": \"+993\",\n \"code\": \"TM\"\n },\n {\n \"name\": \"Turks and Caicos Islands\",\n \"dial_code\": \"+1649\",\n \"code\": \"TC\"\n },\n {\n \"name\": \"Tuvalu\",\n \"dial_code\": \"+688\",\n \"code\": \"TV\"\n },\n {\n \"name\": \"Uganda\",\n \"dial_code\": \"+256\",\n \"code\": \"UG\"\n },\n {\n \"name\": \"Ukraine\",\n \"dial_code\": \"+380\",\n \"code\": \"UA\"\n },\n {\n \"name\": \"United Arab Emirates\",\n \"dial_code\": \"+971\",\n \"code\": \"AE\"\n },\n {\n \"name\": \"United Kingdom\",\n \"dial_code\": \"+44\",\n \"code\": \"GB\"\n },\n {\n \"name\": \"United States\",\n \"dial_code\": \"+1\",\n \"code\": \"US\"\n },\n {\n \"name\": \"Uruguay\",\n \"dial_code\": \"+598\",\n \"code\": \"UY\"\n },\n {\n \"name\": \"Uzbekistan\",\n \"dial_code\": \"+998\",\n \"code\": \"UZ\"\n },\n {\n \"name\": \"Vanuatu\",\n \"dial_code\": \"+678\",\n \"code\": \"VU\"\n },\n {\n \"name\": \"Venezuela, Bolivarian Republic of Venezuela\",\n \"dial_code\": \"+58\",\n \"code\": \"VE\"\n },\n {\n \"name\": \"Vietnam\",\n \"dial_code\": \"+84\",\n \"code\": \"VN\"\n },\n {\n \"name\": \"Virgin Islands, British\",\n \"dial_code\": \"+1284\",\n \"code\": \"VG\"\n },\n {\n \"name\": \"Virgin Islands, U.S.\",\n \"dial_code\": \"+1340\",\n \"code\": \"VI\"\n },\n {\n \"name\": \"Wallis and Futuna\",\n \"dial_code\": \"+681\",\n \"code\": \"WF\"\n },\n {\n \"name\": \"Yemen\",\n \"dial_code\": \"+967\",\n \"code\": \"YE\"\n },\n {\n \"name\": \"Zambia\",\n \"dial_code\": \"+260\",\n \"code\": \"ZM\"\n },\n {\n \"name\": \"Zimbabwe\",\n \"dial_code\": \"+263\",\n \"code\": \"ZW\"\n }\n ]\n\n selectedPhoneCodes = this.phoneCode;\n selectedPhoneCode:any = '+1';\n\n submitted: boolean = false;\n modalRef: BsModalRef;\n currentUser:any;\n profileData:any;\n\n \n @Output() MobNumDetails = new EventEmitter()\n constructor(\n private service: RegistrationPartService,\n private router: Router,\n private modalService: BsModalService,\n private toastr: ToastrService,\n private location: LocationStrategy,\n private sharedService: SharedService,\n private spinner: SpinnerVisibilityService,\n ) { \n history.pushState(null, null, window.location.href); \n this.location.onPopState(() => {\n history.pushState(null, null, window.location.href);\n }); \n }\n\n separateDialCode = false;\n SearchCountryField = SearchCountryField;\n CountryISO = CountryISO;\n updateScreen;\n generUpdatemodalRef;\n PhoneNumberFormat = PhoneNumberFormat;\n preferredCountries: CountryISO[] = [CountryISO.UnitedStates, CountryISO.UnitedKingdom];\n @ViewChild(\"showupdateGenerModal\") showupdateGenerModal: TemplateRef;\n\n resetForm = new FormGroup({\n phone: new FormControl('', [Validators.required, Validators.minLength(9)]),\n code: new FormControl('+1', [Validators.required])\n })\n\n ngOnInit(): void {\n\n this.currentUser = this.service.currentUserValue;\n this.spinner.show()\n this.sharedService.getProfile().subscribe((res:any)=> {\n if(res.type == 'success'){\n this.profileData = res.data;\n\n console.log( this.profileData, \" this.profileData\");\n this.selectedPhoneCode = this.profileData?.countryCode;\n this.resetForm.get('phone').setValue(this.profileData?.mobileNumber);\n this.spinner.hide()\n }\n })\n }\n\n showUpdateModal(updateScreen){\n this.updateScreen = updateScreen;\n this.generUpdatemodalRef = this.modalService.show(this.showupdateGenerModal,{class:\"update-gener-modal\"});\n }\n\n \n collectUpdatedupdateMobNum(e){\n console.log(e, \"updated phone number details\");\n // this.updateProfileForm.get('otp').patchValue(e.MobileNumber);\n this.generUpdatemodalRef.hide();\n this.MobNumDetails.emit(e);\n }\n\n updateProfileForm = new FormGroup({\n otp: new FormControl(''),\n })\n\n get f() {\n return this.resetForm.controls;\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n sendEmailToLogin:any;\n\n verifyPhone() {\n // this.showUpdateModal('updateOTP')\n let phoneNumber = this.resetForm.value.phone.replace(' ','').replace(' ','');\n this.submitted = true;\n if (this.resetForm.invalid || this.resetForm.pristine) return;\n this.submitted = false;\n\n let data = {\n countryCode: this.resetForm.value.code,\n mobileNumber: phoneNumber\n }\n if(phoneNumber.length >= 9 && phoneNumber.length <= 13){\n this.service.sendOTP(data)\n .subscribe((res: any) => {\n if (res.type == 'success') {\n this.toastr.success(\"Code sent to your phone number\");\n // let phone = this.resetForm.value.phone;\n phoneNumber = phoneNumber.replace(/(\\d{3})(\\d{3})(\\d+)/, \"$1 $2 $3\");\n localStorage.setItem('phone', JSON.stringify(phoneNumber));\n localStorage.setItem('countryCode', JSON.stringify(this.resetForm.value.code));\n // this.router.navigateByUrl('/register/enter/code');\n this.showUpdateModal('updateOTP')\n }else{\n this.toastr.error('error');\n }\n })\n }else{\n this.toastr.error('Please put 9 digit mobile number.');\n }\n }\n\n\n\n numberOnly(evt: any){\n let value = evt.target.value;\n var charCode = evt.which ? evt.which : evt.keyCode;\n if(charCode == 46){\n return false;\n }\n if (charCode == 8 || charCode == 37) {\n return true;\n } else if (charCode == 46 && value.indexOf(\".\") != -1) {\n return false;\n } else if (\n charCode > 31 &&\n charCode != 46 &&\n (charCode < 48 || charCode > 57)\n ) {\n return false;\n }\n return true;\n }\n\nNextDisabledForPhoneNum = false;\n\n phoneFormat(e:any){\n\n e ? e = e?.replace(/[^\\d]/g,'') : e;\n\n e = e.replaceAll(' ','');\n\n console.log(e);\n \n if(e.length>=9 && e.length<=13){\n let phone = this.resetForm.value.phone;\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n e = e.replace(/(\\d{3})(\\d{3})(\\d+)/, \"$1 $2 $3\");\n this.resetForm.get('phone').patchValue(e);\n console.log(this.resetForm)\n }\n else if(e.length>13){\n console.log(\"hi\")\n e = e.slice(0,13);\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n e = e.replace(/(\\d{3})(\\d{3})(\\d+)/, \"$1 $2 $3\");\n this.resetForm.get('phone').patchValue(e);\n }\n\n if(e.replaceAll(' ','').length >= 9 && e.replaceAll(' ','').length <= 13){\n this.NextDisabledForPhoneNum = false;\n }\n else {\n this.NextDisabledForPhoneNum = true;\n }\n\n\n // if(e.length==10){\n // let phone = this.resetForm.value.phone;\n // // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1 $2 $3\");\n // this.resetForm.get('phone').patchValue(phone);\n // console.log( this.resetForm)\n // }\n // if(e.length<9){\n // let phone = this.resetForm.value.phone;\n // // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1 $2 $3\");\n // this.resetForm.get('phone').patchValue(phone);\n // console.log( this.resetForm)\n // console.log(this.resetForm,\"hellow <10\")\n // }\n // if(e.length>=11){\n // console.log(\"hi\")\n // let phone = this.resetForm.value.phone.slice(0,12);\n // // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1-$2-$3\");\n // phone = phone.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"$1 $2 $3\");\n // this.resetForm.get('phone').patchValue(phone);\n // }\n\n // if(e.length < 10){\n // this.NextDisabledForPhoneNum = true;\n // }\n // else if(e.length ==10){\n // this.NextDisabledForPhoneNum = false;\n // }\n\n }\n\n\n onSelectCode(e:any){\n }\n\n \n onKey(value) { \n this.selectedPhoneCodes = this.search(value);\n }\n\n search(value: string) { \n let filter = value.toLowerCase();\n return this.phoneCode.filter(option => option.name.toLowerCase().includes(filter));\n }\n\n\n}\n","
      \n
      \n
      \n
      \"logo\"
      \n\n
      \n
      \n
      \n
      \n

      Update Your Phone Number

      \n
      \n
      \n
      \n \n \n \n \n {{ selectedPhoneCode }}\n \n {{code.name}}\n \n \n
      \n \n
      \n \n \n Phone number is required.\n \n \n \n Please put 9 digit mobile number.\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, EventEmitter, Input, OnInit, Output, TemplateRef } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { SpinnerVisibilityService } from \"ng-http-loader\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { SharedService } from \"../services/shared.service\";\nimport * as $ from 'jquery';\n@Component({\n selector: \"app-youtube-card\",\n templateUrl: \"./youtube-cards.component.html\",\n styleUrls: [\"./youtube-cards.component.scss\"],\n})\nexport class YoutubeCardsComponent implements OnInit {\n youtubePlayData:any;\n selectedIndex:any;\n // playList:any=[];\n\n constructor(\n public router: Router,\n private service: SharedService,\n private toastrService: ToastrService,\n private spinner: SpinnerVisibilityService\n ) {}\n\n // @Input() goYoutube: any;\n // @Input() playList: any=[];\n // @Input() playlistModelOpen: any;\n\n playList = [];\n\n @Input() userId;\n\n @Output() gotoYoutube = new EventEmitter();\n\n ngOnInit(): void {\n this.getPlayList();\n var youTubeURL = 'http://gdata.youtube.com/feeds/api/videos/EEcldrVuiYU?v=2&alt=json';\n var json = (function () {\n $.ajax({\n 'async': false,\n 'global': false,\n 'url': youTubeURL,\n 'dataType': \"jsonp\", // necessary for IE9\n crossDomain: true,\n 'success': function (data) {\n var duration = data.entry.media$group.yt$duration.seconds;\n alert(duration);\n }\n });\n })();\n }\n\n getPlayList(){\n this.service.getYoutubeList(this.userId,1,20).subscribe((res: any) => {\n\n if(res.data && res.data.length){\n this.playList = res?.data;\n }\n })\n // this.spinner.show();\n // this.service.getPlayList().subscribe((res:any)=> {\n // if(res.type == 'success'){\n // this.playList = res.data;\n // }else{\n // this.toastrService.error(res.message);\n // }\n // })\n // this.spinner.hide();\n }\n\n navigateToYoutube(){\n this.gotoYoutube.emit();\n }\n\n openYoutubeModal(data:any){\n this.service.playYoutube(data);\n }\n\n // gotoYoutube(){\n // this.goYoutube = 4;\n // this.service.selectYoutube(4);\n // }\n\n getImage(id){\n let src = \"https://img.youtube.com/vi/\" +id +\"/0.jpg\";\n return src\n }\n\n getDuration(id:any){\n // let du = (document.getElementById('first')).duration;\n }\n \n}\n","
      \n
      \n
      \n \"\"\n YouTube\n
      \n
      3\">\n See all\n
      \n
      \n\n
      0}\">\n
      \n \n
      \n
      \n \"\"\n
      \n
      \n
      \n

      {{i?.name}}

      \n

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

      No Data Found

      \n
      \n","
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n \n
      \n
      \n
      \n
      \n \"\"\n\n
      \n \"\"\n
      \n
      \n \n {{ISO8601toDuration(video?.items[0].contentDetails?.duration)}}\n
      \n
      \n

      {{ video.name }}

      \n
      \n
      \n \n
      \n
      \n
      \n \"\"\n\n
      \n \"\"\n
      \n \n
      playlist {{video.totalCount}}
      \n
      \n

      {{ video.name }}

      \n
      \n
      \n \n
      \n
      \n\n
      \n
      \n
      \n No Playlist Yet !\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

      {{videoSong.name}}

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

      Are you sure you want to remove this {{removingItem}}?

      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      ","import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ToastrService } from 'ngx-toastr';\nimport { SharedService } from '../services/shared.service';\nimport { YtPlayerService } from 'yt-player-angular';\n\n@Component({\n selector: 'app-youtube',\n templateUrl: './youtube.component.html',\n styleUrls: ['./youtube.component.scss']\n})\nexport class YoutubeComponent implements OnInit {\n\n @ViewChild(\"youtubePlayVideo\") youtubePlayVideo: TemplateRef;\n\n @ViewChild(\"youtubePlayList\") youtubePlayList: TemplateRef;\n\n @Input() userId;\n\n @ViewChild(\"removeYoutubeModal\") removeYoutubeModal: TemplateRef;\n\n constructor(\n private modalService: BsModalService,\n private service: SharedService,\n private toastrService: ToastrService,\n private ytPlayerService: YtPlayerService\n ) { }\n\n ngOnInit(): void {\n this.getYoutubePlaylist();\n }\n\n playList = [];\n NextPageTokenForYoutube;\n moreVideosComing: Boolean = false;\n myInputValues = '';\n\n page = 1;\n pageSize = 20;\n\n modalRef: any;\n loadMoreYoutube: Boolean = true; \n\n getYoutubePlaylist() {\n this.service.getYoutubeList(this.userId,this.page,this.pageSize).subscribe((res: any) => {\n\n if(res.data && res.data.length){\n this.playList = res?.data;\n }\n // this.playList = res?.data?.youtubeResult;\n // console.log(res.data.videos);\n // this.playList = res.data.videos;\n // if (res.data?.pageInfo?.nextPageToken) {\n // this.moreVideosComing = true;\n // }\n // this.NextPageTokenForYoutube = res.data.pageInfo.nextPageToken;\n })\n }\n\n youtubePlayData;\n currentlyPlayingVideoId;\n videoPlayerOptions = {\n autoplay: true,\n width:906,\n height:596\n }\n selectedVideoFrom;\n selectedVideoIndex;\n openYoutubeModalP(type,index,videoId) {\n // console.log(videoIndex);\n // console.log(data);\n // this.youtubePlayData=data;\n\n this.currentlyPlayingVideoId = videoId;\n this.selectedVideoFrom = type;\n this.selectedVideoIndex = index;\n\n let initialState: ModalOptions = {\n // initialState: {\n // videoId: this.currentlyPlayingVideoId,\n // videoIndex,\n // playList:this.playList,\n // videoPlayerOptions : {\n // autoplay: true,\n // width:906,\n // height:596\n // }\n // } as Partial,\n class: 'ytmodalpopup'\n };\n this.modalRef = this.modalService.show(this.youtubePlayVideo, initialState);\n\n\n\n // this.openModal(this.youtubePlay);\n // setTimeout(()=>{\n // this.currentlyPlayingVideoId = data.url.split('v=')[1];\n // console.log(data);\n // console.log(this.currentlyPlayingVideoId);\n // this.ytPlayerService.play();\n // // console.log(this.youtubePlayer);\n // // this.youtubePlayer.load('GKSRyLdjsPA')\n // // this.youtubePlayer.setVolume(100)\n\n // // this.youtubePlayer.on('playing', () => {\n // // console.log(this.youtubePlayer.getDuration()) // => 351.521\n // // });\n // },5000)\n\n }\n\n ISO8601toDuration(input) {\n var H = this.formatTimeUnit(input, 'H');\n var M = this.formatTimeUnit(input, 'M');\n var S = this.formatTimeUnit(input, 'S');\n\n if (H == \"00\") {\n H = \"\";\n } else {\n H += \":\"\n }\n\n return H + M + ':' + S;\n }\n\n formatTimeUnit(input, unit){\n var index = input.indexOf(unit);\n var output = \"00\"\n if(index < 0){\n return output; // unit isn't in the input\n }\n \n if(isNaN(input.charAt(index-2))){\n return '0' + input.charAt(index-1);\n }else{\n return input.charAt(index-2) + input.charAt(index-1);\n }\n }\n\n showAddUrlLoader: Boolean = false;\n addYoutubeUrl(){\n this.showAddUrlLoader = true;\n console.log((document.getElementById(\"youtubeUrlNew\")).value);\n let youtubeUrlNew = (document.getElementById(\"youtubeUrlNew\")).value;\n this.service.addYoutubeUrl({url:youtubeUrlNew}).subscribe((res:any)=>{\n this.showAddUrlLoader = false;\n console.log(res);\n if(res?.data?.items?.length){\n res.data.totalCount = res.data?.items?.length;\n }\n this.playList.unshift(res.data);\n (document.getElementById(\"youtubeUrlNew\")).value = '';\n this.myInputValues = '';\n },\n (err)=>{\n this.showAddUrlLoader = false;\n console.log(err);\n console.log(err?.error?.message);\n if(err?.error?.message?.includes('iFrame code already added')){\n this.toastrService.info(\"iFrame code already added\");\n }\n else {\n this.toastrService.info(err?.error?.message);\n }\n (document.getElementById(\"youtubeUrlNew\")).value = '';\n this.myInputValues = '';\n })\n }\n // transFormUrl(url){\n // // return this.domSanitizer.sanitize(SecurityContext.URL, url);\n // return this.domSanitizer.bypassSecurityTrustResourceUrl(url);\n // }\n iframeSource = '';\n // soundcloudModalP(iframesrc:any){\n // let initialState: ModalOptions = {\n // initialState: {\n // source:iframesrc\n // } as Partial,\n // class: 'soundcloudpopup'\n // };\n // this.iframeSource = iframesrc;\n // this.modalRef = this.modalService.show(this.soundcloudIframe, initialState);\n // }\n\n // removeYoutube(id,index){\n // this.service.removeYoutubeUrl(id).subscribe((res:any)=>{\n // console.log(res);\n // if(res.type == 'success'){\n // this.playList.splice(index,1);\n // }\n // })\n // }\n\n loadMoreYoutubeData(e){\n console.log(\"scrolled fired\");\n if(this.loadMoreYoutube){\n console.log(\"loading more\")\n this.page++;\n this.getMoreYoutubeList();\n }\n }\n\n // loadMoreSoundcloud:Boolean = true;\n // userId;\n getMoreYoutubeList(){\n this.service.getYoutubeList(this.userId,this.page,this.pageSize).subscribe((res:any)=>{\n console.log(res);\n if(res.data.length){\n this.playList.push(...res.data);\n }\n else{\n this.loadMoreYoutube = false;\n }\n })\n }\n\n openYoutubePlayVideoModal(videoIndex, data: any) {\n console.log(videoIndex);\n console.log(data);\n this.youtubePlayData=data;\n this.currentlyPlayingVideoId = data.url.split('v=')[1];\n let initialState: ModalOptions = {\n initialState: {\n videoId: this.currentlyPlayingVideoId,\n videoIndex,\n playList:this.playList,\n videoPlayerOptions : {\n autoplay: true,\n width:906,\n height:596\n }\n } as Partial,\n class: 'ytmodalpopup'\n };\n this.modalRef = this.modalService.show(this.youtubePlayVideo, initialState);\n\n }\n\n selectedYoutubePlaylist = [];\n selectedYoutubePlaylistIndex;\n youtubePlayListModalRef;\n showPlaylistLoader: Boolean = false;\n getPlaylistItems(id,index){\n // this.showPlaylistLoader = true;\n this.youtubePlayListModalRef = this.modalService.show(this.youtubePlayList,{class:'youtubeplaylisstpopup'});\n this.showPlaylistLoader = true;\n this.service.getYoutubePlaylistItems(id).subscribe((res:any)=>{\n this.showPlaylistLoader = false;\n console.log(res);\n this.selectedYoutubePlaylist = res.data;\n this.selectedYoutubePlaylistIndex = index;\n },err => {\n this.showPlaylistLoader = false;\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n close(){\n \n this.youtubePlayListModalRef.hide();\n this.selectedYoutubePlaylist = [];\n }\n\n getNextVideo(){\n\n console.log(\"from get next video\");\n\n if(this.selectedVideoFrom == 'single'){\n console.log(\"single\");\n this.checkNextAndPlay();\n }\n else if(this.selectedVideoFrom == 'playlist'){\n console.log(\"playlist\");\n this.selectedVideoIndex == this.selectedYoutubePlaylist.length-1 ? this.selectedVideoIndex = 0 : this.selectedVideoIndex = this.selectedVideoIndex+1;\n // this.selectedVideoIndex = this.selectedVideoIndex+1;\n this.currentlyPlayingVideoId = this.selectedYoutubePlaylist[this.selectedVideoIndex].videoId;\n this.playVideo(this.currentlyPlayingVideoId);\n }\n else{\n this.toastrService.info(\"unable to find the video type\");\n }\n \n // this.ytPlayerService.\n }\n\n checkNextAndPlay(){\n console.log(\"check next and play\");\n // debugger;\n // this.selectedVideoIndex = this.selectedVideoIndex + 1;\n for(let i=this.selectedVideoIndex;i {})\n // player.on('ended', () => {})\n // player.on('playing', () => {})\n // player.on('paused', () => {})\n // player.on('buffering', () => {})\n // player.on('cued', () => {})\n // this.ytPlayerService.\n // this.ytPlayerService.loadVideoById({})\n }\n\n apiChange(e){\n console.log(\"api change event\",e)\n }\n\n ready(e){\n console.log(\"ready\",e)\n }\n\n unstarted(e){\n console.log(\"unstarted\",e);\n }\n\n buffering(e){\n console.log(\"buffering\",e);\n }\n\n paused(e){\n console.log(\"paused\",e);\n }\n\n onStateChange(e){\n console.log(e);\n // if(e.type == 6){\n // setTimeout(()=>{\n // // let elm: any = document.getElementsByClassName(\"ytp-chrome-top-buttons\")[0];\n // // elm.style.display = 'none';\n // // debugger;\n // const x = document.querySelector(\"iframe\").contentWindow;\n // //x = window.frames[0];\n\n // x.document.querySelector(\"body\").style.backgroundColor = \"blue\";\n // // this would turn the 1st iframe in document blue.\n\n // console.log(x);\n // console.log(document.getElementsByClassName(\"ytp-chrome-top-buttons\")[0]);\n // },10000);\n // } \n if(e.type == 3){\n console.log(\"going to next\");\n this.getNextVideo();\n }\n }\n\n removeYoutubeId;\n removeYoutubeIndex;\n removeModalref;\n removingItem = '';\n\n // openRemoveYoutubeUrlModal(id, index){\n // this.removeYoutubeId = id;\n // this.removeYoutubeIndex = index;\n // this.removeModalref = this.modalService.show(this.removeYoutubeUrlModal);\n // }\n\n openRemoveYoutubeModal(type,id, index){\n if(type == 'single'){\n this.removingItem = 'video';\n }\n else if(type == 'playlist'){\n this.removingItem = 'playlist';\n }\n else if(type == 'playlistItem'){\n this.removingItem = 'track from playlist';\n }\n this.removeYoutubeId = id;\n this.removeYoutubeIndex = index;\n this.removeModalref = this.modalService.show(this.removeYoutubeModal,{class : 'removeytmodal'});\n }\n\n removeYoutube(){\n this.showRemoveUrlLoader = true;\n switch(this.removingItem){\n case 'video' : this.removeYoutubeUrl(); break;\n case 'playlist' : this.removePlaylist(); break;\n case 'track from playlist' : this.removePlaylistItem(); break;\n }\n }\n showRemoveUrlLoader: Boolean = false;\n removeYoutubeUrl(){\n this.service.removeYoutubeUrl(this.removeYoutubeId).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.playList.splice(this.removeYoutubeIndex,1);\n }\n this.removeModalref.hide();\n this.showRemoveUrlLoader = false;\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n removePlaylist(){\n let id = this.playList[this.removeYoutubeIndex]._id;\n this.service.removeYoutubePlaylist(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.playList.splice(this.removeYoutubeIndex,1);\n }\n this.removeModalref.hide();\n this.showRemoveUrlLoader = false;\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n removePlaylistItem(){\n let id = this.selectedYoutubePlaylist[this.removeYoutubeIndex]._id;\n this.service.removeYoutubePlaylistItem(id).subscribe((res:any)=>{\n console.log(res);\n if(res.type == 'success'){\n this.selectedYoutubePlaylist.splice(this.removeYoutubeIndex,1);\n if(!this.selectedYoutubePlaylist.length){\n this.playList.splice(this.selectedYoutubePlaylistIndex,1);\n this.youtubePlayListModalRef?.hide();\n }\n }\n this.removeModalref.hide();\n this.showRemoveUrlLoader = false;\n },err => {\n this.showRemoveUrlLoader = false;\n this.removeModalref.hide();\n this.toastrService.info(\"please try after sometime\");\n })\n }\n\n // currentlyPlayingVideoType;\n // currentlyPlayingVideoIndex;\n // currentlyPlayingPlaylistIndex;\n\n playPreviousVideo(){\n\n this.getPreviousVideo();\n\n }\n\n playNextVideo(){\n\n this.getNextVideo();\n\n\n }\n\n getPreviousVideo(){\n\n console.log(\"from get previous video\");\n\n if(this.selectedVideoFrom == 'single'){\n console.log(\"single\");\n this.checkPrevoiusSingleAndPlay();\n }\n else if(this.selectedVideoFrom == 'playlist'){\n console.log(\"playlist\");\n this.selectedVideoIndex == 0 ? this.selectedVideoIndex = this.selectedYoutubePlaylist.length-1 : this.selectedVideoIndex = this.selectedVideoIndex-1;\n // this.selectedVideoIndex = this.selectedVideoIndex+1;\n this.currentlyPlayingVideoId = this.selectedYoutubePlaylist[this.selectedVideoIndex].videoId;\n this.playVideo(this.currentlyPlayingVideoId);\n }\n else{\n this.toastrService.info(\"unable to find the video type\");\n }\n \n // this.ytPlayerService.\n }\n\n checkPrevoiusSingleAndPlay(){\n console.log(\"check previous single and play\");\n // debugger;\n // this.selectedVideoIndex = this.selectedVideoIndex + 1;\n for(let i=this.selectedVideoIndex;i = new BehaviorSubject('');\n\n socket = io(environment.BaseChatUrl,{\n query:{accessToken:JSON.parse(localStorage.getItem('currentUser')).token}\n });\n\n constructor(\n private http: HttpClient\n ) {\n // this.manager = new Manager(\"https://indietown-api.approd.ca\");\n\n // console.log(\"gggggggggggggggg\");\n // this.socket = this.manager.socket(\"/\");\n // this.socket.io.on(\"connect\",(socket)=>{\n // console.log(\"connection made successfully\");\n // this.socket.io.emit('login',{userId:'63fee68942cce284d9a69b51'});\n // socket.on('chat-message',(data)=>{\n // console.log(\"got a notification\");\n // console.log(data);\n // })\n // socket.on(\"error\", (error) => {\n // console.log(\"I am here at the error\");\n // console.log(error);\n // // ...\n // });\n // });\n // this.socket.io.on('chat-message',(data)=>{\n // console.log(\"got a notification\");\n // console.log(data);\n // })\n // this.socket.io.on(\"error\", (error) => {\n // console.log(\"I am here at the error\");\n // console.log(error);\n // // ...\n // });\n \n // this.listenMsg();\n this.socket.on('receive-message', (message) =>{\n this.message$.next(message);\n console.log(\"got a message from service\", message);\n });\n \n }\n\n ngOnInIt(){\n \n }\n\n public sendMessage(message: any) {\n console.log('sendMessage: ', message)\n this.socket.emit('send-message', message);\n }\n \n // public getNewMessage = () => {\n // this.socket.on('receive-message', (message) =>{\n // this.message$.next(message);\n // console.log(\"got a message\", message);\n // });\n\n // return this.message$.asObservable();\n // };\n \n \n\n getChatUsersList(data){\n return this.http.get(this.url + `api/chat/chat-users?page=${data.page}&pageSize=${data.pageSize}`); \n }\n getUserChat(params){\n return this.http.get(this.url + 'api/chat/messages',{\n params:params\n }); \n }\n\n\n getDraftMessages(params){\n return this.http.get(this.url + 'api/chat/draft-messages',{\n params:params\n }); \n }\n\n saveMessage(message){\n return this.http.post(this.url + 'api/chat/send-message',message); \n }\n\n updateDraftMessage(data){\n return this.http.post(this.url + 'api/chat/update-draft-message',data); \n }\n\n deleteUserChat(userId){\n return this.http.delete(this.url + `api/chat/delete-messages/${userId}`); \n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n initiatChat(param:any) {\n this.socket.emit('initialFromFrontEnd', param);\n }\n\n socketoff(listner:any) {\n this.socket.removeAllListeners(listner);\n }\n\n socketon() {\n console.log('this.socket', this.socket);\n this.socket.connect();\n }\n\n socketend() {\n this.socket.disconnect();\n }\n\n \n sendMsg(param:any) {\n this.socket.emit('new-message', param);\n }\n\n login(data:any) {\n this.socket.emit('login', data);\n }\n listenMsg(){\n // this.socket.listeners('');\n this.socket.on('chat-message',(data)=>{\n console.log(\"got a notification\");\n console.log(data);\n })\n }\n\n getAnswer(param:any) {\n console.log('chat service params', this.socket);\n this.socket.emit('answerOfChat', param);\n }\n\n getChatHistory() {\n return Observable.create((observer:any) => {\n this.socket.on('output', (message:any) => {\n console.log('output message', message);\n observer.next(message);\n });\n });\n }\n\n getSupportRequest() {\n return Observable.create((observer:any) => {\n this.socket.on('newRequestComing', (count:any) => {\n console.log('output message', count);\n observer.next(count);\n });\n });\n }\n\n friendsList(data){\n return this.http.get(this.url + `api/friend/list?page=${data.page}&pageSize=${data.pageSize}`)\n }\n\n readMessageUpdate(userId){\n return this.http.put(this.url + `api/chat/read-messages/${userId}`,{})\n }\n\n connectToSocket(currentUserId){\n this.socket.on(\"connect\",()=>{\n console.log(\"Connection made\");\n this.socket.emit('login',{userId:currentUserId});\n });\n }\n\n sendMsgEvent(data){\n this.socket.emit('new-message',data);\n }\n\n deleteMultipleConversations(userIds){\n return this.http.put(this.url + 'api/chat/delete-conversations',{userIds})\n }\n\n removeDraft(userId){\n return this.http.put(this.url + `api/chat/remove-draft-message/${userId}`,{})\n }\n \n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable()\nexport class NotificationsService {\n\n url: any = environment.API_URL;\n\n public newNotification$: BehaviorSubject = new BehaviorSubject('');\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n friendRequestList(page,pageSize){\n return this.http.get(this.url + `api/friend/fr-list?page=${page}&pageSize=${pageSize}`);\n }\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n activityList(data:any){\n return this.http.get(this.url + 'api/friend/fr-list'); \n }\n\n acceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n cancelRequest(data,id){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n getNotifications(page,pageSize){\n // return this.http.get(this.url + 'api/notification/web-list');\n return this.http.get(this.url + `api/notification/list?page=${page}&pageSize=${pageSize}`);\n }\n\n getPostDetails(postId){\n return this.http.get(this.url + `api/post/${postId}`)\n }\n\n readNotifications(){\n return this.http.put(this.url + 'api/notification/read',{});\n }\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class ProfileService {\n\n url: any = environment.API_URL;\n\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n createPost(data:any){\n return this.http.post(this.url + 'api/post/create-post', data);\n }\n\n getPosts(){\n return this.http.get(this.url + 'api/post/list');\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n\n uploadImage(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n createShow(data:any){\n return this.http.post(this.url + 'api/show/create', data);\n }\n\n reportPost(data:any,comment:any){\n return this.http.put(this.url + `api/post/report-post/${data}`,comment);\n }\n\n createComment(data:any){\n return this.http.post(this.url + 'api/comment/create', data);\n }\n\n getCommentsList(data:any){\n return this.http.get(this.url + `api/comment/list/${data}`)\n }\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n acceptRequest(data:any){\n return this.http.post(this.url + 'api/friend/accept', data);\n }\n\n friendRequestList(){\n return this.http.get(this.url + 'api/friend/fr-list');\n }\n\n acceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n silentPost(id:any, data:any){\n return this.http.put(this.url + `api/post/silent-post/${id}`,data);\n }\n\n reportComment(postId:any, commentId:any,comment:any, data:any){\n return this.http.put(this.url + `api/comment/report`,{postId,commentId,comment});\n }\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n\n getFriendsList(){\n return this.http.get(this.url + 'api/friend/list');\n }\n\n updatePlayList(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n }\n\n getPlayList(){\n return this.http.get(this.url + 'api/user/playlist');\n }\n\n unFriend(id:any,data){\n return this.http.put(this.url + `api/friend/unfriend-user/${id}`,data);\n }\n\n \n getPostById(id:any){\n return this.http.get(this.url + `api/post/${id}`);\n }\n\n getProfileById(id:any){\n return this.http.get(this.url + `api/user/user-profile/${id}`);\n }\n\n getArtistGenerList(){\n return this.http.get(this.url + 'api/genere/list');\n }\n\n \n\n} ","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { environment } from \"src/environments/environment\";\n// import { User } from '../models/user.model';\nimport { User } from \"src/app/auth/models/user.model\";\nimport { Subject } from \"rxjs\";\nimport { coerceStringArray } from \"@angular/cdk/coercion\";\n\n@Injectable()\n\nexport class RegistrationPartService {\n\n private userSubject: BehaviorSubject;\n // public user: Observable;\n\n\n private emailSend = new Subject();\n child1$ = this.emailSend.asObservable();\n\n\n SendToChild1(msg:string){\n this.emailSend.next(msg);\n }\n\n url: any = environment.API_URL;\n\n constructor(\n private http: HttpClient\n ) { }\n\n public get currentUserValue() {\n let data = localStorage.getItem('currentUser');\n let obj: Object = {};\n if (data !== 'undefined')\n return JSON.parse(localStorage.getItem('currentUser'));\n return false;\n }\n\n public get language() {\n let lang = localStorage.getItem('lang');\n console.log('lang', lang);\n if (lang) {\n return lang;\n }\n return false;\n }\n\n login(user: any) {\n return this.http.post(this.url + 'api/user/login', user);\n }\n\n reset(data: any) {\n return this.http.post(this.url + 'user/reset-password',data);\n }\n\n\n forgetPassword(data: any) {\n return this.http.post(this.url + 'api/user/forgot-password',data);\n\n \n }\n\n\n \n\n logout(data:any) {\n // localStorage.removeItem('currentUser');\n return this.http.post(this.url + 'user/logout', data);\n }\n\n updateuser(data: any) {\n return this.http.patch(this.url + 'user/update', data);\n }\n\n changePassword(data: any) {\n return this.http.post(this.url + 'user/change-password', data);\n }\n\n emailValidation(data:any){\n return this.http.post(this.url + \"user/emailExists\", data);\n }\n\n signUpUser(data:any){\n return this.http.post(this.url + 'api/user/signup', data);\n }\n\n uploadProfile(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n validateInvitationCode(data:any){\n return this.http.post(this.url + 'api/user/validate-invitation-code', data);\n }\n\n sendOTP(data:any){\n return this.http.post(this.url + 'api/user/send-otp', data);\n }\n\n\n verifyOTP(data:any){\n return this.http.post(this.url + 'api/user/verify-otp', data);\n }\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n\n updatePlaylists(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n }\n\n getGenres(){\n return this.http.get(this.url + 'api/community/list');\n }\n\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n cancelRequest(id:any,data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`, data);\n }\n \n updatePlayList(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n }\n\n getArtistGenerList(){\n return this.http.get(this.url + 'api/genere/list');\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n requestCode(data:any){\n return this.http.post(this.url + 'api/user/request-invitation-code',data);\n }\n\n getGenerSuggestions(keyword){\n let url = this.url + `api/genere/suggestions`;\n if(keyword)\n url = url + `?keyword=${keyword}`;\n return this.http.get(url);\n }\n\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable()\nexport class UrlService {\n private previousUrl: BehaviorSubject = new BehaviorSubject(null);\n public previousUrl$: Observable = this.previousUrl.asObservable();\n\n constructor() { }\n\n setPreviousUrl(previousUrl: string) {\n this.previousUrl.next(previousUrl);\n }\n\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class SearchResultService {\n\n url: any = environment.API_URL;\n\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n createPost(data:any){\n \n return this.http.post(this.url + 'api/post/create-post', data, {\n reportProgress: true,\n responseType: 'json',\n observe: 'events',\n });\n // return this.http.post(this.url + 'api/post/create-post', data);\n }\n\n getPosts(page,pageLimit){\n return this.http.get(this.url + `api/post/list?page=${page}&pageSize=${pageLimit}`);\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n\n uploadImage(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n createShow(data:any){\n return this.http.post(this.url + 'api/show/create', data);\n }\n\n reportPost(data:any,comment:any){\n return this.http.put(this.url + `api/post/report-post/${data}`,comment);\n }\n\n createComment(data:any){\n return this.http.post(this.url + 'api/comment/create', data);\n }\n\n getCommentsList(data:any,page:any,pageLimit:any){\n return this.http.get(this.url + `api/comment/list/${data}?pageNumber=${page}&limit=${pageLimit}`);\n\n // https://indietown-api.approd.ca/api/comment/list/63d8c4a55bddbc41fd5a5cc4?pageNumber=3&limit=10 like this \n }\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n acceptRequest(data:any){\n return this.http.post(this.url + 'api/friend/accept', data);\n }\n\n friendRequestList(){\n return this.http.get(this.url + 'api/friend/fr-list');\n }\n\n acceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n silentPost(id:any, data:any){\n return this.http.put(this.url + `api/post/silent-post/${id}`,data);\n }\n\n reportComment(postId:any, commentId:any,comment:any, data:any){\n return this.http.put(this.url + `api/comment/report`,{postId,commentId,comment});\n }\n\n likePost(id:any,data:any){\n return this.http.put(this.url + `api/post/update/${id}`,data);\n }\n \n updatePost(id:any,data:any){\n return this.http.put(this.url + `api/post/update-post/${id}`,data);\n }\n\n deletePost(id:any){\n return this.http.delete(this.url + `api/post/delete-user-post/${id}`);\n }\n\n getLikesList(id:any){\n return this.http.get(this.url + `api/post/post-likes/${id}`);\n }\n\n deleteComment(id:any){\n return this.http.put(this.url + `api/comment/delete/${id}`,{});\n }\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class SettingsService {\n\n url: any = environment.API_URL;\n\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n silentUsersList(){\n return this.http.get(this.url + 'api/user/silent-user-list');\n }\n\n changePassword(data:any){\n return this.http.put(this.url +'api/user/change-password', data);\n }\n\n\n unmuteUser(id:any){\n return this.http.post(this.url + 'api/user/un-silent-user',id)\n }\n\n invitationCode(){\n return this.http.get(this.url + 'api/user/invitation-code-list')\n }\n\n searchSilentUser(keyword){\n return this.http.get(this.url + `api/user/silent-user-list?keyword=${keyword}`);\n }\n\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n} ","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable()\nexport class ViewProfileService {\n\n url: any = environment.API_URL;\n\n\n constructor(\n private http: HttpClient\n ) {\n\n }\n\n deleteInterest(data: any) {\n const httpOptions = {\n headers: new HttpHeaders({}), body: data\n };\n return this.http.delete(this.url + 'category/delete', httpOptions);\n }\n\n createPost(data:any){\n return this.http.post(this.url + 'api/post/create-post', data);\n }\n\n getPosts(){\n return this.http.get(this.url + 'api/post/list');\n }\n\n getProfile(){\n return this.http.get(this.url + 'api/user/profile');\n }\n\n\n uploadImage(data:any){\n return this.http.post(this.url + 'api/file/upload', data);\n }\n\n createShow(data:any){\n return this.http.post(this.url + 'api/show/create', data);\n }\n\n reportPost(data:any,comment:any){\n return this.http.put(this.url + `api/post/report-post/${data}`,comment);\n }\n\n createComment(data:any){\n return this.http.post(this.url + 'api/comment/create', data);\n }\n\n getCommentsList(data:any){\n return this.http.get(this.url + `api/comment/list/${data}`)\n }\n\n getBandSuggestions(data:any){\n return this.http.post(this.url + 'api/user/get-bands-suggession', data);\n }\n\n AddFriend(data:any){\n return this.http.post(this.url + 'api/friend/add-friend', data);\n }\n\n acceptRequest(data:any){\n return this.http.post(this.url + 'api/friend/accept', data);\n }\n\n friendRequestList(){\n return this.http.get(this.url + 'api/friend/fr-list');\n }\n\n acceptRejectRequest(id:any, data:any){\n return this.http.put(this.url + `api/friend/update-friend-request/${id}`,data);\n }\n\n silentPost(id:any, data:any){\n return this.http.put(this.url + `api/post/silent-post/${id}`,data);\n }\n\n reportComment(postId:any, commentId:any,comment:any, data:any){\n return this.http.put(this.url + `api/comment/report`,{postId,commentId,comment});\n }\n\n updateProfile(data:any){\n return this.http.put(this.url + 'api/user/update-profile', data);\n }\n\n getFriendsList(){\n return this.http.get(this.url + 'api/friend/list');\n }\n\n updatePlayList(data:any){\n return this.http.put(this.url + 'api/user/update-play-list', data);\n }\n\n getPlayList(){\n return this.http.get(this.url + 'api/user/playlist');\n }\n\n unFriend(id:any,data){\n return this.http.put(this.url + `api/friend/unfriend-user/${id}`,data);\n }\n\n \n getPostById(id:any){\n return this.http.get(this.url + `api/post/${id}`);\n }\n\n getProfileById(id:any){\n return this.http.get(this.url + `api/user/user-profile/${id}`);\n }\n\n getArtistGenerList(){\n return this.http.get(this.url + 'api/genere/list');\n }\n\n \n\n} ","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: 'app-view',\n template: ``\n})\n\nexport class ViewsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\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 API_URL: \"https://api.indietown.org/\", // indie_town api\n //API_URL: \"http://ec2-3-138-88-225.us-east-2.compute.amazonaws.com:3000/\",\n\n // API_URL: 'https://api.indietown.casperdev.site/', // indie_town api staging\n // API_URL: 'http://localhost:3000/', // indie_town api local\n BaseChatUrl: \"https://chat.indietown.org/\",\n basicAuthUsername: \"admin\",\n basicAuthpwd: \"JKJ@IKHUKHYJSHsd\",\n firebase: {\n apiKey: \"AIzaSyA3UHR97zBSoC0TdNWkWGxOSh5lgCQ64W8\",\n authDomain: \"indietown-3c44c.firebaseapp.com\",\n projectId: \"indietown-3c44c\",\n storageBucket: \"indietown-3c44c.appspot.com\",\n messagingSenderId: \"380016103554\",\n appId: \"1:380016103554:web:25c12eec1688ec5eb2649b\",\n measurementId: \"G-WWGS9T9LW6\",\n },\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/plugins/zone-error'; // Included with Angular CLI.\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\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 26431,\n\t\"./af.js\": 26431,\n\t\"./ar\": 81286,\n\t\"./ar-dz\": 1616,\n\t\"./ar-dz.js\": 1616,\n\t\"./ar-kw\": 9759,\n\t\"./ar-kw.js\": 9759,\n\t\"./ar-ly\": 43160,\n\t\"./ar-ly.js\": 43160,\n\t\"./ar-ma\": 62551,\n\t\"./ar-ma.js\": 62551,\n\t\"./ar-sa\": 79989,\n\t\"./ar-sa.js\": 79989,\n\t\"./ar-tn\": 6962,\n\t\"./ar-tn.js\": 6962,\n\t\"./ar.js\": 81286,\n\t\"./az\": 15887,\n\t\"./az.js\": 15887,\n\t\"./be\": 14572,\n\t\"./be.js\": 14572,\n\t\"./bg\": 3276,\n\t\"./bg.js\": 3276,\n\t\"./bm\": 93344,\n\t\"./bm.js\": 93344,\n\t\"./bn\": 58985,\n\t\"./bn-bd\": 83990,\n\t\"./bn-bd.js\": 83990,\n\t\"./bn.js\": 58985,\n\t\"./bo\": 94391,\n\t\"./bo.js\": 94391,\n\t\"./br\": 46728,\n\t\"./br.js\": 46728,\n\t\"./bs\": 5536,\n\t\"./bs.js\": 5536,\n\t\"./ca\": 41043,\n\t\"./ca.js\": 41043,\n\t\"./cs\": 70420,\n\t\"./cs.js\": 70420,\n\t\"./cv\": 33513,\n\t\"./cv.js\": 33513,\n\t\"./cy\": 6771,\n\t\"./cy.js\": 6771,\n\t\"./da\": 47978,\n\t\"./da.js\": 47978,\n\t\"./de\": 46061,\n\t\"./de-at\": 25204,\n\t\"./de-at.js\": 25204,\n\t\"./de-ch\": 2653,\n\t\"./de-ch.js\": 2653,\n\t\"./de.js\": 46061,\n\t\"./dv\": 85,\n\t\"./dv.js\": 85,\n\t\"./el\": 8579,\n\t\"./el.js\": 8579,\n\t\"./en-au\": 25724,\n\t\"./en-au.js\": 25724,\n\t\"./en-ca\": 10525,\n\t\"./en-ca.js\": 10525,\n\t\"./en-gb\": 52847,\n\t\"./en-gb.js\": 52847,\n\t\"./en-ie\": 67216,\n\t\"./en-ie.js\": 67216,\n\t\"./en-il\": 39305,\n\t\"./en-il.js\": 39305,\n\t\"./en-in\": 73364,\n\t\"./en-in.js\": 73364,\n\t\"./en-nz\": 79130,\n\t\"./en-nz.js\": 79130,\n\t\"./en-sg\": 11161,\n\t\"./en-sg.js\": 11161,\n\t\"./eo\": 50802,\n\t\"./eo.js\": 50802,\n\t\"./es\": 40328,\n\t\"./es-do\": 45551,\n\t\"./es-do.js\": 45551,\n\t\"./es-mx\": 75615,\n\t\"./es-mx.js\": 75615,\n\t\"./es-us\": 64790,\n\t\"./es-us.js\": 64790,\n\t\"./es.js\": 40328,\n\t\"./et\": 96389,\n\t\"./et.js\": 96389,\n\t\"./eu\": 52961,\n\t\"./eu.js\": 52961,\n\t\"./fa\": 26151,\n\t\"./fa.js\": 26151,\n\t\"./fi\": 7997,\n\t\"./fi.js\": 7997,\n\t\"./fil\": 58898,\n\t\"./fil.js\": 58898,\n\t\"./fo\": 37779,\n\t\"./fo.js\": 37779,\n\t\"./fr\": 28174,\n\t\"./fr-ca\": 3287,\n\t\"./fr-ca.js\": 3287,\n\t\"./fr-ch\": 38867,\n\t\"./fr-ch.js\": 38867,\n\t\"./fr.js\": 28174,\n\t\"./fy\": 50452,\n\t\"./fy.js\": 50452,\n\t\"./ga\": 45014,\n\t\"./ga.js\": 45014,\n\t\"./gd\": 74127,\n\t\"./gd.js\": 74127,\n\t\"./gl\": 72124,\n\t\"./gl.js\": 72124,\n\t\"./gom-deva\": 6444,\n\t\"./gom-deva.js\": 6444,\n\t\"./gom-latn\": 37953,\n\t\"./gom-latn.js\": 37953,\n\t\"./gu\": 76604,\n\t\"./gu.js\": 76604,\n\t\"./he\": 1222,\n\t\"./he.js\": 1222,\n\t\"./hi\": 74235,\n\t\"./hi.js\": 74235,\n\t\"./hr\": 622,\n\t\"./hr.js\": 622,\n\t\"./hu\": 37735,\n\t\"./hu.js\": 37735,\n\t\"./hy-am\": 90402,\n\t\"./hy-am.js\": 90402,\n\t\"./id\": 59187,\n\t\"./id.js\": 59187,\n\t\"./is\": 30536,\n\t\"./is.js\": 30536,\n\t\"./it\": 35007,\n\t\"./it-ch\": 94667,\n\t\"./it-ch.js\": 94667,\n\t\"./it.js\": 35007,\n\t\"./ja\": 62093,\n\t\"./ja.js\": 62093,\n\t\"./jv\": 80059,\n\t\"./jv.js\": 80059,\n\t\"./ka\": 66870,\n\t\"./ka.js\": 66870,\n\t\"./kk\": 80880,\n\t\"./kk.js\": 80880,\n\t\"./km\": 1083,\n\t\"./km.js\": 1083,\n\t\"./kn\": 68785,\n\t\"./kn.js\": 68785,\n\t\"./ko\": 21721,\n\t\"./ko.js\": 21721,\n\t\"./ku\": 37851,\n\t\"./ku.js\": 37851,\n\t\"./ky\": 1727,\n\t\"./ky.js\": 1727,\n\t\"./lb\": 40346,\n\t\"./lb.js\": 40346,\n\t\"./lo\": 93002,\n\t\"./lo.js\": 93002,\n\t\"./lt\": 64035,\n\t\"./lt.js\": 64035,\n\t\"./lv\": 56927,\n\t\"./lv.js\": 56927,\n\t\"./me\": 5634,\n\t\"./me.js\": 5634,\n\t\"./mi\": 94173,\n\t\"./mi.js\": 94173,\n\t\"./mk\": 86320,\n\t\"./mk.js\": 86320,\n\t\"./ml\": 11705,\n\t\"./ml.js\": 11705,\n\t\"./mn\": 31062,\n\t\"./mn.js\": 31062,\n\t\"./mr\": 92805,\n\t\"./mr.js\": 92805,\n\t\"./ms\": 11341,\n\t\"./ms-my\": 59900,\n\t\"./ms-my.js\": 59900,\n\t\"./ms.js\": 11341,\n\t\"./mt\": 37734,\n\t\"./mt.js\": 37734,\n\t\"./my\": 19034,\n\t\"./my.js\": 19034,\n\t\"./nb\": 9324,\n\t\"./nb.js\": 9324,\n\t\"./ne\": 46495,\n\t\"./ne.js\": 46495,\n\t\"./nl\": 70673,\n\t\"./nl-be\": 76272,\n\t\"./nl-be.js\": 76272,\n\t\"./nl.js\": 70673,\n\t\"./nn\": 72486,\n\t\"./nn.js\": 72486,\n\t\"./oc-lnc\": 46219,\n\t\"./oc-lnc.js\": 46219,\n\t\"./pa-in\": 2829,\n\t\"./pa-in.js\": 2829,\n\t\"./pl\": 78444,\n\t\"./pl.js\": 78444,\n\t\"./pt\": 53170,\n\t\"./pt-br\": 66117,\n\t\"./pt-br.js\": 66117,\n\t\"./pt.js\": 53170,\n\t\"./ro\": 96587,\n\t\"./ro.js\": 96587,\n\t\"./ru\": 39264,\n\t\"./ru.js\": 39264,\n\t\"./sd\": 42135,\n\t\"./sd.js\": 42135,\n\t\"./se\": 95366,\n\t\"./se.js\": 95366,\n\t\"./si\": 93379,\n\t\"./si.js\": 93379,\n\t\"./sk\": 46143,\n\t\"./sk.js\": 46143,\n\t\"./sl\": 196,\n\t\"./sl.js\": 196,\n\t\"./sq\": 21082,\n\t\"./sq.js\": 21082,\n\t\"./sr\": 91621,\n\t\"./sr-cyrl\": 98963,\n\t\"./sr-cyrl.js\": 98963,\n\t\"./sr.js\": 91621,\n\t\"./ss\": 41404,\n\t\"./ss.js\": 41404,\n\t\"./sv\": 55685,\n\t\"./sv.js\": 55685,\n\t\"./sw\": 3872,\n\t\"./sw.js\": 3872,\n\t\"./ta\": 54106,\n\t\"./ta.js\": 54106,\n\t\"./te\": 39204,\n\t\"./te.js\": 39204,\n\t\"./tet\": 83692,\n\t\"./tet.js\": 83692,\n\t\"./tg\": 86361,\n\t\"./tg.js\": 86361,\n\t\"./th\": 31735,\n\t\"./th.js\": 31735,\n\t\"./tk\": 1568,\n\t\"./tk.js\": 1568,\n\t\"./tl-ph\": 96129,\n\t\"./tl-ph.js\": 96129,\n\t\"./tlh\": 13759,\n\t\"./tlh.js\": 13759,\n\t\"./tr\": 81644,\n\t\"./tr.js\": 81644,\n\t\"./tzl\": 90875,\n\t\"./tzl.js\": 90875,\n\t\"./tzm\": 16878,\n\t\"./tzm-latn\": 11041,\n\t\"./tzm-latn.js\": 11041,\n\t\"./tzm.js\": 16878,\n\t\"./ug-cn\": 74357,\n\t\"./ug-cn.js\": 74357,\n\t\"./uk\": 74810,\n\t\"./uk.js\": 74810,\n\t\"./ur\": 86794,\n\t\"./ur.js\": 86794,\n\t\"./uz\": 28966,\n\t\"./uz-latn\": 77959,\n\t\"./uz-latn.js\": 77959,\n\t\"./uz.js\": 28966,\n\t\"./vi\": 35386,\n\t\"./vi.js\": 35386,\n\t\"./x-pseudo\": 23156,\n\t\"./x-pseudo.js\": 23156,\n\t\"./yo\": 68028,\n\t\"./yo.js\": 68028,\n\t\"./zh-cn\": 9330,\n\t\"./zh-cn.js\": 9330,\n\t\"./zh-hk\": 89380,\n\t\"./zh-hk.js\": 89380,\n\t\"./zh-mo\": 60874,\n\t\"./zh-mo.js\": 60874,\n\t\"./zh-tw\": 96508,\n\t\"./zh-tw.js\": 96508\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"sourceRoot":"webpack:///"}