arnaucube
arnaucube/commonroutesAppPublic Self-hosted repository
updated
arnaucode idoctnef@openmailbox.org
Fri, 27 Jan 2017 11:26:43 +0100
commit

d76ea5ca19bf593ace13905b55077af3c7c4a0f9

parent

50b6529de76754d5fd0f029fbf0c29c594d15be9

M www/css/style.css → www/css/style.css

@@ -201,6 +201,9 @@ color: #ffffff!important;

} +.o_text_white{ + color: #ffffff!important; +} .o_text_purple400{ color: #7E57C2!important; }

@@ -210,3 +213,9 @@ }

.o_text_purple600{ color: #5E35B1!important; } +.o_text_purple700{ + color: #512DA8!important; +} +.o_text_purple800{ + color: #4527A0!important; +}
M www/index.html → www/index.html

@@ -3,7 +3,7 @@ <html>

<head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> - <title>collectivecar</title> + <title>CarsInCommon</title> <link href="lib/ionic/css/ionic.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet">

@@ -38,9 +38,10 @@ <script src="js/signup.js"></script>

<script src="js/menu.js"></script> <script src="js/footerMenu.js"></script> <script src="js/main.js"></script> + <script src="js/search.js"></script> <script src="js/travels.js"></script> <script src="js/travel.js"></script> - <script src="js/newPublication.js"></script> + <script src="js/newTravel.js"></script> <script src="js/offerCar.js"></script> <!--<script src="js/askCar.js"></script> <script src="js/askPackage.js"></script>-->
M www/js/app.js → www/js/app.js

@@ -6,8 +6,9 @@ // the 2nd parameter is an array of 'requires'

// 'starter.controllers' is found in controllers.js -var urlapi = "http://localhost:3000/api/"; +//var urlapi = "http://localhost:3000/api/"; //var urlapi="https://collectivecar.paas.primustech.io/api/"; +var urlapi="http://147.83.7.158:3000/api/"; angular.module('starter', [

@@ -19,9 +20,10 @@ 'app.signup',

'app.menu', 'app.footerMenu', 'app.main', + 'app.search', 'app.travels', 'app.travel', - 'app.newPublication', + 'app.newTravel', 'app.offerCar', /* 'app.askCar', 'app.askPackage',*/

@@ -84,6 +86,15 @@ controller: 'SignupCtrl'

} } }) + .state('app.search', { + url: '/search', + views: { + 'menuContent': { + templateUrl: 'templates/search.html', + controller: 'SearchCtrl' + } + } + }) .state('app.travels', { url: '/travels', views: {

@@ -104,12 +115,12 @@ }

} }) - .state('app.newPublication', { - url: '/newPublication', + .state('app.newTravel', { + url: '/newTravel', views: { 'menuContent': { - templateUrl: 'templates/newPublication.html', - controller: 'NewPublicationCtrl' + templateUrl: 'templates/newTravel.html', + controller: 'NewTravelCtrl' } } })
D www/js/newPublication.js

@@ -1,5 +0,0 @@

-angular.module('app.newPublication', ['pascalprecht.translate']) - -.controller('NewPublicationCtrl', function($scope, $stateParams, $translate, $filter) { - -});
A www/js/newTravel.js

@@ -0,0 +1,5 @@

+angular.module('app.newTravel', ['pascalprecht.translate']) + +.controller('NewTravelCtrl', function($scope, $stateParams, $translate, $filter) { + +});
M www/js/notifications.js → www/js/notifications.js

@@ -1,15 +1,21 @@

angular.module('app.notifications', ['pascalprecht.translate']) -.controller('NotificationsCtrl', function($scope, $stateParams, $translate, $filter) { - if(localStorage.getItem('c_token')){// adding token to the headers - // $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('c_token'); - } - $scope.storageusername=localStorage.getItem("c_username"); - $scope.users= JSON.parse(localStorage.getItem('c_users')); - $scope.user = $filter('filter')($scope.users, {username: $stateParams.username}, true)[0]; - $scope.notifications=$scope.user.notifications; +.controller('NotificationsCtrl', function($scope, $http, $ionicLoading, + $stateParams, $translate, $filter) { + $scope.notifications=[]; + $scope.doRefresh = function(){ + $http.get(urlapi + 'notifications') + .then(function(data){ + console.log(data); // for browser console + $scope.notifications = data.data; // for UI + $scope.$broadcast('scroll.refreshComplete');//refresher stop - console.log($stateParams.username); - console.log($scope.notifications); - console.log("notifications page"); + }, function(data){ + console.log('data error'); + $scope.$broadcast('scroll.refreshComplete');//refresher stop + $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 }); + + }); + }; + $scope.doRefresh(); });
A www/js/search.js

@@ -0,0 +1,30 @@

+angular.module('app.search', ['pascalprecht.translate']) + +.controller('SearchCtrl', function($scope, $http, $ionicModal, $timeout, $ionicLoading, $filter) { + + + $scope.users=[]; + $scope.travels=[]; + $scope.search={ + word:"" + }; + $scope.doSearch = function() { + console.log("doing search"); + console.log($scope.search.word); + /* travels refresh: */ + $http.get(urlapi + 'search/'+ $scope.search.word) + .then(function(data){ + console.log('data success travels'); + console.log(data); // for browser console + $scope.users = data.data.users; // for UI + $scope.travels = data.data.travels; // for UI + $scope.$broadcast('scroll.refreshComplete');//refresher stop + + }, function(data){ + console.log('data error'); + $scope.$broadcast('scroll.refreshComplete');//refresher stop + $ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 }); + + }); + }; +});
M www/js/translations.js → www/js/translations.js

@@ -5,6 +5,7 @@ "Menu": "Menu",

"Signup": "Signup", "Login": "Login", "Travels": "Travels", + "Travels_feed": "Travels feed", "Users": "Users", "Notifications": "Notifications", "Logout": "Logout",

@@ -50,6 +51,7 @@ "New_comment": "New comment",

"Post_comment": "Post comment", "Pull_to_refresh": "Pull to refresh", "search": "search", + "filter": "filter", "No_data_in_memory": "No data in memory", "Pull_from_top_to_refresh": "Pull from top to refresh", "User": "User",
M www/js/travel.js → www/js/travel.js

@@ -1,6 +1,6 @@

angular.module('app.travel', ['pascalprecht.translate']) -.controller('TravelCtrl', function($scope, $stateParams, $http, $ionicModal, $ionicPopup, $filter) { +.controller('TravelCtrl', function($scope, $stateParams, $http, $ionicModal, $ionicLoading, $ionicPopup, $filter) { $scope.travel={}; $scope.doRefresh = function() {

@@ -53,55 +53,38 @@

}; $scope.joinTravel = function(){ - $scope.newjoin={ - //travelId: $stateParams.travelId, - /*joinedUserId: localStorage.getItem("c_userid"), - joinedUsername: localStorage.getItem("c_username"), - joinedAvatar: localStorage.getItem("c_avatar")*/ - }; $http({ - url: urlapi + 'travels/'+ $stateParams.travelId+'/join', + url: urlapi + 'travels/join/'+ $stateParams.travelid, method: "POST", - data: $scope.newjoin + data: {} }) - .then(function(response) { - // success - console.log("response: "); - console.log(response); - - $scope.travels=response.data; - localStorage.setItem('c_travels', JSON.stringify($scope.travels)); - localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date())); - $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0]; - + .then(function(data) { + console.log("data: "); + console.log(data); + if(data.success==false){ + $ionicLoading.show({template: 'Error on unjoin', noBackdrop: true, duration: 2000}); + }else{ + $scope.travel=data.data; + } }, function(response) { // optional // failed }); }; $scope.unjoinTravel = function(){ - console.log("unjoin"); - $scope.unjoin={ - travelId: $stateParams.travelId, - /*joinedUserId: localStorage.getItem("c_userid"), - joinedUsername: localStorage.getItem("c_username"), - joinedAvatar: localStorage.getItem("c_avatar")*/ - }; $http({ - url: urlapi + 'travels/'+ $stateParams.travelId+'/unjoin', + url: urlapi + 'travels/unjoin/'+ $stateParams.travelid, method: "POST", - data: $scope.unjoin + data: {} }) - .then(function(response) { - // success - console.log("response: "); - console.log(response); - - $scope.travels=response.data; - localStorage.setItem('c_travels', JSON.stringify($scope.travels)); - localStorage.setItem('c_travelsLastDate', JSON.stringify(new Date())); - $scope.travel = $filter('filter')($scope.travels, $stateParams.travelId, true)[0]; - + .then(function(data) { + console.log("data: "); + console.log(data); + if(data.success==false){ + $ionicLoading.show({template: 'Error on unjoin', noBackdrop: true, duration: 2000}); + }else{ + $scope.travel=data.data; + } }, function(response) { // optional // failed

@@ -149,12 +132,13 @@ $scope.closeNewComment();

}; - $scope.arrayObjectIndexOf = function(myArray, searchTerm, property) { + $scope.userHasJoined = function(myArray, searchTerm) { //console.log(myArray+", "+searchTerm+", "+property); if(myArray) { for(var i = 0, len = myArray.length; i < len; i++) { - if (myArray[i][property] === searchTerm){ + //console.log(myArray[i] + " - " + searchTerm); + if (myArray[i] === searchTerm){ //console.log("i: " + i); return i; }
M www/templates/login.html → www/templates/login.html

@@ -3,6 +3,7 @@ <ion-content>

<img src="img/header.png" style="width:100%;"/> <form ng-submit="doLogin()"> <div class="list padding"> + <span class="item-note">v0.0.1</span> <md-input-container class="md-block" flex-gt-sm> <label>{{'Username' | translate}}</label> <input ng-model="loginData.username">
M www/templates/main.html → www/templates/main.html

@@ -1,32 +1,40 @@

<ion-view view-title="Main"> - <ion-content> + <ion-content class="has-footer"> <a ng-href="#/app/users/{{storageuser._id}}" class="item item-icon-left o_purpleG300to500"> <i class="icon ion-person"></i> {{storageuser.username}} profile </a> - <a ng-href="#/app/newPublication" class="item item-icon-left o_purpleG300to500"> - <i class="icon ion-paper-airplane"></i> - New publication + <a ng-href="#/app/newTravel" class="item item-icon-left o_purpleG300to500"> + <i class="icon ion-map"></i> + New travel + </a> + <a ng-href="#/app/search" class="item item-icon-left o_purpleG300to500"> + <i class="icon ion-search"></i> + {{'Search' | translate }} </a> <a ng-href="#/app/travels" class="item item-icon-left o_purpleG300to500"> <i class="icon ion-android-car"></i> - Travels + {{'Travels_feed' | translate }} </a> <a href="#/app/users" class="item item-icon-left o_purpleG300to500"> <i class="icon ion-person-stalker"></i> - Users + {{'Users' | translate }} </a> <a href="#/app/notifications" class="item item-icon-left o_purpleG300to500"> <i class="icon ion-android-notifications"></i> - Notifications + {{'Notifications' | translate }} </a> <a href="#/app/settings" class="item item-icon-left o_purpleG300to500"> <i class="icon ion-settings"></i> - Settings + {{'Settings' | translate }} + </a> + <a href="#/app/help" class="item item-icon-left o_purpleG300to500"> + <i class="icon ion-ios-paper-outline"></i> + F.A.Q. </a> <a href="#/app/help" class="item item-icon-left o_purpleG300to500"> <i class="icon ion-ios-help-outline"></i> - Help + {{'Help' | translate }} </a> </ion-content> </ion-view>
M www/templates/menu.html → www/templates/menu.html

@@ -11,15 +11,16 @@ </ion-nav-buttons>

</ion-nav-bar> <ion-nav-view name="menuContent"></ion-nav-view> <!-- menu footer --> - <div class="tabs tabs-icon-left" ng-controller="FooterMenuCtrl" ng-show="storageuser"> + <div class="tabs tabs-icon-left" style="position:absolute;" + ng-controller="FooterMenuCtrl" ng-show="storageuser"> <a class="tab-item" ng-href="#/app/notifications"> <i class="icon ion-android-notifications-none"></i> Notifications </a> <a class="tab-item" ng-href="#/app/main"> <i class="icon ion-home"></i> Home </a> - <a ng-href="#/app/newPublication" class="tab-item"> - <i class="icon ion-paper-airplane"></i> New publication + <a ng-href="#/app/newTravel" class="tab-item"> + <i class="icon ion-map"></i> New travel </a> </div> <!-- /menu footer -->

@@ -37,8 +38,11 @@ </a>

<a class="item item-icon-left o_bSidenav" menu-close ng-href="#/app/users/{{storageuser._id}}"> <i class="icon ion-person"></i> {{storageuser.username}} </a> + <a class="item item-icon-left o_bSidenav" menu-close ng-href="#/app/search"> + <i class="icon ion-search"></i> {{'Search' | translate }} + </a> <a class="item item-icon-left o_bSidenav" menu-close ng-href="#/app/travels"> - <i class="icon ion-android-car"></i> {{'Travels' | translate }} + <i class="icon ion-android-car"></i> {{'Travels_feed' | translate }} </a> <a class="item item-icon-left o_bSidenav" menu-close ng-href="#/app/users"> <i class="icon ion-person-stalker"></i> {{'Users' | translate }}
M www/templates/newPublication.html → www/templates/newTravel.html

@@ -1,5 +1,5 @@

-<ion-view view-title="New Publication"> - <ion-content> +<ion-view view-title="New Travel"> + <ion-content class="has-footer"> <a ng-href="#/app/offerCar" class="item item-icon-left o_purple500"> <i class="icon ion-android-car"></i> Offer Car
M www/templates/notifications.html → www/templates/notifications.html

@@ -1,14 +1,17 @@

-<ion-view view-title="{{'Notifications' | translate}} {{user.username}}"> - <ion-content> - <div class="item item-body"> - <a ng-repeat="notification in notifications | orderBy: '-date'" class="item item-avatar" href="#/app/{{notification.link}}"> - <img ng-src="img/{{notification.type}}.png"/> - <h2>{{notification.description}}</h2> +<ion-view view-title="{{'Notifications' | translate}}"> + <ion-content class="has-footer"> + <ion-refresher + pulling-text="{{'Pull_to_refresh' | translate}}..." + on-refresh="doRefresh()"> + </ion-refresher> + <a ng-repeat="notification in notifications | orderBy: '-date'" + class="item item-icon-left" href="#/app/{{notification.link}}"> + <i class="icon ion-android-notifications-none"></i> + <h2>{{notification.message}}</h2> <div class="item-note text-right"> - <div class="positive">{{notification.date | date:"dd/MM"}}</div> - <div class="positive">{{notification.date | date:"HH:mm:ss"}}</div> + <div class="o_text_purple600">{{notification.date | date:"dd/MM"}}</div> + <div class="o_text_purple600">{{notification.date | date:"HH:mm:ss"}}</div> </div> </a> - </div> </ion-content> </ion-view>
M www/templates/offerCar.html → www/templates/offerCar.html

@@ -1,42 +1,33 @@

<ion-view view-title="Offer Car"> - <ion-content> - <div class="list"> - <label class="item item-input"> - <span class="input-label">{{'Title' | translate}}</span> - <input ng-model="newtravel.title" class="positive" type="text" placeholder=""> - </label> - - <label class="item item-input"> - <img class='o-imgMenu' src="img/localization.png" /> - <span class="input-label">{{'From' | translate}}</span> - <input ng-model="newtravel.from" type="text" placeholder=""> - </label> - <label class="item item-input"> - <img class='o-imgMenu' src="img/localization.png" /> - <span class="input-label">{{'To' | translate}}</span> - <input ng-model="newtravel.to" type="text" placeholder=""> - </label> + <ion-content class="has-footer"> + <div class="padding"> + <md-input-container class="md-block" flex-gt-sm> + <label>{{'Title' | translate}}</label> + <input ng-model="newtravel.title"> + </md-input-container> + <div layout="row"> + <md-input-container> + <label>{{'From' | translate}}</label> + <input ng-model="newtravel.from"> + </md-input-container> + <md-input-container> + <label>{{'To' | translate}}</label> + <input ng-model="newtravel.to"> + </md-input-container> + </div> + <md-input-container class="md-block" flex-gt-sm> + <label>{{'n_Seats' | translate}}</label> + <input ng-model="newtravel.seats" type="number"> + </md-input-container> - <label class="item item-input"> - <span class="input-label">{{'n_Seats' | translate}}</span> - <input ng-model="newtravel.seats" type="number" placeholder=""> - </label> - <label class="item item-input"> + <label class="item-input"> <span class="input-label">{{'Date' | translate}}</span> <input ng-model="newtravel.date" type="date" placeholder=""> </label> - <label class="item item-input"> + <label class="item-input"> <span class="input-label">{{'Hour' | translate}}</span> <input ng-model="newtravel.date" type="time" placeholder=""> </label> - <!--<label class="item item-input"> - <span class="input-label"><i class="icon ion-iphone"></i> {{'Phone_contact' | translate}}</span> - <input ng-model="newtravel.phone" type="number" placeholder=""> - </label> - <label class="item item-input"> - <span class="input-label">{{'Telegram_user' | translate}}</span> - <input ng-model="newtravel.telegram" type="text" placeholder=""> - </label>--> <ion-toggle ng-model="newtravel.package" toggle-class="toggle-calm"> <img class='o-imgMenu' src="img/package.png" /> {{'Can_carry_package' | translate}}

@@ -44,11 +35,10 @@ </ion-toggle>

<ion-toggle ng-model="newtravel.collectivized" toggle-class="toggle-calm"> {{'Collectivized_car' | translate}} </ion-toggle> - - <label class="item item-input item-floating-label"> - <span class="input-label">{{'Description' | translate}}</span> - <input ng-model="newtravel.description" type="text" placeholder="Description"> - </label> + <md-input-container class="md-block" flex-gt-sm> + <label>{{'Description' | translate}}</label> + <input ng-model="newtravel.description"> + </md-input-container> <p class="padding"> <md-button ng-click="createTravel()" class="o_purple400 o_floatRight"> {{'Create_travel' | translate}}
A www/templates/search.html

@@ -0,0 +1,40 @@

+<ion-view view-title="{{'Search' | translate}}"> + <ion-content class="has-footer"> + <div class="list"> + <div class="item item-input"> + <i class="icon ion-search placeholder-icon"></i> + <input type="search" placeholder="{{'search' | translate}}..." ng-model="search.word"> + <md-button class="o_purple300" ng-click="doSearch()"><i class="icon ion-search"></i></md-button> + </div> + <div class="item item-divider o_purple300" ng-show="travels[0]"> + Travels + </div> + <a ng-repeat="travel in travels | orderBy: 'date'" + class="item item-avatar" href="#/app/travels/{{travel._id}}"> + <img ng-src="img/{{travel.type}}.png"/> + <h2 class="o_text_purple600">{{travel.title}}</h2> + <div class="item-note text-right"> + <div class="o_text_purple400">{{travel.date | date:"dd/MM"}}</div> + <div class="o_text_purple400">{{travel.date | date:"HH:mm"}}h</div> + <!--<div class="badge badge-calm">{{travel.owner}}</div>--> + </div> + <p> + {{travel.description}} + </p> + <!--<p class="" ng-show="travel.modality=='offering'">nºseats: {{travel.seats}}</p> + <p class="" ng-show="travel.modality=='asking'">nºpeople: {{travel.seats}}</p>--> + <p class="">{{travel.from}} --> {{travel.to}}</p> + </a> + <div class="item item-divider o_purple300" ng-show="users[0]"> + Users + </div> + <a ng-repeat="user in users | orderBy: 'date'" class="item item-avatar" ng-href="#/app/users/{{user._id}}"> + <img ng-src="{{user.avatar}}"> + <h2 class="o_text_purple600">{{user.username}}</h2> + <p> + {{user.description}} + </p> + </a> + </div> + </ion-content> +</ion-view>
M www/templates/settings.html → www/templates/settings.html

@@ -1,5 +1,5 @@

<ion-view view-title="{{'Settings' | translate}}"> - <ion-content> + <ion-content class="has-footer"> <label class="item item-input item-select"> <div class="input-label"> {{'Actual_language' | translate}}
M www/templates/travel.html → www/templates/travel.html

@@ -1,11 +1,11 @@

<ion-view view-title="{{'Travel' | translate}}"> - <ion-content> + <ion-content class="has-footer"> <div class="item item-avatar"> <img ng-src="img/{{travel.type}}.png" /> <div class="item-note o-text-right"> <p> - <md-button class="md-raised" ng-href="#/app/users/{{travel.user._id}}"> - <img class="mdl-chip__contact" style="width: 30px;" ng-src="{{travel.user.avatar}}"></img> + <md-button ng-href="#/app/users/{{travel.user._id}}"> + <img style="width: 30px;" ng-src="{{travel.user.avatar}}"></img> {{travel.user.username}} </md-button> </p>

@@ -40,14 +40,14 @@ <span class="o-badgeCollectivized">{{'Collectivized' | translate}}</span>

</p> <p ng-show="travel.package"> <div class="o-mini-text"> - <div ng-show="travel.modality=='offering'">{{'Can_carry_package' | translate}} <img src="img/package.png" class="o-imgMenu" /></div> - <div ng-show="travel.modality=='asking'">{{'Need_to_carry_package' | translate}} <img src="img/package.png" class="o-imgMenu" /></div> + <div ng-show="travel.type=='offering'">{{'Can_carry_package' | translate}} <img src="img/package.png" class="o-imgMenu" /></div> + <div ng-show="travel.type=='asking'">{{'Need_to_carry_package' | translate}} <img src="img/package.png" class="o-imgMenu" /></div> </div> </p> <p> - <div ng-show="travel.modality=='offering'">{{'n_Seats' | translate}}: {{travel.seats}}</div> - <div ng-show="travel.modality=='asking'">{{'n_People' | translate}}: {{travel.seats}}</div> + <div ng-show="travel.type=='offering'">{{'n_Seats' | translate}}: {{travel.seats}}</div> + <div ng-show="travel.type=='asking'">{{'n_People' | translate}}: {{travel.seats}}</div> </p> </div> </div>

@@ -56,16 +56,16 @@

<div ng-show="storageuser._id!=travel.user._id" class="text-right"> <p class='text-right'> - <div ng-show="arrayObjectIndexOf(travel.joins, storageuser.username, 'joinPetitions')==-1"> - <a ng-show="travel.modality=='offering'" ng-click="joinTravel()" class="button button-calm o-pull-right">{{'Ask_to_join' | translate}}</a> - <a ng-show="travel.modality=='asking'" ng-click="joinTravel()" class="button button-calm o-pull-right">{{'Offer_car' | translate}}</a> - <a ng-show="travel.modality=='package'" ng-click="joinTravel()" class="button button-calm o-pull-right">{{'Offer_car' | translate}}</a> + <div ng-show="userHasJoined(travel.joinPetitions, storageuser._id)==-1"> + <md-button ng-show="travel.type=='offering'" ng-click="joinTravel()" class="o_purple300">{{'Ask_to_join' | translate}}</md-button> + <md-button ng-show="travel.type=='asking'" ng-click="joinTravel()" class="o_purple300">{{'Offer_car' | translate}}</md-button> + <md-button ng-show="travel.type=='package'" ng-click="joinTravel()" class="o_purple300">{{'Offer_car' | translate}}</md-button> </div> - <div ng-show="arrayObjectIndexOf(travel.joins, storageuser.username, 'joinPetitions')!=-1"> - <a ng-show="travel.modality=='offering'" ng-click="unjoinTravel()" class="button button-assertive o-pull-right">{{'Unjoin' | translate}}</a> - <a ng-show="travel.modality=='asking'" ng-click="unjoinTravel()" class="button button-assertive o-pull-right">{{'Unoffer_car' | translate}}</a> - <a ng-show="travel.modality=='package'" ng-click="unjoinTravel()" class="button button-assertive o-pull-right">{{'Unoffer_car' | translate}}</a> + <div ng-show="userHasJoined(travel.joinPetitions, storageuser._id)>-1"> + <md-button ng-show="travel.type=='offering'" ng-click="unjoinTravel()" class="o_purple100">{{'Unjoin' | translate}}</md-button> + <md-button ng-show="travel.type=='asking'" ng-click="unjoinTravel()" class="o_purple100">{{'Unoffer_car' | translate}}</md-button> + <md-button ng-show="travel.type=='package'" ng-click="unjoinTravel()" class="o_purple100">{{'Unoffer_car' | translate}}</md-button> </div> </p> </div>
M www/templates/travels.html → www/templates/travels.html

@@ -1,19 +1,14 @@

<ion-view view-title="{{'Travels' | translate}}"> - <ion-content> + <ion-content class="has-footer"> <ion-refresher pulling-text="{{'Pull_to_refresh' | translate}}..." on-refresh="doRefresh()"> </ion-refresher> <div class="list"> <div> - <div class="o-float-right" ng-show="storageusername"> - <a ng-click="showNewAskingPackage()" class="button"><img ng-src="img/newpackage.png" class="o-img-new"/></a> - <a ng-click="showNewAskingTravel()" class="button"><img ng-src="img/newasking.png" class="o-img-new"/></a> - <a ng-click="showNewOfferingTravel()" class="button"><img ng-src="img/newoffering.png" class="o-img-new"/></a> - </div> <label class="item item-input"> <i class="icon ion-search placeholder-icon"></i> - <input type="search" placeholder="{{'search' | translate}}..." ng-model="search"> + <input type="search" placeholder="{{'filter' | translate}}..." ng-model="search"> </label> </div>
M www/templates/user.html → www/templates/user.html

@@ -1,26 +1,28 @@

<ion-view view-title="{{'User' | translate}} {{user.username}}"> - <ion-content> + <ion-content class="has-footer"> <div class="o_userProfileBackground"> <img ng-src="{{user.avatar}}" class="o_userImgCircular" /> - <h3>{{user.username}}</h3> + <h3 class="o_text_white">{{user.username}}</h3> <p>{{user.description}}</p> <p>{{user.email}}</p> </div> <div class=""> - - - <p ng-show="user.telegram"> - <!--<a ng-href="https://telegram.me/{{user.telegram}}" target="_blank" class="button">--> - <img class='o-imgMenu' src="img/telegram.png" /> @{{user.telegram}} - <!--</a>--> - </p> + <div class="row"> + <a class="tab-item" ng-show="user.telegram"> + <i class="icon ion-paper-airplane"></i> + @{{user.telegram}} + </a> + <a class="tab-item"> + <i class="icon ion-android-car"></i> + {{user.travels.length}} Travels + </a> + <a class="tab-item"> + <i class="icon ion-ios-heart"></i> + {{user.favs.length}} favs + </a> + </div> <div class="o-text-right"> - <div ng-click="showFavsList()"> - <b>favs:</b> - <span class="">{{user.favs.length}}</span> - </div> - <br> <div ng-show="storageusername && storageusername!=user.username"> <a ng-show="arrayObjectIndexOf(user.favs, storageusername, 'username')==-1" ng-click="favUser()"> <img class="o-imgMenu" src="img/unlike.png" />
M www/templates/users.html → www/templates/users.html

@@ -1,5 +1,5 @@

<ion-view view-title="{{'Users' | translate}}"> - <ion-content> + <ion-content class="has-footer"> <ion-refresher pulling-text="Pull to refresh..." on-refresh="doRefresh()">