Merge branch 'oauth3' of git.daplie.com:Daplie/walnut_launchpad into oauth3
This commit is contained in:
commit
0c26190e2a
|
@ -15,7 +15,6 @@
|
||||||
.login-container {
|
.login-container {
|
||||||
top: 25vh;
|
top: 25vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Common CSS */
|
/* Common CSS */
|
||||||
.cp {
|
.cp {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
31
js/app.js
31
js/app.js
|
@ -11,17 +11,15 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
data: { requiresLogin: false },
|
data: { requiresLogin: false },
|
||||||
url: '/splash-page',
|
url: '/splash-page',
|
||||||
templateUrl: '/templates/splash-page.html',
|
templateUrl: '/templates/splash-page.html',
|
||||||
controller: 'loginCtrl',
|
controller: 'loginCtrl as vm'
|
||||||
controllerAs: 'vm'
|
|
||||||
})
|
})
|
||||||
.state('app',{
|
.state('app',{
|
||||||
data: { requiresLogin: true },
|
data: { requiresLogin: true },
|
||||||
url: '/',
|
url: '/',
|
||||||
|
controller: 'loginCtrl as vm',
|
||||||
views: {
|
views: {
|
||||||
'header': {
|
'header': {
|
||||||
templateUrl: '/templates/partials/header.html',
|
templateUrl: '/templates/partials/header.html',
|
||||||
controller: 'loginCtrl',
|
|
||||||
controllerAs: 'vm'
|
|
||||||
},
|
},
|
||||||
'menu': {
|
'menu': {
|
||||||
templateUrl: '/templates/partials/menu.html'
|
templateUrl: '/templates/partials/menu.html'
|
||||||
|
@ -36,8 +34,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
views: {
|
views: {
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/home.html',
|
templateUrl: 'templates/home.html',
|
||||||
controller: 'loginCtrl',
|
controller: 'loginCtrl as vm'
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -46,8 +43,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
views: {
|
views: {
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/bolt.html',
|
templateUrl: 'templates/bolt.html',
|
||||||
controller: 'boltCtrl',
|
controller: 'boltCtrl as vm',
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -56,8 +52,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
views: {
|
views: {
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/files.html',
|
templateUrl: 'templates/files.html',
|
||||||
controller: 'fileCtrl',
|
controller: 'fileCtrl as vm',
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -66,8 +61,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
views: {
|
views: {
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/contacts.html',
|
templateUrl: 'templates/contacts.html',
|
||||||
controller: 'contactCtrl',
|
controller: 'contactCtrl as vm',
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -76,8 +70,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
views: {
|
views: {
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/music.html',
|
templateUrl: 'templates/music.html',
|
||||||
controller: 'musicCtrl',
|
controller: 'musicCtrl as vm',
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -86,8 +79,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
views: {
|
views: {
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/email.html',
|
templateUrl: 'templates/email.html',
|
||||||
controller: 'emailCtrl',
|
controller: 'emailCtrl as vm',
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -96,8 +88,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
views: {
|
views: {
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/website.html',
|
templateUrl: 'templates/website.html',
|
||||||
controller: 'websiteCtrl',
|
controller: 'websiteCtrl as vm',
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -107,7 +98,6 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/dns.html',
|
templateUrl: 'templates/dns.html',
|
||||||
controller: 'dnsCtrl',
|
controller: 'dnsCtrl',
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -116,8 +106,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
|
||||||
views: {
|
views: {
|
||||||
'content@': {
|
'content@': {
|
||||||
templateUrl: 'templates/account-settings.html',
|
templateUrl: 'templates/account-settings.html',
|
||||||
controller: 'loginCtrl',
|
controller: 'loginCtrl as vm',
|
||||||
controllerAs: 'vm'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -3,8 +3,4 @@ app.controller('boltCtrl', [
|
||||||
function($scope, Auth) {
|
function($scope, Auth) {
|
||||||
|
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.userName = function(profile){
|
|
||||||
profile = Auth.getProfile();
|
|
||||||
return profile.email;
|
|
||||||
};
|
|
||||||
}]);
|
}]);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
app.controller('contactCrtl', [
|
app.controller('contactCtrl', [
|
||||||
'$scope',
|
'$scope',
|
||||||
function($scope) {
|
function($scope) {
|
||||||
|
|
||||||
|
|
|
@ -122,6 +122,10 @@ app.controller('loginCtrl', [
|
||||||
vm.newIssuer = vm.defaultIssuer;
|
vm.newIssuer = vm.defaultIssuer;
|
||||||
vm.setIssuer(vm.defaultIssuer);
|
vm.setIssuer(vm.defaultIssuer);
|
||||||
|
|
||||||
|
vm.getSession = function() {
|
||||||
|
return Auth.select(Auth.session);
|
||||||
|
};
|
||||||
|
|
||||||
vm.initListLoggedInProfiles = function () {
|
vm.initListLoggedInProfiles = function () {
|
||||||
vm.activeProfiles = Auth.getActiveSessions();
|
vm.activeProfiles = Auth.getActiveSessions();
|
||||||
};
|
};
|
||||||
|
@ -136,13 +140,15 @@ app.controller('loginCtrl', [
|
||||||
};
|
};
|
||||||
|
|
||||||
vm.signOut = function () {
|
vm.signOut = function () {
|
||||||
// TODO the sign-out url for each account should be fixed.
|
vm.getSession().then(function(){
|
||||||
return Auth.signOut().then(function () {
|
// TODO the sign-out url for each account should be fixed.
|
||||||
if (Auth.sessions.length === 0) {
|
return Auth.signOut().then(function () {
|
||||||
$location.path('/splash-page');
|
if (Auth.sessions.length === 0) {
|
||||||
return;
|
$location.path('/splash-page');
|
||||||
}
|
return;
|
||||||
window.alert("You are still logged in with other accounts.");
|
}
|
||||||
|
window.alert("You are still logged in with other accounts.");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -64,12 +64,11 @@ app.factory('Auth', [
|
||||||
|
|
||||||
Auth.sessions.push(session);
|
Auth.sessions.push(session);
|
||||||
});
|
});
|
||||||
|
|
||||||
return Auth.session;
|
return Auth.session;
|
||||||
}
|
}
|
||||||
, select: function (session) {
|
, select: function (session) {
|
||||||
if (!session.issuer) {
|
if (!session.issuer) {
|
||||||
throw new Error("session doesn't have an issuer");;
|
throw new Error("session doesn't have an issuer");
|
||||||
}
|
}
|
||||||
|
|
||||||
var name = session.token.sub + '@' + session.token.iss;
|
var name = session.token.sub + '@' + session.token.iss;
|
||||||
|
@ -108,7 +107,6 @@ app.factory('Auth', [
|
||||||
, signOut: function () {
|
, signOut: function () {
|
||||||
var session = Auth.session;
|
var session = Auth.session;
|
||||||
var dapName = 'dap-' + session.subject + '|' + session.issuer;
|
var dapName = 'dap-' + session.subject + '|' + session.issuer;
|
||||||
|
|
||||||
// TODO logout url should be created upon login and remain fixed throughout the duration of the session (or on session restoration)
|
// TODO logout url should be created upon login and remain fixed throughout the duration of the session (or on session restoration)
|
||||||
return Auth.oauth3.logout().then(function () {
|
return Auth.oauth3.logout().then(function () {
|
||||||
var obj = JSON.parse(localStorage.getItem(dapSessions) || '{}');
|
var obj = JSON.parse(localStorage.getItem(dapSessions) || '{}');
|
||||||
|
|
|
@ -7,7 +7,7 @@ OAUTH3._pkgs['www@daplie.com'] = {
|
||||||
add: function (opts) {
|
add: function (opts) {
|
||||||
var providerUri = opts.audience;
|
var providerUri = opts.audience;
|
||||||
var session = opts.session;
|
var session = opts.session;
|
||||||
|
debugger;
|
||||||
return OAUTH3.request({
|
return OAUTH3.request({
|
||||||
method: 'POST'
|
method: 'POST'
|
||||||
, url: OAUTH3.url.normalize(providerUri)
|
, url: OAUTH3.url.normalize(providerUri)
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
<h1 class="text-center">Account Settings</h1>
|
<h1 class="text-center">Account Settings</h1>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- left column -->
|
|
||||||
<div class="col-md-4 col-sm-6 col-xs-12">
|
<div class="col-md-4 col-sm-6 col-xs-12">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<img src="http://s3.amazonaws.com/37assets/svn/765-default-avatar.png" class="avatar img-circle img-thumbnail" alt="avatar">
|
<img src="http://s3.amazonaws.com/37assets/svn/765-default-avatar.png" class="avatar img-circle img-thumbnail" alt="avatar">
|
||||||
|
@ -9,9 +7,7 @@
|
||||||
<input type="file" class="text-center center-block well well-sm">
|
<input type="file" class="text-center center-block well well-sm">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- edit form column -->
|
|
||||||
<div class="col-md-8 col-sm-6 col-xs-12 personal-info">
|
<div class="col-md-8 col-sm-6 col-xs-12 personal-info">
|
||||||
<h3>Personal Info</h3>
|
|
||||||
<form class="form-horizontal" role="form">
|
<form class="form-horizontal" role="form">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-3 control-label">First name:</label>
|
<label class="col-lg-3 control-label">First name:</label>
|
||||||
|
@ -28,7 +24,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-3 control-label">Email:</label>
|
<label class="col-lg-3 control-label">Email:</label>
|
||||||
<div class="col-lg-8">
|
<div class="col-lg-8">
|
||||||
<input class="form-control" type="text" value="{{ vm.session.subject }}" disabled>
|
<input class="form-control" type="email" value="{{ vm.session.subject }}" disabled>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -60,7 +56,7 @@
|
||||||
<a class="btn btn-default btn-sm" ng-click="vm.selectSession(session);">Use Account</a>
|
<a class="btn btn-default btn-sm" ng-click="vm.selectSession(session);">Use Account</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<a class="btn btn-default btn-sm pull-right" ng-click="vm.signOut()">Sign Out</a>
|
<a class="btn btn-default btn-sm pull-right" ng-if="vm.session.subject == session.subject" ng-click="vm.signOut()">Sign Out</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,12 +1,243 @@
|
||||||
<h2>Contacts</h2>
|
<div class="home-container">
|
||||||
|
|
||||||
<ul>
|
<div ng-hide="vm.single_contact">
|
||||||
<li ng-repeat="contact in contacts">
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<ul class="nav nav-tabs" role="tablist">
|
||||||
|
<li role="presentation" class="active"><a href="!#contacts" class="quick-create-tab" aria-controls="contacts" role="tab" data-toggle="tab"><i class="fa fa-user-plus" aria-hidden="true"></i> Create contact</a></li>
|
||||||
|
<li role="presentation"><a href="!#groups" class="quick-create-tab" aria-controls="conversate" role="tab" data-toggle="tab"><i class="fa fa-users" aria-hidden="true"></i> Create a group</a></li>
|
||||||
|
<li role="presentation"><a href="!#import_contacts" class="quick-create-tab" aria-controls="conversate" role="tab" data-toggle="tab"><i class="fa fa-users" aria-hidden="true"></i> Import Contacts</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="tab-content">
|
||||||
|
<div role="tabpanel" class="tab-pane active" id="contacts">
|
||||||
|
<div ng-hide="vm.contact_active" ng-click="vm.contact_active = true">
|
||||||
|
<input type="text" class="form-control" placeholder="First Name">
|
||||||
|
</div>
|
||||||
|
<div ng-show="vm.contact_active" class="media">
|
||||||
|
<div class="media-left">
|
||||||
|
<div class="image-thing"><i class="fa fa-user fa-3x" aria-hidden="true"></i></div>
|
||||||
|
</div>
|
||||||
|
<div class="media-body">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control" placeholder="First Name">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control" placeholder="Last Name">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control" placeholder="Mobile Number">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control" placeholder="Email or Daplie Address">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<textarea name="name" class="form-control" rows="8" cols="80" placeholder="Notes"></textarea>
|
||||||
|
<br>
|
||||||
|
<div class="pull-right">
|
||||||
|
<button ng-click="vm.contact_active = false" type="button" name="button" class="btn btn-default">Save</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<a ui-sref=".detail({ id: contact.id })" > {{ contact.name }}</a>
|
<div ng-hide="vm.contacts_imported" class="contact-zero">
|
||||||
{{ contact.email }}
|
<div class="contact-zero-main">
|
||||||
|
|
||||||
</li>
|
<i class="fa fa-users fa-4x"></i>
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div ui-view="detail"></div>
|
<h3>You haven't added any contacts yet!</h3>
|
||||||
|
</div>
|
||||||
|
<div class="contact-zero-buttons button-container">
|
||||||
|
<button ng-click="vm.import_contacts()" class="btn btn-default" type="button">Import from Gmail</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-show="vm.contacts_imported">
|
||||||
|
<h4 class="text-center">Importing Contacts...</h4>
|
||||||
|
|
||||||
|
<div class="progress">
|
||||||
|
<div class="progress-bar" role="progressbar" aria-valuenow="30"
|
||||||
|
aria-valuemin="0" aria-valuemax="100" style="width:30%">
|
||||||
|
<span class="sr-only">30% Complete</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 class="text-center">Recent Contacts</h3>
|
||||||
|
|
||||||
|
<table class="table">
|
||||||
|
<tr>
|
||||||
|
<td><button ng-click="vm.single_contact = true" class="btn btn-default">View</button></td>
|
||||||
|
<td>Best Friend</td>
|
||||||
|
<td>best@frind.com</td>
|
||||||
|
<td>555-555-5309</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><button ng-click="vm.single_contact = true" class="btn btn-default">View</button></td>
|
||||||
|
<td>Notbest Friend</td>
|
||||||
|
<td>not@best.com</td>
|
||||||
|
<td>555-867-5555</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><button ng-click="vm.single_contact = true" class="btn btn-default">View</button></td>
|
||||||
|
<td>Uncle Ben</td>
|
||||||
|
<td>uncle@ben.com</td>
|
||||||
|
<td>555-867-1234</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3 class="text-center">Core to reconnect with these old friends?</h3>
|
||||||
|
|
||||||
|
<div class="contact-suggest">
|
||||||
|
<table class="table">
|
||||||
|
<tr>
|
||||||
|
<td>John Doe</td>
|
||||||
|
<td>john@doe.com</td>
|
||||||
|
<td>555-867-5309</td>
|
||||||
|
<td>
|
||||||
|
<button class="btn btn-sm">Send a message</button>
|
||||||
|
<button ng-click="vm.unlock('godfather')" class="btn btn-sm btn-danger">Nah</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Bob Smith</td>
|
||||||
|
<td>bob@smith.com</td>
|
||||||
|
<td>555-867-5308</td>
|
||||||
|
<td>
|
||||||
|
<button class="btn btn-sm">Send a message</button>
|
||||||
|
<button ng-click="vm.unlock('godfather')" class="btn btn-sm btn-danger">Nah</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Jane Austin</td>
|
||||||
|
<td>jane@austin.com</td>
|
||||||
|
<td>555-867-5307</td>
|
||||||
|
<td>
|
||||||
|
<button class="btn btn-sm">Send a message</button>
|
||||||
|
<button ng-click="vm.unlock('godfather')" class="btn btn-sm btn-danger">Nah</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-show="vm.single_contact">
|
||||||
|
<div class="contact-single-header">
|
||||||
|
<i class="fa fa-user fa-4x"></i>
|
||||||
|
<span class="contact-single-name">John Doe</span>
|
||||||
|
<div class="contact-single-info">
|
||||||
|
<p>john@doe.com</p>
|
||||||
|
<p>555-867-5309</p>
|
||||||
|
<button class="btn btn-primary">Send a Message</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<div ng-init="vm.contact_view = 'messages'" class="flex-row space-around">
|
||||||
|
<div ng-click="vm.contact_view = 'messages'">
|
||||||
|
<p class="panel-title"><i class="fa fa-users" aria-hidden="true"></i> Conversations</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="seperator">|</span>
|
||||||
|
|
||||||
|
<div ng-click="vm.contact_view = 'photos'">
|
||||||
|
<p class="panel-title"><i class="fa fa-photo" aria-hidden="true"></i> Photos</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="seperator">|</span>
|
||||||
|
|
||||||
|
<div ng-click="vm.contact_view = 'files'">
|
||||||
|
<p class="panel-title"><i class="fa fa-file" aria-hidden="true"></i> Files</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="seperator">|</span>
|
||||||
|
|
||||||
|
<p class="panel-title"><i class="fa fa-bars" aria-hidden="true"></i> More</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-show="'messages' === vm.contact_view" class="panel-body contact-bordered contact-conversation">
|
||||||
|
<p>Me: Hey John, did you know that you are my best friend?</p>
|
||||||
|
<p>John: No way! You're my best friend, too!</p>
|
||||||
|
<p>Me: Wow! We sure are awesome friends together! :)</p>
|
||||||
|
</div>
|
||||||
|
<div ng-show="'photos' === vm.contact_view" class="panel-body contact-bordered contact-photos">
|
||||||
|
<div class="col-lg-3"><i class="fa fa-4x fa-picture-o"></i></div>
|
||||||
|
<div class="col-lg-3"><i class="fa fa-4x fa-file-image-o"></i></div>
|
||||||
|
<div class="col-lg-3"><i class="fa fa-4x fa-file-image-o"></i></div>
|
||||||
|
<div class="col-lg-3"><i class="fa fa-4x fa-file-image-o"></i></div>
|
||||||
|
<div class="col-lg-3"><i class="fa fa-4x fa-picture-o"></i></div>
|
||||||
|
<div class="col-lg-3"><i class="fa fa-4x fa-file-image-o"></i></div>
|
||||||
|
<div class="col-lg-3"><i class="fa fa-4x fa-picture-o"></i></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-show="'files' === vm.contact_view" class="panel-body contact-bordered contact-files">
|
||||||
|
<div class="contact-file-placeholder">
|
||||||
|
<i class="fa fa-file fa-4x"></i>
|
||||||
|
<p>filename.ext</p>
|
||||||
|
</div>
|
||||||
|
<div class="contact-file-placeholder">
|
||||||
|
<i class="fa fa-file fa-4x"></i>
|
||||||
|
<p>filename.ext</p>
|
||||||
|
</div>
|
||||||
|
<div class="contact-file-placeholder">
|
||||||
|
<i class="fa fa-file fa-4x"></i>
|
||||||
|
<p>filename.ext</p>
|
||||||
|
</div>
|
||||||
|
<div class="contact-file-placeholder">
|
||||||
|
<i class="fa fa-file fa-4x"></i>
|
||||||
|
<p>filename.ext</p>
|
||||||
|
</div>
|
||||||
|
<div class="contact-file-placeholder">
|
||||||
|
<i class="fa fa-file fa-4x"></i>
|
||||||
|
<p>filename.ext</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="panel panel-success">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<h3 class="panel-title">Remember when...?</h3>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body contact-remember-body">
|
||||||
|
<div class="remember-item">
|
||||||
|
<div class="remember-item-header">Taken Feb 20, 2017</div>
|
||||||
|
<div class="remember-img-placeholder">
|
||||||
|
<i class="fa fa-photo fa-4x"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="remember-item">
|
||||||
|
<div class="remember-item-header">Sent on June 5, 2017</div>
|
||||||
|
<div class="remember-text-placeholder">
|
||||||
|
<p>Hey Jane,</p>
|
||||||
|
<p>Love the new do!</p>
|
||||||
|
<p>You're so lucky to have great<br/> hair I'm super jealous...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="remember-item">
|
||||||
|
<div class="remember-item-header">Shared on Ap...</div>
|
||||||
|
<div class="remember-music-placeholder">
|
||||||
|
<i class="fa fa-music fa-3x"></i>
|
||||||
|
<div class="remember-music-text">
|
||||||
|
<p>Come Fly with Me</p>
|
||||||
|
<p>Frank Sinatra</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
</thead>
|
</thead>
|
||||||
-->
|
-->
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr ng-repeat="shared_artist in vm.shared_artists">
|
<tr ng-repeat="shared_artist in vm.shared_artists track by $index">
|
||||||
<td class="select-an-artist" ng-click="vm.get_artist(shared_artist)">{{ shared_artist }}</td>
|
<td class="select-an-artist" ng-click="vm.get_artist(shared_artist)">{{ shared_artist }}</td>
|
||||||
<td>December 23, 2016</td>
|
<td>December 23, 2016</td>
|
||||||
<td><i class="fa fa-exchange js-sync-icon" aria-hidden="true"></i></td>
|
<td><i class="fa fa-exchange js-sync-icon" aria-hidden="true"></i></td>
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
</thead>
|
</thead>
|
||||||
-->
|
-->
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr ng-repeat="artist in vm.artists">
|
<tr ng-repeat="artist in vm.artists track by $index">
|
||||||
<td class="select-an-artist" ng-click="vm.get_artist(artist)">{{ artist }}</td>
|
<td class="select-an-artist" ng-click="vm.get_artist(artist)">{{ artist }}</td>
|
||||||
<td>June 13, 2017</td>
|
<td>June 13, 2017</td>
|
||||||
<td><i class="fa fa-exchange js-sync-icon" aria-hidden="true"></i></td>
|
<td><i class="fa fa-exchange js-sync-icon" aria-hidden="true"></i></td>
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
<div notification-directive></div>
|
|
||||||
|
|
||||||
<div achievement-directive></div>
|
|
||||||
|
|
||||||
<div upload-directive></div>
|
|
||||||
|
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<h5 class="media-heading">System Message > Jane Smith {{ vm.userName() }}</h5>
|
<h5 class="media-heading">System Message > <span ng-bind="vm.session.subject"></span></h5>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="media-left">
|
<div class="media-left">
|
||||||
<div class="image-thing"><i class="fa fa-bullhorn fa-3x" aria-hidden="true"></i></div>
|
<div class="image-thing"><i class="fa fa-bullhorn fa-3x" aria-hidden="true"></i></div>
|
||||||
|
@ -39,5 +33,3 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div todo-directive></div>
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<nav class="navbar navbar-default navbar-fixed-top">
|
<nav class="navbar navbar-default navbar-fixed-top" ng-controller="loginCtrl as vm">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
<li role="separator" class="divider"></li>
|
<li role="separator" class="divider"></li>
|
||||||
|
|
||||||
<li ng-if="vm.sessions.length">Switch User</li>
|
<li ng-if="vm.sessions.length">Switch User</li>
|
||||||
<li ng-repeat="session in vm.sessions"><a ng-click="vm.selectSession(session)"><span ng-bind="session.subject">me@example.com</span> <i class="fa fa-user" aria-hidden="true"></i>
|
<li ng-repeat="session in vm.sessions track by $index"><a ng-click="vm.selectSession(session);"><span ng-bind="session.subject">me@example.com</span> <i class="fa fa-user" aria-hidden="true"></i>
|
||||||
<br><small ng-bind="session.issuer">example.com</small></a></li>
|
<br><small ng-bind="session.issuer">example.com</small></a></li>
|
||||||
|
|
||||||
<li ng-if="vm.sessions.length" role="separator" class="divider"></li>
|
<li ng-if="vm.sessions.length" role="separator" class="divider"></li>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<section class="col-md-offset-4 col-md-4 login-container" ng-init="vm.initListLoggedInProfiles()">
|
<section class="col-md-offset-4 col-md-4 login-container" ng-init="vm.initListLoggedInProfiles()">
|
||||||
<form>
|
<form>
|
||||||
<h4 class="text-center">Sign in</h4>
|
<h4 class="text-center">Sign in</h4>
|
||||||
<a href="#!/home" class="current-user-container" ng-repeat="profile in vm.activeProfiles track by $index">
|
<a href="#!/home" class="current-user-container" ng-repeat="profile in vm.sessions track by $index" ng-click="vm.selectSession(profile);">
|
||||||
<div class="current-user-split"><i class="fa fa-user"></i></div>
|
<div class="current-user-split"><i class="fa fa-user"></i></div>
|
||||||
<div class="current-user-text">Resume with {{ profile.email }}</div>
|
<div class="current-user-text">Resume with {{ profile.email }}</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li ng-repeat="record in vm.records"><button class="btn btn-link" ng-bind="record.sub" ng-click="vm.selectRecord(record)">www</button></li>
|
<li ng-repeat="record in vm.records track by $index"><button class="btn btn-link" ng-bind="record.sub" ng-click="vm.selectRecord(record)">www</button></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li ng-repeat="domain in vm.domains"><button class="btn btn-link" ng-bind="domain.domain" ng-click="vm.selectDomain(domain)">example.com</button></li>
|
<li ng-repeat="domain in vm.domains track by $index"><button class="btn btn-link" ng-bind="domain.domain" ng-click="vm.selectDomain(domain)">example.com</button></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue