add implementation of contact page

This commit is contained in:
Zhigang Wang 2024-06-06 15:00:03 -07:00
parent bd0fd38f92
commit 01ed4cef69
5 changed files with 70 additions and 9 deletions

View File

@ -52,7 +52,7 @@ export default {
@extend .container; @extend .container;
cursor: pointer; cursor: pointer;
} }
.directory_cover_image{ .directory_cover_image {
height: 20vh; height: 20vh;
} }
</style> </style>

View File

@ -1,6 +1,11 @@
<template> <template>
<div v-if="blogs" class="blogs_containter"> <div v-if="blogs" class="blogs_containter">
<div class="blog_containter" v-for="(blog, index) in blogs" :key="index" @click="view_blog(blog)"> <div
class="blog_containter"
v-for="(blog, index) in blogs"
:key="index"
@click="view_blog(blog)"
>
<h2>{{ blog.blog_name }}</h2> <h2>{{ blog.blog_name }}</h2>
<img class="blog_cover_image" :src="blog.cover_picture" /> <img class="blog_cover_image" :src="blog.cover_picture" />
<p v-text="retrieve_summary(blog)"></p> <p v-text="retrieve_summary(blog)"></p>

View File

@ -1,8 +1,18 @@
<template> <template>
<div class="directories_containter"> <div class="directories_containter">
<div class="directory_container" v-for="(directory, index) in directories" :key="index" @click="view_link(directory)"> <div
<p class="directory_title_txt" v-tooltip :title="directory.summary_text" delay='{"show":"500", "hide":"100"}'><u>{{ class="directory_container"
directory.title_text }}</u> v-for="(directory, index) in directories"
:key="index"
@click="view_link(directory)"
>
<p
class="directory_title_txt"
v-tooltip
:title="directory.summary_text"
delay='{"show":"500", "hide":"100"}'
>
<u>{{ directory.title_text }}</u>
</p> </p>
</div> </div>
</div> </div>
@ -35,7 +45,6 @@ export default {
directories: null directories: null
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -48,5 +57,6 @@ export default {
cursor: pointer; cursor: pointer;
} }
.directory_title_txt {} .directory_title_txt {
}
</style> </style>

View File

@ -1,11 +1,53 @@
<template> <template>
<div class="">Contact</div> <div class="directories_containter">
<div class="directory_container" v-for="(directory, index) in directories" :key="index">
<img class="directory_cover_image" :src="directory.cover_picture" />
<div v-html="directory.content_html"></div>
</div>
</div>
</template> </template>
<script> <script>
import { ContentApi } from '../../utils/index'
export default { export default {
name: 'Contact', name: 'Contact',
components: {}, components: {},
computed: {}, computed: {},
methods: {} mounted() {
this.retrieve_directories()
},
methods: {
retrieve_directories() {
ContentApi.retrieve_contact_directories()
.then((response) => {
this.directories = response.data
})
.catch((error) => {
this.mnx_backendErrorHandler(error)
})
}
},
data() {
return {
directories: null
}
}
} }
</script> </script>
<style scoped lang="scss">
.directories_containter {
@extend .container;
}
.directory_container {
@extend .container;
cursor: pointer;
}
.directory_cover_image {
height: 20vh;
}
.directory_content_html {
@extend .text-start;
}
</style>

View File

@ -23,5 +23,9 @@ class ContentApi {
const request = backendAxios.post('/api/content/retrieve-career-directories', {}, {}) const request = backendAxios.post('/api/content/retrieve-career-directories', {}, {})
return request return request
} }
static retrieve_contact_directories() {
const request = backendAxios.post('/api/content/retrieve-contact-directories', {}, {})
return request
}
} }
export { ContentApi } export { ContentApi }