finish all pages

This commit is contained in:
Surjith S M
2022-11-09 14:42:22 +05:30
parent d40120e7a8
commit f4f0e2b66a
18 changed files with 273 additions and 12 deletions

View File

@@ -89,6 +89,10 @@ Any static assets, like images, can be placed in the `public/` directory.
TailwindCSS & Alpine.js are already configured in this repo, so you can start using them without any installation. TailwindCSS & Alpine.js are already configured in this repo, so you can start using them without any installation.
## Credits
[Hero Illustration](https://www.figma.com/community/file/1108400791662599811) by [Streamline](https://www.streamlinehq.com/)
## 👀 Want to learn more? ## 👀 Want to learn more?
Feel free to check out [Astro Documentation](https://docs.astro.build) or jump into our [Discord Chat](https://web3templates.com/discord). Feel free to check out [Astro Documentation](https://docs.astro.build) or jump into our [Discord Chat](https://web3templates.com/discord).

BIN
src/assets/hero-alt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -18,19 +18,19 @@ const features = [
{ {
title: "On-Demand Components", title: "On-Demand Components",
description: description:
"Need some JS? Astro can automatically hydrate interactive components when they become visible on the page. If the user never sees it, they never load it.", "Need some JS? Astro can automatically hydrate interactive components when they become visible on the page. ",
icon: "bx:bxs-data", icon: "bx:bxs-data",
}, },
{ {
title: "Broad Integration", title: "Broad Integration",
description: description:
"Astro supports TypeScript, Scoped CSS, CSS Modules, Sass, Tailwind, Markdown, MDX, and any of your favorite npm packages.", "Astro supports TypeScript, Scoped CSS, CSS Modules, Sass, Tailwind, Markdown, MDX, and any other npm packages.",
icon: "bx:bxs-bot", icon: "bx:bxs-bot",
}, },
{ {
title: "SEO Enabled", title: "SEO Enabled",
description: description:
"Automatic sitemaps, RSS feeds, pagination and collections take the pain out of SEO and syndication.", "Automatic sitemaps, RSS feeds, pagination and collections take the pain out of SEO and syndication. It just works!",
icon: "bx:bxs-file-find", icon: "bx:bxs-file-find",
}, },
{ {
@@ -52,7 +52,7 @@ const features = [
</p> </p>
</div> </div>
<div class="grid sm:grid-cols-2 md:grid-cols-3 mt-10 gap-16"> <div class="grid sm:grid-cols-2 md:grid-cols-3 mt-16 gap-16">
{ {
features.map((item) => ( features.map((item) => (
<div class="flex gap-4 items-start"> <div class="flex gap-4 items-start">

View File

@@ -2,6 +2,11 @@
<p class="text-center text-sm text-slate-500"> <p class="text-center text-sm text-slate-500">
Copyright © {new Date().getFullYear()} Astroship. All rights reserved. Copyright © {new Date().getFullYear()} Astroship. All rights reserved.
</p> </p>
<!--
Can we ask you a favor 🙏
Please keep this backlink on your website if possible.
or Purchase a commercial license from https://web3templates.com
-->
<p class="text-center text-xs text-slate-500 mt-1"> <p class="text-center text-xs text-slate-500 mt-1">
Made by <a Made by <a
href="https://web3templates.com" href="https://web3templates.com"

View File

@@ -23,10 +23,16 @@ import Link from "@components/ui/link.astro";
create any website with this starter. create any website with this starter.
</p> </p>
<div class="mt-6 flex flex-col sm:flex-row gap-3"> <div class="mt-6 flex flex-col sm:flex-row gap-3">
<Link href="#" class="">Get Started</Link> <Link
href="#"
href="https://web3templates.com/"
target="_blank"
rel="noopener">Get Started</Link
>
<Link <Link
size="lg" size="lg"
style="outline" style="outline"
rel="noopener"
href="https://github.com/surjithctly/astroship" href="https://github.com/surjithctly/astroship"
target="_blank">View Repo</Link target="_blank">View Repo</Link
> >

View File

@@ -0,0 +1,45 @@
---
import { Tick } from "@components/ui/icons";
import Link from "@components/ui/link.astro";
const { plan } = Astro.props;
---
<div>
<div
class="flex flex-col w-full order-first lg:order-none border-2 border-[#D8DEE9] border-opacity-50 py-5 px-6 rounded-md">
<div class="text-center">
<h4 class="text-lg font-medium text-gray-400">{plan.name}</h4><p
class="mt-3 text-4xl font-bold text-black md:text-4xl">
{
plan.price && typeof plan.price === "object"
? plan.price.monthly
: plan.price
}
</p>
<!-- {
plan.price.original && (
<p class="mt-1 text-xl font-medium text-gray-400 line-through md:text-2xl">
{plan.price.original}
</p>
)
} -->
</div><ul class="grid mt-8 text-left gap-y-4">
{
plan.features.map((item) => (
<li class="flex items-start gap-3 text-gray-800">
<Tick class="w-6 h-6" />
<span>{item}</span>
</li>
))
}
</ul><div class="flex mt-8">
<Link
href={plan.button.link || "#"}
block
style={plan.popular ? "primary" : "outline"}>
{plan.button.text || "Get Started"}
</Link>
</div>
</div>
</div>

View File

@@ -1,6 +1,7 @@
--- ---
interface Props { interface Props {
size?: "md" | "lg"; size?: "md" | "lg";
block?: boolean;
style?: "outline" | "primary" | "inverted"; style?: "outline" | "primary" | "inverted";
class?: string; class?: string;
[x: string]: any; [x: string]: any;

View File

@@ -0,0 +1 @@
export { default as Tick } from "./tick.astro";

View File

@@ -0,0 +1,16 @@
---
const { class: className } = Astro.props;
---
<svg
class={className}
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
><circle cx="12" cy="12" r="9" fill="currentColor" fill-opacity=".16"
></circle><path
fill-rule="evenodd"
clip-rule="evenodd"
d="M3.75 12a8.25 8.25 0 0 1 11.916-7.393.75.75 0 1 0 .668-1.343A9.713 9.713 0 0 0 12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75c0-.366-.02-.727-.06-1.082a.75.75 0 1 0-1.49.164A8.25 8.25 0 1 1 3.75 12Zm17.78-6.47a.75.75 0 0 0-1.06-1.06L12 12.94l-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l9-9Z"
fill="currentColor"></path>
</svg>

View File

@@ -1,7 +1,8 @@
--- ---
interface Props { interface Props {
href: string; href: string;
size?: string; size?: "md" | "lg";
block?: boolean;
style?: "outline" | "primary" | "inverted"; style?: "outline" | "primary" | "inverted";
class?: string; class?: string;
[x: string]: any; [x: string]: any;
@@ -9,6 +10,7 @@ interface Props {
const { const {
href, href,
block,
size = "lg", size = "lg",
style = "primary", style = "primary",
class: className, class: className,
@@ -21,9 +23,8 @@ const sizes = {
}; };
const styles = { const styles = {
outline: "border-2 border-black hover:bg-black text-black hover:text-white", outline: "bg-white border-2 border-black hover:bg-gray-100 text-black ",
primary: primary: "bg-black text-white hover:bg-gray-800 border-2 border-transparent",
"bg-black text-white hover:bg-slate-900 border-2 border-transparent",
inverted: "bg-white text-black border-2 border-transparent", inverted: "bg-white text-black border-2 border-transparent",
}; };
--- ---
@@ -33,6 +34,7 @@ const styles = {
{...rest} {...rest}
class:list={[ class:list={[
"rounded text-center transition focus-visible:ring-2 ring-offset-2 ring-gray-200", "rounded text-center transition focus-visible:ring-2 ring-offset-2 ring-gray-200",
block && "w-full",
sizes[size], sizes[size],
styles[style], styles[style],
className, className,

View File

@@ -13,7 +13,8 @@ const { frontmatter } = Astro.props;
<span class="text-blue-400 uppercase tracking-wider text-sm font-medium"> <span class="text-blue-400 uppercase tracking-wider text-sm font-medium">
{frontmatter.category} {frontmatter.category}
</span> </span>
<h1 class="text-4xl lg:text-5xl font-bold lg:tracking-tight mt-1"> <h1
class="text-4xl lg:text-5xl font-bold lg:tracking-tight mt-1 lg:leading-tight">
{frontmatter.title} {frontmatter.title}
</h1> </h1>
<div class="flex gap-2 mt-3 items-center"> <div class="flex gap-2 mt-3 items-center">

View File

@@ -0,0 +1,34 @@
---
title: "The Complete Guide to Full Stack Web Development"
excerpt: "Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti."
publishDate: "2022-11-08T11:39:36.050Z"
image: "https://source.unsplash.com/eYpcLDXHVb0"
category: "Tutorials"
author: "Janette Lynch"
layout: "@layouts/BlogLayout.astro"
tags: [webdev, tailwindcss, frontend]
---
Lorem ipsum dolor sit amet consectetur adipiscing elit euismod rutrum, consequat fringilla ultricies nullam curae mollis semper conubia viverra, orci aenean dapibus pharetra nec tortor tellus cubilia. Ullamcorper mi lectus eu malesuada tempor massa praesent magna mattis posuere, lobortis vulputate ut duis magnis parturient habitant nibh id tristique, quis suspendisse donec nisl penatibus sem non feugiat taciti. Mollis per ridiculus integer cursus semper vestibulum fermentum penatibus cubilia blandit scelerisque, tempus platea leo posuere ac pharetra volutpat aliquet euismod id ullamcorper lobortis, urna est magna mus rhoncus massa curae libero praesent eget. Mattis malesuada vestibulum quis ac nam phasellus suscipit facilisis libero diam posuere, cursus massa vehicula neque imperdiet tincidunt dui egestas lacinia mollis aliquet orci, nisl curabitur dapibus litora dis cum nostra montes ligula praesent. Facilisi aliquam convallis molestie tempor blandit ultricies bibendum parturient cubilia quam, porttitor morbi torquent tempus taciti nec faucibus elementum phasellus, quis inceptos vestibulum gravida augue potenti eget nunc maecenas. Tempor facilisis ligula volutpat habitant consequat inceptos orci per potenti blandit platea, mus sapien eget vel libero vestibulum augue cubilia ut ultrices fringilla lectus, imperdiet pellentesque cum ridiculus convallis sollicitudin nisl interdum semper felis.
Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti augue nulla vivamus senectus odio, quisque curabitur enim consequat class sociis feugiat ullamcorper, felis dis imperdiet cubilia commodo sed massa phasellus. Viverra purus mus nisi condimentum dui vehicula facilisis turpis, habitant nascetur lectus tempor quisque habitasse urna scelerisque, nibh nullam vestibulum luctus aenean mollis metus. Suscipit gravida duis nec aliquet natoque molestie a ridiculus scelerisque cum, justo cursus sapien sodales purus dignissim vel facilisi magnis, inceptos rutrum ut integer auctor commodo sollicitudin fames et. Faucibus ligula nibh sagittis mauris auctor posuere habitant, scelerisque phasellus accumsan egestas gravida viverra nam, sed etiam eleifend proin massa dictumst. Porttitor risus luctus per aenean tellus primis fringilla vitae fames lacinia mauris metus, nec pulvinar quisque commodo sodales ac nibh natoque phasellus semper placerat. Lectus aenean potenti leo sollicitudin tristique eros quam ligula, vestibulum diam consequat enim torquent nec tempus, blandit viverra dapibus eleifend dis nunc nascetur.
## Sodales hendrerit malesuada et vestibulum
- Luctus euismod pretium nisi et, est dui enim.
- Curae eget inceptos malesuada, fermentum class.
- Porttitor vestibulum aliquam porta feugiat velit, potenti eu placerat.
- Ligula lacus tempus ac porta, vel litora.
Torquent non nisi lacinia faucibus nibh tortor taciti commodo porttitor, mus hendrerit id leo scelerisque mollis habitasse orci tristique aptent, lacus at molestie cubilia facilisis porta accumsan condimentum. Metus lacus suscipit porttitor integer facilisi torquent, nostra nulla platea at natoque varius venenatis, id quam pharetra aliquam leo. Dictum orci himenaeos quam mi fusce lacinia maecenas ac magna eleifend laoreet, vivamus enim curabitur ullamcorper est ultrices convallis suscipit nascetur. Ornare fames pretium ante ac eget nisi tellus vivamus, convallis mauris sapien imperdiet sollicitudin aliquet taciti quam, lacinia tempor primis magna iaculis at eu. Est facilisi proin risus eleifend orci torquent ultricies platea, quisque nullam vel porttitor euismod sociis non, maecenas sociosqu interdum arcu sed pharetra potenti. Aliquet risus tempus hendrerit sapien tellus eget cursus enim etiam dui, lobortis nostra pellentesque odio posuere morbi ad neque senectus arcu eu, turpis proin ac felis purus fames magnis dis dignissim.
Orci volutpat augue viverra scelerisque dictumst ut condimentum vivamus, accumsan cum sem sollicitudin aliquet vehicula porta pretium placerat, malesuada euismod primis cubilia rutrum tempus parturient. Urna mauris in nibh morbi hendrerit vulputate condimentum, iaculis consequat porttitor dui dis euismod eros, arcu elementum venenatis varius lectus nisi. Nibh arcu ultrices semper morbi quam aptent quisque porta posuere iaculis, vestibulum cum vitae primis varius natoque conubia eu. Placerat sociis sagittis sociosqu morbi purus lobortis convallis, bibendum tortor ridiculus orci habitasse viverra dictum, quis rutrum fusce potenti volutpat vehicula. Curae porta inceptos lectus mus urna litora semper aliquam libero rutrum sem dui maecenas ligula quis, eget risus non imperdiet cum morbi magnis suspendisse etiam augue porttitor placerat facilisi hendrerit. Et eleifend eget augue duis fringilla sagittis erat est habitasse commodo tristique quisque pretium, suspendisse imperdiet inceptos mollis blandit magna mus elementum molestie sed vestibulum. Euismod morbi hendrerit suscipit felis ornare libero ligula, mus tortor urna interdum blandit nisi netus posuere, purus fermentum magnis nam primis nulla.
## Elementum nisi urna cursus nisl quam ante tristique blandit ultricies eget
Netus at rutrum taciti vestibulum molestie conubia semper class potenti lobortis, hendrerit donec vitae ad libero natoque parturient litora congue. Torquent rhoncus odio cursus iaculis molestie arcu leo condimentum accumsan, laoreet congue duis libero justo tortor commodo fusce, massa eros hac euismod netus sodales mi magnis. Aenean nullam sollicitudin ad velit nulla venenatis suspendisse iaculis, aliquet senectus mollis aptent fringilla volutpat nascetur, nec urna vehicula lacinia neque augue orci. Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur, platea tincidunt ut sollicitudin purus libero lobortis ad nisi diam quam.
Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur.

View File

@@ -0,0 +1,34 @@
---
title: " Introduction to the Essential Data Structures & Algorithms"
excerpt: "Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti."
publishDate: "2022-11-09T16:39:36.050Z"
image: "https://source.unsplash.com/R5A_YlcSJwA"
category: "Courses"
author: "Marcell Ziemann"
layout: "@layouts/BlogLayout.astro"
tags: [webdev, tailwindcss, frontend]
---
Lorem ipsum dolor sit amet consectetur adipiscing elit euismod rutrum, consequat fringilla ultricies nullam curae mollis semper conubia viverra, orci aenean dapibus pharetra nec tortor tellus cubilia. Ullamcorper mi lectus eu malesuada tempor massa praesent magna mattis posuere, lobortis vulputate ut duis magnis parturient habitant nibh id tristique, quis suspendisse donec nisl penatibus sem non feugiat taciti. Mollis per ridiculus integer cursus semper vestibulum fermentum penatibus cubilia blandit scelerisque, tempus platea leo posuere ac pharetra volutpat aliquet euismod id ullamcorper lobortis, urna est magna mus rhoncus massa curae libero praesent eget. Mattis malesuada vestibulum quis ac nam phasellus suscipit facilisis libero diam posuere, cursus massa vehicula neque imperdiet tincidunt dui egestas lacinia mollis aliquet orci, nisl curabitur dapibus litora dis cum nostra montes ligula praesent. Facilisi aliquam convallis molestie tempor blandit ultricies bibendum parturient cubilia quam, porttitor morbi torquent tempus taciti nec faucibus elementum phasellus, quis inceptos vestibulum gravida augue potenti eget nunc maecenas. Tempor facilisis ligula volutpat habitant consequat inceptos orci per potenti blandit platea, mus sapien eget vel libero vestibulum augue cubilia ut ultrices fringilla lectus, imperdiet pellentesque cum ridiculus convallis sollicitudin nisl interdum semper felis.
Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti augue nulla vivamus senectus odio, quisque curabitur enim consequat class sociis feugiat ullamcorper, felis dis imperdiet cubilia commodo sed massa phasellus. Viverra purus mus nisi condimentum dui vehicula facilisis turpis, habitant nascetur lectus tempor quisque habitasse urna scelerisque, nibh nullam vestibulum luctus aenean mollis metus. Suscipit gravida duis nec aliquet natoque molestie a ridiculus scelerisque cum, justo cursus sapien sodales purus dignissim vel facilisi magnis, inceptos rutrum ut integer auctor commodo sollicitudin fames et. Faucibus ligula nibh sagittis mauris auctor posuere habitant, scelerisque phasellus accumsan egestas gravida viverra nam, sed etiam eleifend proin massa dictumst. Porttitor risus luctus per aenean tellus primis fringilla vitae fames lacinia mauris metus, nec pulvinar quisque commodo sodales ac nibh natoque phasellus semper placerat. Lectus aenean potenti leo sollicitudin tristique eros quam ligula, vestibulum diam consequat enim torquent nec tempus, blandit viverra dapibus eleifend dis nunc nascetur.
## Sodales hendrerit malesuada et vestibulum
- Luctus euismod pretium nisi et, est dui enim.
- Curae eget inceptos malesuada, fermentum class.
- Porttitor vestibulum aliquam porta feugiat velit, potenti eu placerat.
- Ligula lacus tempus ac porta, vel litora.
Torquent non nisi lacinia faucibus nibh tortor taciti commodo porttitor, mus hendrerit id leo scelerisque mollis habitasse orci tristique aptent, lacus at molestie cubilia facilisis porta accumsan condimentum. Metus lacus suscipit porttitor integer facilisi torquent, nostra nulla platea at natoque varius venenatis, id quam pharetra aliquam leo. Dictum orci himenaeos quam mi fusce lacinia maecenas ac magna eleifend laoreet, vivamus enim curabitur ullamcorper est ultrices convallis suscipit nascetur. Ornare fames pretium ante ac eget nisi tellus vivamus, convallis mauris sapien imperdiet sollicitudin aliquet taciti quam, lacinia tempor primis magna iaculis at eu. Est facilisi proin risus eleifend orci torquent ultricies platea, quisque nullam vel porttitor euismod sociis non, maecenas sociosqu interdum arcu sed pharetra potenti. Aliquet risus tempus hendrerit sapien tellus eget cursus enim etiam dui, lobortis nostra pellentesque odio posuere morbi ad neque senectus arcu eu, turpis proin ac felis purus fames magnis dis dignissim.
Orci volutpat augue viverra scelerisque dictumst ut condimentum vivamus, accumsan cum sem sollicitudin aliquet vehicula porta pretium placerat, malesuada euismod primis cubilia rutrum tempus parturient. Urna mauris in nibh morbi hendrerit vulputate condimentum, iaculis consequat porttitor dui dis euismod eros, arcu elementum venenatis varius lectus nisi. Nibh arcu ultrices semper morbi quam aptent quisque porta posuere iaculis, vestibulum cum vitae primis varius natoque conubia eu. Placerat sociis sagittis sociosqu morbi purus lobortis convallis, bibendum tortor ridiculus orci habitasse viverra dictum, quis rutrum fusce potenti volutpat vehicula. Curae porta inceptos lectus mus urna litora semper aliquam libero rutrum sem dui maecenas ligula quis, eget risus non imperdiet cum morbi magnis suspendisse etiam augue porttitor placerat facilisi hendrerit. Et eleifend eget augue duis fringilla sagittis erat est habitasse commodo tristique quisque pretium, suspendisse imperdiet inceptos mollis blandit magna mus elementum molestie sed vestibulum. Euismod morbi hendrerit suscipit felis ornare libero ligula, mus tortor urna interdum blandit nisi netus posuere, purus fermentum magnis nam primis nulla.
## Elementum nisi urna cursus nisl quam ante tristique blandit ultricies eget
Netus at rutrum taciti vestibulum molestie conubia semper class potenti lobortis, hendrerit donec vitae ad libero natoque parturient litora congue. Torquent rhoncus odio cursus iaculis molestie arcu leo condimentum accumsan, laoreet congue duis libero justo tortor commodo fusce, massa eros hac euismod netus sodales mi magnis. Aenean nullam sollicitudin ad velit nulla venenatis suspendisse iaculis, aliquet senectus mollis aptent fringilla volutpat nascetur, nec urna vehicula lacinia neque augue orci. Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur, platea tincidunt ut sollicitudin purus libero lobortis ad nisi diam quam.
Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur.

View File

@@ -4,7 +4,7 @@ excerpt: "Sint sit cillum pariatur eiusmod nulla pariatur ipsum. Sit laborum ani
publishDate: "2022-11-05T15:36:19.399Z" publishDate: "2022-11-05T15:36:19.399Z"
category: "Technology" category: "Technology"
layout: "@layouts/BlogLayout.astro" layout: "@layouts/BlogLayout.astro"
image: "https://source.unsplash.com/W_ZYCEUapF0" image: "https://images.unsplash.com/photo-1542393545-10f5cde2c810?&fit=crop&w=430&h=240"
author: "Charles North" author: "Charles North"
tags: [mdx, astro, blog] tags: [mdx, astro, blog]
--- ---

80
src/pages/pricing.astro Normal file
View File

@@ -0,0 +1,80 @@
---
import Layout from "@layouts/Layout.astro";
import Container from "@components/container.astro";
import Sectionhead from "@components/sectionhead.astro";
import Pricing from "@components/pricing.astro";
const pricing = [
{
name: "Personal",
price: "Free",
popular: false,
features: [
"Lifetime free",
"Up to 3 users",
"Unlimited Pages",
"Astro Sub domain",
"Basic Integrations",
"Community Support",
],
button: {
text: "Get Started",
link: "/",
},
},
{
name: "Startup",
price: {
monthly: "$19",
annual: "$16",
discount: "10%",
original: "$24",
},
popular: true,
features: [
"All Free Features",
"Up to 20 users",
"20 Custom domains",
"Unlimited Collaborators",
"Advanced Integrations",
"Priority Support",
],
button: {
text: "Get Started",
link: "#",
},
},
{
name: "Enterprise",
price: "Custom",
popular: false,
features: [
"All Pro Features",
"Unlimited Custom domains",
"99.99% Uptime SLA",
"SAML & SSO Integration",
"Dedicated Account Manager",
"24/7 Phone Support",
],
button: {
text: "Contact us",
link: "/contact",
},
},
];
---
<Layout title="About">
<Container>
<Sectionhead>
<Fragment slot="title">Pricing</Fragment>
<Fragment slot="desc"
>Simple & Predictable pricing. No Surprises.</Fragment
>
</Sectionhead>
<div class="grid md:grid-cols-3 gap-10 mx-auto max-w-screen-lg mt-12">
{pricing.map((item) => <Pricing plan={item} />)}
</div>
</Container>
</Layout>