Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified braincradleapp/.DS_Store
Binary file not shown.
2 changes: 2 additions & 0 deletions braincradleapp/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
,'braincradle.app.projects'
,'braincradle.app.solutions'
,'braincradle.app.tutorials'
,'braincradle.app.FBauth'
])
.constant('FBMSG', 'https://braincradleai.firebaseio.com/')
.service('AppFirebase',function(){
var self = this;
// Initialize Firebase
Expand Down
116 changes: 97 additions & 19 deletions braincradleapp/components/auth/auth.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

(function() {
'use strict';
angular.module('braincradle.app.auth', [])
Expand Down Expand Up @@ -39,31 +40,108 @@

return AppFirebase.auth();
})
.controller('AuthController',function(Auth,$state,AppConfig,AppFirebase){
.controller('AuthController',function($scope,Auth,$state,AppConfig,AppFirebase){
var self = this;

var provider = new firebase.auth.GoogleAuthProvider();

Auth.signInWithPopup(provider).then(function(result) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
console.log(user);
$state.go('home');
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
self.googleLogin = function() {
Auth.signInWithPopup(provider).then(function (result) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
console.log(user);
$state.go('home');
}).catch(function (error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;

self.error.message = errorCode + ":" + errorMessage;
});
self.error.message = errorCode + ":" + errorMessage;
});
}

var providerFB = new firebase.auth.FacebookAuthProvider();
self.facebookLogin = function() {
console.log("using functions")
Auth.signInWithPopup(providerFB).then(function(result) {
// This gives you a Facebook Access Token. You can use it to access the Facebook API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
// ...
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
self.error.message = errorCode + ":" + errorMessage;
});

}

self.register = function() {
console.log(self.user.email)
var result = Auth.createUserWithEmailAndPassword(self.user.email, self.user.password)
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ..
self.error.message = errorCode + ":" + errorMessage;
});
result.then(function(userData){
console.log("User Successfully created with email: ", userData.email)
}, function(error) {
console.log("an error occurred ", self.error.message)
})
}

self.login = function () {

var result = Auth.signInWithEmailAndPassword(self.user.email, self.user.password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
self.error.message = errorCode + ":" + errorMessage;
});;
result.then(function(authData){
console.log("User Successfully logged in with uid: ", authData.uid)
}, function(error) {
console.log("Authentication Failed: ", self.error.message)
})
}

})
})();

window.fbAsyncInit = function () {
FB.init({
appId: '130858520918634',
autoLogAppEvents: true,
xfbml: true,
version: 'v2.11'
});
};

(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

})();
14 changes: 14 additions & 0 deletions braincradleapp/components/auth/login.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

<div class="container">
<div class="row">
<div class="col-md-4 col-lg-4">
Expand All @@ -24,10 +25,23 @@
</div>
</div>
</div>
<div class="row">
<div class="col-md-4 col-lg-4">
<span> Not a user? </span><a ui-sref="register" >Sign Up <br><br></a>
</div>
</div>
<div class="row">
<div class="col-md-4 col-lg-4">
<button type="submit" class="btn btn-default">Log In</button>
</div>
</div>
<div class="row">
<div class="col-md-4 col-lg-4">
<button ng-click = "authCtrl.facebookLogin()" class="btn btn-default">Facebook Login</button>
<button ng-click = "authCtrl.googleLogin()" class="btn btn-default">Google Login</button>
</div>
</div>


</form>
</div>
1 change: 1 addition & 0 deletions braincradleapp/components/auth/register.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
</div>
<div class="row">
<div class="col-md-4 col-lg-4">
<span>Already a user? <a ui-sref="login"> Log in <br><br></a></span>
<button type="submit" class="btn btn-default">Register</button>
</div>
</div>
Expand Down
15 changes: 15 additions & 0 deletions braincradleapp/components/blogs/blogs.css
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,21 @@ ul.post-grid li:hover h3 {
overflow: hidden;

}
.blog-post{
min-height: 140px;
overflow: hidden;
}

.blog-post-summary-buttons{
border-top: 1px solid #3a8bab;
}
.comment-container{
padding: 30px;
background-color: #ffffff;
}
.comment-post{
min-height: 40px;
max-height: 140px;
overflow: hidden;

}
79 changes: 77 additions & 2 deletions braincradleapp/components/blogs/blogs.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,90 @@ <h3>{{post.blog_title}}</h3>
<a ng-click="blogsCtrl.AllPosts()">All posts</a>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<a ng-click="blogsCtrl.EditPost()">Edit Posts</a>
</div>
</div>
<div class="blog-container">
<h3>{{blogsCtrl.current_post.blog_title}}</h3>
<p class="blog-post-summary" ng-bind-html="blogsCtrl.current_post.blog_post"></p>
<p class="blog-post" ng-bind-html="blogsCtrl.current_post.blog_post"></p>
<p class="blog-post-summary-buttons">
<span class="pull-left"><i class="fa fa-comments" aria-hidden="true"></i></span>
<span class="pull-left"><i class="fa fa-comments" aria-hidden="true" ng-click = 'blogsCtrl.Comment()'></i></span>
<span class="pull-right"><i class="fa fa-thumbs-up" aria-hidden="true"></i></span>
</p>
</div>
<br>
<div ng-if="blogsCtrl.hasComment" class="comment-container">
<h3 >User comments</h3>
<h4>{{blogsCtrl.current_post.comment.comment_title}}</h4>
<p> author: {{blogsCtrl.current_post.comment.author.email}}</p>
<p class="comment-post" ng-bind-html="blogsCtrl.current_post.comment.comment_post"></p>
</div>
</div>

<div ng-if="blogsCtrl.leaveComment">
<h4>Comment</h4>
<div class="well">
<form name="inputform">
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label class="control-label">Title</label>
<input type="text" ng-model="blogsCtrl.comment.comment_title" class="form-control" placeholder="Title" required>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label class="control-label">Post</label>
<div text-angular ng-model="blogsCtrl.comment.comment_post" class="btn-groups"></div>
</div>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">
<div class="col-xs-12 text-center">
<a class="btn btn-primary" ng-click="blogsCtrl.SaveComment()" ng-disabled="inputform.$invalid">Save Comment</a>&nbsp;&nbsp;
<a class="btn btn-default" ng-click="blogsCtrl.Cancel()">Cancel</a>
</div>
</div>
</form>
</div>
</div>

<div ng-if="blogsCtrl.editPost">
<h4>Edit Post</h4>
<div class="well">
<form name="inputform">
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label class="control-label">Title</label>
<input type="text" ng-model="blogsCtrl.current_post.blog_title" class="form-control" placeholder="Title" required>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label class="control-label">Post</label>
<div text-angular ng-model="blogsCtrl.current_post.blog_post" class="btn-groups"></div>
</div>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">
<div class="col-xs-12 text-center">
<a class="btn btn-primary" ng-click="blogsCtrl.SaveChange()" ng-disabled="inputform.$invalid">Save Change</a>&nbsp;&nbsp;
<a class="btn btn-default" ng-click="blogsCtrl.Cancel()">Cancel</a>
</div>
</div>
</form>
</div>
</div>

<div ng-if="blogsCtrl.addNew">
<h4>Add New Post</h4>
<div class="well">
Expand Down
65 changes: 63 additions & 2 deletions braincradleapp/components/blogs/blogs.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,14 @@
var database = AppFirebase.database();

var blogsRef = database.ref().child("blogs");

self.blogs = $firebaseArray(blogsRef);

self.addNew = false;
self.viewPost = false;
self.editPost = false;
self.leaveComment = false;
self.hasComment = false;

self.IsUserAutheticated = function(){
if(self.currentUser){
Expand All @@ -43,14 +47,14 @@
self.newpost = {}
}
self.Save = function () {
var newKey = firebase.database().ref().child('blogs').push().key;
var updateObj = {
post_id: newKey,
blog_title: self.newpost.blog_title,
blog_post: self.newpost.blog_post,
author: {email:self.currentUser.email,user:self.currentUser.displayName}
}
console.log(updateObj);
// Get a key for a new record.
var newKey = firebase.database().ref().child('blogs').push().key;
database.ref('blogs/'+newKey).set(updateObj);

// Done
Expand All @@ -65,10 +69,67 @@
self.ViewPost = function (post) {
self.viewPost = true;
self.current_post = post;
self.ifComment()
console.log(self.hasComment)
}

self.AllPosts = function () {
self.viewPost = false;
}
self.EditPost = function () {
self.editPost = true;
}
self.SaveChange = function () {
var updateRef = blogsRef.child(self.current_post.post_id)
var updates = {};
var postData = {
"post_id": self.current_post.post_id,
"blog_title": self.current_post.blog_title,
"blog_post" :self.current_post.blog_post,
"author": self.current_post.author}

updates['/blogs/' + self.current_post.post_id] = postData;
firebase.database().ref().update(updates)

self.editPost = false;

}
self.Comment = function () {
self.leaveComment = true;
self.comment = {}

}
self.SaveComment = function () {
self.comment.author = {email:self.currentUser.email,user:self.currentUser.displayName}
console.log(self.comment)
var postData = {
"post_id": self.current_post.post_id,
"blog_title": self.current_post.blog_title,
"blog_post" :self.current_post.blog_post,
"author": self.current_post.author,
comment: self.comment
}
var updates = {};
updates['/blogs/' + self.current_post.post_id] = postData;
firebase.database().ref().update(updates)
self.comment = {}
self.leaveComment = false;
self.displayComment += 1;
}

self.ifComment = function () {
console.log("ifComment")
var currentBlog = firebase.database().ref().child('blogs').child(self.current_post.post_id)
console.log(currentBlog)
currentBlog.child("comment").once("value").then(function(snapshot){
if(snapshot.val()){
console.log(snapshot.val())
self.hasComment = true;
}
}
)
}


})

Expand Down
Loading