Fix
All checks were successful
Docker Deploy / build-and-push (push) Successful in 3m0s

This commit is contained in:
2025-06-18 01:28:16 -06:00
parent 8efee17cb6
commit d891a846ed
4 changed files with 132 additions and 89 deletions

View File

@ -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" ? (

View File

@ -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" />

View File

@ -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.

View File

@ -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;
}