moved pricing pages files

# Conflicts:
#	qdrant-landing/themes/qdrant-2024/layouts/partials/testimonial-light.html
This commit is contained in:
trean
2026-03-11 23:33:42 +01:00
parent 12d9fe2c3c
commit 6c4f2bb72c
119 changed files with 1758 additions and 1136 deletions
@@ -0,0 +1,87 @@
{{ with (.Site.GetPage "/pricing/qdrant-pricing-calculator") }}
<section class="qdrant-pricing-calculator">
<div class="qdrant-pricing-calculator__background">
<div class="qdrant-pricing-calculator__grid"></div>
</div>
<div class="container">
<div class="qdrant-pricing-calculator__container">
<div class="qdrant-pricing-calculator__icon">
<svg width="76" height="64" viewBox="0 0 76 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(14, 2) rotate(-15) skewX(15) scale(1, 0.97)">
<rect width="48" height="60" rx="6" fill="url(#calc-base-grad)" />
<rect
x="2"
y="2"
width="44"
height="56"
rx="4"
fill="url(#calc-inner-grad)"
stroke="white"
stroke-width="0.5"
/>
<rect x="6" y="6" width="32" height="12" rx="2" fill="url(#calc-display-grad)" />
<rect x="6" y="22" width="6" height="5" rx="1" fill="url(#calc-btn-active)" />
<rect x="15" y="22" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="24" y="22" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="33" y="22" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="6" y="29" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="15" y="29" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="24" y="29" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="33" y="29" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="6" y="36" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="15" y="36" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="24" y="36" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="6" y="43" width="14" height="5" rx="1" fill="url(#calc-btn-active2)" />
<rect x="24" y="43" width="6" height="5" rx="1" fill="#D4D9E6" />
<rect x="33" y="36" width="6" height="12" rx="1" fill="url(#calc-btn-active3)" />
</g>
<defs>
<linearGradient id="calc-base-grad" x1="24" y1="0" x2="24" y2="60" gradientUnits="userSpaceOnUse">
<stop stop-color="#F0F3FA" />
<stop offset="1" stop-color="#D5DAE8" />
</linearGradient>
<linearGradient id="calc-inner-grad" x1="2" y1="2" x2="46" y2="58" gradientUnits="userSpaceOnUse">
<stop stop-color="#E1E5F0" />
<stop offset="1" stop-color="#FFFFFF" />
</linearGradient>
<linearGradient id="calc-display-grad" x1="6" y1="6" x2="38" y2="18" gradientUnits="userSpaceOnUse">
<stop stop-color="#B99AFF" />
<stop offset="1" stop-color="#FF8792" />
</linearGradient>
<linearGradient id="calc-btn-active" x1="6" y1="22" x2="12" y2="27" gradientUnits="userSpaceOnUse">
<stop stop-color="#B99AFF" />
<stop offset="1" stop-color="#FF8792" />
</linearGradient>
<linearGradient id="calc-btn-active2" x1="6" y1="43" x2="20" y2="48" gradientUnits="userSpaceOnUse">
<stop stop-color="#B99AFF" />
<stop offset="1" stop-color="#FF8792" />
</linearGradient>
<linearGradient id="calc-btn-active3" x1="33" y1="36" x2="39" y2="48" gradientUnits="userSpaceOnUse">
<stop stop-color="#B99AFF" />
<stop offset="1" stop-color="#FF8792" />
</linearGradient>
</defs>
</svg>
</div>
<div class="qdrant-pricing-calculator__content">
<p class="qdrant-pricing-calculator__title">{{ .Params.title }}</p>
<p class="qdrant-pricing-calculator__link-wrapper">
<span class="qdrant-pricing-calculator__link-prefix">{{ .Params.linkPrefix }}</span>
<a class="qdrant-pricing-calculator__link" href="{{ .Params.link.url }}">
{{ .Params.link.text }}
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M3.33337 8H12.6667M12.6667 8L8.00004 3.33334M12.6667 8L8.00004 12.6667"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
</p>
</div>
</div>
</div>
</section>
{{ end }}
@@ -0,0 +1,324 @@
{{ $context := . }}
<section class="qdrant-pricing-comparison-hero">
<div class="qdrant-pricing-comparison-hero__background">
<div class="qdrant-pricing-comparison-hero__grid"></div>
</div>
<div class="container">
<div class="qdrant-pricing-comparison-hero__content">
{{ with .Params.badge }}
<div class="qdrant-pricing-comparison-hero__badge">
<svg width="22" height="14" viewBox="0 0 22 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M15.4 8.4C15.4 8.4 14.8 8.6 14.2 8.6C13.6 8.6 13 8.4 13 8.4V10.2C13 10.2 13.6 10.4 14.2 10.4C14.8 10.4 15.4 10.2 15.4 10.2V8.4Z"
fill="#326CE5"
/>
<path
d="M11 1C5.477 1 1 5.477 1 11C1 11.34 1.02 11.675 1.058 12.005C1.27 13.135 2.49 14 4 14H18C19.51 14 20.73 13.135 20.942 12.005C20.98 11.675 21 11.34 21 11C21 5.477 16.523 1 11 1Z"
stroke="#326CE5"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path
d="M11 4V7L8.5 9.5"
stroke="#326CE5"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
<span>{{ .text }}</span>
<a href="{{ .url }}" class="qdrant-pricing-comparison-hero__badge-link">
{{ .linkText }}
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M3.33337 8H12.6667M12.6667 8L8.00004 3.33334M12.6667 8L8.00004 12.6667"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
</div>
{{ end }}
<h1 class="qdrant-pricing-comparison-hero__title">{{ .Params.title }}</h1>
<p class="qdrant-pricing-comparison-hero__description">{{ .Params.description }}</p>
<div class="qdrant-pricing-comparison-hero__actions">
{{ with .Params.button }}
<a href="{{ .url }}" class="button button_contained button_md">{{ .text }}</a>
{{ end }}
{{ with .Params.link }}
<a href="{{ .url }}" class="qdrant-pricing-comparison-hero__link">
{{ .text }}
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M3.33337 8H12.6667M12.6667 8L8.00004 3.33334M12.6667 8L8.00004 12.6667"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
{{ end }}
</div>
</div>
</div>
</section>
<section class="qdrant-pricing-comparison">
<div class="container">
<div class="qdrant-pricing-comparison__tier-tabs">
{{ range $index, $tier := .Params.tiers }}
<button
class="qdrant-pricing-comparison__tier-tab{{ if eq $index 0 }}
qdrant-pricing-comparison__tier-tab--active
{{ end }}"
data-tier="{{ $tier.name | urlize }}"
>
{{ $tier.name }}
</button>
{{ end }}
</div>
<div class="qdrant-pricing-comparison__table">
<div class="qdrant-pricing-comparison__table-header">
<div class="qdrant-pricing-comparison__table-cell qdrant-pricing-comparison__table-cell--feature"></div>
{{ range .Params.tiers }}
<div
class="qdrant-pricing-comparison__table-cell qdrant-pricing-comparison__table-cell--tier{{ if .highlight }}
qdrant-pricing-comparison__table-cell--highlight
{{ end }}"
data-tier-col="{{ .name | urlize }}"
>
{{ .name }}
</div>
{{ end }}
</div>
<div class="qdrant-pricing-comparison__table-body">
{{ range .Params.sections }}
<div class="qdrant-pricing-comparison__table-section">
<div class="qdrant-pricing-comparison__table-section-header">
<span class="qdrant-pricing-comparison__table-section-title">{{ .name }}</span>
<svg
class="qdrant-pricing-comparison__chevron"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 12.5L10 7.5L15 12.5"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</div>
<div class="qdrant-pricing-comparison__table-section-rows">
{{ range .features }}
<div class="qdrant-pricing-comparison__table-row">
<div class="qdrant-pricing-comparison__table-cell qdrant-pricing-comparison__table-cell--feature">
{{ .name }}
</div>
<div class="qdrant-pricing-comparison__table-cell" data-tier-col="oss">
{{ if eq .oss true }}
<svg
class="qdrant-pricing-comparison__check"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.6667 5L7.50001 14.1667L3.33334 10"
stroke="#2F6FF0"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else if eq .oss false }}
<svg
class="qdrant-pricing-comparison__x"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 5L5 15M5 5L15 15"
stroke="#717C99"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else }}
<span class="qdrant-pricing-comparison__text">{{ .oss }}</span>
{{ end }}
</div>
<div class="qdrant-pricing-comparison__table-cell" data-tier-col="free-tier">
{{ if eq .free true }}
<svg
class="qdrant-pricing-comparison__check"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.6667 5L7.50001 14.1667L3.33334 10"
stroke="#2F6FF0"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else if eq .free false }}
<svg
class="qdrant-pricing-comparison__x"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 5L5 15M5 5L15 15"
stroke="#717C99"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else }}
<span class="qdrant-pricing-comparison__text">{{ .free }}</span>
{{ end }}
</div>
<div
class="qdrant-pricing-comparison__table-cell qdrant-pricing-comparison__table-cell--highlight"
data-tier-col="paid-tier"
>
{{ if eq .paid true }}
<svg
class="qdrant-pricing-comparison__check"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.6667 5L7.50001 14.1667L3.33334 10"
stroke="#2F6FF0"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else if eq .paid false }}
<svg
class="qdrant-pricing-comparison__x"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 5L5 15M5 5L15 15"
stroke="#717C99"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else }}
<span class="qdrant-pricing-comparison__text qdrant-pricing-comparison__text--bold"
>{{ .paid }}</span
>
{{ end }}
</div>
<div class="qdrant-pricing-comparison__table-cell" data-tier-col="premium-tier">
{{ if eq .premium true }}
<svg
class="qdrant-pricing-comparison__check"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.6667 5L7.50001 14.1667L3.33334 10"
stroke="#2F6FF0"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else if eq .premium false }}
<svg
class="qdrant-pricing-comparison__x"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 5L5 15M5 5L15 15"
stroke="#717C99"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else }}
<span class="qdrant-pricing-comparison__text qdrant-pricing-comparison__text--bold"
>{{ .premium }}</span
>
{{ end }}
</div>
</div>
{{ end }}
</div>
</div>
{{ end }}
</div>
<div class="qdrant-pricing-comparison__table-footer">
<div class="qdrant-pricing-comparison__table-cell qdrant-pricing-comparison__table-cell--feature"></div>
{{ range $index, $cta := .Params.ctas }}
<div
class="qdrant-pricing-comparison__table-cell qdrant-pricing-comparison__table-cell--cta{{ if eq $index 2 }}
qdrant-pricing-comparison__table-cell--highlight
{{ end }}"
data-tier-col="{{ index (slice "oss" "free-tier" "paid-tier" "premium-tier") $index }}"
>
<a
href="{{ $cta.url }}"
class="button {{ if $cta.contained }}
button_contained
{{ else }}
button_outlined
{{ end }}"
>
{{ $cta.text }}
</a>
</div>
{{ end }}
</div>
</div>
</div>
</section>
@@ -0,0 +1,26 @@
<section class="qdrant-pricing-cta">
<div class="qdrant-pricing-cta__background">
<div class="qdrant-pricing-cta__stars"></div>
<div class="qdrant-pricing-cta__globe"></div>
</div>
<div class="container">
<div class="qdrant-pricing-cta__content">
<h2 class="qdrant-pricing-cta__title">{{ .Params.title }}</h2>
<p class="qdrant-pricing-cta__subtitle">{{ .Params.subtitle }}</p>
{{ with .Params.button }}
<a href="{{ .url }}" class="button button_contained button_lg qdrant-pricing-cta__button">
{{ .text }}
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M4.16669 10H15.8334M15.8334 10L10 4.16666M15.8334 10L10 15.8333"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
{{ end }}
</div>
</div>
</section>
@@ -0,0 +1,232 @@
{{ $class := .class }}
<section class="{{ $class }}">
<div class="container">
{{/* Navigation Tabs */}}
<div class="{{ $class }}__tabs">
{{ range .context.Params.tabs }}
<button class="{{ $class }}__tab{{ if .active }}{{ $class }}__tab--active{{ end }}" data-tab="{{ .id }}">
{{ .label }}
</button>
{{ end }}
</div>
{{/* Per-tab pricing tiers */}}
{{ range .context.Params.tabs }}
<div
class="{{ $class }}__doors{{ if not .active }}{{ $class }}__doors--hidden{{ end }}"
data-doors-tab="{{ .id }}"
>
{{ range .tiers }}
<div class="{{ $class }}__door {{ $class }}__door--{{ .id }}">
{{/* Heading */}}
<div class="{{ $class }}__heading">
<h3 class="{{ $class }}__title">{{ .title }}</h3>
{{ if .badge }}
<div class="{{ $class }}__badge">
<span>Runs on</span>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M9.94 0.56C9.82 0.57 9.7 0.6 9.59 0.65L4.82 3.03C4.7 3.09 4.59 3.18 4.51 3.29C4.43 3.4 4.37 3.53 4.34 3.67L3.16 8.99C3.14 9.11 3.13 9.24 3.15 9.37C3.17 9.49 3.22 9.61 3.28 9.72C3.3 9.74 3.31 9.77 3.33 9.79L6.64 13.51C6.73 13.62 6.84 13.71 6.96 13.77C7.08 13.83 7.22 13.87 7.36 13.87L12.67 13.87C12.81 13.87 12.94 13.84 13.07 13.77C13.19 13.71 13.3 13.62 13.39 13.51L16.7 9.79C16.78 9.68 16.84 9.55 16.87 9.42C16.9 9.28 16.9 9.15 16.87 9.01L15.7 3.67C15.67 3.53 15.61 3.4 15.52 3.29C15.43 3.18 15.32 3.09 15.2 3.03L10.43 0.65C10.29 0.58 10.14 0.55 9.99 0.56Z"
fill="#326CE5"
/>
<path
d="M9.97 2.77C9.81 2.77 9.68 2.92 9.68 3.1V3.18C9.68 3.2 9.68 3.23 9.68 3.25C9.69 3.35 9.71 3.43 9.72 3.53C9.75 3.73 9.77 3.91 9.76 4.06C9.74 4.12 9.7 4.18 9.66 4.21L9.66 4.34C9.48 4.35 9.31 4.38 9.13 4.42C8.39 4.59 7.75 4.97 7.26 5.5C7.23 5.47 7.17 5.43 7.16 5.42C7.11 5.43 7.06 5.44 6.99 5.4C6.86 5.31 6.75 5.19 6.61 5.04C6.54 4.97 6.49 4.91 6.41 4.84C6.39 4.83 6.37 4.81 6.35 4.79C6.29 4.74 6.22 4.72 6.15 4.72C6.07 4.72 5.98 4.75 5.93 4.82C5.83 4.95 5.86 5.14 6 5.25C6.02 5.27 6.04 5.28 6.06 5.3C6.14 5.36 6.21 5.39 6.29 5.44C6.46 5.54 6.6 5.63 6.72 5.73C6.76 5.78 6.77 5.87 6.77 5.91L6.86 5.99C6.37 6.74 6.15 7.66 6.28 8.6L6.16 8.63C6.13 8.67 6.08 8.74 6.04 8.76C5.89 8.8 5.72 8.82 5.52 8.84C5.43 8.85 5.35 8.85 5.25 8.87C5.23 8.87 5.2 8.88 5.17 8.88C4.99 8.92 4.88 9.08 4.92 9.23C4.95 9.39 5.12 9.49 5.29 9.45C5.32 9.45 5.34 9.44 5.37 9.44C5.46 9.41 5.53 9.38 5.62 9.34C5.81 9.27 5.96 9.21 6.12 9.19C6.18 9.18 6.25 9.23 6.28 9.24L6.41 9.22C6.7 10.11 7.3 10.84 8.06 11.3L8.01 11.43C8.03 11.48 8.05 11.55 8.04 11.6C7.98 11.74 7.89 11.9 7.78 12.07C7.73 12.15 7.67 12.21 7.63 12.3C7.62 12.32 7.6 12.35 7.59 12.38C7.52 12.54 7.57 12.72 7.71 12.79C7.85 12.86 8.03 12.79 8.1 12.63C8.11 12.6 8.13 12.57 8.14 12.55C8.18 12.45 8.19 12.37 8.22 12.28C8.29 12.09 8.34 11.89 8.44 11.76C8.47 11.73 8.52 11.71 8.57 11.7L8.63 11.58C9.29 11.84 10.03 11.91 10.78 11.74C10.95 11.7 11.11 11.65 11.27 11.59C11.29 11.63 11.32 11.69 11.33 11.7C11.38 11.72 11.43 11.73 11.48 11.79C11.56 11.93 11.61 12.09 11.67 12.28C11.7 12.37 11.71 12.45 11.75 12.54C11.76 12.57 11.78 12.6 11.79 12.63C11.87 12.79 12.04 12.86 12.19 12.79C12.33 12.72 12.38 12.54 12.31 12.37C12.3 12.35 12.29 12.32 12.28 12.3C12.23 12.21 12.18 12.15 12.13 12.07C12.02 11.9 11.94 11.74 11.88 11.6C11.87 11.53 11.89 11.48 11.91 11.43C11.9 11.42 11.87 11.35 11.86 11.32C12.66 10.85 13.24 10.1 13.52 9.22C13.55 9.22 13.62 9.24 13.64 9.24C13.68 9.21 13.72 9.17 13.8 9.18C13.95 9.2 14.11 9.26 14.3 9.32C14.38 9.36 14.45 9.39 14.55 9.42C14.57 9.42 14.6 9.43 14.63 9.43C14.63 9.43 14.64 9.43 14.64 9.43C14.81 9.47 14.98 9.38 15.01 9.22C15.05 9.07 14.94 8.91 14.77 8.87C14.74 8.86 14.71 8.86 14.68 8.85C14.59 8.85 14.5 8.85 14.41 8.84C14.21 8.82 14.04 8.8 13.88 8.75C13.82 8.73 13.78 8.66 13.76 8.63L13.63 8.59C13.69 8.15 13.67 7.69 13.57 7.24C13.46 6.78 13.28 6.36 13.03 5.99C13.06 5.96 13.11 5.91 13.13 5.89C13.13 5.84 13.13 5.79 13.18 5.73C13.29 5.62 13.43 5.53 13.6 5.44C13.68 5.39 13.75 5.36 13.83 5.3C13.85 5.29 13.87 5.27 13.9 5.25C14.04 5.14 14.05 4.95 13.95 4.82C13.85 4.69 13.66 4.68 13.52 4.79C13.51 4.81 13.48 4.82 13.46 4.84C13.38 4.91 13.34 4.97 13.27 5.05C13.13 5.19 13.01 5.31 12.88 5.4C12.82 5.44 12.74 5.43 12.7 5.42C12.69 5.43 12.63 5.47 12.6 5.49C11.98 4.83 11.13 4.42 10.22 4.33C10.22 4.29 10.22 4.22 10.21 4.2C10.18 4.16 10.13 4.13 10.12 4.05C10.11 3.89 10.13 3.73 10.15 3.53C10.17 3.43 10.19 3.35 10.19 3.25C10.19 3.22 10.19 3.18 10.19 3.1C10.19 2.92 10.06 2.77 9.9 2.77H9.97ZM9.61 4.94L9.53 6.46C9.52 6.6 9.41 6.71 9.28 6.71C9.22 6.71 9.17 6.69 9.13 6.66L7.9 5.78C8.28 5.4 8.76 5.12 9.32 4.99C9.42 4.97 9.52 4.95 9.61 4.94ZM10.32 4.94C10.97 5.02 11.57 5.32 12.03 5.78L10.81 6.66C10.7 6.74 10.55 6.72 10.46 6.61C10.43 6.57 10.41 6.52 10.41 6.47L10.32 4.94ZM7.37 6.34L8.49 7.36C8.59 7.45 8.61 7.61 8.52 7.72C8.49 7.76 8.44 7.79 8.39 7.8L6.95 8.22C6.88 7.55 7.03 6.89 7.37 6.34ZM12.47 6.34C12.63 6.61 12.76 6.92 12.83 7.25C12.91 7.57 12.93 7.9 12.9 8.21L11.45 7.79C11.32 7.75 11.24 7.62 11.27 7.49C11.28 7.43 11.31 7.39 11.35 7.35L12.47 6.34ZM9.36 7.75H9.82L10.11 8.11L10 8.56L9.59 8.76L9.17 8.56L9.07 8.11L9.36 7.75ZM10.82 9.01C10.84 9.01 10.86 9.01 10.88 9.01C10.91 9.01 10.95 9.02 10.98 9.03L12.47 9.28C12.25 9.9 11.83 10.43 11.27 10.79L10.69 9.38C10.64 9.25 10.69 9.1 10.82 9.04V9.01ZM8.32 9.01C8.43 9.01 8.53 9.09 8.56 9.21C8.57 9.26 8.57 9.32 8.55 9.37L7.94 10.77C7.41 10.42 7 9.9 6.77 9.27L8.24 9.02C8.26 9.01 8.29 9.01 8.32 9.01ZM9.57 9.62C9.61 9.62 9.65 9.63 9.68 9.64C9.73 9.67 9.77 9.71 9.79 9.75L10.51 11.08C10.41 11.11 10.32 11.14 10.22 11.16C9.66 11.29 9.1 11.25 8.6 11.08L9.32 9.75C9.36 9.67 9.44 9.63 9.53 9.62H9.57Z"
fill="white"
/>
</svg>
</div>
{{ end }}
{{ with .pricing }}
<div class="{{ $class }}__pricing">
<span class="{{ $class }}__pricing-main">{{ . }}</span>
{{ with $.pricingNote }}
<span class="{{ $class }}__pricing-note">{{ . }}</span>
{{ end }}
</div>
{{ end }}
</div>
{{/* Target */}}
<div class="{{ $class }}__target">
<p>{{ .target }}</p>
</div>
{{/* Features (flat list for Managed) */}}
{{ with .features }}
<div class="{{ $class }}__features">
<ul class="{{ $class }}__feature-list">
{{ range . }}
<li class="{{ $class }}__feature-item">
<svg
class="{{ $class }}__check-icon"
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M13.3334 4L6.00008 11.3333L2.66675 8"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
<span>{{ . }}</span>
</li>
{{ end }}
</ul>
{{/* Marketplace logos */}}
{{ with $.marketplace }}
<div class="{{ $class }}__marketplace">
<p class="{{ $class }}__marketplace-label">{{ .label }}</p>
<div class="{{ $class }}__marketplace-logos">
{{ range .logos }}
<div class="{{ $class }}__marketplace-logo">
{{ if eq .icon "aws" }}
<svg
width="22"
height="22"
viewBox="0 0 22 22"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M6.27 9.66C6.27 9.94 6.3 10.16 6.35 10.33C6.41 10.5 6.48 10.68 6.58 10.89C6.62 10.96 6.63 11.03 6.63 11.09C6.63 11.18 6.58 11.27 6.47 11.36L6.04 11.66C5.97 11.71 5.9 11.73 5.84 11.73C5.76 11.73 5.68 11.69 5.6 11.61C5.49 11.49 5.4 11.36 5.32 11.22C5.24 11.07 5.16 10.91 5.07 10.71C4.45 11.45 3.67 11.82 2.73 11.82C2.04 11.82 1.49 11.63 1.09 11.25C0.69 10.87 0.49 10.37 0.49 9.75C0.49 9.09 0.73 8.55 1.2 8.14C1.67 7.73 2.31 7.52 3.12 7.52C3.39 7.52 3.66 7.54 3.95 7.58C4.24 7.62 4.54 7.68 4.85 7.75V7.25C4.85 6.68 4.73 6.28 4.5 6.04C4.26 5.79 3.87 5.67 3.33 5.67C3.05 5.67 2.76 5.7 2.47 5.78C2.18 5.86 1.89 5.95 1.61 6.07C1.48 6.13 1.38 6.17 1.32 6.18C1.26 6.19 1.22 6.2 1.18 6.2C1.07 6.2 1.01 6.12 1.01 5.96V5.6C1.01 5.48 1.03 5.39 1.08 5.32C1.13 5.25 1.21 5.19 1.34 5.12C1.62 4.98 1.96 4.86 2.34 4.77C2.72 4.67 3.12 4.63 3.55 4.63C4.42 4.63 5.07 4.83 5.49 5.22C5.91 5.61 6.12 6.2 6.12 6.98V9.66H6.27ZM3.08 10.86C3.34 10.86 3.61 10.81 3.89 10.71C4.17 10.61 4.42 10.44 4.63 10.19C4.76 10.04 4.85 9.87 4.9 9.68C4.95 9.49 4.98 9.26 4.98 8.99V8.59C4.76 8.54 4.52 8.5 4.28 8.47C4.04 8.44 3.8 8.42 3.57 8.42C3.05 8.42 2.66 8.52 2.41 8.73C2.16 8.94 2.03 9.23 2.03 9.62C2.03 9.98 2.12 10.26 2.31 10.45C2.49 10.72 2.75 10.86 3.08 10.86Z"
fill="#252F3E"
/>
<path
d="M8.78 11.68C8.66 11.68 8.58 11.66 8.53 11.61C8.48 11.57 8.43 11.48 8.39 11.34L6.73 5.41C6.69 5.27 6.67 5.17 6.67 5.12C6.67 5.01 6.73 4.95 6.85 4.95H7.52C7.65 4.95 7.74 4.97 7.79 5.02C7.85 5.06 7.89 5.15 7.93 5.29L9.13 10.27L10.24 5.29C10.28 5.14 10.32 5.06 10.37 5.02C10.43 4.97 10.52 4.95 10.64 4.95H11.19C11.32 4.95 11.41 4.97 11.46 5.02C11.52 5.06 11.56 5.15 11.6 5.29L12.73 10.33L13.96 5.29C14 5.14 14.05 5.06 14.1 5.02C14.16 4.97 14.25 4.95 14.37 4.95H15.01C15.13 4.95 15.19 5.01 15.19 5.12C15.19 5.16 15.18 5.2 15.17 5.25C15.16 5.3 15.14 5.36 15.12 5.42L13.42 11.35C13.38 11.49 13.33 11.58 13.28 11.62C13.22 11.67 13.14 11.69 13.02 11.69H12.42C12.29 11.69 12.2 11.67 12.15 11.62C12.09 11.58 12.05 11.49 12.01 11.35L10.91 6.47L9.82 11.34C9.78 11.49 9.74 11.57 9.68 11.61C9.62 11.66 9.53 11.68 9.41 11.68H8.78Z"
fill="#252F3E"
/>
<path
d="M17.61 11.86C17.2 11.86 16.79 11.82 16.4 11.73C16.01 11.64 15.7 11.54 15.49 11.42C15.36 11.34 15.27 11.26 15.24 11.18C15.21 11.11 15.19 11.02 15.19 10.94V10.56C15.19 10.4 15.26 10.32 15.38 10.32C15.43 10.32 15.48 10.33 15.53 10.35C15.58 10.37 15.65 10.4 15.73 10.44C15.99 10.56 16.28 10.66 16.58 10.73C16.89 10.8 17.19 10.84 17.5 10.84C17.97 10.84 18.33 10.76 18.59 10.6C18.84 10.44 18.98 10.21 18.98 9.91C18.98 9.7 18.91 9.52 18.78 9.38C18.65 9.24 18.4 9.11 18.04 8.99L17.01 8.68C16.44 8.5 16.02 8.24 15.77 7.91C15.52 7.59 15.39 7.22 15.39 6.83C15.39 6.51 15.46 6.23 15.6 5.98C15.74 5.73 15.93 5.52 16.17 5.34C16.41 5.16 16.69 5.03 17.01 4.93C17.33 4.84 17.67 4.79 18.03 4.79C18.21 4.79 18.4 4.8 18.58 4.83C18.77 4.86 18.94 4.89 19.11 4.93C19.27 4.98 19.43 5.03 19.57 5.08C19.71 5.14 19.82 5.19 19.9 5.25C20.01 5.32 20.09 5.39 20.13 5.47C20.17 5.54 20.19 5.64 20.19 5.75V6.1C20.19 6.26 20.12 6.34 19.99 6.34C19.92 6.34 19.81 6.3 19.67 6.23C19.22 6.02 18.72 5.92 18.17 5.92C17.75 5.92 17.42 5.98 17.19 6.12C16.96 6.26 16.84 6.46 16.84 6.75C16.84 6.96 16.92 7.14 17.07 7.28C17.22 7.42 17.5 7.56 17.89 7.68L18.9 7.99C19.46 8.16 19.87 8.41 20.11 8.73C20.35 9.05 20.47 9.41 20.47 9.82C20.47 10.15 20.4 10.45 20.26 10.71C20.12 10.97 19.92 11.2 19.67 11.38C19.42 11.57 19.12 11.71 18.78 11.8C18.42 11.84 18.03 11.86 17.61 11.86Z"
fill="#252F3E"
/>
<path
d="M18.88 14.52C16.69 16.15 13.5 17 10.73 17C6.89 17 3.44 15.58 0.84 13.23C0.64 13.05 0.82 12.81 1.06 12.95C3.88 14.55 7.34 15.51 10.93 15.51C13.36 15.51 16.03 15 18.45 13.96C18.82 13.79 19.14 14.22 18.88 14.52Z"
fill="#FF9900"
/>
<path
d="M19.75 13.52C19.49 13.18 17.96 13.37 17.27 13.46C17.06 13.49 17.03 13.31 17.22 13.17C18.44 12.31 20.45 12.56 20.67 12.83C20.89 13.11 20.61 15.12 19.47 16.08C19.3 16.23 19.13 16.15 19.21 15.96C19.47 15.33 20.01 13.85 19.75 13.52Z"
fill="#FF9900"
/>
</svg>
{{ else if eq .icon "gcp" }}
<svg
width="22"
height="22"
viewBox="0 0 22 22"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M13.93 6.11L15.17 4.87L15.28 4.36C12.89 2.18 9.19 2.05 6.65 4.04C5.99 4.56 5.44 5.2 5.02 5.93L5.43 5.87L7.91 5.46L8.14 5.23C9.56 3.92 11.73 3.82 13.26 4.98L13.93 6.11Z"
fill="#EA4335"
/>
<path
d="M17.46 7.62C17 6.19 16.12 4.93 14.95 4L13.25 5.7C14.22 6.44 14.87 7.52 15.06 8.72H15.35C15.7 8.72 16.05 8.86 16.31 9.11L18.51 6.91C18.25 7.11 17.86 7.38 17.46 7.62Z"
fill="#4285F4"
/>
<path
d="M6.58 15.47C7.85 16.74 9.57 17.45 11.36 17.45V14.97C10.17 14.97 9.04 14.48 8.2 13.64L6.58 15.47Z"
fill="#34A853"
/>
<path
d="M11.36 17.45C13.15 17.45 14.87 16.74 16.14 15.47L13.94 13.27C13.1 13.96 12.04 14.37 10.92 14.37C9.01 14.37 7.36 13.12 6.76 11.38L4.49 13.51C5.59 15.76 8.31 17.45 11.36 17.45Z"
fill="#34A853"
/>
<path
d="M5.02 10.98C4.82 10.37 4.72 9.73 4.72 9.08C4.72 8.43 4.82 7.79 5.02 7.18L2.75 5.05C2.11 6.31 1.76 7.72 1.76 9.18C1.76 10.64 2.11 12.05 2.75 13.31L5.02 10.98Z"
fill="#FBBC05"
/>
<path
d="M11.36 4.54C12.66 4.54 13.86 5.01 14.78 5.84L17.03 3.59C15.42 2.09 13.38 1.28 11.21 1.28C8.16 1.28 5.44 3.01 4.34 5.34L6.61 7.47C7.21 5.73 8.86 4.48 10.77 4.48L11.36 4.54Z"
fill="#EA4335"
/>
</svg>
{{ else if eq .icon "azure" }}
<svg
width="22"
height="22"
viewBox="0 0 22 22"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M10.1 3.77L5.78 14.78H2.14L6.46 3.77H10.1Z" fill="#0078D4" />
<path d="M16.82 14.29L13.97 14.78L5.95 17.13L14.4 14.29H16.82Z" fill="#0078D4" />
<path d="M11.54 6.18L9.19 13.49L16.82 14.29L11.54 6.18Z" fill="#50E6FF" />
<path d="M16.82 14.29L9.19 13.49L14.4 14.29L16.82 14.29Z" fill="#50E6FF" />
<path d="M5.95 17.13L9.19 13.49L5.78 14.78L5.95 17.13Z" fill="#0078D4" />
<path d="M9.19 13.49L5.95 17.13L13.97 14.78L9.19 13.49Z" fill="#0078D4" />
<path d="M11.54 6.18L16.82 14.29H14.4L11.54 6.18Z" fill="#0078D4" />
</svg>
{{ end }}
</div>
{{ end }}
</div>
</div>
{{ end }}
{{/* Contact link for premium tier */}}
{{ with $.contactLink }}
<a href="{{ .url }}" class="{{ $class }}__contact-link">
{{ .text }}
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M3 7H11M11 7L7 3M11 7L7 11"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
{{ end }}
</div>
{{ end }}
{{/* Feature groups (labeled lists for On-Premise) */}}
{{ range .featureGroups }}
<div class="{{ $class }}__features">
<p class="{{ $class }}__feature-group-label">{{ .label }}</p>
<ul class="{{ $class }}__feature-list">
{{ range .items }}
<li class="{{ $class }}__feature-item">
<svg
class="{{ $class }}__check-icon"
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M13.3334 4L6.00008 11.3333L2.66675 8"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
<span>{{ . }}</span>
</li>
{{ end }}
</ul>
</div>
{{ end }}
{{/* CTA */}}
<div class="{{ $class }}__cta">
<a href="{{ .cta.url }}" class="{{ $class }}__cta-button {{ $class }}__cta-button--{{ .cta.style }}">
{{ .cta.text }}
</a>
</div>
</div>
{{ end }}
</div>
{{ end }}
</div>
</section>
@@ -0,0 +1,51 @@
<section class="qdrant-pricing-faq">
<div class="container">
<h2 class="qdrant-pricing-faq__title">{{ .Params.title }}</h2>
<div class="qdrant-pricing-faq__questions">
{{ range $index, $element := .Params.questions }}
<div class="qdrant-pricing-faq__item{{ if eq $index 0 }}qdrant-pricing-faq__item--active{{ end }}">
<div class="qdrant-pricing-faq__question">
<h6 class="qdrant-pricing-faq__question-text">{{ .question }}</h6>
<span class="qdrant-pricing-faq__icon">
<svg
class="qdrant-pricing-faq__icon-plus"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M12 5V19M5 12H19"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
<svg
class="qdrant-pricing-faq__icon-minus"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 12H19"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</span>
</div>
<div class="qdrant-pricing-faq__answer">
<p class="qdrant-pricing-faq__answer-text">{{ .answer }}</p>
</div>
</div>
{{ end }}
</div>
</div>
</section>
@@ -0,0 +1,268 @@
<section class="qdrant-pricing-features">
<div class="container">
<div class="qdrant-pricing-features__header">
<h2 class="qdrant-pricing-features__title">{{ .Params.title }}</h2>
<div class="qdrant-pricing-features__tabs">
<button class="qdrant-pricing-features__tab qdrant-pricing-features__tab--active" data-tab="managed">
Managed
</button>
<button class="qdrant-pricing-features__tab" data-tab="on-premise">On-Premise</button>
</div>
</div>
{{/* Mobile tier tabs */}}
<div class="qdrant-pricing-features__tier-tabs">
{{ range $index, $tier := .Params.tiers }}
<button
class="qdrant-pricing-features__tier-tab{{ if eq $index 0 }}
qdrant-pricing-features__tier-tab--active
{{ end }}"
data-tier="{{ $tier.name | urlize }}"
>
{{ $tier.name }}
</button>
{{ end }}
</div>
<div class="qdrant-pricing-features__table">
<div class="qdrant-pricing-features__table-header">
<div class="qdrant-pricing-features__table-cell qdrant-pricing-features__table-cell--feature"></div>
{{ range .Params.tiers }}
<div
class="qdrant-pricing-features__table-cell qdrant-pricing-features__table-cell--tier{{ if .highlight }}
qdrant-pricing-features__table-cell--highlight
{{ end }}"
data-tier-col="{{ .name | urlize }}"
>
{{ .name }}
</div>
{{ end }}
</div>
<div class="qdrant-pricing-features__table-body">
{{ range .Params.sections }}
<div class="qdrant-pricing-features__table-section">
<div class="qdrant-pricing-features__table-section-header">
<span class="qdrant-pricing-features__table-section-title">{{ .name }}</span>
<svg
class="qdrant-pricing-features__chevron"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 12.5L10 7.5L15 12.5"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</div>
<div class="qdrant-pricing-features__table-section-rows">
{{ range .features }}
<div class="qdrant-pricing-features__table-row">
<div class="qdrant-pricing-features__table-cell qdrant-pricing-features__table-cell--feature">
{{ .name }}
</div>
<div class="qdrant-pricing-features__table-cell" data-tier-col="oss">
{{ if eq .oss true }}
<svg
class="qdrant-pricing-features__check"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.6667 5L7.50001 14.1667L3.33334 10"
stroke="#2F6FF0"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else if eq .oss false }}
<svg
class="qdrant-pricing-features__x"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 5L5 15M5 5L15 15"
stroke="#717C99"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else }}
<span class="qdrant-pricing-features__text">{{ .oss }}</span>
{{ end }}
</div>
<div class="qdrant-pricing-features__table-cell" data-tier-col="free-tier">
{{ if eq .free true }}
<svg
class="qdrant-pricing-features__check"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.6667 5L7.50001 14.1667L3.33334 10"
stroke="#2F6FF0"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else if eq .free false }}
<svg
class="qdrant-pricing-features__x"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 5L5 15M5 5L15 15"
stroke="#717C99"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else }}
<span class="qdrant-pricing-features__text">{{ .free }}</span>
{{ end }}
</div>
<div
class="qdrant-pricing-features__table-cell qdrant-pricing-features__table-cell--highlight"
data-tier-col="paid-tier"
>
{{ if eq .paid true }}
<svg
class="qdrant-pricing-features__check"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.6667 5L7.50001 14.1667L3.33334 10"
stroke="#2F6FF0"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else if eq .paid false }}
<svg
class="qdrant-pricing-features__x"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 5L5 15M5 5L15 15"
stroke="#717C99"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else }}
<span class="qdrant-pricing-features__text qdrant-pricing-features__text--bold">{{ .paid }}</span>
{{ end }}
</div>
<div class="qdrant-pricing-features__table-cell" data-tier-col="premium-tier">
{{ if eq .premium true }}
<svg
class="qdrant-pricing-features__check"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.6667 5L7.50001 14.1667L3.33334 10"
stroke="#2F6FF0"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else if eq .premium false }}
<svg
class="qdrant-pricing-features__x"
width="20"
height="20"
viewBox="0 0 20 20"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 5L5 15M5 5L15 15"
stroke="#717C99"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
{{ else }}
<span class="qdrant-pricing-features__text qdrant-pricing-features__text--bold"
>{{ .premium }}</span
>
{{ end }}
</div>
</div>
{{ end }}
</div>
</div>
{{ end }}
</div>
<div class="qdrant-pricing-features__table-footer">
<div class="qdrant-pricing-features__table-cell qdrant-pricing-features__table-cell--feature"></div>
{{ range $index, $cta := .Params.ctas }}
<div
class="qdrant-pricing-features__table-cell qdrant-pricing-features__table-cell--cta{{ if eq $index 2 }}
qdrant-pricing-features__table-cell--highlight
{{ end }}"
data-tier-col="{{ index (slice "oss" "free-tier" "paid-tier" "premium-tier") $index }}"
>
<a
href="{{ $cta.url }}"
class="button {{ if $cta.contained }}
button_contained
{{ else }}
button_outlined
{{ end }}"
>
{{ $cta.text }}
</a>
</div>
{{ end }}
</div>
</div>
{{ with .Params.compareButton }}
<div class="qdrant-pricing-features__compare">
<a href="{{ .url }}" class="button button_outlined">{{ .text }}</a>
</div>
{{ end }}
</div>
</section>
@@ -0,0 +1,34 @@
{{ with (.Site.GetPage "/pricing/qdrant-pricing-hero") }}
<section class="qdrant-pricing-hero">
<div class="qdrant-pricing-hero__background">
<div class="qdrant-pricing-hero__grid"></div>
</div>
<div class="container">
<div class="qdrant-pricing-hero__content">
<h1 class="qdrant-pricing-hero__title">{{ .Params.title }}</h1>
<div class="qdrant-pricing-hero__description">{{ .Params.description }}</div>
<div class="qdrant-pricing-hero__actions">
{{ with .Params.button }}
<a href="{{ .url }}" class="button button_contained button_md qdrant-pricing-hero__button">
{{ .text }}
</a>
{{ end }}
{{ with .Params.link }}
<a href="{{ .url }}" class="qdrant-pricing-hero__link">
{{ .text }}
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M1.16669 7H12.8334M12.8334 7L7.00002 1.16666M12.8334 7L7.00002 12.8333"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
{{ end }}
</div>
</div>
</div>
</section>
{{ end }}