feat: integrate Tailwind CSS and remove legacy styles

This commit is contained in:
2025-04-19 20:49:35 +02:00
parent 700066b2b2
commit 6c9d8966b0
17 changed files with 1618 additions and 563 deletions

View File

@@ -1,23 +1,21 @@
<f:layout name="Default" />
<f:section name="Header"></f:section>
<f:section name="Main">
<f:asset.css identifier="CBTextImage" href="{cb:assetPath()}/frontend.css" />
<f:variable name="imageSizeClass" value="md:w-1/2" />
<f:variable name="textSizeClass" value="md:w-1/2" />
<f:variable name="gapClass" value="gap-8" />
<!-- Determine size class based on imagesize field -->
<f:variable name="sizeClass" value="" />
<f:if condition="{data.imagesize} == 1">
<f:then><f:variable name="sizeClass" value="size-25" /></f:then>
</f:if>
<f:if condition="{data.imagesize} == 2">
<f:then><f:variable name="sizeClass" value="size-50" /></f:then>
<f:if condition="{data.imagesize} == 1"> <!-- Size 25% -> map to 40% for layout -->
<f:variable name="imageSizeClass" value="md:w-2/5" />
<f:variable name="textSizeClass" value="md:w-3/5" />
<f:variable name="gapClass" value="gap-8 md:gap-16 lg:gap-32" />
</f:if>
<div class="textimage-container image-pos-{data.imageorient} {sizeClass} fade-in-on-scroll">
<div class="textimage-image-wrapper {sizeClass}">
<div class="flex flex-col {gapClass} fade-in-on-scroll {f:if(condition: '{data.imageorient} == 26', then: 'md:flex-row-reverse', else: 'md:flex-row')}">
<div class="flex items-center justify-center {imageSizeClass}">
<f:if condition="{data.image}">
<f:then>
<figure class="textimage-picture">
<figure class="block w-full">
<!-- WEBP source -->
<source
type="image/webp"
@@ -25,27 +23,23 @@
{f:uri.image(image:data.image.0, width:'320c', cropVariant:'default', fileExtension:'webp')} 320w,
{f:uri.image(image:data.image.0, width:'768c', cropVariant:'default', fileExtension:'webp')} 768w,
{f:uri.image(image:data.image.0, width:'1024c', cropVariant:'default', fileExtension:'webp')} 1024w"
sizes="(max-width: 320px) 90vw,
(max-width: 768px) 600px,
600px" />
sizes="(max-width: 767px) 90vw,
{f:if(condition: '{data.imagesize} == 1', then: '(min-width: 768px) 40vw', else: '(min-width: 768px) 50vw')}" />
<!-- Fallback source -->
<source
srcset="
{f:uri.image(image:data.image.0, width:'320c', cropVariant:'default')} 320w,
{f:uri.image(image:data.image.0, width:'400c', cropVariant:'default')} 768w,
{f:uri.image(image:data.image.0, width:'538c', cropVariant:'default')} 1024w"
sizes="(max-width: 320px) 90vw,
(max-width: 768px) 600px,
600px" />
sizes="(max-width: 767px) 90vw,
{f:if(condition: '{data.imagesize} == 1', then: '(min-width: 768px) 40vw', else: '(min-width: 768px) 50vw')}" />
<f:image
image="{data.image.0}"
treatIdAsReference="1"
cropVariant="default"
width="538c"
alt="{data.image.0.alternative}"
class="textimage-image"
class="max-w-full h-auto rounded-lg block"
/>
</figure>
</f:then>
@@ -54,13 +48,13 @@
</f:else>
</f:if>
</div>
<div class="textimage-wrapper {sizeClass}">
<div class="{textSizeClass}">
<f:if condition="{data.header}">
<h2 class="textimage-header">{data.header}</h2>
<h3 class="textimage-subheader">{data.subheader}</h3>
<h2 class="font-hajime text-primary font-normal leading-none text-3xl md:text-5xl mb-2">{data.header}</h2>
<h3 class="text-xl md:text-2xl font-semibold mb-4">{data.subheader}</h3>
</f:if>
<f:if condition="{data.bodytext}">
<div class="textimage-text">
<div class="prose lg:prose-lg">
<f:format.html>{data.bodytext}</f:format.html>
</div>
</f:if>