content writing

This commit is contained in:
isaconantonis 2023-08-25 13:15:58 +02:00
parent df83c9d3f0
commit 537ac284a1
13 changed files with 104 additions and 108 deletions

View file

@ -1,34 +1,37 @@
const people = [
{
name: "Jane Cooper",
role: "Paradigm Representative",
imageUrl:
"https://images.unsplash.com/photo-1519345182560-3f2917c472ef?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=8&w=1024&h=1024&q=80",
linkedinUrl: "#",
name: "Sam Antonis",
role: "Lead Developer",
imageUrl: "/Sam.jpg",
linkedinUrl: "https://www.linkedin.com/in/sam-antonis-296144186/",
},
{
name: "Jane Cooper",
role: "Paradigm Representative",
name: "Nick Eliaerts",
role: "Junior Developer",
imageUrl:
"https://images.unsplash.com/photo-1519345182560-3f2917c472ef?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=8&w=1024&h=1024&q=80",
linkedinUrl: "#",
linkedinUrl: "https://www.linkedin.com/in/nick-eliaerts-76b8574a/",
},
{
name: "Jane Cooper",
role: "Paradigm Representative",
imageUrl:
"https://images.unsplash.com/photo-1519345182560-3f2917c472ef?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=8&w=1024&h=1024&q=80",
linkedinUrl: "#",
name: "Britt Van Damme",
role: "Ecommerce Specialist",
imageUrl: "/Britt.jpg",
linkedinUrl: "https://www.linkedin.com/in/britt-van-damme/",
},
{
name: "Silke Joosens",
role: "Designer",
imageUrl: "/Silke.jpg",
linkedinUrl: "https://www.linkedin.com/in/silkejoosens/",
},
]
export default async function About() {
return (
<section>
<div className="mx-auto grid max-w-screen-xl px-4 py-8 text-center lg:py-16">
<div className="p-2 mx-auto grid max-w-screen-xl text-center">
<div className="mx-auto place-self-center">
{" "}
<div className="py-24 sm:py-32">
<div className="pb-4 pt-24">
<div className="mx-auto max-w-7xl px-6 text-center lg:px-8">
<div className="mx-auto max-w-2xl">
<h2 className="text-3xl font-bold tracking-tight text-primary-800 sm:text-4xl">Meet our team</h2>
@ -38,18 +41,16 @@ export default async function About() {
</div>
<ul
role="list"
className="mx-auto mt-20 grid max-w-2xl grid-cols-1 gap-6 sm:grid-cols-2 lg:mx-0 lg:max-w-none lg:grid-cols-3 lg:gap-8"
className="l mx-auto mt-20 grid max-w-2xl grid-cols-1 gap-6 sm:grid-cols-2 lg:mx-0 lg:max-w-none lg:grid-cols-4 lg:gap-8"
>
{people.map((person) => (
<li key={person.name} className="rounded-2xl bg-primary-800 px-8 py-10">
<img className="mx-auto h-48 w-48 rounded-full md:h-56 md:w-56" src={person.imageUrl} alt="" />
<h3 className="mt-6 text-base font-semibold leading-7 tracking-tight text-primary-50">
{person.name}
</h3>
<p className="text-sm leading-6 text-primary-50">{person.role}</p>
{people.map(({ name, imageUrl, role, linkedinUrl }) => (
<li key={name} className="rounded-2xl bg-primary-800 px-8 py-10">
<img className="mx-auto h-48 w-48 rounded-full md:h-56 md:w-56" src={imageUrl} alt={name} />
<h3 className="mt-6 text-base font-semibold leading-7 tracking-tight text-primary-50">{name}</h3>
<p className="text-sm leading-6 text-primary-50">{role}</p>
<ul role="list" className="mt-6 flex justify-center gap-x-6">
<li>
<a href={person.linkedinUrl} className="text-primary-50 hover:text-primary-50">
<a href={linkedinUrl} className="text-primary-50 hover:text-primary-50">
<span className="sr-only">LinkedIn</span>
<svg className="h-5 w-5" aria-hidden="true" fill="currentColor" viewBox="0 0 20 20">
<path

View file

@ -1,27 +0,0 @@
import { OpenAIStream, StreamingTextResponse } from 'ai'
import { Configuration, OpenAIApi } from 'openai-edge'
// Create an OpenAI API client (that's edge friendly!)
const config = new Configuration({
apiKey: process.env.OPENAI_API_KEY
})
const openai = new OpenAIApi(config)
// IMPORTANT! Set the runtime to edge
export const runtime = 'edge'
export async function POST(req: Request) {
// Extract the `messages` from the body of the request
const { messages } = await req.json()
// Ask OpenAI for a streaming chat completion given the prompt
const response = await openai.createChatCompletion({
model: 'gpt-3.5-turbo',
stream: true,
messages
})
// Convert the response into a friendly text-stream
const stream = OpenAIStream(response)
// Respond with the stream
return new StreamingTextResponse(stream)
}

View file

@ -38,9 +38,9 @@ export default function Contact() {
<BuildingOffice2Icon className="h-7 w-6 text-primary-800" aria-hidden="true" />
</dt>
<dd>
Ticheltij 16
Kammenstraat 57
<br />
Westmalle, 2390, Antwerpen
2000, Antwerpen
</dd>
</div>
<div className="flex gap-x-4">

View file

@ -35,7 +35,7 @@ export default function RootLayout({
<NextUiProvider>
<div className="flex min-h-screen flex-col justify-between bg-primary-50">
<Navbar />
<main className="mb-auto h-auto">{children}</main>
<main className="mb-auto h-[calc(100%-160px)]">{children}</main>
<Footer />
</div>
</NextUiProvider>

View file

@ -3,7 +3,7 @@ import Link from "next/link"
export default async function Web() {
return (
<section>
<div className="mx-auto grid max-w-screen-xl px-4 py-8 text-center lg:py-16">
<div className="mx-auto grid max-w-screen-xl p-2 pt-8 text-center">
<div className="mx-auto place-self-center">
<div className="relative">
<div className="mx-auto max-w-7xl lg:grid lg:grid-cols-12 lg:gap-x-8 lg:px-8">

View file

@ -1,22 +0,0 @@
import { getProjects } from "../actions"
export default async function Projects() {
const projects = await getProjects()
return (
<section>
<div className="mx-auto grid max-w-screen-xl px-4 py-8 text-center lg:py-16">
<div className="mx-auto place-self-center">
{projects.map((project) => (
<div
key={project.id}
className="mb-4 max-w-2xl text-4xl font-extrabold leading-none tracking-tight md:text-5xl xl:text-6xl"
>
{project.name}
</div>
))}
</div>
</div>
</section>
)
}

59
app/services/page.tsx Normal file
View file

@ -0,0 +1,59 @@
import { BuildingStorefrontIcon, CloudArrowUpIcon, LightBulbIcon, PaintBrushIcon } from "@heroicons/react/24/solid"
const features = [
{
name: "Web & E-commerce",
description:
"Elevating businesses online with tailored solutions from basic websites to full custom E-commerce stores and expert Shopify development.",
icon: BuildingStorefrontIcon,
},
{
name: "Branding & design",
description: "Crafting captivating identities through design, our services breathe life into brands.",
icon: PaintBrushIcon,
},
{
name: "Cloud based setup",
description: "Taking software to new heights by placing it all on the cloud's limitless expanse.",
icon: CloudArrowUpIcon,
},
{
name: "Your idea here",
description:
"Experience a warm welcome at our place, savor a cup of coffee, and share your vision – together, we'll uncover the perfect solution for you",
icon: LightBulbIcon,
},
]
export default async function Projects() {
return (
<section>
<div className="mx-auto grid max-w-screen-xl p-4 text-center">
<div className="mx-auto place-self-center">
<div className="pb-4 pt-24">
<div className="mx-auto max-w-7xl px-6 lg:px-8">
<div className="mx-auto max-w-2xl lg:text-center">
<p className="mt-2 text-3xl font-bold tracking-tight text-primary-800 sm:text-4xl">
Everything to build your online presence
</p>
</div>
<div className="mx-auto mt-16 max-w-2xl sm:mt-20 lg:mt-24 lg:max-w-4xl">
<dl className="grid max-w-xl grid-cols-1 gap-x-8 gap-y-10 lg:max-w-none lg:grid-cols-2 lg:gap-y-16">
{features.map((feature) => (
<div key={feature.name} className="relative flex flex-col pl-16">
<div className="mx-auto mb-4 flex h-10 w-10 items-center justify-center rounded-lg bg-primary-800">
<feature.icon className="h-6 w-6 text-white" aria-hidden="true" />
</div>
<dt className="text-base font-semibold leading-7 text-primary-800">{feature.name}</dt>
<dd className="mt-2 text-base leading-7 text-primary-800">{feature.description}</dd>
</div>
))}
</dl>
</div>
</div>
</div>
</div>
</div>
</section>
)
}