diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..af99a7f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,90 @@ +node_modules +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage +.grunt + +# Bower dependency directory +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons +build/Release + +# Dependency directories +jspm_packages/ + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# parcel-bundler cache +.cache +.parcel-cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless + +# IDE files +.vscode +.idea +*.swp +*.swo +*~ + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Build directories +dist/ +build/ + +# Logs +logs +*.log \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f2fddf9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,43 @@ +# Use Node.js 18 as the base image +FROM node:18-alpine AS base + +# Install dependencies only when needed +FROM base AS deps +RUN apk add --no-cache libc6-compat +WORKDIR /app + +# Copy package files +COPY package.json package-lock.json* ./ +RUN npm ci + +# Rebuild the source code only when needed +FROM base AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules +COPY . . + +# Build the application +RUN npm run build + +# Production image, copy all the files and run next +FROM base AS runner +WORKDIR /app + +ENV NODE_ENV=production + +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs + +# Copy the built application +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/package.json ./package.json + +USER nextjs + +EXPOSE 3000 + +ENV PORT=3000 +ENV HOSTNAME="0.0.0.0" + +# Use npm start to serve the built application +CMD ["npx", "serve", "-s", "dist", "-l", "3000"] \ No newline at end of file diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..860c3a1 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,18 @@ +# Development Dockerfile +FROM node:18-alpine + +# Set working directory +WORKDIR /app + +# Install dependencies +COPY package*.json ./ +RUN npm install + +# Copy source code +COPY . . + +# Expose the development port (Vite default) +EXPOSE 5173 + +# Start the development server +CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0a37599 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3.8' + +services: + app: + build: + context: . + dockerfile: Dockerfile + ports: + - "3000:3000" + environment: + - NODE_ENV=production + restart: unless-stopped + + app-dev: + build: + context: . + dockerfile: Dockerfile.dev + ports: + - "5173:5173" + volumes: + - .:/app + - /app/node_modules + environment: + - NODE_ENV=development + command: npm run dev + restart: unless-stopped \ No newline at end of file diff --git a/public/lovable-uploads/1a07e78f-6231-4fe2-af77-441f6a6ead7a.png b/public/lovable-uploads/1a07e78f-6231-4fe2-af77-441f6a6ead7a.png deleted file mode 100644 index 643c454..0000000 Binary files a/public/lovable-uploads/1a07e78f-6231-4fe2-af77-441f6a6ead7a.png and /dev/null differ diff --git a/public/lovable-uploads/Screenshot 2025-09-10 183224.png b/public/lovable-uploads/Screenshot 2025-09-10 183224.png new file mode 100644 index 0000000..c44f04f Binary files /dev/null and b/public/lovable-uploads/Screenshot 2025-09-10 183224.png differ diff --git a/public/lovable-uploads/Screenshot 2025-09-10 183339.png b/public/lovable-uploads/Screenshot 2025-09-10 183339.png new file mode 100644 index 0000000..6ffdb42 Binary files /dev/null and b/public/lovable-uploads/Screenshot 2025-09-10 183339.png differ diff --git a/public/lovable-uploads/Screenshot 2025-09-10 183757.png b/public/lovable-uploads/Screenshot 2025-09-10 183757.png new file mode 100644 index 0000000..69ab1f9 Binary files /dev/null and b/public/lovable-uploads/Screenshot 2025-09-10 183757.png differ diff --git a/src/App.tsx b/src/App.tsx index 27a14b9..6f56c6d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,6 +6,10 @@ import { BrowserRouter, Routes, Route } from "react-router-dom"; import Index from "./pages/Index"; import About from "./pages/About"; import ServicesPage from "./pages/ServicesPage"; +import InfoCenter from "./pages/InfoCenter"; +import Newsletters from "./pages/Newsletters"; +import FinancialTools from "./pages/FinancialTools"; +import Links from "./pages/Links"; import Resources from "./pages/Resources"; import TestimonialsPage from "./pages/TestimonialsPage"; import Contact from "./pages/Contact"; @@ -23,6 +27,10 @@ const App = () => ( } /> } /> } /> + } /> + } /> + } /> + } /> } /> } /> } /> diff --git a/src/components/CtaSection.tsx b/src/components/CtaSection.tsx index e42842e..fd314c7 100644 --- a/src/components/CtaSection.tsx +++ b/src/components/CtaSection.tsx @@ -27,11 +27,11 @@ const CtaSection = () => { diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 631aa92..7216093 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -23,8 +23,8 @@ const Footer = () => {
diff --git a/src/components/Hero.tsx b/src/components/Hero.tsx index bf32469..9e82d06 100644 --- a/src/components/Hero.tsx +++ b/src/components/Hero.tsx @@ -7,7 +7,7 @@ const Hero = () => { className="relative min-h-screen flex items-center justify-center text-center px-4" style={{ backgroundImage: "url('/lovable-uploads/f8f08a1a-0132-4376-af8a-c5bb86f0627e.png')", - backgroundSize: "cover", + backgroundSize: "90% 80%", backgroundPosition: "center", backgroundRepeat: "no-repeat" }} @@ -37,11 +37,11 @@ const Hero = () => {
diff --git a/src/components/Navigation.tsx b/src/components/Navigation.tsx index 4ade221..6ab4d9e 100644 --- a/src/components/Navigation.tsx +++ b/src/components/Navigation.tsx @@ -7,11 +7,13 @@ const Navigation = () => { const navItems = [ { name: "Home", href: "/" }, - { name: "About", href: "/about" }, - { name: "Services", href: "/services" }, - { name: "Resources", href: "/resources" }, - { name: "Testimonials", href: "/testimonials" }, - { name: "Contact", href: "/contact" }, + { name: "Firm Profile", href: "/about" }, + { name: "Client Services", href: "/services" }, + { name: "Info Center", href: "/info-center" }, + { name: "Newsletters", href: "/newsletters" }, + { name: "Financial Tools", href: "/financial-tools" }, + { name: "Links", href: "/links" }, + { name: "Contact Us", href: "/contact" }, ]; return ( @@ -41,17 +43,11 @@ const Navigation = () => { {/* Desktop CTA */} -
- - Client Login - +
-
+
{services.map((service, index) => { const Icon = service.icon; return ( diff --git a/src/pages/Contact.tsx b/src/pages/Contact.tsx index 1fb9431..a59acb1 100644 --- a/src/pages/Contact.tsx +++ b/src/pages/Contact.tsx @@ -150,7 +150,10 @@ const Contact = () => {
Address
-
Corpus Christi, TX
+
+ 711 N. Carancahua St. Suite 1550
+ Corpus Christi, TX 78401 +
@@ -158,8 +161,8 @@ const Contact = () => {
@@ -205,9 +208,9 @@ const Contact = () => { size="sm" variant="destructive" className="rounded-xl" - onClick={() => window.open('tel:+13618543711')} + onClick={() => window.open('tel:+13618839999')} > - Call Now: (361) 854-3711 + Call Now: (361) 883-8999
@@ -220,10 +223,10 @@ const Contact = () => { size="lg" variant="outline" className="w-full rounded-xl" - onClick={() => window.open('tel:+13618543711')} + onClick={() => window.open('tel:+13618839999')} > - Call (361) 854-3711 + Call (361) 883-8999