Files
Aida_Purchaser_Front/src/views/collectionStory/detail/index.vue

155 lines
3.2 KiB
Vue
Raw Normal View History

2026-04-21 10:47:41 +08:00
<script setup lang="ts">
import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue";
import img from "@/assets/images/collectionStory/Rectangle.png";
import coreConcept from "./coreConcept.vue";
import inspiration from "./inspiration.vue";
import feelingWithAiDA from "./feelingWithAiDA.vue";
2026-05-11 16:16:59 +08:00
import joinUs from "./join-us.vue";
2026-04-21 15:57:37 +08:00
import CommodityItem from "@/components/CommodityItem.vue";
2026-04-21 10:47:41 +08:00
//const props = defineProps({
//})
2026-04-23 14:30:09 +08:00
const emit = defineEmits([
'addShopping'
])
2026-04-21 10:47:41 +08:00
let data = reactive({
})
const list = ref([
{
url: img,
title: "Windswept Burden",
price: "$100.00",
},{
url: img,
title: "Windswept Burden",
price: "$100.00",
},{
url: img,
title: "Windswept Burden",
price: "$100.00",
},
])
2026-04-21 15:57:37 +08:00
const addShopping = (item) => {
2026-04-23 14:30:09 +08:00
emit('addShopping', item)
2026-04-21 15:57:37 +08:00
}
2026-05-11 16:16:59 +08:00
const openCodeCreate = () => {
window.open('https://code-create.com.hk/', '_blank')
}
2026-04-21 10:47:41 +08:00
onMounted(()=>{
})
onUnmounted(()=>{
})
defineExpose({})
const {} = toRefs(data);
</script>
<template>
<div class="detail">
<div class="left">
<div class="personal">
2026-05-11 16:16:59 +08:00
<img src="@/assets/images/collectionStory/code-create.png" alt="">
2026-04-21 10:47:41 +08:00
<div class="name">
2026-05-11 16:16:59 +08:00
<span>Code-Create</span>
<div class="icon" @click="openCodeCreate">
2026-04-21 10:47:41 +08:00
<SvgIcon name="share" size="24" />
</div>
</div>
</div>
</div>
<div class="center">
2026-05-11 16:16:59 +08:00
<joinUs></joinUs>
<!-- <coreConcept ></coreConcept>
2026-04-21 10:47:41 +08:00
<div class="line"></div>
<inspiration ></inspiration>
<div class="line"></div>
2026-05-11 16:16:59 +08:00
<feelingWithAiDA ></feelingWithAiDA> -->
2026-04-21 10:47:41 +08:00
</div>
<div class="right">
2026-04-21 15:57:37 +08:00
<div class="item" v-for="item in list" :key="item.url">
<CommodityItem :url="item.url" :name="item.title" :price="item.price" @addShopping="addShopping(item)"></CommodityItem>
</div>
2026-04-21 10:47:41 +08:00
</div>
</div>
</template>
<style lang="less" scoped>
.detail{
width: 100%;
position: relative;
display: flex;
2026-05-11 16:16:59 +08:00
height: calc(100vh - var(--header-height) - var(--footer-height));
2026-04-21 15:57:37 +08:00
align-items: flex-start;
2026-05-12 14:13:56 +08:00
overflow: hidden;
2026-04-21 10:47:41 +08:00
> div{
2026-04-21 15:57:37 +08:00
// height: 100%;
2026-04-21 10:47:41 +08:00
}
> .left{
width: 23rem;
padding-top: 6.3rem;
padding-left: 3rem;
2026-04-21 15:57:37 +08:00
position: sticky;
top: 0;
2026-04-21 10:47:41 +08:00
> .personal{
display: flex;
flex-direction: column;
> img{
width: 10rem;
height: 10rem;
object-fit: cover;
margin-bottom: 1.1rem;
}
> .name{
display: flex;
gap: .4rem;
align-items: center;
2026-05-11 16:16:59 +08:00
> .icon{
cursor: pointer;
}
2026-04-21 10:47:41 +08:00
> span{
font-family: 'KaiseiOpti-Bold';
font-weight: 700;
font-size: 1.8rem;
line-height: 100%;
vertical-align: bottom;
}
}
}
}
> .center{
flex: 1;
border-left: 0.5px solid #585858;
border-right: 0.5px solid #585858;
2026-04-21 15:57:37 +08:00
// overflow-y: auto;
overflow: hidden;
2026-05-12 14:13:56 +08:00
height: 100%;
// height: auto;
2026-05-11 16:16:59 +08:00
position: relative;
2026-04-21 10:47:41 +08:00
.line{
border: 0.5px solid #58585899;
width: 100%;
}
&::-webkit-scrollbar{
display: none;
}
}
> .right{
width: 25.4rem;
padding-top: 6rem;
2026-05-11 16:16:59 +08:00
// position: sticky;
2026-04-21 15:57:37 +08:00
top: 0;
2026-05-11 16:16:59 +08:00
// height: calc(100vh - var(--header-height));
2026-04-21 15:57:37 +08:00
display: flex;
flex-direction: column;
align-items: center;
gap: 4rem;
overflow-y: auto;
2026-05-12 14:13:56 +08:00
height: 100%;
2026-04-21 15:57:37 +08:00
&::-webkit-scrollbar{
display: none;
}
> .item{
margin-bottom: 2.3rem;
width: 20rem;
}
2026-04-21 10:47:41 +08:00
}
}
</style>