123 lines
3.2 KiB
JavaScript
123 lines
3.2 KiB
JavaScript
import importTemplate from "../../utils/importTemplate.js";
|
|
import inlinesvg from "../../utils/inlineSvg.js";
|
|
|
|
export default {
|
|
template: await importTemplate("components/ntsmain/index.html"),
|
|
data: () => ({
|
|
selectedMission: false,
|
|
selectedRoute: false,
|
|
selectedTruckIndex: 0,
|
|
selectedTruck: {
|
|
name: "packer",
|
|
image: "truck-1.png",
|
|
label: "Packer",
|
|
level : 1,
|
|
},
|
|
showRoutes:false,
|
|
|
|
}),
|
|
watch:{
|
|
selectedRoute(val){
|
|
this.setTrucks(this.trucksCopy)
|
|
setTimeout(() =>{
|
|
let data = this.trucks.filter((truck) =>{
|
|
return val.vehicle.includes(truck.name)
|
|
})
|
|
this.setTrucks(data)
|
|
this.selectedTruckIndex= 0
|
|
this.selectedTruck = this.trucks[this.selectedTruckIndex]
|
|
}, 200)
|
|
}
|
|
},
|
|
mounted() {
|
|
|
|
const swiper = new Swiper(".swiper", {
|
|
// Navigation arrows
|
|
navigation: {
|
|
nextEl: ".swiper-arrow",
|
|
},
|
|
pagination: {
|
|
el: ".swiper-pagination",
|
|
clickable: true,
|
|
},
|
|
});
|
|
|
|
},
|
|
computed: {
|
|
...Vuex.mapState({
|
|
missions: (state) => state.missions,
|
|
playerData: (state) => state.playerData,
|
|
language: (state) => state.language,
|
|
trucks : (state) => state.trucks,
|
|
trucksCopy : (state) => state.trucksCopy,
|
|
jobInfo : (state) => state.jobInfo,
|
|
}),
|
|
getMissions(){
|
|
return this.missions.filter((data) => this.playerData?.unlockedMissions?.[data.id.toString()])
|
|
},
|
|
getDailyMissionRemainHours() {
|
|
const date2 = new Date(this.playerData?.dailymissions?.resetAt * 1000);
|
|
const date1 = new Date();
|
|
var diff = date2.valueOf() - date1.valueOf();
|
|
var diffInHours = diff / 1000 / 60 / 60; // Convert milliseconds to hours
|
|
return diffInHours?.toFixed(0);
|
|
},
|
|
},
|
|
components: {
|
|
inlinesvg,
|
|
},
|
|
methods: {
|
|
...Vuex.mapMutations({
|
|
|
|
createNotification: "createNotification",
|
|
setTrucks: "setTrucks",
|
|
}),
|
|
|
|
selectRoute(route, companyIndex){
|
|
if(route.reqPoint){
|
|
if(this.playerData.points[companyIndex.toString()] < route.reqPoint){
|
|
this.createNotification("You don't have enough points!")
|
|
return
|
|
}
|
|
}
|
|
this.selectedRoute = route
|
|
},
|
|
selectNextTruck() {
|
|
this.selectedTruckIndex += 1;
|
|
if (this.selectedTruckIndex >= this.trucks.length) {
|
|
this.selectedTruckIndex = 0;
|
|
}
|
|
},
|
|
selectPrevTruck() {
|
|
this.selectedTruckIndex -= 1;
|
|
if (this.selectedTruckIndex < 0) {
|
|
this.selectedTruckIndex =0 ;
|
|
}
|
|
},
|
|
stopJob(){
|
|
postNUI("stopJob")
|
|
},
|
|
startJob() {
|
|
if (!this.selectedTruck || !this.selectedRoute || !this.selectedMission) {
|
|
return;
|
|
}
|
|
postNUI("startJob", {
|
|
truck: this.selectedTruck,
|
|
route: this.selectedRoute,
|
|
mission : this.selectedMission,
|
|
});
|
|
},
|
|
getBG(bg) {
|
|
return {
|
|
backgroundImage: `url(./assets/images/${bg})`,
|
|
filter: this.showRoutes ? "blur(10px)" : "blur(0)",
|
|
};
|
|
},
|
|
getSmallBG(bg) {
|
|
return {
|
|
backgroundImage: `url(./assets/images/${bg})`,
|
|
};
|
|
},
|
|
},
|
|
};
|