feat: Update features and pricing details in the application
- Refactored feature descriptions and added new features for document generation and appointment management. - Updated the pricing structure, including adjustments to pack prices and additional options for training. - Introduced a new blog section with initial blog posts. - Enhanced the technical documentation page with an embedded iframe for better accessibility. - Improved CSS styles for better responsiveness and visual consistency across the application. - Updated Hugo configuration to reflect new menu items and page structures.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
{{ define "main" }}
|
||||
<div class="container mx-auto px-4 py-8 mb-12 flex-1">
|
||||
<div class="mx-auto px-4 py-8 mb-12 flex-1">
|
||||
<h1 class="text-4xl font-bold text-center mb-5">{{ .Title }}</h1>
|
||||
{{ with .Params.description }}
|
||||
<p class="text-center font-light text-gray-500 sm:text-xl mb-5">{{ . }}</p>
|
||||
<p class="text-center text-gray-500 sm:text-xl mb-5">{{ . | markdownify }}</p>
|
||||
{{ end }}
|
||||
|
||||
<div class="!max-w-none">
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
{{ $buttonLink := .buttonLink | default "#" }}
|
||||
{{ $imagePosition := .imagePosition | default "right" }}
|
||||
|
||||
{{ $features := split (.features) "," }}
|
||||
{{ $features := split (.features) "|" }}
|
||||
|
||||
<div class="grid lg:grid-cols-3 gap-12 items-center badge-{{ $badgeColor }}">
|
||||
{{ if eq $imagePosition "left" }}
|
||||
@@ -38,12 +38,14 @@
|
||||
<p class="text-lg text-gray-600">{{ $description }}</p>
|
||||
<ul class="space-y-4">
|
||||
{{ range $features }}
|
||||
<li class="flex items-start space-x-3">
|
||||
<svg class="badge-icon w-5 h-5 flex-shrink-0 mt-1" fill="currentColor" viewBox="0 0 20 20" style="min-width:1.25rem; min-height:1.25rem;">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
<span>{{ . | default "" }}</span>
|
||||
</li>
|
||||
{{ if ne (. | default "") "" }}
|
||||
<li class="flex items-start space-x-3">
|
||||
<svg class="badge-icon w-5 h-5 flex-shrink-0 mt-1" fill="currentColor" viewBox="0 0 20 20" style="min-width:1.25rem; min-height:1.25rem;">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
<span>{{ . | default "" }}</span>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
<a href="{{ $buttonLink }}" class="btn-primary inline-block">{{ $buttonText }}</a>
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
|
||||
|
||||
|
||||
<form id="contactForm" class="max-w-lg mx-auto p-6 bg-white rounded shadow text-center" method="POST" action="{{ $form.action | default "http://localhost:3001/contact" }}">
|
||||
<form id="contactForm" class="max-w-lg mx-auto p-6 bg-white rounded shadow" method="POST" action="{{ $form.action | default "http://localhost:3001/contact" }}">
|
||||
<h3 class="text-2xl font-bold mb-4">{{ $form.title }}</h3>
|
||||
{{ range $form.fields }}
|
||||
<div class="mb-4">
|
||||
{{ if eq .type "textarea" }}
|
||||
<label for="{{ .name }}">{{ .label }}</label>
|
||||
<textarea id="{{ .name }}" name="{{ .name }}" rows="5" {{ if .required }}required{{ end }} class="w-full px-3 py-2 border rounded focus:outline-none focus:ring focus:border-blue-300"></textarea>
|
||||
{{ else if eq .type "select" }}
|
||||
<select id="{{ .name }}" name="{{ .name }}" {{ if .required }}required{{ end }} class="w-full px-3 py-2 border rounded focus:outline-none focus:ring focus:border-blue-300">
|
||||
@@ -15,7 +16,7 @@
|
||||
{{ end }}
|
||||
</select>
|
||||
{{ else }}
|
||||
<input type="{{ .type }}" id="{{ .name }}" name="{{ .name }}" {{ if .required }}required{{ end }} class="w-full px-3 py-2 border rounded focus:outline-none focus:ring focus:border-blue-300" />
|
||||
<input type="{{ .type }}" placeholder="{{.label}}" id="{{ .name }}" name="{{ .name }}" {{ if .required }}required{{ end }} class="w-full px-3 py-2 border rounded focus:outline-none focus:ring focus:border-blue-300" />
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
@@ -27,20 +27,20 @@
|
||||
color: var(--badge-color);
|
||||
}
|
||||
</style>
|
||||
<div class="badge inline-block px-4 py-2 rounded-full font-medium">{{ $badge }}</div>
|
||||
<h3 class="text-2xl md:text-3xl font-bold">{{ $title }}</h3>
|
||||
<p class="text-lg text-gray-600">{{ $description }}</p>
|
||||
<div class="badge inline-block px-4 py-2 rounded-full font-medium">{{ $badge | markdownify }}</div>
|
||||
<h3 class="text-2xl md:text-3xl font-bold">{{ $title | markdownify }}</h3>
|
||||
<p class="text-lg text-gray-600">{{ $description | markdownify }}</p>
|
||||
<ul class="space-y-4">
|
||||
{{ range $features }}
|
||||
<li class="flex items-start space-x-3">
|
||||
<svg class="badge-icon w-5 h-5 flex-shrink-0 mt-1" fill="currentColor" viewBox="0 0 20 20" style="min-width:1.25rem; min-height:1.25rem;">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
<span>{{ . | default "" }}</span>
|
||||
<span>{{ . | default "" | markdownify }}</span>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
<a href="{{ $buttonLink }}" class="btn-primary inline-block">{{ $buttonText }}</a>
|
||||
<a href="{{ $buttonLink }}" class="btn-primary inline-block">{{ $buttonText | markdownify }}</a>
|
||||
</div>
|
||||
|
||||
{{ if ne $imagePosition "left" }}
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<h1 class="text-3xl font-bold mb-4 text-center">{{ $title | markdownify }}</h1>
|
||||
{{ end }}
|
||||
<div class="features-carousel__nav"></div>
|
||||
<div class="features-carousel__slides">
|
||||
<div class="features-carousel__slides">
|
||||
{{ range $i, $f := $data.features }}
|
||||
<div class="feature" data-title-btn="{{ $f.titleBtn }}">
|
||||
{{ partial "shortcodes/feature.html" (dict
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
{{ $parts := split . "|" }}
|
||||
{{ if ge (len $parts) 2 }}
|
||||
<div class="flex gap-6">
|
||||
<div class="w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0" style="background-color: {{ $color }}15;">
|
||||
<div class="w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0" class="rounded-xl">
|
||||
{{ partial "icons" (dict "name" "check" "color" $color "size" "6") }}
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{{ $data := .Inner | unmarshal }}
|
||||
<section class="bg-white">
|
||||
<div class="py-8 px-4 mx-auto max-w-screen-xl lg:py-16 lg:px-6">
|
||||
<div class="py-8 mx-auto max-w-screen-2xl lg:py-16 ">
|
||||
{{ with $data.title }}
|
||||
<div class="mx-auto max-w-screen-md text-center mb-8 lg:mb-12">
|
||||
<h2 class="mb-4 text-4xl tracking-tight font-extrabold text-gray-900">{{ . }}</h2>
|
||||
@@ -10,55 +10,55 @@
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
<div class="grid grid-cols-1 lg:grid-cols-4 gap-8">
|
||||
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-5 gap-8">
|
||||
{{ range $index, $plan := $data.plans }}
|
||||
<div class="relative flex flex-col p-6 {{ if $plan.featured }}bg-primary-400 text-white{{ else }}bg-white{{ end }} rounded-2xl shadow-xl transform hover:-translate-y-1 transition duration-300">
|
||||
{{ if $plan.featured }}
|
||||
<div class="absolute -top-4 left-1/2 transform -translate-x-1/2">
|
||||
<span class="bg-yellow-400 text-gray-900 text-xs font-semibold px-4 py-1 rounded-full">{{ i18n "mostPopular" }}</span>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if $plan.selfhosted }}
|
||||
<div class="absolute -top-4 left-1/2 transform -translate-x-1/2">
|
||||
<span class="bg-green-400 text-gray-900 text-xs font-semibold px-4 py-1 rounded-full">{{ i18n "selfHosted" }}</span>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
|
||||
<div class="mb-4">
|
||||
<h3 class="text-2xl font-bold {{ if $plan.featured }}text-white{{ else }}text-gray-900{{ end }}">{{ $plan.name }}</h3>
|
||||
<p class="mt-2 {{ if not $plan.featured }}text-gray-500{{ end }}">{{ $plan.description }}</p>
|
||||
{{ if $plan.featured }}
|
||||
<div class="absolute -top-4 left-1/2 transform -translate-x-1/2">
|
||||
<span class="bg-yellow-400 text-gray-900 text-xs font-semibold px-2 py-1 rounded-full">{{ i18n "mostPopular" }}</span>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if $plan.selfhosted }}
|
||||
<div class="absolute -top-4 left-1/2 transform -translate-x-1/2">
|
||||
<span class="bg-green-400 text-gray-900 text-xs font-semibold px-4 py-1 rounded-full">{{ i18n "selfHosted" }}</span>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
|
||||
<div class="mb-4" style="min-height:112px;">
|
||||
<h3 class="text-2xl font-bold {{ if $plan.featured }}text-white{{ else }}text-gray-900{{ end }}">{{ $plan.name }}</h3>
|
||||
<p class="mt-2 {{ if not $plan.featured }}text-gray-500{{ end }}">{{ $plan.description }}</p>
|
||||
</div>
|
||||
|
||||
{{ if $plan.price }}
|
||||
<div class="mb-6">
|
||||
<div class="flex items-baseline">
|
||||
<span class="text-2xl font-extrabold tracking-tight {{ if not $plan.featured }}text-gray-900{{ end }}">{{ $plan.price }}</span>
|
||||
<span class="ml-1 {{ if not $plan.featured }}text-gray-500{{ end }}">{{ i18n $plan.price_unit }}</span>
|
||||
</div>
|
||||
|
||||
{{ if $plan.price }}
|
||||
<div class="mb-6">
|
||||
<div class="flex items-baseline">
|
||||
<span class="text-5xl font-extrabold tracking-tight {{ if not $plan.featured }}text-gray-900{{ end }}">{{ $plan.price }}</span>
|
||||
<span class="ml-1 {{ if not $plan.featured }}text-gray-500{{ end }}">{{ i18n $plan.price_unit }}</span>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline">
|
||||
<span class="font-extrabold tracking-tight {{ if not $plan.featured }}text-gray-900{{ end }}">{{ $plan.additional_price }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline">
|
||||
<span class="font-extrabold tracking-tight {{ if not $plan.featured }}text-gray-900{{ end }}">{{ $plan.additional_price }}</span>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
<ul class="mb-8 space-y-4 flex-grow">
|
||||
{{ range $plan.features }}
|
||||
<li class="flex items-center">
|
||||
<svg class="w-5 h-5 {{ if $plan.featured }}text-white{{ else }}text-green-500{{ end }} mr-2" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
<span class="{{ if not $plan.featured }}text-gray-600{{ end }}">{{ . }}</span>
|
||||
</li>
|
||||
{{ end }}
|
||||
|
||||
<ul class="mb-8 space-y-4 flex-grow">
|
||||
{{ range $plan.features }}
|
||||
<li class="flex items-center">
|
||||
<svg class="w-5 h-5 {{ if $plan.featured }}text-white{{ else }}text-green-500{{ end }} mr-2" fill="currentColor" viewBox="0 0 20 20">
|
||||
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
<span class="{{ if not $plan.featured }}text-gray-600{{ end }}">{{ . }}</span>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ with .additional_description }}
|
||||
<div class="text-sm text-gray-500">{{ . }}</div>
|
||||
{{ end }}
|
||||
<a href="{{ $plan.button.url }}" class="mt-4 text-center w-full px-5 py-3 rounded-lg {{ if $plan.featured }}bg-white text-primary-600 hover:bg-gray-100{{ else }}bg-primary-400 text-white hover:bg-primary-700{{ end }} font-medium transition duration-300">
|
||||
{{ $plan.button.text }}
|
||||
</a>
|
||||
</ul>
|
||||
{{ with .additional_description }}
|
||||
<div class="text-sm {{ if $plan.featured }}text-white{{ else }}text-gray-500{{ end }}">{{ . }}</div>
|
||||
{{ end }}
|
||||
<a href="{{ $plan.button.url }}" class="mt-4 text-center w-full px-5 py-3 rounded-lg {{ if $plan.featured }}bg-white text-primary-600 hover:bg-gray-100{{ else }}bg-primary-400 text-white hover:bg-primary-700{{ end }} font-medium transition duration-300">
|
||||
{{ $plan.button.text }}
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user