remove JS

Signed-off-by: Xe Iaso <me@xeiaso.net>
This commit is contained in:
Xe Iaso 2024-09-20 18:05:07 -04:00
parent 5e69e68199
commit 7a60f17f2a
Signed by: xe
SSH Key Fingerprint: SHA256:4VmLEcSFkJqNVktQ6/3CA2uSk8wGZ8VEzLmTQTyjngM
10 changed files with 271 additions and 221 deletions

View File

@ -8,7 +8,7 @@ on:
jobs:
tests:
name: example earthly test
name: Build and deploy
runs-on: ubuntu-latest
env:
EARTHLY_TOKEN: ${{ secrets.EARTHLY_TOKEN }}

View File

@ -1,6 +1,6 @@
import React from "react";
import { User, Award, Globe } from "lucide-react";
import { Button } from "@/components/ui/Button";
import { Button } from "@/components/ui/button";
import { allAuthors } from "@/.content-collections/generated";
import Image from "next/image";
import Link from "next/link";

View File

@ -1,37 +0,0 @@
import ContactForm from "@/components/contact-form";
export const metadata = {
title: "Contact Us",
description: "Need our help? Get in touch!",
};
const ContactPage = () => {
return (
<>
<header className="bg-white shadow">
<div className="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
<h1 className="text-3xl font-bold text-gray-900">Contact Us</h1>
</div>
</header>
<div className="bg-gray-100 mx-auto text-gray-900 px-4 pt-8">
<div className="grid grid-cols-1 gap-8 max-w-3xl mx-auto">
<div className="text-gray-900">
<h2 className="text-xl font-semibold mb-4">Get in Touch</h2>
<p className="mb-4">We would love to hear from you. Please fill out the form below or use our contact information.</p>
<h3 className="text-lg font-semibold mb-2">Contact Information</h3>
<p>Email: sales@techaro.lol</p>
</div>
<div className="pb-4">
<h2 className="text-xl font-semibold mb-4">Contact Form</h2>
<noscript className="my-2">Enable JavaScript to use the contact form. It{"'"}s 2024. Give up.</noscript>
<ContactForm />
</div>
</div>
</div>
</>
);
};
export default ContactPage;

42
app/contact/page.tsx Normal file
View File

@ -0,0 +1,42 @@
import ContactForm from "@/components/contact-form";
export const metadata = {
title: "Contact Us",
description: "Need our help? Get in touch!",
};
const ContactPage = () => {
return (
<>
<header className="bg-white shadow">
<div className="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
<h1 className="text-3xl font-bold text-gray-900">Contact Us</h1>
</div>
</header>
<div className="bg-gray-100 mx-auto text-gray-900 px-4 pt-8">
<div className="grid grid-cols-1 gap-8 max-w-3xl mx-auto">
<div className="text-gray-900">
<h2 className="text-xl font-semibold mb-4">Get in Touch</h2>
<p className="mb-4">
We would love to hear from you. Please fill out the form below or
use our contact information.
</p>
<h3 className="text-lg font-semibold mb-2">Contact Information</h3>
<p>Email: sales@techaro.lol</p>
</div>
<div className="pb-4">
<h2 className="text-xl font-semibold mb-4">Contact Form</h2>
<noscript className="my-2">
Enable JavaScript to use the contact form. It{"'"}s 2024. Give up.
</noscript>
<ContactForm />
</div>
</div>
</div>
</>
);
};
export default ContactPage;

View File

@ -3,7 +3,7 @@ import { Inter, Podkova } from "next/font/google";
import "./globals.css";
import React from "react";
import Link from "next/link";
import { Button } from "@/components/ui/Button";
import { Button } from "@/components/ui/button";
import Head from "next/head";
const inter = Inter({

View File

@ -1,91 +0,0 @@
import React from 'react';
import Link from 'next/link';
import { ChevronRight, Laptop, Users, TrendingUp, Brain } from 'lucide-react';
import { Button } from '@/components/ui/Button';
const HomePage = () => {
return (
<div className="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
<div className="px-4 py-6 sm:px-0">
<div className="text-center">
<h1 className="text-4xl tracking-tight font-extrabold text-gray-900 sm:text-5xl md:text-6xl">
<span className="block">Transform Your Business</span>
<span className="block text-blue-600">with Techaro Computing Canada</span>
</h1>
<p className="mt-3 max-w-md mx-auto text-base text-gray-500 sm:text-lg md:mt-5 md:text-xl md:max-w-3xl">
We help Canadian businesses leverage cutting-edge technology to drive growth, efficiency, and innovation.
</p>
<div className="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8">
<div className="rounded-md shadow">
<Link href="/contact" passHref>
<Button className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 md:py-4 md:text-lg md:px-10">
Get started
<ChevronRight className="ml-2 -mr-1 h-5 w-5" />
</Button>
</Link>
</div>
<div className="mt-3 rounded-md shadow sm:mt-0 sm:ml-3">
<Link href="/services" passHref>
<Button variant="outline" className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-blue-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10">
Learn more
</Button>
</Link>
</div>
</div>
</div>
</div>
<div className="mt-10">
<h2 className="text-2xl font-semibold text-gray-900 text-center">Our Services</h2>
<div className="mt-6 grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3">
{[
{ icon: Laptop, title: "IT Strategy", description: "Align your technology investments with your business goals for maximum impact." },
{ icon: Users, title: "Digital Transformation", description: "Modernize your operations and customer experiences with cutting-edge digital solutions." },
{ icon: TrendingUp, title: "Data Analytics", description: "Unlock the power of your data to drive informed decision-making and business growth." }
].map((service, index) => (
<div key={index} className="pt-6">
<div className="flow-root bg-white rounded-lg px-6 pb-8">
<div className="-mt-6">
<div>
<span className="inline-flex items-center justify-center p-3 bg-blue-500 rounded-md shadow-lg">
<service.icon className="h-6 w-6 text-white" />
</span>
</div>
<h3 className="mt-8 text-lg font-medium text-gray-900 tracking-tight">{service.title}</h3>
<p className="mt-5 text-base text-gray-500">{service.description}</p>
</div>
</div>
</div>
))}
</div>
</div>
<div className="mt-16 bg-blue-700 rounded-lg shadow-xl overflow-hidden lg:grid lg:grid-cols-2 lg:gap-4">
<div className="pt-10 pb-12 px-6 sm:pt-16 sm:px-16 lg:py-16 lg:pr-0 xl:py-20 xl:px-20">
<div className="lg:self-center">
<h2 className="text-3xl font-extrabold text-white sm:text-4xl">
<span className="block">Transform Your Business</span>
<span className="block">with Industry-Leading AI Tools</span>
</h2>
<p className="mt-4 text-lg leading-6 text-blue-200">
At Techaro Computing Canada, we offer transformational experiences by leveraging cutting-edge AI technologies. Our solutions empower your business to stay ahead in the rapidly evolving digital landscape.
</p>
<Link href="/services#ai" passHref>
<Button className="mt-8 bg-white border border-transparent rounded-md shadow px-5 py-3 inline-flex items-center text-base font-medium text-blue-600 hover:bg-blue-50">
Learn about our AI solutions
</Button>
</Link>
</div>
</div>
<div className="relative -mt-6 aspect-w-5 aspect-h-3 md:aspect-w-2 md:aspect-h-1">
<div className="absolute inset-0 flex items-center justify-center">
<Brain className="h-48 w-48 text-blue-100" />
</div>
<div className="absolute inset-0 bg-blue-600 opacity-25"></div>
</div>
</div>
</div>
);
};
export default HomePage;

121
app/page.tsx Normal file
View File

@ -0,0 +1,121 @@
import React from "react";
import Link from "next/link";
import { ChevronRight, Laptop, Users, TrendingUp, Brain } from "lucide-react";
import { Button } from "@/components/button";
const HomePage = () => {
return (
<div className="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
<div className="px-4 py-6 sm:px-0">
<div className="text-center">
<h1 className="text-4xl tracking-tight font-extrabold text-gray-900 sm:text-5xl md:text-6xl">
<span className="block">Transform Your Business</span>
<span className="block text-blue-600">
with Techaro Computing Canada
</span>
</h1>
<p className="mt-3 max-w-md mx-auto text-base text-gray-500 sm:text-lg md:mt-5 md:text-xl md:max-w-3xl">
We help Canadian businesses leverage cutting-edge technology to
drive growth, efficiency, and innovation.
</p>
<div className="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8">
<div className="rounded-md shadow">
<Link href="/contact" passHref>
<Button className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 md:py-4 md:text-lg md:px-10">
Get started
<ChevronRight className="ml-2 -mr-1 h-5 w-5" />
</Button>
</Link>
</div>
<div className="mt-3 rounded-md shadow sm:mt-0 sm:ml-3">
<Link href="/services" passHref>
<Button
variant="outline"
className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-blue-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10"
>
Learn more
</Button>
</Link>
</div>
</div>
</div>
</div>
<div className="mt-10">
<h2 className="text-2xl font-semibold text-gray-900 text-center">
Our Services
</h2>
<div className="mt-6 grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3">
{[
{
icon: Laptop,
title: "IT Strategy",
description:
"Align your technology investments with your business goals for maximum impact.",
},
{
icon: Users,
title: "Digital Transformation",
description:
"Modernize your operations and customer experiences with cutting-edge digital solutions.",
},
{
icon: TrendingUp,
title: "Data Analytics",
description:
"Unlock the power of your data to drive informed decision-making and business growth.",
},
].map((service, index) => (
<div key={index} className="pt-6">
<div className="flow-root bg-white rounded-lg px-6 pb-8">
<div className="-mt-6">
<div>
<span className="inline-flex items-center justify-center p-3 bg-blue-500 rounded-md shadow-lg">
<service.icon className="h-6 w-6 text-white" />
</span>
</div>
<h3 className="mt-8 text-lg font-medium text-gray-900 tracking-tight">
{service.title}
</h3>
<p className="mt-5 text-base text-gray-500">
{service.description}
</p>
</div>
</div>
</div>
))}
</div>
</div>
<div className="mt-16 bg-blue-700 rounded-lg shadow-xl overflow-hidden lg:grid lg:grid-cols-2 lg:gap-4">
<div className="pt-10 pb-12 px-6 sm:pt-16 sm:px-16 lg:py-16 lg:pr-0 xl:py-20 xl:px-20">
<div className="lg:self-center">
<h2 className="text-3xl font-extrabold text-white sm:text-4xl">
<span className="block">Transform Your Business</span>
<span className="block">with Industry-Leading AI Tools</span>
</h2>
<p className="mt-4 text-lg leading-6 text-blue-200">
At Techaro Computing Canada, we offer transformational experiences
by leveraging cutting-edge AI technologies. Our solutions empower
your business to stay ahead in the rapidly evolving digital
landscape.
</p>
<Link href="/services#ai" passHref>
<Button className="mt-8 bg-white border border-transparent rounded-md shadow px-5 py-3 inline-flex items-center text-base font-medium text-blue-600 hover:bg-blue-50">
Learn about our AI solutions
</Button>
</Link>
</div>
</div>
<div className="relative -mt-6 aspect-w-5 aspect-h-3 md:aspect-w-2 md:aspect-h-1">
<div className="absolute inset-0 flex items-center justify-center">
<Brain className="h-48 w-48 text-blue-100" />
</div>
<div className="absolute inset-0 bg-blue-600 opacity-25"></div>
</div>
</div>
</div>
);
};
export default HomePage;

View File

@ -1,90 +0,0 @@
import React from 'react';
import Link from 'next/link';
import { Cpu, Database, Cloud, Shield, Users, TrendingUp } from 'lucide-react';
import { Button } from '@/components/ui/Button';
export const metadata = {
title: "Services",
description: "Sample everything that Techaro has to offer"
};
const ServiceCard = ({ icon: Icon, title, description }) => (
<div className="bg-white overflow-hidden shadow rounded-lg">
<div className="px-4 py-5 sm:p-6">
<Icon className="h-8 w-8 text-blue-500 mb-4" />
<h3 className="text-lg font-medium text-gray-900">{title}</h3>
<p className="mt-2 text-base text-gray-500">{description}</p>
</div>
</div>
);
const ServicesPage = () => {
const services = [
{
icon: Cpu,
title: "AI and Machine Learning",
description: "Leverage cutting-edge AI technologies to automate processes, gain insights, and drive innovation in your business."
},
{
icon: Database,
title: "Data Analytics",
description: "Transform your raw data into actionable insights with our advanced analytics solutions."
},
{
icon: Cloud,
title: "Cloud Migration",
description: "Seamlessly transition your infrastructure and applications to the cloud for improved scalability and efficiency."
},
{
icon: Shield,
title: "Cybersecurity",
description: "Protect your digital assets with our comprehensive cybersecurity services and solutions."
},
{
icon: Users,
title: "Digital Transformation",
description: "Modernize your business processes and customer experiences with our digital transformation strategies."
},
{
icon: TrendingUp,
title: "IT Strategy Consulting",
description: "Align your technology investments with your business goals to maximize ROI and drive growth."
}
];
return (
<div className="bg-gray-100 min-h-screen">
<header className="bg-white shadow">
<div className="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
<h1 className="text-3xl font-bold text-gray-900">Our Services</h1>
</div>
</header>
<div className="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
<div className="px-4 py-6 sm:px-0">
<div className="text-center mb-12">
<h2 className="text-3xl font-extrabold text-gray-900 sm:text-4xl">
Comprehensive IT Solutions for Canadian Businesses
</h2>
<p className="mt-4 text-xl text-gray-500">
At Techaro Computing Canada, we offer a wide range of services to help your business thrive in the digital age.
</p>
</div>
<div className="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
{services.map((service, index) => (
<ServiceCard key={index} {...service} />
))}
</div>
<div className="mt-12 text-center">
<Link href="/contact" passHref>
<Button className="px-6 py-3 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition duration-300">
Contact Us for a Consultation
</Button>
</Link>
</div>
</div>
</div>
</div>
);
};
export default ServicesPage;

105
app/services/page.tsx Normal file
View File

@ -0,0 +1,105 @@
import React from "react";
import Link from "next/link";
import { Cpu, Database, Cloud, Shield, Users, TrendingUp } from "lucide-react";
import { Button } from "@/components/button";
export const metadata = {
title: "Services",
description: "Sample everything that Techaro has to offer",
};
const ServiceCard = ({
icon: Icon,
title,
description,
}: {
icon: any;
title: string;
description: string;
}) => (
<div className="bg-white overflow-hidden shadow rounded-lg">
<div className="px-4 py-5 sm:p-6">
<Icon className="h-8 w-8 text-blue-500 mb-4" />
<h3 className="text-lg font-medium text-gray-900">{title}</h3>
<p className="mt-2 text-base text-gray-500">{description}</p>
</div>
</div>
);
const ServicesPage = () => {
const services = [
{
icon: Cpu,
title: "AI and Machine Learning",
description:
"Leverage cutting-edge AI technologies to automate processes, gain insights, and drive innovation in your business.",
},
{
icon: Database,
title: "Data Analytics",
description:
"Transform your raw data into actionable insights with our advanced analytics solutions.",
},
{
icon: Cloud,
title: "Cloud Migration",
description:
"Seamlessly transition your infrastructure and applications to the cloud for improved scalability and efficiency.",
},
{
icon: Shield,
title: "Cybersecurity",
description:
"Protect your digital assets with our comprehensive cybersecurity services and solutions.",
},
{
icon: Users,
title: "Digital Transformation",
description:
"Modernize your business processes and customer experiences with our digital transformation strategies.",
},
{
icon: TrendingUp,
title: "IT Strategy Consulting",
description:
"Align your technology investments with your business goals to maximize ROI and drive growth.",
},
];
return (
<div className="bg-gray-100 min-h-screen">
<header className="bg-white shadow">
<div className="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
<h1 className="text-3xl font-bold text-gray-900">Our Services</h1>
</div>
</header>
<div className="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
<div className="px-4 py-6 sm:px-0">
<div className="text-center mb-12">
<h2 className="text-3xl font-extrabold text-gray-900 sm:text-4xl">
Comprehensive IT Solutions for Canadian Businesses
</h2>
<p className="mt-4 text-xl text-gray-500">
At Techaro Computing Canada, we offer a wide range of services to
help your business thrive in the digital age.
</p>
</div>
<div className="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
{services.map((service, index) => (
<ServiceCard key={index} {...service} />
))}
</div>
<div className="mt-12 text-center">
<Link href="/contact" passHref>
<Button className="px-6 py-3 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition duration-300">
Contact Us for a Consultation
</Button>
</Link>
</div>
</div>
</div>
</div>
);
};
export default ServicesPage;