2026-04-14 17:41:39 +02:00

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})`,
};
},
},
};