This commit is contained in:
@ -61,16 +61,18 @@ ${message()}`,
|
||||
};
|
||||
|
||||
return (
|
||||
<form class="space-y-6" onSubmit={handleSubmit}>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<form class="space-y-4 lg:space-y-6" onSubmit={handleSubmit}>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-3 lg:gap-4">
|
||||
<div class="form-control">
|
||||
<label class="label">
|
||||
<span class="label-text font-semibold">First Name *</span>
|
||||
<span class="label-text font-semibold text-sm lg:text-base">
|
||||
First Name *
|
||||
</span>
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
name="firstName"
|
||||
class="input input-bordered w-full"
|
||||
class="input input-bordered input-sm lg:input-md w-full"
|
||||
required
|
||||
value={firstName()}
|
||||
onInput={(e) => setFirstName(e.currentTarget.value)}
|
||||
@ -79,12 +81,14 @@ ${message()}`,
|
||||
</div>
|
||||
<div class="form-control">
|
||||
<label class="label">
|
||||
<span class="label-text font-semibold">Last Name *</span>
|
||||
<span class="label-text font-semibold text-sm lg:text-base">
|
||||
Last Name *
|
||||
</span>
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
name="lastName"
|
||||
class="input input-bordered w-full"
|
||||
class="input input-bordered input-sm lg:input-md w-full"
|
||||
required
|
||||
value={lastName()}
|
||||
onInput={(e) => setLastName(e.currentTarget.value)}
|
||||
@ -95,12 +99,14 @@ ${message()}`,
|
||||
|
||||
<div class="form-control">
|
||||
<label class="label">
|
||||
<span class="label-text font-semibold">Email Address *</span>
|
||||
<span class="label-text font-semibold text-sm lg:text-base">
|
||||
Email Address *
|
||||
</span>
|
||||
</label>
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
class="input input-bordered w-full"
|
||||
class="input input-bordered input-sm lg:input-md w-full"
|
||||
required
|
||||
value={email()}
|
||||
onInput={(e) => setEmail(e.currentTarget.value)}
|
||||
@ -110,12 +116,14 @@ ${message()}`,
|
||||
|
||||
<div class="form-control">
|
||||
<label class="label">
|
||||
<span class="label-text font-semibold">Company</span>
|
||||
<span class="label-text font-semibold text-sm lg:text-base">
|
||||
Company
|
||||
</span>
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
name="company"
|
||||
class="input input-bordered w-full"
|
||||
class="input input-bordered input-sm lg:input-md w-full"
|
||||
value={company()}
|
||||
onInput={(e) => setCompany(e.currentTarget.value)}
|
||||
disabled={status() === "sending"}
|
||||
@ -124,11 +132,13 @@ ${message()}`,
|
||||
|
||||
<div class="form-control">
|
||||
<label class="label">
|
||||
<span class="label-text font-semibold">Service Needed</span>
|
||||
<span class="label-text font-semibold text-sm lg:text-base">
|
||||
Service Needed
|
||||
</span>
|
||||
</label>
|
||||
<select
|
||||
name="service"
|
||||
class="select select-bordered w-full"
|
||||
class="select select-bordered select-sm lg:select-md w-full"
|
||||
value={service()}
|
||||
onChange={(e) => setService(e.currentTarget.value)}
|
||||
disabled={status() === "sending"}
|
||||
@ -144,11 +154,13 @@ ${message()}`,
|
||||
|
||||
<div class="form-control">
|
||||
<label class="label">
|
||||
<span class="label-text font-semibold">Project Budget</span>
|
||||
<span class="label-text font-semibold text-sm lg:text-base">
|
||||
Project Budget
|
||||
</span>
|
||||
</label>
|
||||
<select
|
||||
name="budget"
|
||||
class="select select-bordered w-full"
|
||||
class="select select-bordered select-sm lg:select-md w-full"
|
||||
value={budget()}
|
||||
onChange={(e) => setBudget(e.currentTarget.value)}
|
||||
disabled={status() === "sending"}
|
||||
@ -163,12 +175,14 @@ ${message()}`,
|
||||
|
||||
<div class="form-control">
|
||||
<label class="label" for="project-details">
|
||||
<span class="label-text font-semibold">Project Details *</span>
|
||||
<span class="label-text font-semibold text-sm lg:text-base">
|
||||
Project Details *
|
||||
</span>
|
||||
</label>
|
||||
<textarea
|
||||
id="project-details"
|
||||
name="message"
|
||||
class="textarea textarea-bordered h-32 w-full resize-none"
|
||||
class="textarea textarea-bordered textarea-sm lg:textarea-md h-24 lg:h-32 w-full resize-none"
|
||||
placeholder="Tell us about your project requirements, timeline, and any specific needs..."
|
||||
required
|
||||
value={message()}
|
||||
@ -217,10 +231,10 @@ ${message()}`,
|
||||
</div>
|
||||
</Show>
|
||||
|
||||
<div class="form-control pt-4">
|
||||
<div class="form-control pt-2 lg:pt-4">
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-primary btn-lg w-full"
|
||||
class="btn btn-primary btn-md lg:btn-lg w-full"
|
||||
disabled={status() === "sending"}
|
||||
>
|
||||
{status() === "sending" ? (
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
import Footer from "../components/Footer.astro";
|
||||
import { siteConfig } from "../config/site";
|
||||
import "./src/styles/global.css";
|
||||
import "../styles/global.css";
|
||||
|
||||
interface Props {
|
||||
title?: string;
|
||||
@ -16,7 +16,7 @@ const metaTitle =
|
||||
---
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en" data-theme="sunset">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
|
@ -11,47 +11,66 @@ const pageMetaInfo = {
|
||||
|
||||
<Layout title={pageMetaInfo.title} description={pageMetaInfo.description}>
|
||||
<!-- Hero Section -->
|
||||
<section
|
||||
class="hero min-h-[60vh] bg-gradient-to-br from-primary to-primary-focus"
|
||||
<section class="py-8 lg:py-16">
|
||||
<div class="max-w-6xl mx-auto px-4">
|
||||
<div
|
||||
class="hero bg-gradient-to-br from-primary to-secondary rounded-xl lg:rounded-2xl"
|
||||
>
|
||||
<div class="hero-content text-center text-primary-content">
|
||||
<div class="max-w-4xl">
|
||||
<h1 class="text-5xl font-bold mb-6 leading-tight">
|
||||
{siteConfig.name}
|
||||
<div
|
||||
class="hero-content text-center text-primary-content py-8 lg:py-16 px-4"
|
||||
>
|
||||
<div class="max-w-4xl w-full">
|
||||
<h1
|
||||
class="text-3xl sm:text-4xl lg:text-5xl font-bold mb-4 lg:mb-6 leading-tight"
|
||||
>
|
||||
Professional Software Solutions
|
||||
</h1>
|
||||
<p
|
||||
class="text-xl mb-8 opacity-90 max-w-2xl mx-auto leading-relaxed"
|
||||
class="text-base sm:text-lg lg:text-xl mb-6 lg:mb-8 opacity-90 max-w-2xl mx-auto leading-relaxed"
|
||||
>
|
||||
{siteConfig.hero.description} — Delivering reliable, scalable
|
||||
solutions tailored to your business needs.
|
||||
{siteConfig.hero.description} — Delivering reliable,
|
||||
scalable solutions tailored to your business needs.
|
||||
</p>
|
||||
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
||||
<a href="#contact" class="btn btn-secondary btn-lg">
|
||||
<div
|
||||
class="flex flex-col sm:flex-row gap-3 lg:gap-4 justify-center"
|
||||
>
|
||||
<a
|
||||
href="#contact"
|
||||
class="btn btn-secondary btn-md lg:btn-lg text-white border-white"
|
||||
>
|
||||
Start Your Project
|
||||
</a>
|
||||
<a
|
||||
href="#services"
|
||||
class="btn btn-outline btn-lg text-white border-white hover:bg-white hover:text-primary"
|
||||
class="btn btn-secondary btn-md lg:btn-lg text-white border-white"
|
||||
>
|
||||
View Services
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="max-w-6xl mx-auto px-4 py-16">
|
||||
<div class="max-w-6xl mx-auto px-4">
|
||||
<!-- Services Grid -->
|
||||
<section id="services" class="mb-20">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-4xl font-bold mb-4">Our Services</h2>
|
||||
<p class="text-lg text-base-content/70 max-w-2xl mx-auto">
|
||||
Comprehensive solutions designed to drive your business
|
||||
forward
|
||||
<section id="services" class="mb-16 lg:mb-20">
|
||||
<div class="text-center mb-8 lg:mb-12">
|
||||
<h2
|
||||
class="text-2xl sm:text-3xl lg:text-4xl font-bold mb-3 lg:mb-4"
|
||||
>
|
||||
Our Services
|
||||
</h2>
|
||||
<p
|
||||
class="text-base lg:text-lg text-base-content/70 max-w-2xl mx-auto px-4"
|
||||
>
|
||||
Comprehensive software solutions designed to drive your
|
||||
business forward
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 lg:gap-6">
|
||||
{
|
||||
siteConfig.featureCards.cards.map((card, index) => (
|
||||
<div class="card bg-base-100 shadow-lg hover:shadow-xl transition-all duration-300 border border-base-200">
|
||||
@ -153,21 +172,25 @@ const pageMetaInfo = {
|
||||
</section>
|
||||
|
||||
<!-- About Section -->
|
||||
<section class="mb-20">
|
||||
<div class="hero bg-base-200 rounded-2xl">
|
||||
<div class="hero-content text-center py-16">
|
||||
<div class="max-w-3xl">
|
||||
<h2 class="text-3xl font-bold mb-6">
|
||||
<section class="mb-16 lg:mb-20">
|
||||
<div class="hero bg-base-200 rounded-xl lg:rounded-2xl">
|
||||
<div class="hero-content text-center py-12 lg:py-16 px-4">
|
||||
<div class="max-w-3xl w-full">
|
||||
<h2 class="text-2xl sm:text-3xl font-bold mb-4 lg:mb-6">
|
||||
Why Choose Atash Consulting?
|
||||
</h2>
|
||||
<p
|
||||
class="text-lg mb-8 text-base-content/80 leading-relaxed"
|
||||
class="text-base lg:text-lg mb-6 lg:mb-8 text-base-content/80 leading-relaxed"
|
||||
>
|
||||
With over a decade of experience in the software
|
||||
industry, we bring deep technical expertise and a
|
||||
commitment to excellence to every project.
|
||||
commitment to excellence to every project. From
|
||||
initial consultation to final deployment, we're your
|
||||
trusted partner in digital transformation.
|
||||
</p>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mt-8">
|
||||
<div
|
||||
class="grid grid-cols-1 md:grid-cols-3 gap-4 lg:gap-6 mt-6 lg:mt-8"
|
||||
>
|
||||
<div class="text-center">
|
||||
<div
|
||||
class="w-16 h-16 bg-primary rounded-full flex items-center justify-center mx-auto mb-4"
|
||||
@ -222,7 +245,7 @@ const pageMetaInfo = {
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<div
|
||||
class="w-16 h-16 bg-accent rounded-full flex items-center justify-center mx-auto mb-4"
|
||||
class="w-16 h-16 bg-primary rounded-full flex items-center justify-center mx-auto mb-4"
|
||||
>
|
||||
<svg
|
||||
class="w-8 h-8 text-accent-content"
|
||||
@ -252,10 +275,16 @@ const pageMetaInfo = {
|
||||
</section>
|
||||
|
||||
<!-- Contact Section -->
|
||||
<section id="contact" class="mb-20">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-4xl font-bold mb-4">Get In Touch</h2>
|
||||
<p class="text-lg text-base-content/70 max-w-2xl mx-auto">
|
||||
<section id="contact" class="mb-16 lg:mb-20">
|
||||
<div class="text-center mb-8 lg:mb-12">
|
||||
<h2
|
||||
class="text-2xl sm:text-3xl lg:text-4xl font-bold mb-3 lg:mb-4"
|
||||
>
|
||||
Get In Touch
|
||||
</h2>
|
||||
<p
|
||||
class="text-base lg:text-lg text-base-content/70 max-w-2xl mx-auto px-4"
|
||||
>
|
||||
Ready to start your project? Let's discuss how we can help
|
||||
transform your ideas into robust, scalable software
|
||||
solutions.
|
||||
|
@ -2,36 +2,36 @@
|
||||
@plugin "daisyui";
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "sunset";
|
||||
default: false;
|
||||
name: "nope";
|
||||
default: true;
|
||||
prefersdark: false;
|
||||
color-scheme: "dark";
|
||||
--color-base-100: oklch(22% 0.019 237.69);
|
||||
--color-base-200: oklch(20% 0.019 237.69);
|
||||
--color-base-300: oklch(18% 0.019 237.69);
|
||||
--color-base-content: oklch(77.383% 0.043 245.096);
|
||||
--color-primary: oklch(74.703% 0.158 39.947);
|
||||
--color-primary-content: oklch(14.94% 0.031 39.947);
|
||||
--color-secondary: oklch(72.537% 0.177 2.72);
|
||||
--color-secondary-content: oklch(14.507% 0.035 2.72);
|
||||
--color-accent: oklch(71.294% 0.166 299.844);
|
||||
--color-accent-content: oklch(14.258% 0.033 299.844);
|
||||
--color-neutral: oklch(26% 0.019 237.69);
|
||||
--color-neutral-content: oklch(70% 0.019 237.69);
|
||||
--color-info: oklch(85.559% 0.085 206.015);
|
||||
--color-info-content: oklch(17.111% 0.017 206.015);
|
||||
--color-success: oklch(85.56% 0.085 144.778);
|
||||
--color-success-content: oklch(17.112% 0.017 144.778);
|
||||
--color-warning: oklch(85.569% 0.084 74.427);
|
||||
--color-warning-content: oklch(17.113% 0.016 74.427);
|
||||
--color-error: oklch(85.511% 0.078 16.886);
|
||||
--color-error-content: oklch(17.102% 0.015 16.886);
|
||||
color-scheme: "light";
|
||||
--color-base-100: oklch(98% 0 0);
|
||||
--color-base-200: oklch(95% 0 0);
|
||||
--color-base-300: oklch(91% 0 0);
|
||||
--color-base-content: oklch(0% 0 0);
|
||||
--color-primary: oklch(74% 0.16 232.661);
|
||||
--color-primary-content: oklch(0% 0 0);
|
||||
--color-secondary: oklch(50% 0.134 242.749);
|
||||
--color-secondary-content: oklch(98% 0.003 247.858);
|
||||
--color-accent: oklch(90% 0.058 230.902);
|
||||
--color-accent-content: oklch(18.556% 0.052 122.962);
|
||||
--color-neutral: oklch(42% 0.199 265.638);
|
||||
--color-neutral-content: oklch(84.262% 0.025 278.68);
|
||||
--color-info: oklch(60.72% 0.227 252.05);
|
||||
--color-info-content: oklch(12.144% 0.045 252.05);
|
||||
--color-success: oklch(85.72% 0.266 158.53);
|
||||
--color-success-content: oklch(17.144% 0.053 158.53);
|
||||
--color-warning: oklch(91.01% 0.212 100.5);
|
||||
--color-warning-content: oklch(18.202% 0.042 100.5);
|
||||
--color-error: oklch(64.84% 0.293 29.349);
|
||||
--color-error-content: oklch(12.968% 0.058 29.349);
|
||||
--radius-selector: 1rem;
|
||||
--radius-field: 0.5rem;
|
||||
--radius-field: 1rem;
|
||||
--radius-box: 1rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 0;
|
||||
--depth: 1;
|
||||
--noise: 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user