Files
lanecarford_front/src/views/stylist/sex.vue

97 lines
2.5 KiB
Vue
Raw Normal View History

2025-10-13 10:13:54 +08:00
<template>
<div class="sex-select">
<div class="text">Before we begin.</div>
<div class="desc">Who are you styling?</div>
<div class="select-list">
<div
2025-12-01 11:30:31 +08:00
class="option flex flex-center"
2025-10-13 10:13:54 +08:00
v-for="option in options"
:key="option.value"
@click="handleSelect(option.value)"
>
{{ option.label }}
</div>
</div>
</div>
</template>
<script setup lang="ts">
2025-11-17 11:24:46 +08:00
import HeaderTitle from '@/components/HeaderTitle.vue'
import FooterNavigation from '@/components/FooterNavigation.vue'
2025-10-13 15:11:59 +08:00
import { ref } from 'vue'
import { useRouter } from 'vue-router'
2025-11-18 11:40:49 +08:00
import { showToast } from 'vant'
2025-12-18 09:50:35 +08:00
import { useUserInfoStore } from '@/stores'
const router = useRouter()
2025-10-24 17:37:15 +08:00
const userInfoStore = useUserInfoStore()
2025-10-13 15:28:53 +08:00
const options = ref<any[]>([
2025-10-28 11:33:20 +08:00
{ label: 'Female', value: 'female' },
{ label: 'Male', value: 'male' }
2025-10-13 10:13:54 +08:00
])
const handleSelect = (value: string) => {
2025-12-18 09:50:35 +08:00
if (value === 'male') {
// 男性开发中
return showToast(
`This feature is currently under development. Please select the 'Female' option for now.`
)
2025-11-18 11:40:49 +08:00
}
2025-10-24 17:37:15 +08:00
const generateParams = userInfoStore.getGenerateParams()
2025-12-18 09:50:35 +08:00
generateParams.sex = value
2025-10-24 17:37:15 +08:00
userInfoStore.setGenerateParams(generateParams)
router.push('/workshop/stylist/dressfor')
2025-10-13 10:13:54 +08:00
}
</script>
<style lang="less" scoped>
.sex-select {
2025-11-17 11:24:46 +08:00
height: calc(100vh - 12rem - 14.9rem);
2025-10-13 10:13:54 +08:00
overflow: hidden;
color: #fff;
position: relative;
background: url('@/assets/images/sex_select_bg.png') no-repeat center center;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
padding: 6rem 12.4rem 0 8.5rem;
.text {
font-family: 'robotoBold';
font-size: 13rem;
line-height: 106%;
}
.desc {
font-family: 'satoshiRegular';
font-size: 6.4rem;
line-height: 132%;
}
.select-list {
display: flex;
position: absolute;
2025-11-17 11:24:46 +08:00
bottom: 15.7rem;
2025-10-13 10:13:54 +08:00
width: calc(100% - 12.4rem - 8.5rem);
display: flex;
justify-content: space-between;
.option {
2025-12-18 09:50:35 +08:00
// frosted glass style
2025-10-13 10:13:54 +08:00
text-align: center;
font-family: 'satoshiRegular';
2025-12-09 15:12:25 +08:00
font-size: 4.8rem;
2025-10-13 10:13:54 +08:00
width: 29.7rem;
2025-12-01 11:30:31 +08:00
height: 8.3rem;
2025-12-18 09:50:35 +08:00
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
border-radius: .2rem;
background: rgba(255, 255, 255, 0.06);
border: 0.2rem solid #fff;
backdrop-filter: blur(95px);
-webkit-backdrop-filter: blur(95px);
-moz-backdrop-filter: blur(95px);
background-clip: padding-box;
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
2025-10-13 10:13:54 +08:00
}
}
}
</style>