This commit refactors multiple component files for better understandability and maintainability. Detailed comments are added for enhanced readability. The data source is defined using Astro.js to simplify the process of acquiring data for the components. Unnecessary files like 'preline.js' from the vendor scripts directory are deleted as part of clean-up.
Replaced the image components with card components in the product section to enhance product display. Modified the grid layout for enhanced product representation. Also, implemented the complete functionality of the blog section by defining the blog collection, adding blog cards and content, and refining meta data in MainLayout for SEO optimization. Adjusted animation timeline and script paths for better load performance.
Updated 'src/pages/products/[...slug].astro' to conditionally render product images only when they exist. Prevents potential errors or breaks in layout when there is an absence of either 'first' or 'second' blueprint images for a particular product.
Introduced a new astro file 'src/pages/products/[...slug].astro' to handle individual product pages. This file imports necessary components and templates the main layout of a product page. The layout includes methods for fetching products, providing static paths, and scripts for page interactivity.
Product information previously stored in JSON files has been migrated to Markdown format for efficient content management. Additionally, added a new button component for 404 pages to improve navigation and user experience. Defined a new schema for product collections and included GSAP JavaScript library for future animations.
The paths referencing images in the product page were corrected. Initial paths were relative to the current file but they should be relative to the root directory, thus an additional navigation step with "../" was added for each import statement.
Removed blog and product pages and moved their contents to new blog and product directories, respectively. Added a new 404 error page for invalid routes. Updated server configurations in 'vercel.json' to leverage additional security by adding 'cdnjs.cloudflare.com' to Content-Security-Policy headers.