{"version":3,"file":"main.js","mappings":"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,EAAEkD,IAAI,CAAC;IAChC,CAAC,CAAC;EACJ;;AAXWjG,kBAAkB;mBAAlBA,kBAAkB;AAAA;AAAlBA,kBAAkB;QAAlBA,kBAAkB;EAAAa;EAAAC;EAAAC;EAAAC;EAAAC;IAAA;MDT/BR,wDAAAA,0EAAuF;;;MAAnDA,wDAAAA,0BAAY;;;;;;;;;;;;;;;;;;;;AEEH;AAG7C8F,sEAAAA,EAAwB,CAACC,eAAe,CAAC1E,sDAAS,CAAC,CAChD2E,KAAK,CAACC,GAAG,IAAI5D,OAAO,CAAC6D,KAAK,CAACD,GAAG,CAAC,CAAC;;;;;;;;;;ACNnC;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","sources":["./generated/OnlyFanFic.ts","./generated/google/protobuf/timestamp.ts","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/auth.service.ts","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/only-fan-fic.service.ts","./src/app/story-box/story-box.component.ts","./src/app/story-box/story-box.component.html","./src/app/story-list/story-list.component.html","./src/app/story-list/story-list.component.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["/* eslint-disable */\nimport * as _m0 from \"protobufjs/minimal\";\nimport { Timestamp } from \"./google/protobuf/timestamp\";\n\nexport const protobufPackage = \"com.onlyfanfic\";\n\nexport interface ListStoriesRequest {\n}\n\nexport interface ListStoriesResponse {\n stories: StorySummary[];\n}\n\nexport interface StorySummary {\n title: string;\n author: string;\n published: Date | undefined;\n}\n\nfunction createBaseListStoriesRequest(): ListStoriesRequest {\n return {};\n}\n\nexport const ListStoriesRequest = {\n encode(_: ListStoriesRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ListStoriesRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseListStoriesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): ListStoriesRequest {\n return {};\n },\n\n toJSON(_: ListStoriesRequest): unknown {\n const obj: any = {};\n return obj;\n },\n\n create, I>>(base?: I): ListStoriesRequest {\n return ListStoriesRequest.fromPartial(base ?? {});\n },\n\n fromPartial, I>>(_: I): ListStoriesRequest {\n const message = createBaseListStoriesRequest();\n return message;\n },\n};\n\nfunction createBaseListStoriesResponse(): ListStoriesResponse {\n return { stories: [] };\n}\n\nexport const ListStoriesResponse = {\n encode(message: ListStoriesResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.stories) {\n StorySummary.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ListStoriesResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseListStoriesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.stories.push(StorySummary.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ListStoriesResponse {\n return { stories: Array.isArray(object?.stories) ? object.stories.map((e: any) => StorySummary.fromJSON(e)) : [] };\n },\n\n toJSON(message: ListStoriesResponse): unknown {\n const obj: any = {};\n if (message.stories) {\n obj.stories = message.stories.map((e) => e ? StorySummary.toJSON(e) : undefined);\n } else {\n obj.stories = [];\n }\n return obj;\n },\n\n create, I>>(base?: I): ListStoriesResponse {\n return ListStoriesResponse.fromPartial(base ?? {});\n },\n\n fromPartial, I>>(object: I): ListStoriesResponse {\n const message = createBaseListStoriesResponse();\n message.stories = object.stories?.map((e) => StorySummary.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseStorySummary(): StorySummary {\n return { title: \"\", author: \"\", published: undefined };\n}\n\nexport const StorySummary = {\n encode(message: StorySummary, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.title !== \"\") {\n writer.uint32(10).string(message.title);\n }\n if (message.author !== \"\") {\n writer.uint32(18).string(message.author);\n }\n if (message.published !== undefined) {\n Timestamp.encode(toTimestamp(message.published), writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): StorySummary {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseStorySummary();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.title = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.author = reader.string();\n continue;\n case 3:\n if (tag != 26) {\n break;\n }\n\n message.published = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): StorySummary {\n return {\n title: isSet(object.title) ? String(object.title) : \"\",\n author: isSet(object.author) ? String(object.author) : \"\",\n published: isSet(object.published) ? fromJsonTimestamp(object.published) : undefined,\n };\n },\n\n toJSON(message: StorySummary): unknown {\n const obj: any = {};\n message.title !== undefined && (obj.title = message.title);\n message.author !== undefined && (obj.author = message.author);\n message.published !== undefined && (obj.published = message.published.toISOString());\n return obj;\n },\n\n create, I>>(base?: I): StorySummary {\n return StorySummary.fromPartial(base ?? {});\n },\n\n fromPartial, I>>(object: I): StorySummary {\n const message = createBaseStorySummary();\n message.title = object.title ?? \"\";\n message.author = object.author ?? \"\";\n message.published = object.published ?? undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial = T extends Builtin ? T\n : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray>\n : T extends {} ? { [K in keyof T]?: DeepPartial }\n : Partial;\n\ntype KeysOfUnion = T extends T ? keyof T : never;\nexport type Exact = P extends Builtin ? P\n : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never };\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = date.getTime() / 1_000;\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = t.seconds * 1_000;\n millis += t.nanos / 1_000_000;\n return new Date(millis);\n}\n\nfunction fromJsonTimestamp(o: any): Date {\n if (o instanceof Date) {\n return o;\n } else if (typeof o === \"string\") {\n return new Date(o);\n } else {\n return fromTimestamp(Timestamp.fromJSON(o));\n }\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n","/* eslint-disable */\nimport * as Long from \"long\";\nimport * as _m0 from \"protobufjs/minimal\";\n\nexport const protobufPackage = \"google.protobuf\";\n\n/**\n * A Timestamp represents a point in time independent of any time zone or local\n * calendar, encoded as a count of seconds and fractions of seconds at\n * nanosecond resolution. The count is relative to an epoch at UTC midnight on\n * January 1, 1970, in the proleptic Gregorian calendar which extends the\n * Gregorian calendar backwards to year one.\n *\n * All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n * second table is needed for interpretation, using a [24-hour linear\n * smear](https://developers.google.com/time/smear).\n *\n * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n * restricting to that range, we ensure that we can convert to and from [RFC\n * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n *\n * # Examples\n *\n * Example 1: Compute Timestamp from POSIX `time()`.\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(time(NULL));\n * timestamp.set_nanos(0);\n *\n * Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n *\n * struct timeval tv;\n * gettimeofday(&tv, NULL);\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(tv.tv_sec);\n * timestamp.set_nanos(tv.tv_usec * 1000);\n *\n * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n *\n * FILETIME ft;\n * GetSystemTimeAsFileTime(&ft);\n * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n *\n * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n * Timestamp timestamp;\n * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n *\n * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n *\n * long millis = System.currentTimeMillis();\n *\n * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n * .setNanos((int) ((millis % 1000) * 1000000)).build();\n *\n * Example 5: Compute Timestamp from Java `Instant.now()`.\n *\n * Instant now = Instant.now();\n *\n * Timestamp timestamp =\n * Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n * .setNanos(now.getNano()).build();\n *\n * Example 6: Compute Timestamp from current time in Python.\n *\n * timestamp = Timestamp()\n * timestamp.GetCurrentTime()\n *\n * # JSON Mapping\n *\n * In JSON format, the Timestamp type is encoded as a string in the\n * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n * format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n * where {year} is always expressed using four digits while {month}, {day},\n * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n * are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n * is required. A proto3 JSON serializer should always use UTC (as indicated by\n * \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n * able to accept both UTC and other timezones (as indicated by an offset).\n *\n * For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n * 01:30 UTC on January 15, 2017.\n *\n * In JavaScript, one can convert a Date object to this format using the\n * standard\n * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n * method. In Python, a standard `datetime.datetime` object can be converted\n * to this format using\n * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n * the Joda Time's [`ISODateTimeFormat.dateTime()`](\n * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D\n * ) to obtain a formatter capable of generating timestamps in this format.\n */\nexport interface Timestamp {\n /**\n * Represents seconds of UTC time since Unix epoch\n * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n * 9999-12-31T23:59:59Z inclusive.\n */\n seconds: number;\n /**\n * Non-negative fractions of a second at nanosecond resolution. Negative\n * second values with fractions must still have non-negative nanos values\n * that count forward in time. Must be from 0 to 999,999,999\n * inclusive.\n */\n nanos: number;\n}\n\nfunction createBaseTimestamp(): Timestamp {\n return { seconds: 0, nanos: 0 };\n}\n\nexport const Timestamp = {\n encode(message: Timestamp, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.seconds !== 0) {\n writer.uint32(8).int64(message.seconds);\n }\n if (message.nanos !== 0) {\n writer.uint32(16).int32(message.nanos);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Timestamp {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTimestamp();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 8) {\n break;\n }\n\n message.seconds = longToNumber(reader.int64() as Long);\n continue;\n case 2:\n if (tag != 16) {\n break;\n }\n\n message.nanos = reader.int32();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Timestamp {\n return {\n seconds: isSet(object.seconds) ? Number(object.seconds) : 0,\n nanos: isSet(object.nanos) ? Number(object.nanos) : 0,\n };\n },\n\n toJSON(message: Timestamp): unknown {\n const obj: any = {};\n message.seconds !== undefined && (obj.seconds = Math.round(message.seconds));\n message.nanos !== undefined && (obj.nanos = Math.round(message.nanos));\n return obj;\n },\n\n create, I>>(base?: I): Timestamp {\n return Timestamp.fromPartial(base ?? {});\n },\n\n fromPartial, I>>(object: I): Timestamp {\n const message = createBaseTimestamp();\n message.seconds = object.seconds ?? 0;\n message.nanos = object.nanos ?? 0;\n return message;\n },\n};\n\ndeclare var self: any | undefined;\ndeclare var window: any | undefined;\ndeclare var global: any | undefined;\nvar tsProtoGlobalThis: any = (() => {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n throw \"Unable to locate global object\";\n})();\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial = T extends Builtin ? T\n : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray>\n : T extends {} ? { [K in keyof T]?: DeepPartial }\n : Partial;\n\ntype KeysOfUnion = T extends T ? keyof T : never;\nexport type Exact = P extends Builtin ? P\n : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never };\n\nfunction longToNumber(long: Long): number {\n if (long.gt(Number.MAX_SAFE_INTEGER)) {\n throw new tsProtoGlobalThis.Error(\"Value is larger than Number.MAX_SAFE_INTEGER\");\n }\n return long.toNumber();\n}\n\n// If you get a compile-error about 'Constructor and ... have no overlap',\n// add '--ts_proto_opt=esModuleInterop=true' as a flag when calling 'protoc'.\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport {StoryListComponent} from \"./story-list/story-list.component\";\nimport {LoginComponent} from \"./login/login.component\";\n\nconst routes: Routes = [\n {path: '', component: StoryListComponent},\n {path: 'login', component: LoginComponent}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","\n OnlyFanFic \n Browse\n \n
\n \n search\n \n \n
\n
\n \n
\n notifications\n account_circle\n Welcome {{ authService.getUser() }}!\n
\n Login\n\n\n
\n
\n \n
\n","import { Component } from '@angular/core';\nimport {AuthService} from \"./auth.service\";\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.sass']\n})\nexport class AppComponent {\n title = 'site';\n constructor(readonly authService: AuthService) {\n }\n}\n\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { StoryListComponent } from './story-list/story-list.component';\nimport { StoryBoxComponent } from './story-box/story-box.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\n\n\nimport { LoginComponent } from './login/login.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n StoryListComponent,\n StoryBoxComponent,\n LoginComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n HttpClientModule,\n MatSidenavModule,\n BrowserAnimationsModule,\n MatButtonToggleModule,\n MatButtonModule,\n MatIconModule,\n MatToolbarModule,\n MatFormFieldModule,\n MatInputModule\n ],\n providers: [\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { subscriptSizing: 'dynamic' } }\n ],\n bootstrap: [AppComponent],\n exports: []\n})\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\nimport * as moment from \"moment\";\nimport * as jwt from 'jose';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n public setSession(token: string) {\n const decoded = jwt.decodeJwt(token)!\n const expiresAt = moment.utc(decoded.exp! * 1000);\n\n console.log(\"decoded:\", decoded);\n localStorage.setItem('id_token', token);\n localStorage.setItem(\"expires_at\", JSON.stringify(expiresAt.valueOf()) );\n }\n\n logout() {\n localStorage.removeItem(\"id_token\");\n localStorage.removeItem(\"expires_at\");\n }\n\n public isLoggedIn() {\n return moment().isBefore(this.getExpiration());\n }\n\n isLoggedOut() {\n return !this.isLoggedIn();\n }\n\n getExpiration() {\n const expiration = localStorage.getItem(\"expires_at\");\n const expiresAt = JSON.parse(expiration!);\n return moment(expiresAt);\n }\n\n getUser(): string {\n const decoded = jwt.decodeJwt(localStorage.getItem(\"id_token\")!);\n return decoded['given_name'] as string;\n }\n\n public getAuthHeader() :Record {\n if (this.isLoggedOut()){\n console.log(\"no auth header\")\n return {};\n }\n let id_token = localStorage.getItem(\"id_token\")!;\n return {'Authorization': `Bearer ${id_token}`}\n }\n}\n","/// \n\nimport { Component, OnInit } from '@angular/core';\nimport {AuthService} from \"../auth.service\";\nimport { DOCUMENT } from '@angular/common';\nimport { Inject } from '@angular/core';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.sass']\n})\nexport class LoginComponent implements OnInit{\n private window: Window;\n\n constructor(@Inject(DOCUMENT) private document: Document,\n private authservice: AuthService,\n private router: Router) {\n this.window = this.document.defaultView!;\n }\n\n ngOnInit(): void {\n const that = this;\n google.accounts.id.initialize({\n client_id: '611354135457-dvd6f4mh09soree3in9vtesb99o67571.apps.googleusercontent.com',\n callback: (credResp: google.accounts.id.CredentialResponse) => {\n that.authservice.setSession(credResp.credential);\n that.router.navigate([\"/\"]);\n }\n });\n\n const parent = document.getElementById('google_btn')!;\n google.accounts.id.renderButton(parent, {type: \"standard\", theme: \"filled_blue\",width:\"400px\"});\n }\n}\n\n\ndeclare global {\n interface Window {\n onSignIn: (credResp:any) => void;\n }\n}\n","
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport {ListStoriesResponse} from \"../../generated/OnlyFanFic\";\nimport {map, Observable } from 'rxjs';\nimport {AuthService} from \"./auth.service\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnlyFanFicService {\n\n constructor(private httpClient: HttpClient, private authService: AuthService) { }\n\n getStorySummaries():Observable{\n const auth_headers = this.authService.getAuthHeader();\n console.log(\"got auth header: \", auth_headers)\n const headers = new HttpHeaders(auth_headers);\n return this.httpClient.get(\"/api/v1/story/summary\", {headers: headers}).pipe(map(resp =>ListStoriesResponse.fromJSON(resp)));\n }\n}\n","import { Component, Input } from '@angular/core';\nimport {StorySummary} from \"../../../generated/OnlyFanFic\";\n\n@Component({\n selector: 'app-story-box',\n templateUrl: './story-box.component.html',\n styleUrls: ['./story-box.component.sass']\n})\nexport class StoryBoxComponent {\n @Input() summary: StorySummary = StorySummary.create();\n}\n","

{{summary.title}}

\nBy {{summary.author}}  Published On {{summary.published}}\n"," \n","import { Component, OnInit } from '@angular/core';\nimport {StorySummary} from \"../../../generated/OnlyFanFic\";\nimport {OnlyFanFicService} from \"../only-fan-fic.service\";\n\n@Component({\n selector: 'app-story-list',\n templateUrl: './story-list.component.html',\n styleUrls: ['./story-list.component.sass']\n})\nexport class StoryListComponent implements OnInit{\n summaries: StorySummary[] = [];\n\n constructor(private onlyFanFicService: OnlyFanFicService) { }\n\n ngOnInit() {\n console.log(\"Sending request\");\n this.onlyFanFicService.getStorySummaries().subscribe(resp => {\n this.summaries = resp.stories;\n console.log(\"Got data \", resp);\n })\n }\n}\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 8685,\n\t\"./af.js\": 8685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 2614,\n\t\"./ar-kw.js\": 2614,\n\t\"./ar-ly\": 8630,\n\t\"./ar-ly.js\": 8630,\n\t\"./ar-ma\": 8674,\n\t\"./ar-ma.js\": 8674,\n\t\"./ar-sa\": 9032,\n\t\"./ar-sa.js\": 9032,\n\t\"./ar-tn\": 4730,\n\t\"./ar-tn.js\": 4730,\n\t\"./ar.js\": 254,\n\t\"./az\": 3052,\n\t\"./az.js\": 3052,\n\t\"./be\": 150,\n\t\"./be.js\": 150,\n\t\"./bg\": 3069,\n\t\"./bg.js\": 3069,\n\t\"./bm\": 3466,\n\t\"./bm.js\": 3466,\n\t\"./bn\": 8516,\n\t\"./bn-bd\": 557,\n\t\"./bn-bd.js\": 557,\n\t\"./bn.js\": 8516,\n\t\"./bo\": 6273,\n\t\"./bo.js\": 6273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 9815,\n\t\"./bs.js\": 9815,\n\t\"./ca\": 3331,\n\t\"./ca.js\": 3331,\n\t\"./cs\": 1320,\n\t\"./cs.js\": 1320,\n\t\"./cv\": 2219,\n\t\"./cv.js\": 2219,\n\t\"./cy\": 8266,\n\t\"./cy.js\": 8266,\n\t\"./da\": 6427,\n\t\"./da.js\": 6427,\n\t\"./de\": 7435,\n\t\"./de-at\": 2871,\n\t\"./de-at.js\": 2871,\n\t\"./de-ch\": 2994,\n\t\"./de-ch.js\": 2994,\n\t\"./de.js\": 7435,\n\t\"./dv\": 2357,\n\t\"./dv.js\": 2357,\n\t\"./el\": 5649,\n\t\"./el.js\": 5649,\n\t\"./en-au\": 9961,\n\t\"./en-au.js\": 9961,\n\t\"./en-ca\": 9878,\n\t\"./en-ca.js\": 9878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 864,\n\t\"./en-ie.js\": 864,\n\t\"./en-il\": 1579,\n\t\"./en-il.js\": 1579,\n\t\"./en-in\": 940,\n\t\"./en-in.js\": 940,\n\t\"./en-nz\": 6181,\n\t\"./en-nz.js\": 6181,\n\t\"./en-sg\": 4301,\n\t\"./en-sg.js\": 4301,\n\t\"./eo\": 5291,\n\t\"./eo.js\": 5291,\n\t\"./es\": 4529,\n\t\"./es-do\": 3764,\n\t\"./es-do.js\": 3764,\n\t\"./es-mx\": 2584,\n\t\"./es-mx.js\": 2584,\n\t\"./es-us\": 3425,\n\t\"./es-us.js\": 3425,\n\t\"./es.js\": 4529,\n\t\"./et\": 5203,\n\t\"./et.js\": 5203,\n\t\"./eu\": 678,\n\t\"./eu.js\": 678,\n\t\"./fa\": 3483,\n\t\"./fa.js\": 3483,\n\t\"./fi\": 6262,\n\t\"./fi.js\": 6262,\n\t\"./fil\": 2521,\n\t\"./fil.js\": 2521,\n\t\"./fo\": 4555,\n\t\"./fo.js\": 4555,\n\t\"./fr\": 3131,\n\t\"./fr-ca\": 8239,\n\t\"./fr-ca.js\": 8239,\n\t\"./fr-ch\": 1702,\n\t\"./fr-ch.js\": 1702,\n\t\"./fr.js\": 3131,\n\t\"./fy\": 2181,\n\t\"./fy.js\": 2181,\n\t\"./ga\": 3821,\n\t\"./ga.js\": 3821,\n\t\"./gd\": 1753,\n\t\"./gd.js\": 1753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 2762,\n\t\"./gom-deva.js\": 2762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 2809,\n\t\"./gu.js\": 2809,\n\t\"./he\": 5402,\n\t\"./he.js\": 5402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 410,\n\t\"./hr.js\": 410,\n\t\"./hu\": 8288,\n\t\"./hu.js\": 8288,\n\t\"./hy-am\": 7928,\n\t\"./hy-am.js\": 7928,\n\t\"./id\": 1334,\n\t\"./id.js\": 1334,\n\t\"./is\": 6959,\n\t\"./is.js\": 6959,\n\t\"./it\": 4864,\n\t\"./it-ch\": 1124,\n\t\"./it-ch.js\": 1124,\n\t\"./it.js\": 4864,\n\t\"./ja\": 6141,\n\t\"./ja.js\": 6141,\n\t\"./jv\": 9187,\n\t\"./jv.js\": 9187,\n\t\"./ka\": 2136,\n\t\"./ka.js\": 2136,\n\t\"./kk\": 4332,\n\t\"./kk.js\": 4332,\n\t\"./km\": 8607,\n\t\"./km.js\": 8607,\n\t\"./kn\": 4305,\n\t\"./kn.js\": 4305,\n\t\"./ko\": 234,\n\t\"./ko.js\": 234,\n\t\"./ku\": 6003,\n\t\"./ku.js\": 6003,\n\t\"./ky\": 5061,\n\t\"./ky.js\": 5061,\n\t\"./lb\": 2786,\n\t\"./lb.js\": 2786,\n\t\"./lo\": 6183,\n\t\"./lo.js\": 6183,\n\t\"./lt\": 29,\n\t\"./lt.js\": 29,\n\t\"./lv\": 4169,\n\t\"./lv.js\": 4169,\n\t\"./me\": 8577,\n\t\"./me.js\": 8577,\n\t\"./mi\": 8177,\n\t\"./mi.js\": 8177,\n\t\"./mk\": 337,\n\t\"./mk.js\": 337,\n\t\"./ml\": 5260,\n\t\"./ml.js\": 5260,\n\t\"./mn\": 2325,\n\t\"./mn.js\": 2325,\n\t\"./mr\": 4695,\n\t\"./mr.js\": 4695,\n\t\"./ms\": 5334,\n\t\"./ms-my\": 7151,\n\t\"./ms-my.js\": 7151,\n\t\"./ms.js\": 5334,\n\t\"./mt\": 3570,\n\t\"./mt.js\": 3570,\n\t\"./my\": 7963,\n\t\"./my.js\": 7963,\n\t\"./nb\": 8028,\n\t\"./nb.js\": 8028,\n\t\"./ne\": 6638,\n\t\"./ne.js\": 6638,\n\t\"./nl\": 302,\n\t\"./nl-be\": 6782,\n\t\"./nl-be.js\": 6782,\n\t\"./nl.js\": 302,\n\t\"./nn\": 3501,\n\t\"./nn.js\": 3501,\n\t\"./oc-lnc\": 563,\n\t\"./oc-lnc.js\": 563,\n\t\"./pa-in\": 869,\n\t\"./pa-in.js\": 869,\n\t\"./pl\": 5302,\n\t\"./pl.js\": 5302,\n\t\"./pt\": 9687,\n\t\"./pt-br\": 4884,\n\t\"./pt-br.js\": 4884,\n\t\"./pt.js\": 9687,\n\t\"./ro\": 9107,\n\t\"./ro.js\": 9107,\n\t\"./ru\": 3627,\n\t\"./ru.js\": 3627,\n\t\"./sd\": 355,\n\t\"./sd.js\": 355,\n\t\"./se\": 3427,\n\t\"./se.js\": 3427,\n\t\"./si\": 1848,\n\t\"./si.js\": 1848,\n\t\"./sk\": 4590,\n\t\"./sk.js\": 4590,\n\t\"./sl\": 184,\n\t\"./sl.js\": 184,\n\t\"./sq\": 6361,\n\t\"./sq.js\": 6361,\n\t\"./sr\": 8965,\n\t\"./sr-cyrl\": 1287,\n\t\"./sr-cyrl.js\": 1287,\n\t\"./sr.js\": 8965,\n\t\"./ss\": 5456,\n\t\"./ss.js\": 5456,\n\t\"./sv\": 451,\n\t\"./sv.js\": 451,\n\t\"./sw\": 7558,\n\t\"./sw.js\": 7558,\n\t\"./ta\": 1356,\n\t\"./ta.js\": 1356,\n\t\"./te\": 3693,\n\t\"./te.js\": 3693,\n\t\"./tet\": 1243,\n\t\"./tet.js\": 1243,\n\t\"./tg\": 2500,\n\t\"./tg.js\": 2500,\n\t\"./th\": 5768,\n\t\"./th.js\": 5768,\n\t\"./tk\": 7761,\n\t\"./tk.js\": 7761,\n\t\"./tl-ph\": 5780,\n\t\"./tl-ph.js\": 5780,\n\t\"./tlh\": 9590,\n\t\"./tlh.js\": 9590,\n\t\"./tr\": 3807,\n\t\"./tr.js\": 3807,\n\t\"./tzl\": 3857,\n\t\"./tzl.js\": 3857,\n\t\"./tzm\": 654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 654,\n\t\"./ug-cn\": 845,\n\t\"./ug-cn.js\": 845,\n\t\"./uk\": 9232,\n\t\"./uk.js\": 9232,\n\t\"./ur\": 7052,\n\t\"./ur.js\": 7052,\n\t\"./uz\": 7967,\n\t\"./uz-latn\": 2233,\n\t\"./uz-latn.js\": 2233,\n\t\"./uz.js\": 7967,\n\t\"./vi\": 8615,\n\t\"./vi.js\": 8615,\n\t\"./x-pseudo\": 2320,\n\t\"./x-pseudo.js\": 2320,\n\t\"./yo\": 1313,\n\t\"./yo.js\": 1313,\n\t\"./zh-cn\": 4490,\n\t\"./zh-cn.js\": 4490,\n\t\"./zh-hk\": 5910,\n\t\"./zh-hk.js\": 5910,\n\t\"./zh-mo\": 8262,\n\t\"./zh-mo.js\": 8262,\n\t\"./zh-tw\": 4223,\n\t\"./zh-tw.js\": 4223\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 = 6700;"],"names":["_m0","Timestamp","protobufPackage","createBaseListStoriesRequest","ListStoriesRequest","encode","_","writer","Writer","create","decode","input","length","reader","Reader","end","undefined","len","pos","message","tag","uint32","skipType","fromJSON","toJSON","obj","base","fromPartial","createBaseListStoriesResponse","stories","ListStoriesResponse","v","StorySummary","fork","ldelim","push","object","Array","isArray","map","e","createBaseStorySummary","title","author","published","string","toTimestamp","fromTimestamp","isSet","String","fromJsonTimestamp","toISOString","date","seconds","getTime","nanos","t","millis","Date","o","value","Long","createBaseTimestamp","int64","int32","longToNumber","Number","Math","round","tsProtoGlobalThis","globalThis","self","window","global","long","gt","MAX_SAFE_INTEGER","Error","toNumber","util","configure","RouterModule","StoryListComponent","LoginComponent","routes","path","component","AppRoutingModule","forRoot","imports","exports","i0","AppComponent","constructor","authService","selectors","decls","vars","consts","template","BrowserModule","StoryBoxComponent","HttpClientModule","MatSidenavModule","BrowserAnimationsModule","MatButtonModule","MatButtonToggleModule","MatIconModule","MatToolbarModule","MatFormFieldModule","MAT_FORM_FIELD_DEFAULT_OPTIONS","MatInputModule","AppModule","bootstrap","provide","useValue","subscriptSizing","declarations","moment","jwt","AuthService","setSession","token","decoded","decodeJwt","expiresAt","utc","exp","console","log","localStorage","setItem","JSON","stringify","valueOf","logout","removeItem","isLoggedIn","isBefore","getExpiration","isLoggedOut","expiration","getItem","parse","getUser","getAuthHeader","id_token","factory","providedIn","DOCUMENT","document","authservice","router","defaultView","ngOnInit","that","google","accounts","id","initialize","client_id","callback","credResp","credential","navigate","parent","getElementById","renderButton","type","theme","width","HttpHeaders","OnlyFanFicService","httpClient","getStorySummaries","auth_headers","headers","get","pipe","resp","inputs","summary","onlyFanFicService","subscribe","summaries","__NgCli_bootstrap_1","bootstrapModule","catch","err","error"],"sourceRoot":"webpack:///","x_google_ignoreList":[15]}