gitextract_asq10hh1/ ├── .github/ │ └── workflows/ │ └── publish.yml ├── .gitignore ├── CONTRIBUTING.md ├── README.md ├── jsconfig.json ├── package.json ├── portfoliosanitydata/ │ ├── .eslintrc │ ├── .npmignore │ ├── README.md │ ├── UPGRADE_PLAN.md │ ├── config/ │ │ ├── .checksums │ │ └── @sanity/ │ │ ├── data-aspects.json │ │ ├── default-layout.json │ │ ├── default-login.json │ │ ├── form-builder.json │ │ ├── google-maps-input.json │ │ └── vision.json │ ├── dist/ │ │ ├── index.html │ │ └── static/ │ │ ├── .gitkeep │ │ ├── css/ │ │ │ └── main.css │ │ └── js/ │ │ ├── app.bundle.js │ │ └── vendor.bundle.js │ ├── package.json │ ├── plugins/ │ │ └── .gitkeep │ ├── queries/ │ │ └── index.js │ ├── sanity.json │ ├── schemas/ │ │ ├── portfolio.js │ │ ├── schema.js │ │ ├── service.js │ │ ├── siteSettings.js │ │ └── testimonial.js │ ├── static/ │ │ └── .gitkeep │ └── tsconfig.json ├── public/ │ ├── index.html │ ├── manifest.json │ └── robots.txt ├── sanity-steps.md └── src/ ├── App.jsx ├── client.js ├── components/ │ ├── Button/ │ │ ├── Button.jsx │ │ └── button.css │ ├── Contact/ │ │ ├── Contact.jsx │ │ └── contact.css │ ├── Footer/ │ │ ├── Footer.jsx │ │ └── footer.css │ ├── Heading/ │ │ ├── Heading.jsx │ │ └── heading.css │ ├── Home/ │ │ ├── Home.jsx │ │ └── home.css │ ├── Menu/ │ │ ├── Menu.jsx │ │ ├── MenuIcon/ │ │ │ └── MenuIcon.jsx │ │ └── menu.css │ ├── Nav/ │ │ ├── Nav.jsx │ │ ├── NavLink/ │ │ │ └── NavLink.jsx │ │ └── nav.css │ ├── Portfolio/ │ │ ├── PortfolioItem/ │ │ │ ├── PortfolioItem.jsx │ │ │ └── portfolio-item.css │ │ ├── index.jsx │ │ └── portfolio.css │ ├── Services/ │ │ ├── Services.jsx │ │ ├── ServicesCard/ │ │ │ ├── ServicesCard.jsx │ │ │ └── services-card.css │ │ ├── services-card.css │ │ └── services.css │ └── Testimonials/ │ ├── Testimonial/ │ │ └── Testimonial.jsx │ ├── Testimonials.jsx │ └── testimonials.css ├── constants/ │ ├── index.js │ └── sanityQueries.js ├── hooks/ │ ├── README.md │ └── useSanityData.js ├── index.css ├── index.js ├── serviceWorker.js └── utils/ └── helpers.js