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 ( return (
<form class="space-y-6" onSubmit={handleSubmit}> <form class="space-y-4 lg:space-y-6" onSubmit={handleSubmit}>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4"> <div class="grid grid-cols-1 md:grid-cols-2 gap-3 lg:gap-4">
<div class="form-control"> <div class="form-control">
<label class="label"> <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> </label>
<input <input
type="text" type="text"
name="firstName" name="firstName"
class="input input-bordered w-full" class="input input-bordered input-sm lg:input-md w-full"
required required
value={firstName()} value={firstName()}
onInput={(e) => setFirstName(e.currentTarget.value)} onInput={(e) => setFirstName(e.currentTarget.value)}
@ -79,12 +81,14 @@ ${message()}`,
</div> </div>
<div class="form-control"> <div class="form-control">
<label class="label"> <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> </label>
<input <input
type="text" type="text"
name="lastName" name="lastName"
class="input input-bordered w-full" class="input input-bordered input-sm lg:input-md w-full"
required required
value={lastName()} value={lastName()}
onInput={(e) => setLastName(e.currentTarget.value)} onInput={(e) => setLastName(e.currentTarget.value)}
@ -95,12 +99,14 @@ ${message()}`,
<div class="form-control"> <div class="form-control">
<label class="label"> <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> </label>
<input <input
type="email" type="email"
name="email" name="email"
class="input input-bordered w-full" class="input input-bordered input-sm lg:input-md w-full"
required required
value={email()} value={email()}
onInput={(e) => setEmail(e.currentTarget.value)} onInput={(e) => setEmail(e.currentTarget.value)}
@ -110,12 +116,14 @@ ${message()}`,
<div class="form-control"> <div class="form-control">
<label class="label"> <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> </label>
<input <input
type="text" type="text"
name="company" name="company"
class="input input-bordered w-full" class="input input-bordered input-sm lg:input-md w-full"
value={company()} value={company()}
onInput={(e) => setCompany(e.currentTarget.value)} onInput={(e) => setCompany(e.currentTarget.value)}
disabled={status() === "sending"} disabled={status() === "sending"}
@ -124,11 +132,13 @@ ${message()}`,
<div class="form-control"> <div class="form-control">
<label class="label"> <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> </label>
<select <select
name="service" name="service"
class="select select-bordered w-full" class="select select-bordered select-sm lg:select-md w-full"
value={service()} value={service()}
onChange={(e) => setService(e.currentTarget.value)} onChange={(e) => setService(e.currentTarget.value)}
disabled={status() === "sending"} disabled={status() === "sending"}
@ -144,11 +154,13 @@ ${message()}`,
<div class="form-control"> <div class="form-control">
<label class="label"> <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> </label>
<select <select
name="budget" name="budget"
class="select select-bordered w-full" class="select select-bordered select-sm lg:select-md w-full"
value={budget()} value={budget()}
onChange={(e) => setBudget(e.currentTarget.value)} onChange={(e) => setBudget(e.currentTarget.value)}
disabled={status() === "sending"} disabled={status() === "sending"}
@ -163,12 +175,14 @@ ${message()}`,
<div class="form-control"> <div class="form-control">
<label class="label" for="project-details"> <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> </label>
<textarea <textarea
id="project-details" id="project-details"
name="message" 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..." placeholder="Tell us about your project requirements, timeline, and any specific needs..."
required required
value={message()} value={message()}
@ -217,10 +231,10 @@ ${message()}`,
</div> </div>
</Show> </Show>
<div class="form-control pt-4"> <div class="form-control pt-2 lg:pt-4">
<button <button
type="submit" type="submit"
class="btn btn-primary btn-lg w-full" class="btn btn-primary btn-md lg:btn-lg w-full"
disabled={status() === "sending"} disabled={status() === "sending"}
> >
{status() === "sending" ? ( {status() === "sending" ? (

View File

@ -1,7 +1,7 @@
--- ---
import Footer from "../components/Footer.astro"; import Footer from "../components/Footer.astro";
import { siteConfig } from "../config/site"; import { siteConfig } from "../config/site";
import "./src/styles/global.css"; import "../styles/global.css";
interface Props { interface Props {
title?: string; title?: string;
@ -16,7 +16,7 @@ const metaTitle =
--- ---
<!doctype html> <!doctype html>
<html lang="en" data-theme="sunset"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" /> <meta name="viewport" content="width=device-width" />

View File

@ -11,47 +11,66 @@ const pageMetaInfo = {
<Layout title={pageMetaInfo.title} description={pageMetaInfo.description}> <Layout title={pageMetaInfo.title} description={pageMetaInfo.description}>
<!-- Hero Section --> <!-- Hero Section -->
<section <section class="py-8 lg:py-16">
class="hero min-h-[60vh] bg-gradient-to-br from-primary to-primary-focus" <div class="max-w-6xl mx-auto px-4">
> <div
<div class="hero-content text-center text-primary-content"> class="hero bg-gradient-to-br from-primary to-secondary rounded-xl lg:rounded-2xl"
<div class="max-w-4xl"> >
<h1 class="text-5xl font-bold mb-6 leading-tight"> <div
{siteConfig.name} class="hero-content text-center text-primary-content py-8 lg:py-16 px-4"
</h1>
<p
class="text-xl mb-8 opacity-90 max-w-2xl mx-auto leading-relaxed"
> >
{siteConfig.hero.description} — Delivering reliable, scalable <div class="max-w-4xl w-full">
solutions tailored to your business needs. <h1
</p> class="text-3xl sm:text-4xl lg:text-5xl font-bold mb-4 lg:mb-6 leading-tight"
<div class="flex flex-col sm:flex-row gap-4 justify-center"> >
<a href="#contact" class="btn btn-secondary btn-lg"> Professional Software Solutions
Start Your Project </h1>
</a> <p
<a class="text-base sm:text-lg lg:text-xl mb-6 lg:mb-8 opacity-90 max-w-2xl mx-auto leading-relaxed"
href="#services" >
class="btn btn-outline btn-lg text-white border-white hover:bg-white hover:text-primary" {siteConfig.hero.description} — Delivering reliable,
> scalable solutions tailored to your business needs.
View Services </p>
</a> <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-secondary btn-md lg:btn-lg text-white border-white"
>
View Services
</a>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
<div class="max-w-6xl mx-auto px-4 py-16"> <div class="max-w-6xl mx-auto px-4">
<!-- Services Grid --> <!-- Services Grid -->
<section id="services" class="mb-20"> <section id="services" class="mb-16 lg:mb-20">
<div class="text-center mb-12"> <div class="text-center mb-8 lg:mb-12">
<h2 class="text-4xl font-bold mb-4">Our Services</h2> <h2
<p class="text-lg text-base-content/70 max-w-2xl mx-auto"> class="text-2xl sm:text-3xl lg:text-4xl font-bold mb-3 lg:mb-4"
Comprehensive solutions designed to drive your business >
forward 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> </p>
</div> </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) => ( 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"> <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> </section>
<!-- About Section --> <!-- About Section -->
<section class="mb-20"> <section class="mb-16 lg:mb-20">
<div class="hero bg-base-200 rounded-2xl"> <div class="hero bg-base-200 rounded-xl lg:rounded-2xl">
<div class="hero-content text-center py-16"> <div class="hero-content text-center py-12 lg:py-16 px-4">
<div class="max-w-3xl"> <div class="max-w-3xl w-full">
<h2 class="text-3xl font-bold mb-6"> <h2 class="text-2xl sm:text-3xl font-bold mb-4 lg:mb-6">
Why Choose Atash Consulting? Why Choose Atash Consulting?
</h2> </h2>
<p <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 With over a decade of experience in the software
industry, we bring deep technical expertise and a 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> </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="text-center">
<div <div
class="w-16 h-16 bg-primary 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"
@ -222,7 +245,7 @@ const pageMetaInfo = {
</div> </div>
<div class="text-center"> <div class="text-center">
<div <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 <svg
class="w-8 h-8 text-accent-content" class="w-8 h-8 text-accent-content"
@ -252,10 +275,16 @@ const pageMetaInfo = {
</section> </section>
<!-- Contact Section --> <!-- Contact Section -->
<section id="contact" class="mb-20"> <section id="contact" class="mb-16 lg:mb-20">
<div class="text-center mb-12"> <div class="text-center mb-8 lg:mb-12">
<h2 class="text-4xl font-bold mb-4">Get In Touch</h2> <h2
<p class="text-lg text-base-content/70 max-w-2xl mx-auto"> 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 Ready to start your project? Let's discuss how we can help
transform your ideas into robust, scalable software transform your ideas into robust, scalable software
solutions. solutions.

View File

@ -2,36 +2,36 @@
@plugin "daisyui"; @plugin "daisyui";
@plugin "daisyui/theme" { @plugin "daisyui/theme" {
name: "sunset"; name: "nope";
default: false; default: true;
prefersdark: false; prefersdark: false;
color-scheme: "dark"; color-scheme: "light";
--color-base-100: oklch(22% 0.019 237.69); --color-base-100: oklch(98% 0 0);
--color-base-200: oklch(20% 0.019 237.69); --color-base-200: oklch(95% 0 0);
--color-base-300: oklch(18% 0.019 237.69); --color-base-300: oklch(91% 0 0);
--color-base-content: oklch(77.383% 0.043 245.096); --color-base-content: oklch(0% 0 0);
--color-primary: oklch(74.703% 0.158 39.947); --color-primary: oklch(74% 0.16 232.661);
--color-primary-content: oklch(14.94% 0.031 39.947); --color-primary-content: oklch(0% 0 0);
--color-secondary: oklch(72.537% 0.177 2.72); --color-secondary: oklch(50% 0.134 242.749);
--color-secondary-content: oklch(14.507% 0.035 2.72); --color-secondary-content: oklch(98% 0.003 247.858);
--color-accent: oklch(71.294% 0.166 299.844); --color-accent: oklch(90% 0.058 230.902);
--color-accent-content: oklch(14.258% 0.033 299.844); --color-accent-content: oklch(18.556% 0.052 122.962);
--color-neutral: oklch(26% 0.019 237.69); --color-neutral: oklch(42% 0.199 265.638);
--color-neutral-content: oklch(70% 0.019 237.69); --color-neutral-content: oklch(84.262% 0.025 278.68);
--color-info: oklch(85.559% 0.085 206.015); --color-info: oklch(60.72% 0.227 252.05);
--color-info-content: oklch(17.111% 0.017 206.015); --color-info-content: oklch(12.144% 0.045 252.05);
--color-success: oklch(85.56% 0.085 144.778); --color-success: oklch(85.72% 0.266 158.53);
--color-success-content: oklch(17.112% 0.017 144.778); --color-success-content: oklch(17.144% 0.053 158.53);
--color-warning: oklch(85.569% 0.084 74.427); --color-warning: oklch(91.01% 0.212 100.5);
--color-warning-content: oklch(17.113% 0.016 74.427); --color-warning-content: oklch(18.202% 0.042 100.5);
--color-error: oklch(85.511% 0.078 16.886); --color-error: oklch(64.84% 0.293 29.349);
--color-error-content: oklch(17.102% 0.015 16.886); --color-error-content: oklch(12.968% 0.058 29.349);
--radius-selector: 1rem; --radius-selector: 1rem;
--radius-field: 0.5rem; --radius-field: 1rem;
--radius-box: 1rem; --radius-box: 1rem;
--size-selector: 0.25rem; --size-selector: 0.25rem;
--size-field: 0.25rem; --size-field: 0.25rem;
--border: 1px; --border: 1px;
--depth: 0; --depth: 1;
--noise: 0; --noise: 0;
} }