add some styling to lab home

This commit is contained in:
Zhigang Wang 2024-06-14 15:35:42 -07:00
parent 6d898a3b49
commit d011e6c286
5 changed files with 87 additions and 79 deletions

View File

@ -1,53 +1,55 @@
<template> <template>
<div class="directories_containter"> <div class="directories_containter">
<div class="directory_container" v-for="(directory, index) in directories" :key="index" <div
@click="view_link(directory)"> class="directory_container"
<p>{{ directory.title_text }}</p> v-for="(directory, index) in directories"
<img class="directory_cover_image" :src="directory.cover_picture" /> :key="index"
<p>{{ directory.summary_text }}</p> @click="view_link(directory)"
</div> >
<p>{{ directory.title_text }}</p>
<img class="directory_cover_image" :src="directory.cover_picture" />
<p>{{ directory.summary_text }}</p>
</div> </div>
</div>
</template> </template>
<script> <script>
export default { export default {
name: 'LabHome', name: 'LabHome',
components: {}, components: {},
computed: {}, computed: {},
mounted() { mounted() {},
}, methods: {
methods: { view_link(directory) {
view_link(directory) { this.mnx_navToLink(directory.path)
this.mnx_navToLink(directory.path)
}
},
data() {
return {
directories: [
{
"path":"machine-translation",
"title_text": "Machine Translation",
"summary_text": "Translate lanuages leverage AI power",
"icon_picture":"",
"cover_picture":""
}
]
}
} }
},
data() {
return {
directories: [
{
path: 'machine-translation',
title_text: 'Machine Translation',
summary_text: 'Translate lanuages leverage AI power',
icon_picture: '',
cover_picture: 'src/assets/images/lab-translation.png'
}
]
}
}
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.directories_containter { .directories_containter {
@extend .container; @extend .container;
} }
.directory_container { .directory_container {
@extend .container; @extend .container;
cursor: pointer; cursor: pointer;
} }
.directory_cover_image { .directory_cover_image {
height: 20vh; height: 20vh;
} }
</style> </style>

View File

@ -1,40 +1,45 @@
<template> <template>
<div class="input_containter"> <div class="input_containter">
<input type="text" v-model="input_text" @keyup.enter="translate($event)"> <input class="input_text" type="text" v-model="input_text" @keyup.enter="translate($event)" />
<p>{{ translated_text }}</p> <p class="translated_text">{{ translated_text }}</p>
</div> </div>
</template> </template>
<script> <script>
import { LabApi } from '../../../utils/index' import { LabApi } from '../../../utils/index'
export default { export default {
name: 'TranslationHome', name: 'TranslationHome',
components: {}, components: {},
computed: {}, computed: {},
mounted() { mounted() {},
}, methods: {
methods: { translate($event) {
translate($event) { LabApi.translate_text(this.input_text)
LabApi.translate_text(this.input_text) .then((response) => {
.then((response) => { this.translated_text = response.data
this.translated_text = response.data })
}) .catch((error) => {
.catch((error) => { this.mnx_backendErrorHandler(error)
this.mnx_backendErrorHandler(error) })
})
}
},
data() {
return {
input_text: null,
translated_text: null
}
}
} }
},
data() {
return {
input_text: null,
translated_text: null
}
}
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.input_containter { .input_containter {
@extend .container; @extend .container;
@extend .m-3;
}
.input_text {
@extend .w-100;
}
.translated_text {
@extend .w-100;
} }
</style> </style>

View File

@ -383,15 +383,14 @@ const router = createRouter({
path: '/lab-home', path: '/lab-home',
meta: { requiredRoles: [userRoleEnum.PERSONAL] }, meta: { requiredRoles: [userRoleEnum.PERSONAL] },
components: { default: LabHome, footer: FooterUser, header: HeaderUser } components: { default: LabHome, footer: FooterUser, header: HeaderUser }
} },
,
{ {
name: 'machine-translation', name: 'machine-translation',
path: '/machine-translation', path: '/machine-translation',
meta: { requiredRoles: [userRoleEnum.PERSONAL] }, meta: { requiredRoles: [userRoleEnum.PERSONAL] },
components: { default: TranslationHome, footer: FooterUser, header: HeaderUser } components: { default: TranslationHome, footer: FooterUser, header: HeaderUser }
} }
], ],
linkActiveClass: 'active' linkActiveClass: 'active'
/* scrollBehavior(_, _2, savedPosition) { /* scrollBehavior(_, _2, savedPosition) {

View File

@ -1,16 +1,18 @@
import { backendAxios } from './axios' import { backendAxios } from './axios'
import { userUtils } from '../store/index' import { userUtils } from '../store/index'
class LabApi { class LabApi {
static translate_text(input_text) { static translate_text(input_text) {
let jwt = userUtils.getJwtToken() let jwt = userUtils.getJwtToken()
const request = backendAxios.post('/api/lab/translate_text', const request = backendAxios.post(
{ '/api/lab/translate_text',
input_text: input_text {
}, input_text: input_text
{ },
headers: { Authorization: `Bearer ${jwt}` } {
}) headers: { Authorization: `Bearer ${jwt}` }
return request }
} )
return request
}
} }
export { LabApi } export { LabApi }