mirror of
https://github.com/arnaucube/commonroutesApp.git
synced 2026-02-06 19:16:45 +01:00
updated
This commit is contained in:
@@ -201,6 +201,9 @@
|
||||
}
|
||||
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 21 KiB |
@@ -3,7 +3,7 @@
|
||||
<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/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>-->
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
// '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 @@ angular.module('starter', [
|
||||
'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 @@ angular.module('starter', [
|
||||
}
|
||||
}
|
||||
})
|
||||
.state('app.search', {
|
||||
url: '/search',
|
||||
views: {
|
||||
'menuContent': {
|
||||
templateUrl: 'templates/search.html',
|
||||
controller: 'SearchCtrl'
|
||||
}
|
||||
}
|
||||
})
|
||||
.state('app.travels', {
|
||||
url: '/travels',
|
||||
views: {
|
||||
@@ -104,12 +115,12 @@ angular.module('starter', [
|
||||
}
|
||||
})
|
||||
|
||||
.state('app.newPublication', {
|
||||
url: '/newPublication',
|
||||
.state('app.newTravel', {
|
||||
url: '/newTravel',
|
||||
views: {
|
||||
'menuContent': {
|
||||
templateUrl: 'templates/newPublication.html',
|
||||
controller: 'NewPublicationCtrl'
|
||||
templateUrl: 'templates/newTravel.html',
|
||||
controller: 'NewTravelCtrl'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
angular.module('app.newPublication', ['pascalprecht.translate'])
|
||||
|
||||
.controller('NewPublicationCtrl', function($scope, $stateParams, $translate, $filter) {
|
||||
|
||||
});
|
||||
5
www/js/newTravel.js
Normal file
5
www/js/newTravel.js
Normal file
@@ -0,0 +1,5 @@
|
||||
angular.module('app.newTravel', ['pascalprecht.translate'])
|
||||
|
||||
.controller('NewTravelCtrl', function($scope, $stateParams, $translate, $filter) {
|
||||
|
||||
});
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
30
www/js/search.js
Normal file
30
www/js/search.js
Normal file
@@ -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 });
|
||||
|
||||
});
|
||||
};
|
||||
});
|
||||
@@ -5,6 +5,7 @@ var translations = {
|
||||
"Signup": "Signup",
|
||||
"Login": "Login",
|
||||
"Travels": "Travels",
|
||||
"Travels_feed": "Travels feed",
|
||||
"Users": "Users",
|
||||
"Notifications": "Notifications",
|
||||
"Logout": "Logout",
|
||||
@@ -50,6 +51,7 @@ var translations = {
|
||||
"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",
|
||||
|
||||
@@ -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 @@ angular.module('app.travel', ['pascalprecht.translate'])
|
||||
|
||||
};
|
||||
$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 @@ console.log($scope.newComment);
|
||||
};
|
||||
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -11,15 +11,16 @@
|
||||
</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 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 }}
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
<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">
|
||||
<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>
|
||||
|
||||
<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 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}}
|
||||
|
||||
40
www/templates/search.html
Normal file
40
www/templates/search.html
Normal file
@@ -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>
|
||||
@@ -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}}
|
||||
|
||||
@@ -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 @@
|
||||
</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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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()">
|
||||
|
||||
Reference in New Issue
Block a user