parent
ab2740c08a
commit
a9761a8232
3 changed files with 82 additions and 24 deletions
|
|
@ -27,7 +27,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: var(--space-16);
|
gap: var(--space-16);
|
||||||
}
|
}
|
||||||
.dialog [data-pc-section="header"] h2 {
|
.dialog:not(#physical-sample) [data-pc-section="header"] h2 {
|
||||||
font-family: var(--font-serif);
|
font-family: var(--font-serif);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 15rem;
|
left: 15rem;
|
||||||
|
|
@ -40,10 +40,6 @@
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
.dialog#virtual-sample [data-pc-section="header"] h2 {
|
|
||||||
left: 22.5rem;
|
|
||||||
right: 22.5rem;
|
|
||||||
}
|
|
||||||
.dialog [data-pc-name="pcclosebutton"] {
|
.dialog [data-pc-name="pcclosebutton"] {
|
||||||
color: var(--color-white);
|
color: var(--color-white);
|
||||||
}
|
}
|
||||||
|
|
@ -85,11 +81,6 @@
|
||||||
gap: var(--space-8);
|
gap: var(--space-8);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Comments */
|
|
||||||
.static#virtual-sample #comments-container {
|
|
||||||
top: 8rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Footer */
|
/* Footer */
|
||||||
.dialog [data-pc-section="footer"] {
|
.dialog [data-pc-section="footer"] {
|
||||||
height: var(--dialog-footer-h);
|
height: var(--dialog-footer-h);
|
||||||
|
|
@ -99,6 +90,50 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: var(--space-16);
|
gap: var(--space-16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Virtual Sample */
|
||||||
|
.dialog#virtual-sample [data-pc-section="header"] h2 {
|
||||||
|
left: 22.5rem;
|
||||||
|
right: 22.5rem;
|
||||||
|
}
|
||||||
|
.dialog.static#virtual-sample #comments-container {
|
||||||
|
top: 8rem;
|
||||||
|
}
|
||||||
.dialog.static#virtual-sample [data-pc-section="footer"] {
|
.dialog.static#virtual-sample [data-pc-section="footer"] {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Physical Sample */
|
||||||
|
.dialog#physical-sample {
|
||||||
|
--dialog-header-h: 15rem;
|
||||||
|
--dialog-background: var(--color-grey-50);
|
||||||
|
padding: var(--space-32);
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
.dialog#physical-sample [data-pc-section="header"] {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0;
|
||||||
|
padding: var(--space-32);
|
||||||
|
color: var(--color-white);
|
||||||
|
background: linear-gradient(90deg, hsla(0, 0%, 10%, .5) 0%, hsla(0, 0%, 10%, .9) 50%, hsla(0, 0%, 10%, .9) 100%), var(--cover), var(--color-black);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
border-radius: var(--rounded-xl);
|
||||||
|
}
|
||||||
|
.dialog#physical-sample [data-pc-name="pcclosebutton"] {
|
||||||
|
top: var(--space-40);
|
||||||
|
right: var(--space-40);
|
||||||
|
}
|
||||||
|
.dialog#physical-sample [data-pc-name="content"] {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
@media (min-width: 90rem) {
|
||||||
|
.dialog#physical-sample .masonry {
|
||||||
|
column-count: 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,10 +7,18 @@
|
||||||
dismissableMask="true"
|
dismissableMask="true"
|
||||||
class="dialog"
|
class="dialog"
|
||||||
:closeOnEscape="true"
|
:closeOnEscape="true"
|
||||||
|
:style="'--cover: url('+physicalSample.cover+')'"
|
||||||
>
|
>
|
||||||
<header>
|
<template #header>
|
||||||
<h2>Titre de la modal</h2>
|
<h2 class="text-lg font-serif">{{ physicalSample.title }}</h2>
|
||||||
</header>
|
<time class="font-medium text-sm py-8" :datetime="physicalSample.date">{{ physicalSample.date }}</time>
|
||||||
|
<p>{{ physicalSample.description }}</p>
|
||||||
|
</template>
|
||||||
|
<div class="masonry flow mt-32">
|
||||||
|
<template v-for="(item, index) in physicalSample.files" :key="item.id">
|
||||||
|
<img class="rounded-xl" :src="item.url" :alt="item.alt" :data-id="item.id" />
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -29,7 +37,5 @@ watch(isOpen, (newValue) => {
|
||||||
router.push({ name: route.name });
|
router.push({ name: route.name });
|
||||||
});
|
});
|
||||||
const { page } = usePageStore();
|
const { page } = usePageStore();
|
||||||
const step = page.steps[page.steps.length - 1];
|
const physicalSample = page.steps[page.steps.length - 1];
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style></style>
|
|
||||||
|
|
|
||||||
|
|
@ -155,14 +155,16 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-if="step.id === 'physicalSample'">
|
<template v-if="step.id === 'physicalSample'">
|
||||||
<header>
|
<div class="card | physical-sample">
|
||||||
<h3>
|
<header class="text-center rounded-lg py-32" :style="'--cover: url('+step.cover+')'">
|
||||||
<router-link :to="'/' + step.uri">{{ step.title }}</router-link>
|
<h3 class="text-lg font-serif">
|
||||||
|
<router-link :to="'/' + step.uri" class="link-full">{{ step.title }}</router-link>
|
||||||
</h3>
|
</h3>
|
||||||
<time :datetime="step.date">{{ step.date }}</time>
|
<time class="font-medium text-sm py-8" :datetime="step.date">{{ step.date }}</time>
|
||||||
<p>{{ step.description }}</p>
|
<p>{{ step.description }}</p>
|
||||||
</header>
|
</header>
|
||||||
<img :src="step.files[0].url" alt="" loading="lazy">
|
<img :src="step.files[0].url" alt="" loading="lazy">
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else></template>
|
<template v-else></template>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -200,3 +202,18 @@ const mergedFiles = computed(() => {
|
||||||
return [...staticFiles, ...dynamicFiles];
|
return [...staticFiles, ...dynamicFiles];
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.physical-sample header {
|
||||||
|
color: var(--color-white);
|
||||||
|
background: linear-gradient(90deg, hsla(0, 0%, 10%, .5) 0%, hsla(0, 0%, 10%, .9) 50%, hsla(0, 0%, 10%, .9) 100%), var(--cover), var(--color-black);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
.physical-sample header > * {
|
||||||
|
padding-inline: var(--space-16);
|
||||||
|
}
|
||||||
|
.physical-sample header h3 {
|
||||||
|
position: initial;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue