Skip to content

Instantly share code, notes, and snippets.

View blakazulu's full-sized avatar

Liraz Amir blakazulu

View GitHub Profile
@blakazulu
blakazulu / page.ts
Created January 25, 2021 13:39
Angular CMS
export interface Page {
id: string;
title: string;
url: string;
createdAt: number;
updatedAt: number;
}
@blakazulu
blakazulu / logger.ts
Created January 25, 2021 13:38
Angular CMS
export interface Logger {
info(value: any, ...rest: any[]): void;
log(value: any, ...rest: any[]): void;
warn(value: any, ...rest: any[]): void;
error(value: any, ...rest: any[]): void;
}
@blakazulu
blakazulu / posts.service.ts
Created January 25, 2021 13:30
Angular CMS
import {Injectable} from '@angular/core';
import {AngularFirestore} from '@angular/fire/firestore';
import {Observable} from 'rxjs';
import {Post} from '../interfaces/post';
import {map} from 'rxjs/operators';
import {ConsoleLoggerService} from './console-logger.service';
import {DateHelper} from '../utilities/date-helper';
import firebase from 'firebase';
import FieldPath = firebase.firestore.FieldPath;
import WhereFilterOp = firebase.firestore.WhereFilterOp;
@blakazulu
blakazulu / pages.service.ts
Created January 25, 2021 13:09
Angular CMS
import {Injectable} from '@angular/core';
import {AngularFirestore} from '@angular/fire/firestore';
import {Observable} from 'rxjs';
import {Page} from '../interfaces/page';
import {map} from 'rxjs/operators';
import {ConsoleLoggerService} from './console-logger.service';
import {DateHelper} from '../utilities/date-helper';
import firebase from 'firebase';
import FieldPath = firebase.firestore.FieldPath;
import WhereFilterOp = firebase.firestore.WhereFilterOp;
import {Injectable} from '@angular/core';
import {Observable, of} from 'rxjs';
import firebase from 'firebase/app';
import {AngularFireAuth} from '@angular/fire/auth';
import {User} from '../interfaces/user';
import {map, switchMap} from 'rxjs/operators';
import {AngularFirestore, AngularFirestoreDocument} from '@angular/fire/firestore';
import {ConsoleLoggerService} from './console-logger.service';
import {Post} from '../interfaces/post';
import {Page} from '../interfaces/page';
import {Injectable} from '@angular/core';
import {environment} from '../../environments/environment';
import {Logger} from '../interfaces/logger';
import {MatSnackBar} from '@angular/material/snack-bar';
@Injectable({
providedIn: 'root'
})
export class ConsoleLoggerService implements Logger {
private readonly isInProduction: boolean;
@blakazulu
blakazulu / material.module.ts
Created November 23, 2020 10:30
Angular CMS
import {NgModule} from '@angular/core';
import {MatButtonModule} from '@angular/material/button';
import {MatToolbarModule} from '@angular/material/toolbar';
import {MatMenuModule} from '@angular/material/menu';
import {MatIconModule} from '@angular/material/icon';
import {MatTooltipModule} from '@angular/material/tooltip';
import {MatSnackBarModule} from '@angular/material/snack-bar';
@NgModule({
imports: [
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {AdminGuard} from './guards/admin.guard';
const routes: Routes = [
{
path: 'admin',
loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule),
canActivate: [AdminGuard]
},
@blakazulu
blakazulu / app.module.ts
Created November 23, 2020 10:04
Angular CMS
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {AngularFireModule} from '@angular/fire';
import {environment} from '../environments/environment.prod';
import {SubscriberGuard} from './guards/subscriber.guard';
import {AdminGuard} from './guards/admin.guard';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
@blakazulu
blakazulu / styles.scss
Created November 23, 2020 10:00
Angular CMS
html {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*, *:before, *:after {
-webkit-box-sizing: inherit;
-moz-box-sizing: inherit;
box-sizing: inherit;