update landing page

This commit is contained in:
Emily
2024-07-24 17:16:40 +02:00
parent b5f1783050
commit 895ebb197d
2 changed files with 171 additions and 96 deletions

View File

@@ -241,6 +241,12 @@ const snippetIndex = ref<number>(0);
<img class="scale-125 lg:scale-100 lg:h-[35rem]" :src="'ai-chat.png'" alt="Ai-Chat"> <img class="scale-125 lg:scale-100 lg:h-[35rem]" :src="'ai-chat.png'" alt="Ai-Chat">
</div> </div>
<div class="button-container">
<LyxUiButton link="https://dashboard.litlyx.com" target="_blank" class="button" type="primary">
Start for free
</LyxUiButton>
</div>
</div> </div>
<div class="section"> <div class="section">
@@ -285,12 +291,10 @@ const snippetIndex = ref<number>(0);
</div> </div>
<div class="button-container flex-col items-center gap-4 !mt-10"> <div class="button-container flex-col items-center gap-4 !mt-10">
<LyxUiButton link="https://github.com/Litlyx/litlyx" target="_blank" class="button" type="outline"> <LyxUiButton link="https://github.com/Litlyx/litlyx" target="_blank" class="button"
type="secondary">
Leave a Star on Github! Leave a Star on Github!
</LyxUiButton> </LyxUiButton>
<LyxUiButton link="https://dashboard.litlyx.com" target="_blank" class="button" type="primary">
Start for free
</LyxUiButton>
</div> </div>
</div> </div>

View File

@@ -3,139 +3,163 @@
definePageMeta({ layout: 'header' }); definePageMeta({ layout: 'header' });
const featureStyle = 'font-bold poppins text-lyx-text';
const cellStyle = 'poppins text-lyx-text'
const activeStyle = 'poppins !text-lyx-text border-solid border-[1px] border-green-400 bg-green-400/5'
const columns = [{
key: 'feature',
label: 'Feature'
}, {
key: 'litlyx',
label: 'Litlyx'
}, {
key: 'plausible',
label: 'Plausible'
}, {
key: 'google',
label: 'Google Analytics'
}]
const comparisons = ref<any[]>([ const comparisons = ref<any[]>([
{ {
feature: 'Setup Time', feature: { text: 'Setup Time', class: featureStyle },
litlyx: '30 seconds', litlyx: { text: '30 seconds', class: activeStyle },
plausible: 'A few Minutes', plausible: { text: 'A few Minutes', class: cellStyle },
google: 'Hours' google: { text: 'Hours', class: cellStyle }
}, },
{ {
feature: 'Real-Time Collection', feature: { text: 'Real-Time Collection', class: featureStyle },
litlyx: 'Instant', litlyx: { text: 'Instant', class: activeStyle },
plausible: 'each 5 minutes', plausible: { text: 'each 5 minutes', class: cellStyle },
google: 'from few minutes, to hours' google: { text: 'from few minutes, to hours', class: cellStyle }
}, },
{ {
feature: 'Documentation', feature: { text: 'Documentation', class: featureStyle },
litlyx: 'Small, Easy & Modern', litlyx: { text: 'Small, Easy & Modern', class: activeStyle },
plausible: 'Longer than necessary', plausible: { text: 'Longer than necessary', class: cellStyle },
google: 'Mstodon & Complex' google: { text: 'Mstodon & Complex', class: cellStyle }
}, },
{ {
feature: 'Modern UI', feature: { text: 'Modern UI', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'Yes', plausible: { text: 'Yes', class: activeStyle },
google: 'Yes' google: { text: 'Yes', class: activeStyle }
}, },
{ {
feature: 'Developers Centric Approach', feature: { text: 'Developers Centric Approach', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'Partially', plausible: { text: 'Partially', class: cellStyle },
google: 'No' google: { text: 'No', class: cellStyle }
}, },
{ {
feature: 'Website Loading Time', feature: { text: 'Website Loading Time', class: featureStyle },
litlyx: '3 ms', litlyx: { text: '3 ms', class: activeStyle },
plausible: '3 ms', plausible: { text: '3 ms', class: activeStyle },
google: '5-15 ms' google: { text: '5-15 ms', class: cellStyle }
}, },
{ {
feature: 'Library Size', feature: { text: 'Library Size', class: featureStyle },
litlyx: '3 kb', litlyx: { text: '3 kb', class: '' },
plausible: '2 kb', plausible: { text: '2 kb', class: activeStyle },
google: 'avg. 50 kb' google: { text: 'avg. 50 kb', class: cellStyle }
}, },
{ {
feature: 'Custom Events Support', feature: { text: 'Custom Events Support', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'Yes', plausible: { text: 'Yes', class: activeStyle },
google: 'Yes' google: { text: 'Yes', class: activeStyle }
}, },
{ {
feature: 'Native Js Runtimes', feature: { text: 'Native Js Runtimes', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'No', plausible: { text: 'No', class: cellStyle },
google: 'No' google: { text: 'No', class: cellStyle }
}, },
{ {
feature: 'Custom Events metadata Support', feature: { text: 'Custom Events metadata Support', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'No', plausible: { text: 'No', class: cellStyle },
google: 'Limited' google: { text: 'Limited', class: cellStyle }
}, },
{ {
feature: 'Raw Data Export', feature: { text: 'Raw Data Export', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'No', plausible: { text: 'No', class: cellStyle },
google: 'No' google: { text: 'No', class: cellStyle }
}, },
{ {
feature: 'Data Ownership', feature: { text: 'Data Ownership', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'Yes', plausible: { text: 'Yes', class: activeStyle },
google: 'No' google: { text: 'No', class: cellStyle }
}, },
{ {
feature: 'Open-Source', feature: { text: 'Open-Source', class: featureStyle },
litlyx: 'Self-Hostable', litlyx: { text: 'Self-Hostable', class: activeStyle },
plausible: 'Self-Hostable', plausible: { text: 'Self-Hostable', class: activeStyle },
google: 'No' google: { text: 'No', class: cellStyle }
}, },
{ {
feature: 'Privacy-focused', feature: { text: 'Privacy-focused', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'Yes', plausible: { text: 'Yes', class: activeStyle },
google: 'No' google: { text: 'No', class: cellStyle }
}, },
{ {
feature: 'Cookies Stored', feature: { text: 'Cookies Stored', class: featureStyle },
litlyx: '0 Cookies', litlyx: { text: '0 Cookies', class: activeStyle },
plausible: '0 Cookies', plausible: { text: '0 Cookies', class: activeStyle },
google: 'Yes, many' google: { text: 'Yes, many', class: cellStyle }
}, },
{ {
feature: 'EU standard', feature: { text: 'EU standard', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'Yes', plausible: { text: 'Yes', class: activeStyle },
google: 'Limited' google: { text: 'Limited', class: cellStyle }
}, },
{ {
feature: 'Ad Blockers', feature: { text: 'Ad Blockers', class: featureStyle },
litlyx: 'Impossible to block', litlyx: { text: 'Impossible to block', class: activeStyle },
plausible: 'Possible, but hard!', plausible: { text: 'Possible, but hard!', class: cellStyle },
google: 'Possible' google: { text: 'Possible', class: cellStyle }
}, },
{ {
feature: 'AI Data Analyst Assistant', feature: { text: 'AI Data Analyst Assistant', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'No', plausible: { text: 'No', class: cellStyle },
google: 'No' google: { text: 'No', class: cellStyle }
}, },
{ {
feature: 'Report Generation', feature: { text: 'Report Generation', class: featureStyle },
litlyx: 'Detailed reports in seconds', litlyx: { text: 'Detailed reports in seconds', class: activeStyle },
plausible: 'Basic Reports', plausible: { text: 'Basic Reports', class: cellStyle },
google: 'Extensive, but complex to do' google: { text: 'Extensive, but complex to do', class: cellStyle }
}, },
{ {
feature: 'User-Friendly interface', feature: { text: 'User-Friendly interface', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'Yes', plausible: { text: 'Yes', class: activeStyle },
google: 'Moderate Complexity' google: { text: 'Moderate Complexity', class: cellStyle }
}, },
{ {
feature: 'Agglomeration from third parties DBs', feature: { text: 'Agglomeration from third parties DBs', class: featureStyle },
litlyx: 'Yes', litlyx: { text: 'Yes', class: activeStyle },
plausible: 'No', plausible: { text: 'No', class: cellStyle },
google: 'No' google: { text: 'No', class: cellStyle }
}, },
{ {
feature: 'Cost Effective (Cloud)', feature: { text: 'Free Options (Cloud)', class: featureStyle },
litlyx: 'Free-Forever plan to start. Basic plan: €4,99/mo for 50k visits/events', litlyx: { text: 'Free-Forever plan to start.', class: activeStyle },
plausible: '30 days free trial. basic plan: €9,00/mo for 10k page visits', plausible: { text: '30 days free trial.', class: cellStyle },
google: 'Free forever. Offers Enterprise only Premium prices (really expansive)' google: { text: 'Free forever. No Ownership.', class: activeStyle }
},
{
feature: { text: 'Cost Effective (Cloud)', class: featureStyle },
litlyx: { text: 'Basic plan: €4,99/mo for 50k visits/events', class: activeStyle },
plausible: { text: 'Basic plan: €9,00/mo for 10k page visits', class: cellStyle },
google: { text: 'Offers Enterprise only Premium prices (really expansive)', class: cellStyle }
} }
]); ]);
@@ -172,8 +196,29 @@ const comparisons = ref<any[]>([
<div class="section"> <div class="section">
<div class="hidden lg:flex lg:justify-center"> <div class="hidden lg:flex lg:justify-center w-full lg:flex-nowrap">
<UTable :rows="comparisons"></UTable> <UTable :rows="comparisons" :columns="columns" :ui="{
td: {
base: 'border-x-[1px] border-solid border-lyx-widget-lighter'
},
th: {
base: 'border-[1px] border-solid border-lyx-widget-lighter bg-lyx-widget'
}
}">
<template #litlyx-data="{ row }">
{{ row.litlyx.text }}
</template>
<template #feature-data="{ row }">
{{ row.feature.text }}
</template>
<template #plausible-data="{ row }">
{{ row.plausible.text }}
</template>
<template #google-data="{ row }">
{{ row.google.text }}
</template>
</UTable>
</div> </div>
<div class="lg:hidden text-lyx-text-dark"> <div class="lg:hidden text-lyx-text-dark">
@@ -184,7 +229,7 @@ const comparisons = ref<any[]>([
<div class="section"> <div class="section">
<div class="subtitle"> <div class="title">
Google Analytics vs. Litlyx Google Analytics vs. Litlyx
</div> </div>
<ul class="list-disc text-lyx-text-dark mt-4"> <ul class="list-disc text-lyx-text-dark mt-4">
@@ -209,7 +254,7 @@ const comparisons = ref<any[]>([
<div class="section"> <div class="section">
<div class="subtitle"> <div class="title">
Plausible vs. Litlyx <span class="text-[.9rem]">(we Plausible)</span> Plausible vs. Litlyx <span class="text-[.9rem]">(we Plausible)</span>
</div> </div>
<ul class="list-disc text-lyx-text-dark mt-4"> <ul class="list-disc text-lyx-text-dark mt-4">
@@ -286,6 +331,23 @@ const comparisons = ref<any[]>([
</div> </div>
</div> </div>
<div class="section">
<div class="title text-center">
Ready to start with Litlyx?
</div>
<div class="button-container flex-col items-center gap-6">
<LyxUiButton link="https://dashboard.litlyx.com/live_demo" target="_blank" class="button" type="outline">
Go to Live Demo
</LyxUiButton>
<LyxUiButton link="https://dashboard.litlyx.com" target="_blank" class="button" type="primary">
Start for free now
</LyxUiButton>
</div>
</div>
</div> </div>
</template> </template>
@@ -310,4 +372,13 @@ const comparisons = ref<any[]>([
.section { .section {
@apply mt-20 @apply mt-20
} }
.button {
@apply font-medium text-[1rem] px-6 py-2
}
.button-container {
@apply flex justify-center mt-8
}
</style> </style>