handle all not found errors

This commit is contained in:
Amir Mohamadi
2021-12-31 17:01:17 +03:30
parent 5c07791225
commit 064d642b7e
47 changed files with 3386 additions and 3238 deletions
+9 -5
View File
@@ -44,7 +44,7 @@
</div>
</section>
<section class="s2" v-if="history.length">
<section class="s2" v-if="history.length" id="history_timeline">
<div class="container">
<div class="row">
<div class="col-12">
@@ -157,10 +157,14 @@ export default {
title: this.staticData.hero
}
},
async asyncData({$axios}) {
const history = await $axios.get(`/api/public/history`)
return {
history: history.data
async asyncData({$axios, error}) {
try {
const history = await $axios.get(`/api/public/history`)
return {
history: history.data
}
} catch (e) {
error({status: 404, message: 'There is problem here'})
}
}
}
+10 -6
View File
@@ -84,12 +84,16 @@ export default {
title: this.post.post_details[this.$route.params.lang].title
}
},
async asyncData({$axios, params}) {
const post = await $axios.get(`/api/public/blog/${params.post}`)
const blogCategories = await $axios.get(`/api/public/blogCategories`)
return {
post: post.data,
blogCategories: blogCategories.data
async asyncData({$axios, params, error}) {
try {
const post = await $axios.get(`/api/public/blog/${params.post}`)
const blogCategories = await $axios.get(`/api/public/blogCategories`)
return {
post: post.data,
blogCategories: blogCategories.data
}
} catch (e) {
error({status: 404, message: 'Page not found'})
}
}
}
+10 -6
View File
@@ -119,12 +119,16 @@ export default {
title: this.staticData.hero
}
},
async asyncData({$axios, store}) {
let posts = await $axios.get(`/api/public/blog`)
const blogCategories = await $axios.get(`/api/public/blogCategories`)
return {
posts: posts.data,
blogCategories: blogCategories.data
async asyncData({$axios, store, error}) {
try {
let posts = await $axios.get(`/api/public/blog`)
const blogCategories = await $axios.get(`/api/public/blogCategories`)
return {
posts: posts.data,
blogCategories: blogCategories.data
}
} catch (e) {
error({status: 404, message: 'There is a problem here'})
}
}
}
+8 -4
View File
@@ -179,10 +179,14 @@ export default {
title: this.staticData.hero
}
},
async asyncData({$axios}) {
const reasons = await $axios.get(`/api/public/contact/reason`)
return {
reasons: reasons.data
async asyncData({$axios, error}) {
try {
const reasons = await $axios.get(`/api/public/contact/reason`)
return {
reasons: reasons.data
}
} catch (e) {
error({status: 404, message: 'There is a problem here'})
}
}
}
+13 -9
View File
@@ -42,7 +42,7 @@
<div class="col-12">
<p>{{ staticData.s1_2.t2 }}</p>
<p>{{ staticData.s1_2.t3 }}</p>
<nuxt-link :to="{name: 'lang-about',params: {lang: $route.params.lang}}" class="btn btn-primary">{{ staticData.s1_2.link }}</nuxt-link>
<nuxt-link :to="{name: 'lang-about',params: {lang: $route.params.lang},hash: '#history_timeline'}" class="btn btn-primary">{{ staticData.s1_2.link }}</nuxt-link>
</div>
</div>
</div>
@@ -247,15 +247,19 @@ export default {
title: this.staticData.title
}
},
async asyncData({$axios}) {
const slider = await $axios.get('/api/public/slider')
const favoriteProducts = await $axios.get(`/api/public/favoriteProducts`)
const catalog = await $axios.get('/api/public/catalog')
async asyncData({$axios, error}) {
try {
const slider = await $axios.get('/api/public/slider')
const favoriteProducts = await $axios.get(`/api/public/favoriteProducts`)
const catalog = await $axios.get('/api/public/catalog')
return {
slider: slider.data,
favoriteProducts: favoriteProducts.data,
catalog: catalog.data
return {
slider: slider.data,
favoriteProducts: favoriteProducts.data,
catalog: catalog.data
}
} catch (e) {
error({status: 404, message: 'There is a problem here'})
}
}
}
+10 -6
View File
@@ -177,12 +177,16 @@ export default {
title: this.product.product_details[this.$route.params.lang].name
}
},
async asyncData({$axios, params}) {
let product = await $axios.get(`/api/public/product/${params.product}`)
let productCategories = await $axios.get(`/api/public/productCategories`)
return {
product: product.data,
productCategories: productCategories.data
async asyncData({$axios, params, error}) {
try {
let product = await $axios.get(`/api/public/product/${params.product}`)
let productCategories = await $axios.get(`/api/public/productCategories`)
return {
product: product.data,
productCategories: productCategories.data
}
} catch (e) {
error({status: 404, message: 'Page not found'})
}
}
}
+12 -8
View File
@@ -106,15 +106,19 @@ export default {
title: this.staticData.hero
}
},
async asyncData({$axios, store}) {
const products = await $axios.get(`/api/public/products`)
const productCategories = await $axios.get(`/api/public/productCategories`)
const catalog = await $axios.get('/api/public/catalog')
async asyncData({$axios, store, error}) {
try {
const products = await $axios.get(`/api/public/products`)
const productCategories = await $axios.get(`/api/public/productCategories`)
const catalog = await $axios.get('/api/public/catalog')
return {
products: products.data,
productCategories: productCategories.data,
catalog: catalog.data
return {
products: products.data,
productCategories: productCategories.data,
catalog: catalog.data
}
} catch (e) {
error({status: 404, message: 'There is a problem here'})
}
}
}
+8 -4
View File
@@ -107,10 +107,14 @@ export default {
title: this.staticData.hero
}
},
async asyncData({$axios}) {
const projects = await $axios.get(`/api/public/projects`)
return {
projects: projects.data
async asyncData({$axios, error}) {
try {
const projects = await $axios.get(`/api/public/projects`)
return {
projects: projects.data
}
} catch (e) {
error({status: 404, message: 'There is a problem here'})
}
}
}
+191 -191
View File
@@ -1,198 +1,198 @@
<template>
<div class="page services--page">
<Hero :title="staticData.hero"/>
<section class="s1">
<div class="container">
<div class="panel">
<div class="top">
<h2 class="title">{{staticData.t1}}</h2>
<p class="subtitle">{{staticData.t2}}</p>
</div>
<div class="content">
<p>{{staticData.t3}}</p>
<h4>{{staticData.t4}}</h4>
<ul>
<li>
<p>{{staticData.t5}}</p>
</li>
<li>
<p>{{staticData.t6}}</p>
</li>
<li>
<p>{{staticData.t7}}</p>
</li>
<li>
<p>{{staticData.t8}}</p>
</li>
<li>
<p>{{staticData.t9}}</p>
</li>
<li>
<p>{{staticData.t10}}</p>
</li>
<li>
<p>{{staticData.t11}}</p>
</li>
</ul>
<div class="images">
<img class="anim-fadeIn" src="~/assets/img/services/autodesk.png" alt="">
<img class="anim-fadeIn" src="~/assets/img/services/tekla.png" alt="">
<img class="anim-fadeIn" src="~/assets/img/services/solid_works.png" alt="">
</div>
</div>
</div>
</div>
</section>
<section class="s2">
<img src="~/assets/img/services/services-s3-i1.jpg" alt="" class="section-bg anim-parallax">
<div class="container">
<div class="panel">
<div class="parts p1">
<h2 class="title title-shape-center">{{staticData.t12}}</h2>
<p>{{staticData.t13}}</p>
</div>
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<h2 class="title title-subtitle">{{staticData.t14}}</h2>
<p>{{staticData.t15}}</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1 mb-5 mb-lg-0">
<div class="imgBox imgBox-shape anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i1.jpg" :alt="staticData.t14">
</div>
</div>
</div>
</div>
<!-- image right -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 mb-5 mb-lg-0">
<div class="imgBox imgBox-reverse imgBox-shape-reverse anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i2.jpg" :alt="staticData.t16">
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<h2 class="title title-subtitle">{{staticData.t16}}</h2>
<p>{{staticData.t17}}</p>
</div>
</div>
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<h2 class="title title-subtitle">{{staticData.t18}}</h2>
<p>{{staticData.t19}}</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1 mb-5 mb-lg-0">
<div class="imgBox imgBox-shape anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i3.jpg" :alt="staticData.t18">
</div>
</div>
</div>
</div>
<!-- image right -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 mb-5 mb-lg-0">
<div class="imgBox imgBox-reverse imgBox-shape-reverse anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i4.jpg" :alt="staticData.t20">
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<h2 class="title title-subtitle">{{staticData.t20}}</h2>
<p>{{staticData.t21}}</p>
</div>
</div>
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<h2 class="title title-subtitle">{{staticData.t22}}</h2>
<p>{{staticData.t23}}</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1 mb-5 mb-lg-0">
<div class="imgBox imgBox-shape anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i5.jpg" :alt="staticData.t22">
</div>
</div>
</div>
</div>
<!-- image right -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 mb-5 mb-lg-0">
<div class="imgBox imgBox-reverse imgBox-shape-reverse anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i6.jpg" :alt="staticData.t24">
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<h2 class="title title-subtitle">{{staticData.t24}}</h2>
<p>{{staticData.t25}}</p>
</div>
</div>
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<h2 class="title title-subtitle">{{staticData.t26}}</h2>
<p>{{staticData.t27}}</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1 mb-5 mb-lg-0">
<div class="imgBox imgBox-shape anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i7.jpg" :alt="staticData.t26">
</div>
</div>
</div>
</div>
<!-- image right -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 mb-5 mb-lg-0">
<div class="imgBox imgBox-reverse imgBox-shape-reverse anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i8.jpg" :alt="staticData.t28">
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<h2 class="title title-subtitle">{{staticData.t28}}</h2>
<p>{{staticData.t29}}</p>
</div>
</div>
</div>
</div>
</section>
</div>
<div class="page services--page">
<Hero :title="staticData.hero"/>
<section class="s1">
<div class="container">
<div class="panel">
<div class="top">
<h2 class="title">{{ staticData.t1 }}</h2>
<p class="subtitle">{{ staticData.t2 }}</p>
</div>
<div class="content">
<p>{{ staticData.t3 }}</p>
<h4>{{ staticData.t4 }}</h4>
<ul>
<li>
<p>{{ staticData.t5 }}</p>
</li>
<li>
<p>{{ staticData.t6 }}</p>
</li>
<li>
<p>{{ staticData.t7 }}</p>
</li>
<li>
<p>{{ staticData.t8 }}</p>
</li>
<li>
<p>{{ staticData.t9 }}</p>
</li>
<li>
<p>{{ staticData.t10 }}</p>
</li>
<li>
<p>{{ staticData.t11 }}</p>
</li>
</ul>
<div class="images">
<img class="anim-fadeIn" src="~/assets/img/services/autodesk.png" alt="">
<img class="anim-fadeIn" src="~/assets/img/services/tekla.png" alt="">
<img class="anim-fadeIn" src="~/assets/img/services/solid_works.png" alt="">
</div>
</div>
</div>
</div>
</section>
<section class="s2">
<img src="~/assets/img/services/services-s3-i1.jpg" alt="" class="section-bg anim-parallax">
<div class="container">
<div class="panel">
<div class="parts p1">
<h2 class="title title-shape-center">{{ staticData.t12 }}</h2>
<p>{{ staticData.t13 }}</p>
</div>
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<h2 class="title title-subtitle">{{ staticData.t14 }}</h2>
<p>{{ staticData.t15 }}</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1 mb-5 mb-lg-0">
<div class="imgBox imgBox-shape anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i1.jpg" :alt="staticData.t14">
</div>
</div>
</div>
</div>
<!-- image right -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 mb-5 mb-lg-0">
<div class="imgBox imgBox-reverse imgBox-shape-reverse anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i2.jpg" :alt="staticData.t16">
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<h2 class="title title-subtitle">{{ staticData.t16 }}</h2>
<p>{{ staticData.t17 }}</p>
</div>
</div>
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<h2 class="title title-subtitle">{{ staticData.t18 }}</h2>
<p>{{ staticData.t19 }}</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1 mb-5 mb-lg-0">
<div class="imgBox imgBox-shape anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i3.jpg" :alt="staticData.t18">
</div>
</div>
</div>
</div>
<!-- image right -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 mb-5 mb-lg-0">
<div class="imgBox imgBox-reverse imgBox-shape-reverse anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i4.jpg" :alt="staticData.t20">
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<h2 class="title title-subtitle">{{ staticData.t20 }}</h2>
<p>{{ staticData.t21 }}</p>
</div>
</div>
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<h2 class="title title-subtitle">{{ staticData.t22 }}</h2>
<p>{{ staticData.t23 }}</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1 mb-5 mb-lg-0">
<div class="imgBox imgBox-shape anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i5.jpg" :alt="staticData.t22">
</div>
</div>
</div>
</div>
<!-- image right -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 mb-5 mb-lg-0">
<div class="imgBox imgBox-reverse imgBox-shape-reverse anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i6.jpg" :alt="staticData.t24">
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<h2 class="title title-subtitle">{{ staticData.t24 }}</h2>
<p>{{ staticData.t25 }}</p>
</div>
</div>
<!-- image left -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 order-1 order-lg-0">
<h2 class="title title-subtitle">{{ staticData.t26 }}</h2>
<p>{{ staticData.t27 }}</p>
</div>
<div class="col-12 col-lg-6 order-0 order-lg-1 mb-5 mb-lg-0">
<div class="imgBox imgBox-shape anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i7.jpg" :alt="staticData.t26">
</div>
</div>
</div>
</div>
<!-- image right -->
<div class="parts row align-items-center">
<div class="col-12 col-lg-6 mb-5 mb-lg-0">
<div class="imgBox imgBox-reverse imgBox-shape-reverse anim-fadeIn">
<div class="img">
<img src="~/assets/img/services/s2-i8.jpg" :alt="staticData.t28">
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<h2 class="title title-subtitle">{{ staticData.t28 }}</h2>
<p>{{ staticData.t29 }}</p>
</div>
</div>
</div>
</div>
</section>
</div>
</template>
<script>
import {fadeInAnimation, parallaxAnimation} from "~/mixins/animations"
import {fadeInAnimation, parallaxAnimation} from "~/mixins/animations"
export default {
computed: {
staticData() {
return this.$store.state.staticData.services[this.$route.params.lang]
}
},
mixins: [fadeInAnimation, parallaxAnimation],
head() {
return {
title: this.staticData.hero
}
}
}
export default {
computed: {
staticData() {
return this.$store.state.staticData.services[this.$route.params.lang]
}
},
mixins: [fadeInAnimation, parallaxAnimation],
head() {
return {
title: this.staticData.hero
}
}
}
</script>
+86 -86
View File
@@ -1,93 +1,93 @@
<template>
<div class="page tech-info--page latin-digits">
<Hero :title="staticData.title"/>
<section class="s1">
<div class="container">
<div class="panel">
<div class="content gTech">
<h2 class="first">{{staticData.t1}}</h2>
<p>{{staticData.t2}}</p>
<br>
<br>
<br>
<p>
<b>{{staticData.t3}}</b>
<span>{{staticData.t4}}</span>
</p>
<p>
<b>{{staticData.t5}}</b>
<span>{{staticData.t6}}</span>
</p>
<p>
<b>{{staticData.t7}}</b>
<span>{{staticData.t8}}</span>
</p>
<p>
<b>{{staticData.t9}}</b>
<span>{{staticData.t10}}</span>
</p>
<p>
<b>{{staticData.t11}}</b>
<span>{{staticData.t12}}</span>
</p>
<p>
<b>{{staticData.t13}}</b>
<span>{{staticData.t14}}</span>
</p>
<p>
<b>{{staticData.t15}}</b>
<span>{{staticData.t16}}</span>
</p>
<p>
<b>{{staticData.t17}}</b>
<span>{{staticData.t18}}</span>
</p>
<p>
<b>{{staticData.t19}}</b>
<span>{{staticData.t20}}</span>
</p>
<p>
<b>{{staticData.t21}}</b>
<span>{{staticData.t22}}</span>
</p>
<p>{{staticData.t23}}</p>
<div class="page tech-info--page latin-digits">
<Hero :title="staticData.title"/>
<section class="s1">
<div class="container">
<div class="panel">
<div class="content gTech">
<h2 class="first">{{ staticData.t1 }}</h2>
<p>{{ staticData.t2 }}</p>
<br>
<br>
<br>
<p>
<b>{{ staticData.t3 }}</b>
<span>{{ staticData.t4 }}</span>
</p>
<p>
<b>{{ staticData.t5 }}</b>
<span>{{ staticData.t6 }}</span>
</p>
<p>
<b>{{ staticData.t7 }}</b>
<span>{{ staticData.t8 }}</span>
</p>
<p>
<b>{{ staticData.t9 }}</b>
<span>{{ staticData.t10 }}</span>
</p>
<p>
<b>{{ staticData.t11 }}</b>
<span>{{ staticData.t12 }}</span>
</p>
<p>
<b>{{ staticData.t13 }}</b>
<span>{{ staticData.t14 }}</span>
</p>
<p>
<b>{{ staticData.t15 }}</b>
<span>{{ staticData.t16 }}</span>
</p>
<p>
<b>{{ staticData.t17 }}</b>
<span>{{ staticData.t18 }}</span>
</p>
<p>
<b>{{ staticData.t19 }}</b>
<span>{{ staticData.t20 }}</span>
</p>
<p>
<b>{{ staticData.t21 }}</b>
<span>{{ staticData.t22 }}</span>
</p>
<p>{{ staticData.t23 }}</p>
<div class="imgBox anim-fadeIn">
<img src="~/assets/img/tech-info/ti-Model-4.jpg" alt="">
<p>{{staticData.t24}}</p>
</div>
</div>
</div>
</div>
</section>
<section class="s2">
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="title">{{staticData.t25}}</h2>
<nuxt-link :to="{name: 'lang-products',params: {lang: $route.params.lang}}" class="btn btn-primary">{{staticData.t26}}</nuxt-link>
</div>
</div>
</div>
</section>
<CustomersCommunication/>
</div>
<div class="imgBox anim-fadeIn">
<img src="~/assets/img/tech-info/ti-Model-4.jpg" alt="">
<p>{{ staticData.t24 }}</p>
</div>
</div>
</div>
</div>
</section>
<section class="s2">
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="title">{{ staticData.t25 }}</h2>
<nuxt-link :to="{name: 'lang-products',params: {lang: $route.params.lang}}" class="btn btn-primary">{{ staticData.t26 }}</nuxt-link>
</div>
</div>
</div>
</section>
<CustomersCommunication/>
</div>
</template>
<script>
import {fadeInAnimation} from "~/mixins/animations"
import {fadeInAnimation} from "~/mixins/animations"
export default {
computed: {
staticData() {
return this.$store.state.staticData.gTech[this.$route.params.lang]
}
},
mixins: [fadeInAnimation],
head() {
return {
title: this.staticData.title
}
}
}
export default {
computed: {
staticData() {
return this.$store.state.staticData.gTech[this.$route.params.lang]
}
},
mixins: [fadeInAnimation],
head() {
return {
title: this.staticData.title
}
}
}
</script>