HelenaExpressApp/www/routes.js

311 lines
11 KiB
JavaScript
Raw Normal View History

2020-10-10 19:26:30 -06:00
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
var routes = [
{
path: '/home',
name: 'home',
async: function (routeTo, routeFrom, resolve, reject) {
resolve({
templateUrl: './pages/home.html'
}, {
context: {
pages: [
{
2021-08-14 14:38:55 -06:00
title: "Book Appointment",
2021-01-22 15:17:35 -07:00
href: "/appointment",
icon: "fad fa-calendar-alt",
2021-08-14 14:38:55 -06:00
text: "Get mailing, shipping, and notary services on your schedule anywhere in the Helena area."
2020-10-10 19:26:30 -06:00
},
{
2021-01-22 12:06:20 -07:00
title: "Track Package",
2020-10-10 19:26:30 -06:00
href: "/track",
icon: "fad fa-search",
text: "Find the latest location and updates about any shipment."
2020-10-10 19:26:30 -06:00
},
{
title: "Pick Up and Redeliver",
href: "/noticeslip",
icon: "fad fa-sticky-note",
text: "Take a picture of your pink postal notice slip and we'll go get your missed delivery."
},
2021-03-07 00:40:34 -07:00
{
title: "Loyalty Points",
href: "/loyalty",
icon: "fad fa-badge-dollar",
text: "Earn free stamps and discounts."
},
{
title: "Express Pickup",
href: "/addresscode",
icon: "fal fa-qrcode",
text: "Get a faster pickup and a discount by pre-typing the destination address here."
},
2021-03-07 00:40:34 -07:00
{
title: "Get Rates",
href: "/rates",
icon: "fad fa-calculator",
text: "Calculate postage and prices for your item."
},
2020-10-10 19:26:30 -06:00
]
}
});
}
},
2021-01-22 15:17:35 -07:00
{
path: '/appointment',
name: 'appointment',
async: function (routeTo, routeFrom, resolve, reject) {
resolve({
templateUrl: './pages/appointment.html'
}, {
context: {
2021-08-14 14:38:55 -06:00
services: [
{
title: "Package Pickup",
text: "A courier will come to you and ship your mail, packages, etc.",
icon: "fad fa-hand-holding-box",
serviceid: 19
},
{
title: "Mobile Notary",
text: "A notary public will come to you and notarize your documents.",
icon: "fad fa-file-signature",
serviceid: 21
}
]
2021-01-22 15:17:35 -07:00
}
});
2021-08-14 14:38:55 -06:00
},
routes: [
{
path: "/:serviceId",
async: function (routeTo, routeFrom, resolve, reject) {
var url = SETTINGS.appointmenturl;
if ($("#app").hasClass("theme-dark")) {
url = SETTINGS.appointmenturl_darkmode;
}
resolve({
templateUrl: './pages/appointment.html'
}, {
context: {
url: url + "&service=" + routeTo.params.serviceId
}
});
}
}
]
2021-01-22 15:17:35 -07:00
},
2020-10-10 19:26:30 -06:00
{
path: '/track',
url: './pages/track.html',
name: 'track',
on: {
pageBeforeIn: function () {
2021-01-22 12:06:20 -07:00
addTrackingSuggestions();
$("#trackingcode").val("0");
app.input.validate("#trackingcode");
$("#trackingcode").val("");
}
}
2020-10-10 19:26:30 -06:00
},
2021-01-22 16:32:35 -07:00
{
path: '/rates',
url: './pages/rates.html',
name: 'rates',
on: {
pageAfterIn: function () {
initRateForm();
}
}
},
{
path: '/rateresult',
name: 'rateresult',
templateUrl: './pages/rateresult.html'
},
{
path: '/noticeslip',
url: './pages/noticeslip.html',
name: 'noticeslip',
on: {
pageAfterIn: function () {
initNoticeSlipForm();
}
}
},
{
path: '/noticeslip/success',
name: 'noticeslipsuccess',
templateUrl: './pages/noticeslipsuccess.html'
},
{
2021-01-22 12:06:20 -07:00
path: '/addresscode',
name: 'addresscode',
async: function (routeTo, routeFrom, resolve, reject) {
resolve({
templateUrl: './pages/addresscode.html'
}, {
context: {
fields: [
{label: "Name", id: "name"},
{label: "Company", id: "company"},
{label: "Street", id: "street1"},
{label: "Street (line 2)", id: "street2"},
{label: "City", id: "city"},
{label: "State", id: "state"},
{label: "ZIP", id: "zip"}
]
}
2021-01-22 12:06:20 -07:00
});
}
},
2021-03-07 00:40:34 -07:00
{
path: '/loyalty',
name: 'loyalty',
async: function (routeTo, routeFrom, resolve, reject) {
var hasPhone = inStorage("phonenumber");
var phone = getStorage("phonenumber");
resolve({
templateUrl: './pages/loyalty.html'
}, {
context: {
hasphone: hasPhone,
phone: phone
},
on: {
pageAfterIn: displayLoyaltyPoints
}
});
}
},
2020-10-10 19:26:30 -06:00
{
2021-01-22 12:06:20 -07:00
path: '/track/:code',
2020-10-10 19:26:30 -06:00
name: 'trackresult',
async: trackOpenAsync,
on: {
pageAfterIn: function () {
var trackingMap = new Map(document.getElementById("mapbox-track"));
trackingMap.reloadMap();
trackingMap.clearOldMarkersAndCenterMapOnNewMarker("package-marker");
}
}
2020-10-10 19:26:30 -06:00
},
{
path: '/credits',
url: './pages/credits.html',
name: 'credits'
},
{
path: '/settings',
name: 'settings',
async: function (routeTo, routeFrom, resolve, reject) {
var settings = [];
settings.push(
{
setting: "display",
title: "Display and Appearance",
text: "",
onclick: "router.navigate('/settings/display')",
link: true
}
);
settings.push(
{
setting: "versions",
2021-01-22 12:06:20 -07:00
title: "Helena Express app v" + app_version,
text: "Copyright © 2019-2021 Netsyms Technologies.",
2020-10-10 19:26:30 -06:00
onclick: ""
},
{
setting: "opensource",
title: "Credits and open source info",
text: "",
onclick: "router.navigate('/credits')",
link: true
},
{
setting: "privacy",
title: "Privacy policy and legal",
text: "",
2021-01-22 12:06:20 -07:00
onclick: "openBrowser('https://netsyms.com/legal?mtm_campaign=HelenaExpressApp')",
2020-10-10 19:26:30 -06:00
link: true
});
resolve({
templateUrl: './pages/settings.html'
}, {
context: {
page_title: "Settings",
settings: settings
}
});
},
routes: [
{
path: '/display',
name: 'settings',
async: function (routeTo, routeFrom, resolve, reject) {
var settings = [
{
setting: "apptheme",
title: "Color theme",
select: true,
options: [
{
value: "auto",
label: "Auto",
selected: getStorage("apptheme") == null || getStorage("apptheme") == "auto"
},
{
value: "dark",
label: "Dark",
selected: getStorage("apptheme") == "dark"
},
{
value: "light",
label: "Light",
selected: getStorage("apptheme") == "light"
}
]
},
{
setting: "animation",
title: "Animations",
select: true,
options: [
{
value: "auto",
label: "On",
selected: getStorage("animation") == null || getStorage("animation") == "auto" || getStorage("animation") == "on"
},
// {
// value: "on",
// label: "On",
// selected: getStorage("animation") == "on"
// },
{
value: "off",
label: "Off",
selected: getStorage("animation") == "off"
}
]
}
];
resolve({
templateUrl: './pages/settings.html'
}, {
context: {
page_title: "Display Settings",
settings: settings
}
});
}
}
]
}
];