-
Notifications
You must be signed in to change notification settings - Fork 0
/
main-es5.js.map
1 lines (1 loc) · 52.5 KB
/
main-es5.js.map
1
{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.module.ts","webpack:///src/app/components/app.component.ts","webpack:///src/app/views/app/app.component.html","webpack:///src/app/views/card/card.component.html","webpack:///src/app/components/card.component.ts","webpack:///src/app/components/login.component.ts","webpack:///src/app/views/login/login.component.html","webpack:///src/app/components/project-view.component.ts","webpack:///src/app/views/project-view/project-view.component.html","webpack:///src/app/components/projects-list.component.ts","webpack:///src/app/views/projects-list/projects-list.component.html","webpack:///src/app/core/services/auth.service.ts","webpack:///src/app/core/services/fav.service.ts","webpack:///src/app/core/services/github.service.ts","webpack:///src/app/core/services/project.service.ts","webpack:///src/app/core/utils/markdown-parse.pipe.ts","webpack:///src/app/core/utils/safe-html.pipe.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","routes","AppRoutingModule","forRoot","imports","AppModule","declarations","providers","bootstrap","AppComponent","githubService","projectService","authService","route","queryParams","subscribe","map","length","a","get","res","data","access_token","setUser","window","location","href","splitComponent","setVisibleAreaSizes","logoutUser","selector","templateUrl","styleUrls","Direction","CardComponent","moveUp","moveDown","isEditing","isBusy","editorOptions","theme","language","automaticLayout","editorContent","direction","Up","emit","Down","card","note","saveCard","refreshColumnCards","column","encapsulation","None","LoginComponent","keystrokesHistory","key","token","prompt","clientId","login","Array","prototype","move","from","to","splice","ProjectViewComponent","columnSelected","projectChanged","selectedColumn","undefined","pos","oldPos","currentColumn","currentProject","columns","cards","positionFormatted","moveCard","confirm","deleteCard","name","createColumn","refreshProjectColumns","index","findIndex","col","onColumnClicked","joke","random","createCard","document","querySelector","scroll","top","behavior","setTimeout","firstCard","startEditing","deleteColumn","ProjectsListComponent","favService","userProjects","getProjects","getUserProjects","projects","getFavProjects","projectId","setCurrentProject","addFavProject","find","proj","removeFavProject","AuthService","loggedIn","loggedOut","localStorage","setItem","getItem","removeItem","providedIn","FavService","favProjects","project","push","JSON","stringify","parse","GithubService","isLoggedIn","octokit","auth","getUser","userAgent","ghUser","users","getAuthenticated","checkUser","listForUser","username","allProjects","project_id","listColumns","headers","columnId","listCards","column_id","cardId","card_id","position","updateCard","ProjectService","getProject","getProjectColumns","getColumnCards","MarkdownParsePipe","value","SafeHtmlPipe","sanitizer","html","bypassSecurityTrustHtml","environment","production","bootstrapModule","err","console","error"],"mappings":"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","file":"main-es5.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;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nconst routes: Routes = [];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { AngularSplitModule } from 'angular-split';\nimport { MonacoEditorModule } from 'ngx-monaco-editor';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './components/app.component';\nimport { ProjectsListComponent } from './components/projects-list.component';\nimport { GithubService } from './core/services/github.service';\nimport { ProjectService } from './core/services/project.service';\nimport { ProjectViewComponent } from './components/project-view.component';\nimport { MarkdownParsePipe } from './core/utils/markdown-parse.pipe';\nimport { SafeHtmlPipe } from './core/utils/safe-html.pipe';\nimport { CardComponent } from './components/card.component';\nimport { AuthService } from './core/services/auth.service';\nimport { LoginComponent } from './components/login.component';\nimport { FavService } from './core/services/fav.service';\n\n@NgModule({\n declarations: [\n AppComponent,\n ProjectsListComponent,\n ProjectViewComponent,\n MarkdownParsePipe,\n SafeHtmlPipe,\n CardComponent,\n LoginComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n AngularSplitModule.forRoot(),\n BrowserAnimationsModule,\n MatIconModule,\n MonacoEditorModule.forRoot(),\n FormsModule,\n MatProgressSpinnerModule,\n ],\n providers: [AuthService, GithubService, ProjectService, FavService],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { GithubService } from '../core/services/github.service';\nimport { ProjectService } from '../core/services/project.service';\nimport { SplitComponent } from 'angular-split';\nimport { AuthService } from '../core/services/auth.service';\nimport axios from 'axios';\n\n@Component({\n selector: 'app-root',\n templateUrl: '../views/app/app.component.html',\n styleUrls: ['../views/app/app.component.styl'],\n})\nexport class AppComponent implements OnInit {\n @ViewChild(SplitComponent) splitComponent: SplitComponent;\n\n constructor(\n public githubService: GithubService,\n public projectService: ProjectService,\n public authService: AuthService,\n private route: ActivatedRoute,\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(map => {\n if (map.code && map.code.length === 20) {\n axios.get(`https://pro-jects.now.sh/api/authorize?code=${map.code}`).then(res => {\n if (res.data.access_token) {\n this.authService.setUser(res.data.access_token);\n\n window.location.href = '/';\n }\n });\n }\n });\n }\n\n onColumnSelected(): void {\n this.splitComponent.setVisibleAreaSizes([0, 100]);\n }\n\n logout(): void {\n this.authService.logoutUser();\n }\n}\n","<div class=\"wrapper\">\n <nav class=\"nav\">\n <div class=\"nav-block\"></div>\n <div class=\"nav-block\">\n <img\n src=\"/assets/images/GitHub-Mark-Light-64px.png\"\n alt=\"GitHub Mark\"\n class=\"nav-block__image\"\n style=\"margin: 0 5px;\"\n />\n <h3 class=\"nav-block__heading\">(pro)jects</h3>\n </div>\n <div class=\"nav-block\">\n <details *ngIf=\"authService.isLoggedIn()\" class=\"user-details__wrapper\">\n <summary class=\"user-details__summary\">\n <img\n src=\"{{ githubService.ghUser.avatar_url }}\"\n *ngIf=\"githubService.ghUser\"\n class=\"nav-block__image nav-block__image--rounded\"\n />\n <mat-icon>arrow_drop_down</mat-icon>\n </summary>\n <div class=\"user-details\">\n <p>\n Signed in as <b>{{ githubService.ghUser ? githubService.ghUser.login : '...' }}</b>\n </p>\n <ul class=\"user-details__list\">\n <li (click)=\"logout()\">Log out</li>\n </ul>\n </div>\n </details>\n </div>\n </nav>\n <div class=\"app\" *ngIf=\"authService.isLoggedIn(); else loginScreen\">\n <as-split unit=\"percent\" direction=\"horizontal\" useTransition=\"true\">\n <as-split-area size=\"25\">\n <app-projects-list></app-projects-list>\n </as-split-area>\n <as-split-area size=\"75\" minSize=\"50\">\n <app-project-view (columnSelected)=\"onColumnSelected()\"></app-project-view>\n </as-split-area>\n </as-split>\n </div>\n <ng-template #loginScreen>\n <app-login style=\"flex: 1; overflow: hidden;\"></app-login>\n </ng-template>\n <div class=\"bar\">\n <div>\n Project:\n <b>{{\n projectService.currentProject\n ? projectService.currentProject.name\n : \"You haven't selected any project yet\"\n }}</b>\n </div>\n <div></div>\n <div style=\"text-align: right;\">\n <ng-container *ngIf=\"authService.isLoggedIn(); else notLoggedInMessage\">\n Authenticated as <b>{{ githubService.ghUser ? githubService.ghUser.login : '...' }}</b>\n </ng-container>\n <ng-template #notLoggedInMessage>\n Not logged in\n </ng-template>\n </div>\n </div>\n</div>\n","<div class=\"card\">\n <div class=\"card__bar\">\n <ng-container *ngIf=\"!isEditing; else editorButtons\">\n <div>\n <mat-icon class=\"card__bar__icon\" (click)=\"onMove(0)\">arrow_upward</mat-icon>\n <mat-icon class=\"card__bar__icon\" (click)=\"onMove(1)\">arrow_downward</mat-icon>\n </div>\n <div>\n <mat-icon class=\"card__bar__icon\" (click)=\"onDelete()\">delete</mat-icon>\n <mat-icon class=\"card__bar__icon\" (click)=\"startEditing()\">create</mat-icon>\n </div>\n </ng-container>\n <ng-template #editorButtons>\n <div>\n <mat-icon class=\"card__bar__icon icon__save card__bar__icon--big\" (click)=\"saveCard()\"\n >save</mat-icon\n >\n </div>\n <div>\n <mat-spinner diameter=\"20\" *ngIf=\"isBusy\"></mat-spinner>\n </div>\n <div>\n <mat-icon\n class=\"card__bar__icon icon__done card__bar__icon--big\"\n (click)=\"saveCardAndCloseEditor()\"\n >done</mat-icon\n >\n <mat-icon class=\"card__bar__icon icon__close card__bar__icon--big\" (click)=\"closeEditor()\"\n >close</mat-icon\n >\n </div>\n </ng-template>\n </div>\n <div\n class=\"card__content\"\n [innerHTML]=\"card.note | markdownParse | safeHtml\"\n *ngIf=\"!isEditing; else editor\"\n ></div>\n <ng-template #editor>\n <div class=\"card__editor\">\n <ngx-monaco-editor\n [options]=\"editorOptions\"\n [(ngModel)]=\"editorContent\"\n style=\"height: 100%;\"\n ></ngx-monaco-editor>\n </div>\n </ng-template>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { GithubService } from '../core/services/github.service';\nimport { ProjectService } from '../core/services/project.service';\n\nenum Direction {\n Up,\n Down,\n}\n\n@Component({\n selector: 'app-card',\n templateUrl: '../views/card/card.component.html',\n styleUrls: ['../views/card/card.component.styl'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class CardComponent {\n @Input() card: any;\n @Input() column: any;\n @Output() moveUp = new EventEmitter();\n @Output() moveDown = new EventEmitter();\n @Output() delete = new EventEmitter();\n isEditing = false;\n isBusy = false;\n\n editorOptions = { theme: 'vs-dark', language: 'markdown', automaticLayout: true };\n editorContent = '';\n\n constructor(private githubService: GithubService, private projectService: ProjectService) {}\n\n onMove(direction: Direction) {\n if (direction === Direction.Up) {\n this.moveUp.emit();\n } else if (direction === Direction.Down) {\n this.moveDown.emit();\n }\n }\n\n startEditing() {\n this.isEditing = true;\n this.editorContent = this.card.note;\n }\n\n async saveCard(): Promise<void> {\n this.isBusy = true;\n await this.githubService.saveCard(this.card.id, this.editorContent);\n this.isBusy = false;\n }\n\n async closeEditor() {\n this.isBusy = true;\n await this.projectService.refreshColumnCards(this.column);\n this.editorContent = '';\n this.isEditing = false;\n this.isBusy = false;\n }\n\n async saveCardAndCloseEditor() {\n this.isBusy = true;\n await this.githubService.saveCard(this.card.id, this.editorContent);\n await this.projectService.refreshColumnCards(this.column);\n this.editorContent = '';\n this.isEditing = false;\n this.isBusy = false;\n }\n\n onDelete() {\n this.delete.emit();\n }\n}\n","import { Component, HostListener } from '@angular/core';\nimport { AuthService } from '../core/services/auth.service';\n\n@Component({\n selector: 'app-login',\n templateUrl: '../views/login/login.component.html',\n styleUrls: ['../views/login/login.component.styl'],\n})\nexport class LoginComponent {\n private keystrokesHistory = '';\n\n constructor(private authService: AuthService) {}\n\n @HostListener('document:keydown', ['$event'])\n onKeyDown(e) {\n this.keystrokesHistory += e.key;\n\n if (this.keystrokesHistory === 'dev') {\n const token = prompt(\n 'Entered dev mode. Now you can enter the access token manually, without using oauth',\n );\n if (token) {\n this.authService.setUser(token);\n }\n this.keystrokesHistory = '';\n }\n }\n\n login() {\n const clientId = '435bb3ee9ba9d983cb60';\n window.location.href = `https://github.com/login/oauth/authorize?scope=repo%20write%3Aorg%20user&client_id=${clientId}`;\n }\n}\n","<div class=\"login\">\n <h1>(pro)jects</h1>\n <p>A better UI for GitHub Projects 📟</p>\n <button class=\"login__button\" (click)=\"login()\">\n Sign in with GitHub <img src=\"/assets/images/GitHub-Mark-Light-32px.png\" />\n </button>\n</div>\n","import {\n Component,\n OnInit,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ViewChild,\n} from '@angular/core';\nimport devpun from 'devpun';\nimport { ProjectService } from '../core/services/project.service';\nimport { GithubService } from '../core/services/github.service';\nimport { CardComponent } from './card.component';\n\n// @ts-ignore\nArray.prototype.move = function (from, to) {\n this.splice(to, 0, this.splice(from, 1)[0]);\n};\n\n@Component({\n selector: 'app-project-view',\n templateUrl: '../views/project-view/project-view.component.html',\n styleUrls: ['../views/project-view/project-view.component.styl'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ProjectViewComponent implements OnInit {\n @Output() columnSelected = new EventEmitter();\n selectedColumn: number;\n\n @ViewChild(CardComponent) firstCard: CardComponent;\n\n constructor(public projectService: ProjectService, private githubService: GithubService) {}\n\n ngOnInit(): void {\n this.projectService.projectChanged.subscribe(() => {\n this.selectedColumn = undefined;\n });\n }\n\n onColumnClicked(column): void {\n if (this.selectedColumn === undefined) {\n this.columnSelected.emit();\n }\n this.selectedColumn = column;\n }\n\n moveCard(card, pos, oldPos): void {\n const currentColumn = this.projectService.currentProject.columns[this.selectedColumn];\n if (pos >= 0 && pos < currentColumn.cards.length) {\n let positionFormatted;\n switch (true) {\n case pos === 0:\n positionFormatted = 'top';\n break;\n case pos === currentColumn.cards.length - 1:\n positionFormatted = 'bottom';\n break;\n default:\n if (currentColumn.cards[pos - 1].id === card.id) {\n positionFormatted = `after:${currentColumn.cards[pos].id}`;\n } else {\n positionFormatted = `after:${currentColumn.cards[pos - 1].id}`;\n }\n }\n\n this.githubService.moveCard(card.id, positionFormatted);\n this.projectService.currentProject.columns[this.selectedColumn].cards.move(oldPos, pos);\n }\n }\n\n deleteCard(card, pos): void {\n if (confirm('Are you sure to delete this card?')) {\n this.projectService.currentProject.columns[this.selectedColumn].cards.splice(pos, 1);\n this.githubService.deleteCard(card.id);\n }\n }\n\n addColumn() {\n const name = prompt('Give title for the column');\n if (name && name !== '') {\n this.githubService\n .createColumn(this.projectService.currentProject.id, name)\n .then(({ data }) => {\n this.projectService.refreshProjectColumns().then(() => {\n const index = this.projectService.currentProject.columns.findIndex(\n col => col.id === data.id,\n );\n this.onColumnClicked(index);\n });\n });\n }\n }\n\n addCard() {\n const joke = devpun.random();\n this.githubService\n .createCard(this.projectService.currentProject.columns[this.selectedColumn].id, joke)\n .then(() => {\n this.projectService.refreshColumnCards(this.selectedColumn).then(() => {\n document.querySelector('.cards-view').scroll({ top: 0, behavior: 'smooth' });\n\n // Ridiculous monkey patch. Don't do this at home, kids\n setTimeout(() => {\n this.firstCard.startEditing();\n }, 0);\n });\n });\n }\n\n deleteColumn(column, pos) {\n if (confirm('Are you sure to delete this column?')) {\n this.projectService.currentProject.columns.splice(pos, 1);\n this.githubService.deleteColumn(column.id);\n }\n }\n}\n","<div class=\"project-view__wrapper\" *ngIf=\"projectService.currentProject; else noProjectBlock\">\n <div class=\"project-view\">\n <div class=\"columns-list__wrapper\">\n <div class=\"columns-list__header\">\n <span>Column</span>\n <mat-icon\n style=\"\n width: 12px;\n height: 12px;\n font-size: 12px;\n transform: scale(1.25);\n cursor: pointer;\n \"\n (click)=\"addColumn()\"\n >add</mat-icon\n >\n </div>\n <ul class=\"columns-list\">\n <li\n *ngFor=\"let column of this.projectService.currentProject.columns; index as i\"\n class=\"columns-list__item__wrapper\"\n [class]=\"\n selectedColumn !== undefined\n ? this.projectService.currentProject.columns[selectedColumn].id === column.id\n ? 'columns-list__item__wrapper--selected'\n : ''\n : ''\n \"\n >\n <div (click)=\"onColumnClicked(i)\" class=\"columns-list__item\">\n {{ column.name }}\n </div>\n <span class=\"delete-button\" (click)=\"deleteColumn(column, i)\">delete</span>\n </li>\n </ul>\n </div>\n <div class=\"cards-view cards-view--switch-view\" *ngIf=\"selectedColumn !== undefined\">\n <app-card\n *ngFor=\"\n let card of this.projectService.currentProject.columns[selectedColumn].cards;\n index as i\n \"\n (moveUp)=\"moveCard(card, i - 1, i)\"\n (moveDown)=\"moveCard(card, i + 1, i)\"\n (delete)=\"deleteCard(card, i)\"\n [card]=\"card\"\n [column]=\"selectedColumn\"\n >\n </app-card>\n <button class=\"cards-view__add-button\" (click)=\"addCard()\">Add a new card</button>\n </div>\n </div>\n</div>\n<ng-template #noProjectBlock>\n <div class=\"no-project\">\n No project selected\n </div>\n</ng-template>\n","import { Component, OnInit } from '@angular/core';\nimport { GithubService } from '../core/services/github.service';\nimport { ProjectService } from '../core/services/project.service';\nimport { FavService } from '../core/services/fav.service';\n\n@Component({\n selector: 'app-projects-list',\n templateUrl: '../views/projects-list/projects-list.component.html',\n styleUrls: ['../views/projects-list/projects-list.component.styl'],\n})\nexport class ProjectsListComponent implements OnInit {\n userProjects: any[] = [];\n\n constructor(\n private githubService: GithubService,\n private projectService: ProjectService,\n public favService: FavService,\n ) {}\n\n ngOnInit(): void {\n this.getProjects();\n }\n\n getProjects(): void {\n this.githubService.getUserProjects().then(projects => {\n this.userProjects = projects;\n this.favService.getFavProjects();\n });\n }\n\n onProjectClicked(projectId): void {\n this.projectService.setCurrentProject(projectId);\n }\n\n favProject(projectId): void {\n this.favService.addFavProject(this.userProjects.find(proj => proj.id === projectId));\n }\n\n removeFavProject(projectId): void {\n this.favService.removeFavProject(projectId);\n }\n}\n","<div class=\"projects-list__wrapper\">\n <h3>Favourite projects</h3>\n <div class=\"projects-list__empty-caption\" *ngIf=\"!this.favService.favProjects.length\">\n You haven't added any favourite projects\n </div>\n <div class=\"projects-list\">\n <div class=\"projects-list__item\" *ngFor=\"let project of this.favService.favProjects\">\n <img src=\"/assets/images/GitHub-Star.svg\" alt=\"star\" class=\"projects-list__item__icon\" /><span\n (click)=\"onProjectClicked(project.id)\"\n class=\"projects-list__item__label\"\n >\n {{ project.name }}\n </span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 12 16\"\n width=\"12\"\n height=\"16\"\n class=\"projects-list__item__action\"\n (click)=\"removeFavProject(project.id)\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11 2H9c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1H2c-.55 0-1 .45-1 1v1c0 .55.45 1 1 1v9c0 .55.45 1 1 1h7c.55 0 1-.45 1-1V5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm-1 12H3V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9zm1-10H2V3h9v1z\"\n ></path>\n </svg>\n </div>\n </div>\n <h3>User's projects</h3>\n <div class=\"projects-list__empty-caption\" *ngIf=\"!userProjects.length\">\n You haven't created projects associated to your account\n </div>\n <div class=\"projects-list\">\n <div class=\"projects-list__item\" *ngFor=\"let project of userProjects\">\n <img\n src=\"/assets/images/GitHub-Project.svg\"\n alt=\"githubProject\"\n class=\"projects-list__item__icon\"\n /><span class=\"projects-list__item__label\" (click)=\"onProjectClicked(project.id)\">\n {{ project.name }}\n </span>\n <svg\n class=\"projects-list__item__action\"\n (click)=\"favProject(project.id)\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 14 16\"\n width=\"14\"\n height=\"16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z\"\n ></path>\n </svg>\n </div>\n </div>\n</div>\n","import { EventEmitter, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n public loggedIn = new EventEmitter();\n public loggedOut = new EventEmitter();\n\n constructor() {}\n\n setUser(token): void {\n window.localStorage.setItem('githubToken', token);\n this.loggedIn.emit();\n }\n\n getUser(): string {\n return window.localStorage.getItem('githubToken');\n }\n\n logoutUser(): void {\n window.localStorage.removeItem('githubToken');\n this.loggedOut.emit();\n }\n\n isLoggedIn(): boolean {\n return !!window.localStorage.getItem('githubToken');\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FavService {\n public favProjects: any[] = [];\n\n addFavProject(project: any): void {\n this.getFavProjects();\n if (!this.favProjects.find(proj => proj.id === project.id)) {\n this.favProjects.push(project);\n localStorage.setItem('favProjects', JSON.stringify(this.favProjects));\n }\n }\n\n getFavProjects() {\n this.favProjects = JSON.parse(localStorage.getItem('favProjects')) || [];\n }\n\n removeFavProject(projectId: number): void {\n this.getFavProjects();\n const index = this.favProjects.findIndex(proj => proj.id === projectId);\n if (typeof index === 'number') {\n this.favProjects.splice(index, 1);\n localStorage.setItem('favProjects', JSON.stringify(this.favProjects));\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Octokit } from '@octokit/rest';\n\nimport { AuthService } from './auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GithubService {\n private octokit: Octokit;\n private allProjects: any[];\n ghUser: any;\n\n constructor(private authService: AuthService) {\n if (authService.isLoggedIn()) {\n this.octokit = new Octokit({ auth: authService.getUser(), userAgent: '(pro)jects v.0.1.0' });\n }\n\n this.authService.loggedIn.subscribe(() => {\n if (this.authService.isLoggedIn()) {\n this.octokit = new Octokit({\n auth: authService.getUser(),\n userAgent: '(pro)jects v.0.1.0',\n });\n }\n });\n\n this.authService.loggedOut.subscribe(() => {\n if (!this.authService.isLoggedIn()) {\n this.octokit = undefined;\n }\n });\n }\n\n async checkUser(): Promise<boolean> {\n if (this.octokit) {\n if (this.ghUser) {\n return true;\n } else {\n let res;\n try {\n res = await this.octokit.users.getAuthenticated();\n } catch (err) {\n this.authService.logoutUser();\n return false;\n }\n this.ghUser = res.data;\n return true;\n }\n }\n return false;\n }\n\n async getUserProjects(): Promise<any> {\n if (await this.checkUser()) {\n const projects = await this.octokit.projects.listForUser({ username: this.ghUser.login });\n this.allProjects = projects.data;\n return projects.data;\n } else {\n throw new Error('User not logged in');\n }\n }\n\n async getProject(projectId: number): Promise<any> {\n if (await this.checkUser()) {\n return (\n this.allProjects.find(data => data.id === projectId) ||\n (await this.octokit.projects.get({ project_id: projectId })).data\n );\n } else {\n throw new Error('User not logged in');\n }\n }\n\n async getProjectColumns(projectId: number): Promise<any> {\n if (await this.checkUser()) {\n return (\n await this.octokit.projects.listColumns({\n project_id: projectId,\n headers: {\n 'If-None-Match': '',\n },\n })\n ).data;\n } else {\n throw new Error('User not logged in');\n }\n }\n\n async getColumnCards(columnId: number): Promise<any> {\n if (await this.checkUser()) {\n return (\n await this.octokit.projects.listCards({\n column_id: columnId,\n headers: {\n 'If-None-Match': '',\n },\n })\n ).data;\n } else {\n throw new Error('User not logged in');\n }\n }\n\n async moveCard(cardId, pos): Promise<void> {\n if (await this.checkUser()) {\n await this.octokit.projects.moveCard({ card_id: cardId, position: pos });\n } else {\n throw new Error('User not logged in');\n }\n }\n\n async saveCard(cardId, note): Promise<void> {\n if (await this.checkUser()) {\n await this.octokit.projects.updateCard({ card_id: cardId, note });\n } else {\n throw new Error('User not logged in');\n }\n }\n\n async deleteCard(cardId): Promise<void> {\n if (await this.checkUser()) {\n await this.octokit.projects.deleteCard({ card_id: cardId });\n } else {\n throw new Error('User not logged in');\n }\n }\n\n async createColumn(projectId, name): Promise<any> {\n if (await this.checkUser()) {\n return await this.octokit.projects.createColumn({ project_id: projectId, name });\n }\n }\n\n async createCard(columnId, note): Promise<void> {\n if (await this.checkUser()) {\n await this.octokit.projects.createCard({ column_id: columnId, note });\n } else {\n throw new Error('User not logged in');\n }\n }\n\n async deleteColumn(columnId): Promise<void> {\n if (await this.checkUser()) {\n await this.octokit.projects.deleteColumn({ column_id: columnId });\n } else {\n throw new Error('User not logged in');\n }\n }\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { GithubService } from './github.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProjectService {\n currentProject: any;\n projectChanged: EventEmitter<any> = new EventEmitter();\n\n constructor(private githubService: GithubService) {}\n\n async setCurrentProject(projectId: number): Promise<void> {\n if (!(this.currentProject && this.currentProject.id === projectId)) {\n this.currentProject = await this.githubService.getProject(projectId);\n this.currentProject.columns = await this.githubService.getProjectColumns(projectId);\n\n this.projectChanged.emit(this.currentProject);\n\n for (const col of this.currentProject.columns) {\n col.cards = await this.githubService.getColumnCards(col.id);\n }\n }\n }\n\n async refreshProjectColumns(): Promise<void> {\n this.currentProject.columns = await this.githubService.getProjectColumns(\n this.currentProject.id,\n );\n for (const col of this.currentProject.columns) {\n col.cards = await this.githubService.getColumnCards(col.id);\n }\n }\n\n async refreshProjectCards(): Promise<void> {\n for (const col of this.currentProject.columns) {\n col.cards = await this.githubService.getColumnCards(col.id);\n }\n }\n\n async refreshColumnCards(col): Promise<void> {\n this.currentProject.columns[col].cards = await this.githubService.getColumnCards(\n this.currentProject.columns[col].id,\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport marked from 'marked';\n\n@Pipe({\n name: 'markdownParse',\n})\nexport class MarkdownParsePipe implements PipeTransform {\n transform(value: string, ...args: any[]): string {\n return marked(value);\n }\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 constructor(private sanitizer: DomSanitizer) {}\n\n transform(html) {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { 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"]}