From 8e9b0ef8a82e5e255bc95e95dfe5870cd743a45e Mon Sep 17 00:00:00 2001 From: RKWojs Date: Fri, 18 Jul 2025 16:13:09 +0200 Subject: [PATCH] Initial commit with essential code files only --- .gitignore | 35 +++++ README.md | 34 +++++ components/templates/about.js | 135 ++++++++++++++++++ components/templates/contact.js | 217 +++++++++++++++++++++++++++++ components/templates/footer.js | 112 +++++++++++++++ components/templates/hero.js | 81 +++++++++++ components/templates/location.js | 37 +++++ components/templates/main.js | 26 ++++ components/templates/navigation.js | 130 +++++++++++++++++ components/templates/second.js | 131 +++++++++++++++++ components/templates/services.js | 166 ++++++++++++++++++++++ next.config.js | 4 + package.json | 26 ++++ pages/_app.js | 15 ++ pages/api/hello.js | 26 ++++ pages/elements/banner.js | 7 + pages/elements/links.js | 10 ++ pages/elements/main.js | 32 +++++ pages/elements/second.js | 22 +++ pages/elements/third.js | 31 +++++ pages/index.js | 34 +++++ pages/rodo.js | 143 +++++++++++++++++++ pages/templates/content.js | 13 ++ pages/templates/footer.js | 7 + pages/templates/nav.js | 11 ++ postcss.config.js | 6 + public/favicon.ico | Bin 0 -> 103078 bytes public/logo.png | Bin 0 -> 31988 bytes public/logo_2.png | Bin 0 -> 7875 bytes public/vercel.svg | 4 + styles/Home.module.css | 117 ++++++++++++++++ styles/globals.css | 57 ++++++++ tailwind.config.js | 34 +++++ 33 files changed, 1703 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 components/templates/about.js create mode 100644 components/templates/contact.js create mode 100644 components/templates/footer.js create mode 100644 components/templates/hero.js create mode 100644 components/templates/location.js create mode 100644 components/templates/main.js create mode 100644 components/templates/navigation.js create mode 100644 components/templates/second.js create mode 100644 components/templates/services.js create mode 100644 next.config.js create mode 100644 package.json create mode 100644 pages/_app.js create mode 100644 pages/api/hello.js create mode 100644 pages/elements/banner.js create mode 100644 pages/elements/links.js create mode 100644 pages/elements/main.js create mode 100644 pages/elements/second.js create mode 100644 pages/elements/third.js create mode 100644 pages/index.js create mode 100644 pages/rodo.js create mode 100644 pages/templates/content.js create mode 100644 pages/templates/footer.js create mode 100644 pages/templates/nav.js create mode 100644 postcss.config.js create mode 100644 public/favicon.ico create mode 100644 public/logo.png create mode 100644 public/logo_2.png create mode 100644 public/vercel.svg create mode 100644 styles/Home.module.css create mode 100644 styles/globals.css create mode 100644 tailwind.config.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..87285e6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# vercel +.vercel +.env \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b12f3e3 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. + +[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`. + +The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/components/templates/about.js b/components/templates/about.js new file mode 100644 index 0000000..0724dbd --- /dev/null +++ b/components/templates/about.js @@ -0,0 +1,135 @@ +export default function About() { + return ( +
+
+
+ {/* Content */} +
+

+ O firmie Wastpol +

+ +
+

+ Jesteśmy firmą oferującą kompleksowe usługi elektryczne z ponad 20-letnim + doświadczeniem. Realizujemy pełen zakres prac - od projektowania przez + wykonawstwo po nadzory i pomiary instalacji elektrycznych. +

+ +

+ Przez lata naszej działalności zaprojektowaliśmy i zrealizowaliśmy ponad 4000 + projektów dla klientów w całej Polsce. Nasze doświadczenie obejmuje zarówno + instalacje domowe, jak i złożone projekty przemysłowe i infrastrukturalne. +

+
+ + {/* Key Features */} +
+
+
+ + + +
+
+

Doświadczenie

+

Ponad 20 lat na rynku

+
+
+ +
+
+ + + +
+
+

Kompleksowość

+

Od projektu do realizacji

+
+
+ +
+
+ + + +
+
+

Terminowość

+

Dotrzymujemy ustalonych terminów

+
+
+ +
+
+ + + +
+
+

Zespół

+

Wykwalifikowani specjaliści

+
+
+
+ + {/* CTA */} +
+ +
+
+ + {/* Stats & Image */} +
+ {/* Main Image */} +
+ Wastpol - realizacje projektów +
+
+

Kompleksowe realizacje

+

Projektowanie i wykonawstwo od 2002 roku

+
+
+ + {/* Achievement Stats */} +
+

Nasze osiągnięcia

+ +
+
+
4000+
+
Zrealizowanych projektów
+
+
+
20+
+
Lat doświadczenia
+
+
+
500+
+
Zadowolonych klientów
+
+
+
100%
+
Terminowych realizacji
+
+
+
+
+
+
+
+ ); +} diff --git a/components/templates/contact.js b/components/templates/contact.js new file mode 100644 index 0000000..14aade3 --- /dev/null +++ b/components/templates/contact.js @@ -0,0 +1,217 @@ +import { useState } from "react"; + +export default function Contact() { + const [formData, setFormData] = useState({ + name: "", + email: "", + phone: "", + message: "" + }); + + const handleChange = (e) => { + setFormData({ + ...formData, + [e.target.name]: e.target.value + }); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + // Here you would typically send the form data to your backend + console.log("Form submitted:", formData); + alert("Dziękujemy za wiadomość! Skontaktujemy się z Państwem wkrótce."); + setFormData({ name: "", email: "", phone: "", message: "" }); + }; + + return ( +
+
+ {/* Header */} +
+

+ Skontaktuj się z nami +

+

+ Masz pytania o nasze usługi? Potrzebujesz wyceny? + Skontaktuj się z nami - chętnie pomożemy! +

+
+ +
+ {/* Contact Information */} +
+
+

+ Nasze Biuro +

+ +
+
+
+ + + + +
+
+

Adres

+

+ Aleje Wolności 6
+ II piętro
+ 33-300 Nowy Sącz +

+
+
+ +
+
+ + + +
+ +
+ +
+
+ + + +
+ +
+ +
+
+ + + +
+
+

Godziny pracy

+

+ Pon - Pt: 8:00 - 16:00
+ Sob - Nd: Zamknięte +

+
+
+
+
+ + {/* Map */} +
+ Mapa lokalizacji Wastpol +
+
+ + {/* Contact Form */} +
+

+ Wyślij wiadomość +

+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ +
+

+ * Pola wymagane. Twoje dane są bezpieczne i nie będą przekazywane osobom trzecim. +

+
+
+
+
+
+ ); +} diff --git a/components/templates/footer.js b/components/templates/footer.js new file mode 100644 index 0000000..e951d98 --- /dev/null +++ b/components/templates/footer.js @@ -0,0 +1,112 @@ +export default function Footer() { + const currentYear = new Date().getFullYear(); + + return ( + + ); +} diff --git a/components/templates/hero.js b/components/templates/hero.js new file mode 100644 index 0000000..dd16a6d --- /dev/null +++ b/components/templates/hero.js @@ -0,0 +1,81 @@ +export default function Hero() { + const scrollToSection = (sectionId) => { + const element = document.getElementById(sectionId); + if (element) { + element.scrollIntoView({ behavior: "smooth" }); + } + }; + + return ( +
+ {/* Background Image */} +
+
+
+ + {/* Content */} +
+

+ Projektowanie + i Realizacja + Instalacji Elektrycznych +

+ +

+ Kompleksowe usługi elektryczne - od projektu po pełną realizację. + Ponad 20 lat doświadczenia, zaufało nam już ponad 4000 klientów. +

+ +
+ + +
+ + {/* Stats */} +
+
+
20+
+
Lat doświadczenia
+
+
+
4000+
+
Projektów
+
+
+
100%
+
Zadowolenia
+
+
+
24/7
+
Wsparcie
+
+
+
+ + {/* Scroll indicator */} +
+ +
+
+ ); +} diff --git a/components/templates/location.js b/components/templates/location.js new file mode 100644 index 0000000..b71c8bb --- /dev/null +++ b/components/templates/location.js @@ -0,0 +1,37 @@ +export default function Contact() { + return ( +
+
+ +
+
+

Nasze Biuro

+
    +

    Aleje Wolności 6

    +

    II piętro

    +

    33-300 Nowy Sącz

    +
+

+

Kontakt

+ +
+
+
+ ); +} diff --git a/components/templates/main.js b/components/templates/main.js new file mode 100644 index 0000000..aaa6cb1 --- /dev/null +++ b/components/templates/main.js @@ -0,0 +1,26 @@ +export default function Main() { + return ( +
+
+ logo +
+ +

+ O nas +

+
+ +

+ Kontakt +

+
+ +

+ 18 442 02 44 +

+
+
+
+
+ ); +} diff --git a/components/templates/navigation.js b/components/templates/navigation.js new file mode 100644 index 0000000..d3c2fba --- /dev/null +++ b/components/templates/navigation.js @@ -0,0 +1,130 @@ +import { useState, useEffect } from "react"; + +export default function Navigation() { + const [isScrolled, setIsScrolled] = useState(false); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + + useEffect(() => { + const handleScroll = () => { + setIsScrolled(window.scrollY > 10); + }; + + window.addEventListener("scroll", handleScroll); + return () => window.removeEventListener("scroll", handleScroll); + }, []); + + const scrollToSection = (sectionId) => { + const element = document.getElementById(sectionId); + if (element) { + element.scrollIntoView({ behavior: "smooth" }); + } + setIsMobileMenuOpen(false); + }; + + return ( + + ); +} diff --git a/components/templates/second.js b/components/templates/second.js new file mode 100644 index 0000000..7d58658 --- /dev/null +++ b/components/templates/second.js @@ -0,0 +1,131 @@ +import { useState, useEffect } from "react"; +export default function Second() { + const [photo, setPhoto] = useState(0); + useEffect(() => { + document.getElementById("jobPhoto"); + jobPhoto.style.opacity = 0; + setTimeout(() => { + jobPhoto.src = `/images/${photo}.jpg`; + setTimeout(() => { + jobPhoto.style.opacity = 1; + }, 100); + }, 150); + + console.log(jobPhoto); + }, [photo]); + return ( + <> +
+ Prąd +

+   Ponad 4000 zrealizowanych projektów +
+   20 lat doświadczenia +

+
+ +
+
  • { + setPhoto(1); + }} + className="p-8 transition-all duration-700 hover:text-slate-500 border-b-2 border-white hover:border-red-500" + > + + + + +

    Sieci

    +
  • +
  • { + setPhoto(2); + }} + className="p-8 transition-all duration-700 hover:text-slate-500 border-b-2 border-white hover:border-red-500" + > + + + +

    Instalacje

    +
  • +
  • { + setPhoto(3); + }} + className="p-8 transition-all duration-700 hover:text-slate-500 border-b-2 border-white hover:border-red-500" + > + + + + +

    Nadzory

    +
  • +
  • { + setPhoto(4); + }} + className="p-8 transition-all duration-700 hover:text-slate-500 border-b-2 border-white hover:border-red-500" + > + + + +

    Pomiary

    +
  • +
    + + ); +} diff --git a/components/templates/services.js b/components/templates/services.js new file mode 100644 index 0000000..77a619f --- /dev/null +++ b/components/templates/services.js @@ -0,0 +1,166 @@ +import { useState } from "react"; + +export default function Services() { + const [activeService, setActiveService] = useState(0); + + const services = [ + { + id: 0, + title: "Projektowanie i Realizacja Sieci", + description: "Kompleksowe usługi od projektu po wykonanie sieci elektroenergetycznych niskiego i średniego napięcia", + icon: ( + + + + ), + image: "/images/1.jpg", + features: [ + "Projektowanie sieci napowietrznych i kablowych", + "Wykonawstwo sieci elektrycznych", + "Budowa stacji transformatorowych", + "Realizacja przyłączy elektroenergetycznych" + ] + }, + { + id: 1, + title: "Instalacje Elektryczne", + description: "Pełen zakres usług - projektowanie i montaż instalacji elektrycznych w obiektach mieszkalnych i przemysłowych", + icon: ( + + + + ), + image: "/images/2.jpg", + features: [ + "Projektowanie i montaż oświetlenia", + "Instalacje gniazd wtykowych", + "Wykonanie systemów alarmowych", + "Realizacja automatyki budynkowej" + ] + }, + { + id: 2, + title: "Nadzory Inwestorskie", + description: "Profesjonalny nadzór nad realizacją inwestycji elektrycznych na każdym etapie wykonania", + icon: ( + + + + + ), + image: "/images/3.jpg", + features: [ + "Nadzór autorski projektów", + "Nadzór inwestorski realizacji", + "Kontrola jakości wykonania", + "Odbiory techniczne i rozruch" + ] + }, + { + id: 3, + title: "Pomiary i Ekspertyzy", + description: "Kompleksowe pomiary elektryczne, ekspertyzy techniczne i certyfikacja instalacji", + icon: ( + + + + ), + image: "/images/4.jpg", + features: [ + "Pomiary rezystancji uziemień", + "Pomiary ochronne instalacji", + "Ekspertyzy i audyty techniczne", + "Protokoły pomiarowe i certyfikaty" + ] + } + ]; + + return ( +
    +
    + {/* Header */} +
    +

    + Nasze Usługi +

    +

    + Oferujemy kompleksowe usługi elektryczne - od projektowania przez realizację + po nadzory i pomiary. Każdy projekt wykonujemy z najwyższą starannością od A do Z. +

    +
    + +
    + {/* Services List */} +
    + {services.map((service, index) => ( +
    setActiveService(index)} + > +
    +
    + {service.icon} +
    +
    +

    + {service.title} +

    +

    + {service.description} +

    +
    +
    +
    + ))} +
    + + {/* Service Details */} +
    +
    + {services[activeService].title} +
    +
    +

    + {services[activeService].title} +

    +
    +
    + +
    +

    + {services[activeService].description} +

    + +

    + Zakres usług: +

    +
      + {services[activeService].features.map((feature, index) => ( +
    • + + + + {feature} +
    • + ))} +
    +
    +
    +
    +
    +
    + ); +} diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..eb70d94 --- /dev/null +++ b/next.config.js @@ -0,0 +1,4 @@ +module.exports = { + reactStrictMode: true, + +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f2d9819 --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "strona", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "export": "next build && next export", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@socialgouv/matomo-next": "^1.4.0", + "axios": "^0.26.1", + "next": "12.0.10", + "nodemailer": "^6.7.3", + "react": "17.0.2", + "react-dom": "17.0.2" + }, + "devDependencies": { + "autoprefixer": "^10.4.2", + "eslint": "8.8.0", + "eslint-config-next": "12.0.10", + "postcss": "^8.4.6", + "tailwindcss": "^3.0.19" + } +} diff --git a/pages/_app.js b/pages/_app.js new file mode 100644 index 0000000..5f655e8 --- /dev/null +++ b/pages/_app.js @@ -0,0 +1,15 @@ +import '../styles/globals.css' +import { useEffect } from "react"; +import { init } from "@socialgouv/matomo-next"; + +const MATOMO_URL = process.env.NEXT_PUBLIC_MATOMO_URL; +const MATOMO_SITE_ID = process.env.NEXT_PUBLIC_MATOMO_SITE_ID; + +function MyApp({ Component, pageProps }) { + useEffect(() => { + init({ url: MATOMO_URL, siteId: MATOMO_SITE_ID }); + }, []); + return +} + +export default MyApp diff --git a/pages/api/hello.js b/pages/api/hello.js new file mode 100644 index 0000000..a548e67 --- /dev/null +++ b/pages/api/hello.js @@ -0,0 +1,26 @@ +import nodemailer from "nodemailer"; + +export default function handler(req, res) { + let transporter = nodemailer.createTransport({ + host: "mail.wastpol.pl", + port: 465, + secure: true, + auth: { + user: "kontakt@wastpol.pl", + pass: "jHP4oCaELy0EOhz5", + }, + }); + + let info = transporter.sendMail({ + from: `"${req.body.name} 🤡" `, // sender address + to: "kontakt@wastpol.pl", // list of receivers + subject: `Wiadomość od ${req.body.name}`, // Subject line + html: `Treść: ${req.body.msg}
    + Dane do kontaktu:
    + nr tel: ${req.body.tel}
    + mail: ${req.body.mail}

    + Wiadomość wygenerowana automatycznie na stronie wastpol.pl`, // html body + }); + + res.status(200).json({ msg: "Message Sent" }); +} diff --git a/pages/elements/banner.js b/pages/elements/banner.js new file mode 100644 index 0000000..2d9186b --- /dev/null +++ b/pages/elements/banner.js @@ -0,0 +1,7 @@ +export default function Banner() { + return ( +
    + +
    + ); +} diff --git a/pages/elements/links.js b/pages/elements/links.js new file mode 100644 index 0000000..4df456c --- /dev/null +++ b/pages/elements/links.js @@ -0,0 +1,10 @@ +export default function Links() { + return ( +
    +

    + Lorem +

    +

    Dolor

    +
    + ); +} diff --git a/pages/elements/main.js b/pages/elements/main.js new file mode 100644 index 0000000..490052f --- /dev/null +++ b/pages/elements/main.js @@ -0,0 +1,32 @@ +// import Image from "next/image"; + +export default function Main() { + return ( +
    +
    +
    +
    +

    Lorem Ipsum

    +

    + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim + ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut + aliquip ex ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla + pariatur. Excepteur sint occaecat cupidatat non proident, sunt in + culpa qui officia deserunt mollit anim id est laborum. +

    +
    +
    { + console.log(e.target.innerHTML); + }} + > + Więcej +
    + Prąd +
    +
    + ); +} diff --git a/pages/elements/second.js b/pages/elements/second.js new file mode 100644 index 0000000..7818cf8 --- /dev/null +++ b/pages/elements/second.js @@ -0,0 +1,22 @@ +export default function Second() { + return ( +
    +
    + +
    +
    +

    Lorem Ipsum

    +

    Lorem ipsum dolor sit amet,

    +

    consectetur adipiscing elit,

    +

    + eiusmod tempor incididunt ut labore et dolore magna aliqua. +

    +

    + quis nostrud exercitation ullamco laboris nisi ut +

    +

    aliquip ex ea commodo consequat.

    +
    +
    +
    + ); +} diff --git a/pages/elements/third.js b/pages/elements/third.js new file mode 100644 index 0000000..6194761 --- /dev/null +++ b/pages/elements/third.js @@ -0,0 +1,31 @@ +export default function Third() { + return ( +
    +
    +
    +
    Lorem
    +
    Dolorem
    +
    + Sunt eiusmod voluptate anim sint minim id aliqua elit ipsum culpa. + Consectetur laborum duis duis laboris do aute aliquip adipisicing ut + tempor irure non nisi tempor. Cillum deserunt eu ea ipsum nostrud. + Nostrud adipisicing et quis mollit et culpa ea irure incididunt eiusmod + reprehenderit veniam eiusmod sint. Nisi ex exercitation velit sit ea ex. + Ullamco eu ea esse nulla commodo commodo irure. Aliqua nostrud eiusmod + et velit esse voluptate voluptate ipsum nisi laborum exercitation. +
    +
    +

    20 Lat Doświadczenia

    +

    + Głównym profilem działalności firmy jest projektowanie instalacji + elektrycznych oraz nadzór. Świadczymy również usługi w zakresie + audytów instalacji elektrycznych, umożliwiających wskazanie + konkretnych rozwiązań technicznych. Jako projektanci posiadający + wieloletnie doświadczenie, potwierdzone odpowiednimi uprawnieniami, + możemy Państwu zapewnić wykonywanie projektów na najwyższym poziomie + technicznym i w zadowalających terminach realizacji. +

    +
    +
    + ); +} diff --git a/pages/index.js b/pages/index.js new file mode 100644 index 0000000..5172c80 --- /dev/null +++ b/pages/index.js @@ -0,0 +1,34 @@ +import Head from "next/head"; +import Hero from "../components/templates/hero"; +import Navigation from "../components/templates/navigation"; +import Services from "../components/templates/services"; +import About from "../components/templates/about"; +import Contact from "../components/templates/contact"; +import Footer from "../components/templates/footer"; + +export default function Home() { + return ( +
    + + Wastpol - Projektowanie i Realizacja | Instalacje Elektryczne Nowy Sącz + + + + + + + + + + + + + + +
    +
    + ); +} diff --git a/pages/rodo.js b/pages/rodo.js new file mode 100644 index 0000000..2a174d4 --- /dev/null +++ b/pages/rodo.js @@ -0,0 +1,143 @@ +import Head from "next/head"; +import Navigation from "../components/templates/navigation"; +import Footer from "../components/templates/footer"; + +export default function Rodo() { + const downloadRodo = () => { + const fileUrl = "./rozporzadzenie-rodo.pdf"; + const link = document.createElement("a"); + link.href = fileUrl; + link.download = "rozporzadzenie-rodo.pdf"; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + }; + + const downloadRodoWastpol = () => { + const fileUrl = "./rodo-wastpol.pdf"; + const link = document.createElement("a"); + link.href = fileUrl; + link.download = "rodo-wastpol.pdf"; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + }; + + return ( +
    + + RODO - Ochrona Danych Osobowych | Wastpol + + + + + + + + + + {/* Hero Section for RODO */} +
    +
    +

    + Ochrona Danych Osobowych +

    +

    + Informacje dotyczące przetwarzania danych osobowych zgodnie z RODO +

    +
    +
    + + {/* Main Content */} +
    +
    +
    +
    +

    + RODO +

    +

    + RODO czyli Rozporządzenie Parlamentu Europejskiego i Rady (UE) + 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób + fizycznych w związku z przetwarzaniem danych osobowych i w sprawie + swobodnego przepływu takich danych oraz uchylenia dyrektywy + 95/46/WE (ogólne rozporządzenie o ochronie danych). +

    + +
    + +
    +

    + Inspektor Ochrony Danych +

    +
    +

    + Powołaliśmy Inspektora Ochrony Danych, z którym mogą się Państwo + skontaktować w sprawach dotyczących ochrony danych osobowych. +

    +
    + +
    +
    + + + + +
    + +
    + + + + +
    +

    Adres korespondencyjny

    +

    + IOD PPHU WASTPOL
    + 33-300 Nowy Sącz
    + Aleje Wolności 6 +

    +
    +
    +
    +
    + +
    +

    + Aby dowiedzieć się więcej na temat przetwarzania danych w firmie + WASTPOL zapoznaj się z poniższym dokumentem. +

    + +
    +
    +
    +
    + +
    +
    + ); +} diff --git a/pages/templates/content.js b/pages/templates/content.js new file mode 100644 index 0000000..dc56a36 --- /dev/null +++ b/pages/templates/content.js @@ -0,0 +1,13 @@ +import Main from "../elements/main"; +import Second from "../elements/second"; +import Third from "../elements/third"; + +export default function Content() { + return ( +
    +
    + + +
    + ); +} diff --git a/pages/templates/footer.js b/pages/templates/footer.js new file mode 100644 index 0000000..647af01 --- /dev/null +++ b/pages/templates/footer.js @@ -0,0 +1,7 @@ +export default function Footer() { + return ( +
    +

    © Wastpol 2022

    +
    + ); +} diff --git a/pages/templates/nav.js b/pages/templates/nav.js new file mode 100644 index 0000000..e43b89a --- /dev/null +++ b/pages/templates/nav.js @@ -0,0 +1,11 @@ +import Banner from "../elements/banner"; +import Links from "../elements/links"; + +export default function Nav() { + return ( +
    + + +
    + ); +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..56cd11b69cc90d37d327e35052ae5bc9a542d840 GIT binary patch literal 103078 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 V8ASbT0KN>&Cut?A3Q6O@{{z00>}CJ} literal 0 HcmV?d00001 diff --git a/public/logo_2.png b/public/logo_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ab4e120e0e45ea9cf83734f0c2c607dfc56648d4 GIT binary patch literal 7875 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 literal 0 HcmV?d00001 diff --git a/public/vercel.svg b/public/vercel.svg new file mode 100644 index 0000000..fbf0e25 --- /dev/null +++ b/public/vercel.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/styles/Home.module.css b/styles/Home.module.css new file mode 100644 index 0000000..b0744a8 --- /dev/null +++ b/styles/Home.module.css @@ -0,0 +1,117 @@ + +.container { + padding: 0 2rem; +} + +.main { + min-height: 100vh; + padding: 4rem 0; + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.footer { + display: flex; + flex: 1; + padding: 2rem 0; + border-top: 1px solid #eaeaea; + justify-content: center; + align-items: center; +} + +.footer a { + display: flex; + justify-content: center; + align-items: center; + flex-grow: 1; +} + +.title a { + color: #0070f3; + text-decoration: none; +} + +.title a:hover, +.title a:focus, +.title a:active { + text-decoration: underline; +} + +.title { + margin: 0; + line-height: 1.15; + font-size: 4rem; +} + +.title, +.description { + text-align: center; +} + +.description { + margin: 4rem 0; + line-height: 1.5; + font-size: 1.5rem; +} + +.code { + background: #fafafa; + border-radius: 5px; + padding: 0.75rem; + font-size: 1.1rem; + font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, + Bitstream Vera Sans Mono, Courier New, monospace; +} + +.grid { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + max-width: 800px; +} + +.card { + margin: 1rem; + padding: 1.5rem; + text-align: left; + color: inherit; + text-decoration: none; + border: 1px solid #eaeaea; + border-radius: 10px; + transition: color 0.15s ease, border-color 0.15s ease; + max-width: 300px; +} + +.card:hover, +.card:focus, +.card:active { + color: #0070f3; + border-color: #0070f3; +} + +.card h2 { + margin: 0 0 1rem 0; + font-size: 1.5rem; +} + +.card p { + margin: 0; + font-size: 1.25rem; + line-height: 1.5; +} + +.logo { + height: 1em; + margin-left: 0.5rem; +} + +@media (max-width: 600px) { + .grid { + width: 100%; + flex-direction: column; + } +} diff --git a/styles/globals.css b/styles/globals.css new file mode 100644 index 0000000..68a7cff --- /dev/null +++ b/styles/globals.css @@ -0,0 +1,57 @@ +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); +@tailwind base; +@tailwind components; +@tailwind utilities; + +html { + scroll-behavior: smooth; +} + +body { + padding: 0; + margin: 0; + font-family: "Inter", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, + Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + line-height: 1.6; +} + +a { + color: inherit; + text-decoration: none; +} + +* { + box-sizing: border-box; +} + +/* Custom scrollbar */ +::-webkit-scrollbar { + width: 6px; +} + +::-webkit-scrollbar-track { + background: #f1f1f1; +} + +::-webkit-scrollbar-thumb { + background: #888; + border-radius: 3px; +} + +::-webkit-scrollbar-thumb:hover { + background: #555; +} + +/* Smooth transitions for all interactive elements */ +button, a, input, textarea { + transition: all 0.3s ease; +} + +/* Focus styles for accessibility */ +button:focus, +a:focus, +input:focus, +textarea:focus { + outline: 2px solid #3b82f6; + outline-offset: 2px; +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..3abc4df --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,34 @@ +module.exports = { + content: [ + "./pages/**/*.{js,ts,jsx,tsx}", + "./components/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: { + fontFamily: { + 'sans': ['Inter', 'system-ui', 'sans-serif'], + }, + backgroundImage: { + main: "url('/main.jpg')", + }, + colors: { + blue: { + 50: '#eff6ff', + 100: '#dbeafe', + 200: '#bfdbfe', + 300: '#93c5fd', + 400: '#60a5fa', + 500: '#3b82f6', + 600: '#2563eb', + 700: '#1d4ed8', + 800: '#1e40af', + 900: '#1e3a8a', + } + }, + animation: { + 'bounce': 'bounce 1s infinite', + } + }, + }, + plugins: [], +};