diff options
Diffstat (limited to 'syweb/webclient/user')
-rw-r--r-- | syweb/webclient/user/user-controller.js | 67 | ||||
-rw-r--r-- | syweb/webclient/user/user.html | 25 |
2 files changed, 92 insertions, 0 deletions
diff --git a/syweb/webclient/user/user-controller.js b/syweb/webclient/user/user-controller.js new file mode 100644 index 0000000000..0dbfa325d0 --- /dev/null +++ b/syweb/webclient/user/user-controller.js @@ -0,0 +1,67 @@ +/* +Copyright 2014 OpenMarket Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +'use strict'; + +angular.module('UserController', ['matrixService']) +.controller('UserController', ['$scope', '$routeParams', 'matrixService', + function($scope, $routeParams, matrixService) { + $scope.user = { + id: $routeParams.user_matrix_id, + displayname: "", + avatar_url: undefined + }; + + $scope.user_id = matrixService.config().user_id; + + matrixService.getDisplayName($scope.user.id).then( + function(response) { + $scope.user.displayname = response.data.displayname; + } + ); + + matrixService.getProfilePictureUrl($scope.user.id).then( + function(response) { + $scope.user.avatar_url = response.data.avatar_url; + } + ); + + // FIXME: factor this out between user-controller and home-controller etc. + $scope.messageUser = function() { + + // FIXME: create a new room every time, for now + + matrixService.create(null, 'private').then( + function(response) { + // This room has been created. Refresh the rooms list + var room_id = response.data.room_id; + console.log("Created room with id: "+ room_id); + + matrixService.invite(room_id, $scope.user.id).then( + function() { + $scope.feedback = "Invite sent successfully"; + $scope.$parent.goToPage("/room/" + room_id); + }, + function(reason) { + $scope.feedback = "Failure: " + JSON.stringify(reason); + }); + }, + function(error) { + $scope.feedback = "Failure: " + JSON.stringify(error.data); + }); + }; + +}]); \ No newline at end of file diff --git a/syweb/webclient/user/user.html b/syweb/webclient/user/user.html new file mode 100644 index 0000000000..2aa981437b --- /dev/null +++ b/syweb/webclient/user/user.html @@ -0,0 +1,25 @@ +<div ng-controller="UserController" class="user"> + + <div id="wrapper"> + + <div id="genericHeading"> + <a href ng-click="goToPage('/')"><img src="img/logo-small.png" width="100" height="43" alt="[matrix]"/></a> + </div> + + <h1>{{ user.displayname || user.id }}</h1> + + <div> + <div class="profile-avatar"> + <img ng-src="{{ user.avatar_url || 'img/default-profile.png' }}"/> + </div> + <div id="user-ids"> + <div>{{ user.id }}</div> + </div> + </div> + + <button ng-hide="user.id == user_id" ng-click="messageUser()" style="font-size: 14pt; margin-top: 40px; margin-bottom: 40px">Start chat</button> + <br/> + {{ feedback }} + + </div> +</div> |