mirror of
https://github.com/fergalmoran/icebreaker-mobile.git
synced 2025-12-22 09:39:31 +00:00
Added tabs 'n stuff
This commit is contained in:
5
.firebaserc
Normal file
5
.firebaserc
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"projects": {
|
||||
"default": "icebreaker-f5f20"
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ import {Component} from '@angular/core';
|
||||
import {ionicBootstrap, Platform} from 'ionic-angular';
|
||||
import {StatusBar} from 'ionic-native';
|
||||
import {HomePage} from './pages/home/home';
|
||||
|
||||
import {TabsPage} from './pages/tabs/tabs';
|
||||
|
||||
|
||||
import {
|
||||
@@ -32,9 +32,10 @@ import {
|
||||
]
|
||||
})
|
||||
export class MyApp {
|
||||
rootPage: any = HomePage;
|
||||
private rootPage: any;
|
||||
|
||||
constructor(platform: Platform) {
|
||||
this.rootPage = TabsPage;
|
||||
platform.ready().then(() => {
|
||||
// Okay, so the platform is ready and our plugins are available.
|
||||
// Here you can do any higher level native things you might need.
|
||||
|
||||
10
app/pages/about/about.html
Normal file
10
app/pages/about/about.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<ion-header>
|
||||
<ion-navbar>
|
||||
<ion-title>
|
||||
About
|
||||
</ion-title>
|
||||
</ion-navbar>
|
||||
</ion-header>
|
||||
<ion-content padding class="about">
|
||||
Hello About
|
||||
</ion-content>
|
||||
10
app/pages/about/about.ts
Normal file
10
app/pages/about/about.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
templateUrl: 'build/pages/about/about.html'
|
||||
})
|
||||
|
||||
export class AboutPage implements OnInit {
|
||||
|
||||
ngOnInit() { }
|
||||
}
|
||||
10
app/pages/contact/contact.html
Normal file
10
app/pages/contact/contact.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<ion-header>
|
||||
<ion-navbar>
|
||||
<ion-title>
|
||||
Contact
|
||||
</ion-title>
|
||||
</ion-navbar>
|
||||
</ion-header>
|
||||
<ion-content padding class="about">
|
||||
Hello Contact
|
||||
</ion-content>
|
||||
10
app/pages/contact/contact.ts
Normal file
10
app/pages/contact/contact.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
templateUrl: 'build/pages/contact/contact.html'
|
||||
})
|
||||
|
||||
export class ContactPage implements OnInit {
|
||||
|
||||
ngOnInit() { }
|
||||
}
|
||||
@@ -11,7 +11,7 @@
|
||||
</ion-buttons>
|
||||
</ion-navbar>
|
||||
</ion-header>
|
||||
<ion-content class="home">
|
||||
<ion-content padding class="home">
|
||||
<ion-list>
|
||||
<ion-list-header>Nearby people</ion-list-header>
|
||||
<ion-item *ngFor="let neighbour of neighbours | async">
|
||||
|
||||
80
app/pages/settings/settings.html
Normal file
80
app/pages/settings/settings.html
Normal file
@@ -0,0 +1,80 @@
|
||||
<ion-header>
|
||||
<ion-navbar>
|
||||
<ion-title>Icon List</ion-title>
|
||||
</ion-navbar>
|
||||
</ion-header>
|
||||
<ion-content>
|
||||
<ion-list no-border>
|
||||
<ion-list-header>
|
||||
Classes
|
||||
</ion-list-header>
|
||||
<ion-item>
|
||||
<ion-icon name='planet' item-left></ion-icon>
|
||||
Astronomy
|
||||
<ion-note item-right>
|
||||
To the moon
|
||||
</ion-note>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-toggle checked="false"></ion-toggle>
|
||||
<ion-label>
|
||||
Muggle Studies
|
||||
</ion-label>
|
||||
<ion-icon name='body' item-left></ion-icon>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-icon name='leaf' item-left></ion-icon>
|
||||
Herbology
|
||||
<ion-icon name='rose' item-right secondary></ion-icon>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-icon name='flask' item-left></ion-icon>
|
||||
Potions
|
||||
<ion-note item-right>
|
||||
Poisonous
|
||||
</ion-note>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list>
|
||||
<ion-list-header>
|
||||
Activities
|
||||
</ion-list-header>
|
||||
<ion-item>
|
||||
Incantation
|
||||
<ion-icon name='color-wand' item-left></ion-icon>
|
||||
<ion-note item-right>Crucio!</ion-note>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-toggle checked="true"></ion-toggle>
|
||||
<ion-label>
|
||||
Quidditch Practice
|
||||
</ion-label>
|
||||
<ion-icon name='brush' item-left></ion-icon>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-icon name='wine' item-left></ion-icon>
|
||||
Mead Drinking
|
||||
<ion-note item-right>Yes please</ion-note>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
<ion-list>
|
||||
<ion-list-header>
|
||||
Friends
|
||||
</ion-list-header>
|
||||
<ion-item>
|
||||
<ion-icon name='flash' item-left></ion-icon>
|
||||
Harry
|
||||
<ion-note item-right>The boy who lived</ion-note>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-icon name='book' item-left></ion-icon>
|
||||
Hermoine
|
||||
<ion-note item-right>Muggle-born</ion-note>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-icon name='beer' item-left></ion-icon>
|
||||
Ron
|
||||
<ion-note item-right>Brilliant!</ion-note>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</ion-content>
|
||||
10
app/pages/settings/settings.ts
Normal file
10
app/pages/settings/settings.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
templateUrl: 'build/pages/settings/settings.html'
|
||||
})
|
||||
|
||||
export class SettingsPage implements OnInit {
|
||||
|
||||
ngOnInit() { }
|
||||
}
|
||||
6
app/pages/tabs/tabs.html
Normal file
6
app/pages/tabs/tabs.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<ion-tabs>
|
||||
<ion-tab tabIcon="contact" [root]="tabHome"></ion-tab>
|
||||
<ion-tab tabIcon="compass" [root]="tabAbout"></ion-tab>
|
||||
<ion-tab tabIcon="analytics" [root]="tabContact"></ion-tab>
|
||||
<ion-tab tabIcon="settings" [root]="tabSettings"></ion-tab>
|
||||
</ion-tabs>
|
||||
25
app/pages/tabs/tabs.ts
Normal file
25
app/pages/tabs/tabs.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import {Component} from '@angular/core';
|
||||
import {HomePage} from '../home/home';
|
||||
import {AboutPage} from '../about/about';
|
||||
import {ContactPage} from '../contact/contact';
|
||||
import {SettingsPage} from '../settings/settings';
|
||||
|
||||
@Component({
|
||||
templateUrl: 'build/pages/tabs/tabs.html'
|
||||
})
|
||||
export class TabsPage {
|
||||
|
||||
private tabHome: any;
|
||||
private tabAbout: any;
|
||||
private tabContact: any;
|
||||
private tabSettings: any;
|
||||
|
||||
constructor() {
|
||||
// this tells the tabs component which Pages
|
||||
// should be each tab's root Page
|
||||
this.tabHome = HomePage;
|
||||
this.tabAbout = AboutPage;
|
||||
this.tabContact = ContactPage;
|
||||
this.tabSettings = SettingsPage;
|
||||
}
|
||||
}
|
||||
26
app/services/neighbours.service.ts
Normal file
26
app/services/neighbours.service.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import {Injectable} from '@angular/core'
|
||||
import { AngularFire } from 'angularfire2';
|
||||
|
||||
@Injectable()
|
||||
export class NeighboursService {
|
||||
constructor(private _af: AngularFire) {
|
||||
|
||||
}
|
||||
getNeighbours() {
|
||||
return this._af.database.list('/neighbours');
|
||||
}
|
||||
registerMe() {
|
||||
var textItems = this._af.database.list('/neighbours');
|
||||
textItems.push({
|
||||
"displayName": "Hello Sailor",
|
||||
"userName": "hello@sailor.com",
|
||||
"avatarImage": "https://placekitten.com/64/64"
|
||||
}).then((_data) => {
|
||||
console.log(_data)
|
||||
alert("Item Successfully Added")
|
||||
}).catch((_error) => {
|
||||
console.log(_error)
|
||||
alert("Error Adding Item")
|
||||
})
|
||||
}
|
||||
}
|
||||
20
data/neighbours.json
Normal file
20
data/neighbours.json
Normal file
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"userName": "fergal.moran@gmail.com",
|
||||
"displayName": "Fergal Moran",
|
||||
"avatarImage": "https://api.adorable.io/avatars/64/fergalm",
|
||||
"tagLine": "Scientist, pragmatist, generous lover, all round nice guy"
|
||||
},
|
||||
{
|
||||
"userName": "mar.spud@gmail.com",
|
||||
"displayName": "Maurice Murphy",
|
||||
"avatarImage": "https://api.adorable.io/avatars/64/marspud",
|
||||
"tagLine": "I like spuds"
|
||||
},
|
||||
{
|
||||
"userName": "donagh.murphy@gmail.com",
|
||||
"displayName": "Donagh Murphy",
|
||||
"avatarImage": "https://api.adorable.io/avatars/64/donaghmurphy",
|
||||
"tagLine": "Wanna see my robots?"
|
||||
}
|
||||
]
|
||||
6
database.rules.json
Normal file
6
database.rules.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"rules": {
|
||||
".read": "auth != null",
|
||||
".write": "auth != null"
|
||||
}
|
||||
}
|
||||
8
firebase.json
Normal file
8
firebase.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"database": {
|
||||
"rules": "database.rules.json"
|
||||
},
|
||||
"hosting": {
|
||||
"public": "public"
|
||||
}
|
||||
}
|
||||
81
public/404.html
Normal file
81
public/404.html
Normal file
@@ -0,0 +1,81 @@
|
||||
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Page Not Found</title>
|
||||
<style>
|
||||
body {
|
||||
margin: 0 auto;
|
||||
padding: 1em;
|
||||
font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-size: 1.1em;
|
||||
color: #333;
|
||||
}
|
||||
@media screen and (min-width: 40em) {
|
||||
body {
|
||||
width: 40em;
|
||||
}
|
||||
}
|
||||
h1, h2, h3 {
|
||||
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-weight: 300;
|
||||
}
|
||||
h1 {
|
||||
margin: 1em 0;
|
||||
padding: 0 0 0.25em 0;
|
||||
border-bottom: 1px dotted #ccc;
|
||||
text-align: center;
|
||||
font-size: 3em;
|
||||
line-height: 1.1em;
|
||||
}
|
||||
h2 {
|
||||
margin: 1em 0 0.45em 0;
|
||||
padding: 0;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
p {
|
||||
margin: 0 0 0.5em 0;
|
||||
line-height: 1.8em;
|
||||
}
|
||||
ol {
|
||||
|
||||
}
|
||||
ol li {
|
||||
margin: 0 0 0.5em 0;
|
||||
font-size: 0.9em;
|
||||
line-height: 1.8em;
|
||||
}
|
||||
a {
|
||||
color: #50B1FF;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
code {
|
||||
display: inline-block;
|
||||
padding: 0.1em;
|
||||
background-color: #F8F8F8;
|
||||
border: 1px solid #DDD;
|
||||
border-radius: 3px;
|
||||
font-family: Consolas,"Liberation Mono",Courier,monospace;
|
||||
font-size: 0.9em;
|
||||
line-height: 1;
|
||||
}
|
||||
.logo {
|
||||
display: block;
|
||||
margin: 3em 0;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Page Not Found</h1>
|
||||
<p>This specified file was not found on this website. Please check the URL for mistakes and try again.</p>
|
||||
<h2>Why am I seeing this?</h2>
|
||||
<p>This page was generated by the Firebase Command-Line Interface. To modify it, edit the <code>404.html</code> file in your project's configured public directory.</p>
|
||||
<a class="logo" href="//firebase.google.com">
|
||||
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJQAAAAaCAYAAABRhnV8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNWM4MWUxOS0zYWJmLTQyYWYtOTVhMi01MDBiZWU5NzAyMTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkNCQkJBMDlCNkRGMTFFM0JDMTdBQTgyNEFEQURCQTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkNCQkJBMDhCNkRGMTFFM0JDMTdBQTgyNEFEQURCQTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZWFkZWM0M2YtMmFjMy00NTEyLTljNzQtYjVmMDJjMWNhNTkxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI1YzgxZTE5LTNhYmYtNDJhZi05NWEyLTUwMGJlZTk3MDIxOCIvPiA8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" />
|
||||
</a>
|
||||
</body>
|
||||
</html>
|
||||
69
public/index.html
Normal file
69
public/index.html
Normal file
@@ -0,0 +1,69 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Welcome to Firebase Hosting</title>
|
||||
<style media="screen">
|
||||
body {
|
||||
font-family: Roboto, Arial, sans-serif;
|
||||
background: #ECEFF1;
|
||||
color: rgba(0,0,0,0.87);
|
||||
}
|
||||
|
||||
a {
|
||||
color: rgb(3,155,229);
|
||||
}
|
||||
|
||||
#message {
|
||||
max-width: 400px;
|
||||
margin: 40px auto;
|
||||
box-shadow: 0 1px 3px 0 rgba(0,0,0,0.2),0 1px 1px 0 rgba(0,0,0,0.14),0 2px 1px -1px rgba(0,0,0,0.12);
|
||||
border-radius: 2px;
|
||||
background: white;
|
||||
padding: 16px 24px;
|
||||
}
|
||||
|
||||
#message h1 {
|
||||
font-size: 22px;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
margin: 0 0 16px;
|
||||
}
|
||||
|
||||
#message p {
|
||||
font-weight: 300;
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
#message ul {
|
||||
list-style: none;
|
||||
margin: 16px 0 0;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#message li a {
|
||||
display: inline-block;
|
||||
padding: 8px;
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
font-weight: 500;
|
||||
background: rgb(3,155,229);
|
||||
color: white;
|
||||
border: 1px solid rgb(3,155,229);
|
||||
border-radius: 3px;
|
||||
font-size: 14px;
|
||||
box-shadow: 0 2px 5px 0 rgba(0,0,0,.26);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="message">
|
||||
<h1>Welcome to Firebase Hosting</h1>
|
||||
<p>You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary!</p>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://firebase.google.com/docs/hosting/">Open Hosting Documentation</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user