DifferentItem
apps/www/src/components/DifferentItem.astro · 48 lines · group Features & lists
Used by
- skattedosan.se /en/models/buffering-unit/ × 4
- skattedosan.se /models/buffering-unit/ × 4history: commit 1396f74 (2026-08-18)
Live sites: skattedosan.se.
Samples 2
<DifferentSection>Control Unit VS Buffering Unit

Control Unit
Fiscal data is stored ONLY on the Control Unit, and THE TAX AGENCY NEEDS TO VISIT YOUR POINT OF SALE to download fiscal data
The solution WILL BECOME OBSOLETE soon

Buffering Unit
Fiscal data is being sent to the server in REAL TIME
There is NO more NEED for the Tax Agency TO VISIT YOUR POINT OF SALE: they just collect data from the Control Server
All fiscal data is replicated and kept on BOTH SIDES: Buffering Unit and Control Server
If the internet connection is lost, the Buffering Unit CONTINUES SIGNING AND KEEPING fiscal data, and waits until the internet connection is restored, then sends data to the Control Server
MDX of this sample
<DifferentSection
title="Control Unit VS Buffering Unit"
>
<DifferentItem
title="Control Unit"
description={[
'Fiscal data is stored ONLY on the Control Unit, and THE TAX AGENCY NEEDS TO VISIT YOUR POINT OF SALE to download fiscal data',
'The solution WILL BECOME OBSOLETE soon',
]}
imageName="cu_schema.png"
/>
<DifferentItem
title="Buffering Unit"
description={[
'Fiscal data is being sent to the server in REAL TIME',
'There is NO more NEED for the Tax Agency TO VISIT YOUR POINT OF SALE: they just collect data from the Control Server',
'All fiscal data is replicated and kept on BOTH SIDES: Buffering Unit and Control Server',
'If the internet connection is lost, the Buffering Unit CONTINUES SIGNING AND KEEPING fiscal data, and waits until the internet connection is restored, then sends data to the Control Server',
]}
imageName="bu_schema.png"
/>
</DifferentSection><DifferentSection>Control Unit VS Buffering Unit

Control Unit
Fiscal data is stored ONLY on the Control Unit, and THE TAX AGENCY NEEDS TO VISIT YOUR POINT OF SALE to download fiscal data
The solution WILL BECOME OBSOLETE soon

Buffering Unit
Fiscal data is being sent to the server in REAL TIME
There is NO more NEED for the Tax Agency TO VISIT YOUR POINT OF SALE: they just collect data from the Control Server
All fiscal data is replicated and kept on BOTH SIDES: Buffering Unit and Control Server
If the internet connection is lost, the Buffering Unit CONTINUES SIGNING AND KEEPING fiscal data, and waits until the internet connection is restored, then sends data to the Control Server
MDX of this sample
<DifferentSection
title="Control Unit VS Buffering Unit"
>
<DifferentItem
title="Control Unit"
description={[
'Fiscal data is stored ONLY on the Control Unit, and THE TAX AGENCY NEEDS TO VISIT YOUR POINT OF SALE to download fiscal data',
'The solution WILL BECOME OBSOLETE soon',
]}
imageName="cu_schema.png"
/>
<DifferentItem
title="Buffering Unit"
description={[
'Fiscal data is being sent to the server in REAL TIME',
'There is NO more NEED for the Tax Agency TO VISIT YOUR POINT OF SALE: they just collect data from the Control Server',
'All fiscal data is replicated and kept on BOTH SIDES: Buffering Unit and Control Server',
'If the internet connection is lost, the Buffering Unit CONTINUES SIGNING AND KEEPING fiscal data, and waits until the internet connection is restored, then sends data to the Control Server',
]}
imageName="bu_schema.png"
/>
</DifferentSection>Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| title | string | yes | ||
| description | string[] | yes | ||
| imageName | string | yes |
Source apps/www/src/components/DifferentItem.astro @ gitt.one
---
import { Image } from 'astro:assets';
import { resolveImage } from '../lib/images';
interface Props {
title: string;
description: string[];
imageName: string;
}
const { title, description, imageName } = Astro.props;
const image = await resolveImage(imageName);
---
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
<div class="flex-shrink-0">
<Image
src={image}
alt={title}
widths={[400, 840]}
class="h-48 w-full object-contain max-w-full"
/>
</div>
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
<div class="flex-1">
<div class="block mt-2">
<p class="text-xl font-semibold text-gray-900">{title}</p>
{
description.length > 0 && (
<div class="mt-3 text-base text-gray-500">
{description.map((paragraph) => (
<p class="text-gray-500 my-4">
{paragraph.split('*').map((chunk, index) => (
<span class:list={[index % 2 === 1 && 'text-primary-600']}>
{chunk}
</span>
))}
</p>
))}
</div>
)
}
</div>
</div>
</div>
</div>Source links point to engine-astro@e857a859. Samples are cut from the sites' own content by scripts/gallery-extract.mjs; nothing is merged or removed yet.