From 46a1d1fea9db87f52017b57e47bc2b2940e3967f Mon Sep 17 00:00:00 2001 From: user Date: Sun, 11 Jan 2026 20:09:45 +0200 Subject: [PATCH] new phone number --- .gitignore | 23 +++ .npmrc | 1 + Dockerfile | 15 ++ README.md | 5 + bun.lockb | Bin 0 -> 105199 bytes components.json | 17 ++ package.json | 40 +++++ postcss.config.js | 6 + src/app.css | 81 +++++++++ src/app.d.ts | 15 ++ src/app.html | 12 ++ .../components/atoms/animate-wrapper.svelte | 35 ++++ src/lib/components/atoms/icon.svelte | 11 ++ src/lib/components/atoms/label-wrapper.svelte | 19 ++ src/lib/components/atoms/logo.svelte | 11 ++ .../components/atoms/max-width-wrapper.svelte | 11 ++ src/lib/components/atoms/title.svelte | 64 +++++++ src/lib/components/molecules/footer.svelte | 46 +++++ .../components/molecules/grid-pattern.svelte | 49 ++++++ src/lib/components/molecules/navbar.svelte | 67 +++++++ .../molecules/testimonial-card.svelte | 54 ++++++ src/lib/components/organisms/about.svelte | 152 ++++++++++++++++ src/lib/components/organisms/contact.svelte | 127 ++++++++++++++ src/lib/components/organisms/faq.svelte | 65 +++++++ src/lib/components/organisms/features.svelte | 82 +++++++++ src/lib/components/organisms/hero.svelte | 88 ++++++++++ .../components/organisms/testimonials.svelte | 106 +++++++++++ .../ui/accordion/accordion-content.svelte | 24 +++ .../ui/accordion/accordion-item.svelte | 12 ++ .../ui/accordion/accordion-trigger.svelte | 29 +++ src/lib/components/ui/accordion/index.ts | 17 ++ .../ui/avatar/avatar-fallback.svelte | 16 ++ .../components/ui/avatar/avatar-image.svelte | 16 ++ src/lib/components/ui/avatar/avatar.svelte | 16 ++ src/lib/components/ui/avatar/index.ts | 13 ++ src/lib/components/ui/badge/badge.svelte | 60 +++++++ src/lib/components/ui/badge/index.ts | 2 + src/lib/components/ui/button/button.svelte | 75 ++++++++ src/lib/components/ui/button/index.ts | 17 ++ src/lib/components/ui/input/index.ts | 7 + src/lib/components/ui/input/input.svelte | 22 +++ src/lib/components/ui/label/index.ts | 7 + src/lib/components/ui/label/label.svelte | 19 ++ src/lib/components/ui/sheet/index.ts | 36 ++++ .../components/ui/sheet/sheet-content.svelte | 53 ++++++ .../ui/sheet/sheet-description.svelte | 16 ++ .../components/ui/sheet/sheet-footer.svelte | 20 +++ .../components/ui/sheet/sheet-header.svelte | 20 +++ .../components/ui/sheet/sheet-overlay.svelte | 21 +++ .../components/ui/sheet/sheet-title.svelte | 16 ++ src/lib/components/ui/textarea/index.ts | 28 +++ .../components/ui/textarea/textarea.svelte | 22 +++ src/lib/core/constants.ts | 17 ++ src/lib/index.ts | 1 + src/lib/utils.ts | 6 + src/routes/+layout.svelte | 13 ++ src/routes/+layout.ts | 1 + src/routes/+page.svelte | 15 ++ src/routes/legal/(main)/+page.svelte | 56 ++++++ src/routes/legal/+layout.svelte | 34 ++++ src/routes/legal/legal.articles.ts | 17 ++ src/routes/legal/privacy-policy/+page.svelte | 165 ++++++++++++++++++ src/routes/legal/table-of-contents.svelte | 31 ++++ .../legal/terms-and-conditions/+page.svelte | 148 ++++++++++++++++ static/favicon.png | Bin 0 -> 61049 bytes static/font/outfit-variable.ttf | Bin 0 -> 110572 bytes static/images/contact-us.jpg | Bin 0 -> 38008 bytes static/images/hero-img.jpg | Bin 0 -> 79913 bytes static/images/how-we-work.jpg | Bin 0 -> 43708 bytes static/images/laptop.jpg | Bin 0 -> 54409 bytes static/images/office-conference.jpg | Bin 0 -> 443495 bytes static/logo.png | Bin 0 -> 7727 bytes svelte.config.js | 23 +++ tailwind.config.ts | 97 ++++++++++ tsconfig.json | 19 ++ vite.config.ts | 7 + 76 files changed, 2436 insertions(+) create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 Dockerfile create mode 100644 README.md create mode 100755 bun.lockb create mode 100644 components.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 src/app.css create mode 100644 src/app.d.ts create mode 100644 src/app.html create mode 100644 src/lib/components/atoms/animate-wrapper.svelte create mode 100644 src/lib/components/atoms/icon.svelte create mode 100644 src/lib/components/atoms/label-wrapper.svelte create mode 100644 src/lib/components/atoms/logo.svelte create mode 100644 src/lib/components/atoms/max-width-wrapper.svelte create mode 100644 src/lib/components/atoms/title.svelte create mode 100644 src/lib/components/molecules/footer.svelte create mode 100644 src/lib/components/molecules/grid-pattern.svelte create mode 100644 src/lib/components/molecules/navbar.svelte create mode 100644 src/lib/components/molecules/testimonial-card.svelte create mode 100644 src/lib/components/organisms/about.svelte create mode 100644 src/lib/components/organisms/contact.svelte create mode 100644 src/lib/components/organisms/faq.svelte create mode 100644 src/lib/components/organisms/features.svelte create mode 100644 src/lib/components/organisms/hero.svelte create mode 100644 src/lib/components/organisms/testimonials.svelte create mode 100644 src/lib/components/ui/accordion/accordion-content.svelte create mode 100644 src/lib/components/ui/accordion/accordion-item.svelte create mode 100644 src/lib/components/ui/accordion/accordion-trigger.svelte create mode 100644 src/lib/components/ui/accordion/index.ts create mode 100644 src/lib/components/ui/avatar/avatar-fallback.svelte create mode 100644 src/lib/components/ui/avatar/avatar-image.svelte create mode 100644 src/lib/components/ui/avatar/avatar.svelte create mode 100644 src/lib/components/ui/avatar/index.ts create mode 100644 src/lib/components/ui/badge/badge.svelte create mode 100644 src/lib/components/ui/badge/index.ts create mode 100644 src/lib/components/ui/button/button.svelte create mode 100644 src/lib/components/ui/button/index.ts create mode 100644 src/lib/components/ui/input/index.ts create mode 100644 src/lib/components/ui/input/input.svelte create mode 100644 src/lib/components/ui/label/index.ts create mode 100644 src/lib/components/ui/label/label.svelte create mode 100644 src/lib/components/ui/sheet/index.ts create mode 100644 src/lib/components/ui/sheet/sheet-content.svelte create mode 100644 src/lib/components/ui/sheet/sheet-description.svelte create mode 100644 src/lib/components/ui/sheet/sheet-footer.svelte create mode 100644 src/lib/components/ui/sheet/sheet-header.svelte create mode 100644 src/lib/components/ui/sheet/sheet-overlay.svelte create mode 100644 src/lib/components/ui/sheet/sheet-title.svelte create mode 100644 src/lib/components/ui/textarea/index.ts create mode 100644 src/lib/components/ui/textarea/textarea.svelte create mode 100644 src/lib/core/constants.ts create mode 100644 src/lib/index.ts create mode 100644 src/lib/utils.ts create mode 100644 src/routes/+layout.svelte create mode 100644 src/routes/+layout.ts create mode 100644 src/routes/+page.svelte create mode 100644 src/routes/legal/(main)/+page.svelte create mode 100644 src/routes/legal/+layout.svelte create mode 100644 src/routes/legal/legal.articles.ts create mode 100644 src/routes/legal/privacy-policy/+page.svelte create mode 100644 src/routes/legal/table-of-contents.svelte create mode 100644 src/routes/legal/terms-and-conditions/+page.svelte create mode 100644 static/favicon.png create mode 100644 static/font/outfit-variable.ttf create mode 100644 static/images/contact-us.jpg create mode 100644 static/images/hero-img.jpg create mode 100644 static/images/how-we-work.jpg create mode 100644 static/images/laptop.jpg create mode 100644 static/images/office-conference.jpg create mode 100644 static/logo.png create mode 100644 svelte.config.js create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3b462cb --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +node_modules + +# Output +.output +.vercel +.netlify +.wrangler +/.svelte-kit +/build + +# OS +.DS_Store +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9377b76 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM oven/bun:1.2.23 + +WORKDIR /app + +COPY package.json bun.lockb ./ + +RUN bun install + +COPY . . + +RUN bun run build + +EXPOSE 80 + +CMD ["bun", "run", "start"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..e0484ba --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Bill Discount Services + +Deployed to cloudflare pages - via static build + +--- diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..ba7337757789e71fcf2faa15c35f3d9b2c7de024 GIT binary patch literal 105199 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₷&g~~4n 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 literal 0 HcmV?d00001 diff --git a/components.json b/components.json new file mode 100644 index 0000000..bbb95e8 --- /dev/null +++ b/components.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://next.shadcn-svelte.com/schema.json", + "style": "default", + "tailwind": { + "config": "tailwind.config.ts", + "css": "src/app.css", + "baseColor": "slate" + }, + "aliases": { + "components": "$lib/components", + "utils": "$lib/utils", + "ui": "$lib/components/ui", + "hooks": "$lib/hooks" + }, + "typescript": true, + "registry": "https://next.shadcn-svelte.com/registry" +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..c829f74 --- /dev/null +++ b/package.json @@ -0,0 +1,40 @@ +{ + "name": "billdiscountservices", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "start": "bun run ./build/index", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch" + }, + "devDependencies": { + "@iconify/json": "^2.2.292", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^4.0.0", + "autoprefixer": "^10.4.20", + "bits-ui": "^1.0.0-next.77", + "clsx": "^2.1.1", + "lucide-svelte": "^0.469.0", + "prettier": "^3.4.2", + "prettier-plugin-svelte": "^3.3.2", + "svelte": "^5.0.0", + "svelte-adapter-bun": "^1.0.1", + "svelte-check": "^4.0.0", + "tailwind-merge": "^2.6.0", + "tailwind-variants": "^0.3.0", + "tailwindcss": "^3.4.9", + "tailwindcss-animate": "^1.0.7", + "typescript": "^5.0.0", + "vite": "^5.4.11" + }, + "dependencies": { + "@tailwindcss/container-queries": "^0.1.1", + "@tailwindcss/forms": "^0.5.9", + "@tailwindcss/typography": "^0.5.15", + "unplugin-icons": "^0.22.0" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..ba80730 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +}; diff --git a/src/app.css b/src/app.css new file mode 100644 index 0000000..658f9c4 --- /dev/null +++ b/src/app.css @@ -0,0 +1,81 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@font-face { + font-family: "Outfit"; + src: url("/font/outfit-variable.ttf") format("truetype"); +} + +@layer base { + :root { + --background: 142 4% 99%; + --foreground: 142 4% 10%; + --card: 142 4% 99%; + --card-foreground: 142 4% 15%; + --popover: 142 4% 99%; + --popover-foreground: 142 95% 10%; + --primary: 142 76.2% 36.3%; + --primary-foreground: 0 0% 100%; + --secondary: 142 10% 90%; + --secondary-foreground: 0 0% 0%; + --muted: 104 10% 95%; + --muted-foreground: 142 4% 40%; + --accent: 104 10% 90%; + --accent-foreground: 142 4% 15%; + --destructive: 0 50% 50%; + --destructive-foreground: 142 4% 99%; + --border: 142 20% 82%; + --input: 142 20% 50%; + --ring: 142 76.2% 36.3%; + --radius: 0.75rem; + } + .dark { + --background: 142 10% 10%; + --foreground: 142 4% 99%; + --card: 142 4% 10%; + --card-foreground: 142 4% 99%; + --popover: 142 10% 5%; + --popover-foreground: 142 4% 99%; + --primary: 142 76.2% 36.3%; + --primary-foreground: 0 0% 100%; + --secondary: 142 10% 20%; + --secondary-foreground: 0 0% 100%; + --muted: 104 10% 25%; + --muted-foreground: 142 4% 65%; + --accent: 104 10% 25%; + --accent-foreground: 142 4% 95%; + --destructive: 0 50% 50%; + --destructive-foreground: 142 4% 99%; + --border: 142 20% 50%; + --input: 142 20% 50%; + --ring: 142 76.2% 36.3%; + --radius: 0.75rem; + } +} + +@layer base { + * { + @apply border-border; + } + + body { + @apply bg-background text-foreground; + scroll-behavior: smooth; + font-family: + "Outfit", + system-ui, + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + "Helvetica Neue", + Arial, + "Noto Sans", + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; + } +} diff --git a/src/app.d.ts b/src/app.d.ts new file mode 100644 index 0000000..aa88515 --- /dev/null +++ b/src/app.d.ts @@ -0,0 +1,15 @@ +import "unplugin-icons/types/svelte"; + +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/src/app.html b/src/app.html new file mode 100644 index 0000000..ecd5efc --- /dev/null +++ b/src/app.html @@ -0,0 +1,12 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/src/lib/components/atoms/animate-wrapper.svelte b/src/lib/components/atoms/animate-wrapper.svelte new file mode 100644 index 0000000..739cf44 --- /dev/null +++ b/src/lib/components/atoms/animate-wrapper.svelte @@ -0,0 +1,35 @@ + + +
+ {#if visible} +
+ +
+ {/if} +
diff --git a/src/lib/components/atoms/icon.svelte b/src/lib/components/atoms/icon.svelte new file mode 100644 index 0000000..67d9658 --- /dev/null +++ b/src/lib/components/atoms/icon.svelte @@ -0,0 +1,11 @@ + + + diff --git a/src/lib/components/atoms/label-wrapper.svelte b/src/lib/components/atoms/label-wrapper.svelte new file mode 100644 index 0000000..6838a5e --- /dev/null +++ b/src/lib/components/atoms/label-wrapper.svelte @@ -0,0 +1,19 @@ + + +
+ + {@render children?.()} +
diff --git a/src/lib/components/atoms/logo.svelte b/src/lib/components/atoms/logo.svelte new file mode 100644 index 0000000..5e1f1c3 --- /dev/null +++ b/src/lib/components/atoms/logo.svelte @@ -0,0 +1,11 @@ + + +Easy Save Bills diff --git a/src/lib/components/atoms/max-width-wrapper.svelte b/src/lib/components/atoms/max-width-wrapper.svelte new file mode 100644 index 0000000..a2782d7 --- /dev/null +++ b/src/lib/components/atoms/max-width-wrapper.svelte @@ -0,0 +1,11 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/atoms/title.svelte b/src/lib/components/atoms/title.svelte new file mode 100644 index 0000000..7544f4c --- /dev/null +++ b/src/lib/components/atoms/title.svelte @@ -0,0 +1,64 @@ + + + + {@render children?.()} + diff --git a/src/lib/components/molecules/footer.svelte b/src/lib/components/molecules/footer.svelte new file mode 100644 index 0000000..b32fc7e --- /dev/null +++ b/src/lib/components/molecules/footer.svelte @@ -0,0 +1,46 @@ + + + diff --git a/src/lib/components/molecules/grid-pattern.svelte b/src/lib/components/molecules/grid-pattern.svelte new file mode 100644 index 0000000..1728981 --- /dev/null +++ b/src/lib/components/molecules/grid-pattern.svelte @@ -0,0 +1,49 @@ + + + diff --git a/src/lib/components/molecules/navbar.svelte b/src/lib/components/molecules/navbar.svelte new file mode 100644 index 0000000..93f5876 --- /dev/null +++ b/src/lib/components/molecules/navbar.svelte @@ -0,0 +1,67 @@ + + + diff --git a/src/lib/components/molecules/testimonial-card.svelte b/src/lib/components/molecules/testimonial-card.svelte new file mode 100644 index 0000000..b54b7d8 --- /dev/null +++ b/src/lib/components/molecules/testimonial-card.svelte @@ -0,0 +1,54 @@ + + +
+
+
+ {testimonial.name} + +
+
+ {#each stars as isFilled} + + {/each} +
+

+ {testimonial.name} +

+
+
+ +

+ {testimonial.review} +

+
+
diff --git a/src/lib/components/organisms/about.svelte b/src/lib/components/organisms/about.svelte new file mode 100644 index 0000000..4a5247b --- /dev/null +++ b/src/lib/components/organisms/about.svelte @@ -0,0 +1,152 @@ + + + +
+
+ +
+
+ + About Us + + + + Helping You Save on Your Internet Bills + + + +

+ At {COMPANY_NAME}, we're dedicated to helping you reduce your internet + expenses. Our team of experts works tirelessly to find and secure the + best possible discounts on your internet services. We believe everyone + deserves access to affordable internet without compromising on quality + or speed. +

+
+ +
+
+ +
+
+ Bill Saving Specialists +

+ Our team are experts in negotiating with internet service + providers. We understand the industry inside and out, and we use + this knowledge to secure the best possible rates for our clients. + We've helped thousands of customers significantly reduce their + monthly internet bills. +

+
+
+
+ + +
+
+ +
+
+ Customer-First Approach +

+ We prioritize your needs and budget, working diligently to find + the best internet service deals available in your area. Our + platform makes it easy to compare options and choose the plan that + works best for you, whether you're a casual user or need + high-speed business internet. +

+
+
+
+
+
+ + + +
+
+ + + Our Mission + + + + + + To Make Internet Service Affordable for Everyone + + +
+ +
+
+ +
+ + Best in class + + + Your Partner in Reducing Internet Costs + + +
+
+ +

Proven Savings Record

+
+ +
+ +

Expert Negotiation Skills

+
+
+ +

Personalized Service Plans

+
+
+
+
+ + +

+ At {COMPANY_NAME}, we're committed to making internet services more + affordable for everyone. We understand that internet access is + essential in today's world, and high bills shouldn't stand in the + way. Our mission is to leverage our industry relationships and + negotiation expertise to secure the best possible rates for our + clients. Whether you're a homeowner, renter, or business owner, + we're here to help you save on your internet bills while maintaining + the service quality you need. +

+
+
+
+
+
diff --git a/src/lib/components/organisms/contact.svelte b/src/lib/components/organisms/contact.svelte new file mode 100644 index 0000000..3374664 --- /dev/null +++ b/src/lib/components/organisms/contact.svelte @@ -0,0 +1,127 @@ + + +
+
+
+ Talk with us +

+ Convinced? Want to finally get that discount? Or have any other + question? Contact us and we will get back to you as soon as possible. +

+
+ +
+
+ + + + + + + +
+ + + + + + + + + + + diff --git a/src/lib/core/constants.ts b/src/lib/core/constants.ts new file mode 100644 index 0000000..65efa53 --- /dev/null +++ b/src/lib/core/constants.ts @@ -0,0 +1,17 @@ +export const TRANSITION_COLORS = "transition-colors duration-150 ease-in-out"; +export const TRANSITION_ALL = "transition-all duration-150 ease-in-out"; + +export const navLinks = [ + { name: "Home", href: "/#" }, + { name: "About", href: "/#about-us" }, + { name: "Services", href: "/#services" }, + { name: "Contact", href: "/#contact" }, +]; + +export const CONTACT_INFO = { + email: "contact@billdiscountservices.com", + phone: "+1 (712) 217-4192", + address: "1846 E INNOVATION PARK DR STE 100 ORO VALLEY, AZ 85755", +}; + +export const COMPANY_NAME = "Bill Discount Services"; diff --git a/src/lib/index.ts b/src/lib/index.ts new file mode 100644 index 0000000..856f2b6 --- /dev/null +++ b/src/lib/index.ts @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 0000000..ac680b3 --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { type ClassValue, clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 0000000..58cf554 --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,13 @@ + + + + +{@render children()} + +