### Install Dependencies and Run Development Server Source: https://github.com/riomulya/arch/blob/main/README.md Commands to clone the repository, install project dependencies using npm, and start the development server. ```bash git clone cd arch npm install npm run dev ``` -------------------------------- ### Build and Start Production Server Source: https://github.com/riomulya/arch/blob/main/README.md Commands to build the project for production and start the production server. ```bash npm run build npm start ``` -------------------------------- ### Environment Variables Configuration Source: https://github.com/riomulya/arch/blob/main/README.md Example of environment variables to be set in a .env.local file for website configuration. ```env NEXT_PUBLIC_SITE_URL=https://archcontinenttech.com NEXT_PUBLIC_WHATSAPP_NUMBER=6289514024380 NEXT_PUBLIC_EMAIL=ptarchcontinenttech@gmail.com ``` -------------------------------- ### Manual Deployment Steps Source: https://github.com/riomulya/arch/blob/main/README.md Instructions for manual deployment by building the project and uploading the output folders. ```bash npm run build # Upload folder .next and public ke hosting ``` -------------------------------- ### React Product Page with E-commerce Functionality Source: https://context7.com/riomulya/arch/llms.txt This React component creates a product detail page with interactive elements for selecting product size and quantity. It includes buttons to add items to a cart (with console logging) and to initiate a direct WhatsApp purchase, passing product details and quantity. ```javascript // app/products/page.js 'use client'; import { useState } from 'react'; import { motion } from 'framer-motion'; import { ShoppingCartIcon, PlusIcon, MinusIcon } from '@heroicons/react/24/outline'; export default function Products() { const [quantity, setQuantity] = useState(1); const [selectedSize, setSelectedSize] = useState('standard'); const product = { name: 'Plastik Core Tray Premium', description: 'Solusi profesional untuk organisasi dan manajemen kabel di data center, industri, dan bangunan komersial.', features: [ 'Material plastik ABS berkualitas tinggi', 'Tahan korosi dan cuaca ekstrem', 'Mudah dipasang dan dipelihara', 'Garansi 2 tahun', ], sizes: [ { id: 'small', name: '100mm x 50mm', price: 125000 }, { id: 'standard', name: '200mm x 100mm', price: 150000 }, { id: 'large', name: '300mm x 150mm', price: 200000 }, ], }; const handleAddToCart = () => { const selectedProduct = product.sizes.find(size => size.id === selectedSize); console.log('Added to cart:', { product: product.name, size: selectedProduct.name, price: selectedProduct.price, quantity: quantity, total: selectedProduct.price * quantity, }); alert(`${product.name} (${selectedProduct.name}) x${quantity} ditambahkan ke keranjang!`); }; const handleBuyNow = () => { const selectedProduct = product.sizes.find(size => size.id === selectedSize); const message = `Halo, saya ingin membeli ${product.name} (${selectedProduct.name}) sebanyak ${quantity} unit. Total: Rp ${(selectedProduct.price * quantity).toLocaleString('id-ID')}`; window.open( `https://wa.me/6289514024380?text=${encodeURIComponent(message)}`, '_blank' ); }; const selectedProduct = product.sizes.find(size => size.id === selectedSize); return (

{product.name}

Rp {selectedProduct?.price.toLocaleString('id-ID')}

Pilih Ukuran:

{product.sizes.map((size) => ( ))}

Jumlah:

{quantity}
); } ``` -------------------------------- ### Root Layout Configuration (Next.js) Source: https://context7.com/riomulya/arch/llms.txt Configures the root layout for a Next.js application, including metadata settings for SEO (title, description, keywords, robots, OpenGraph) and structured data in JSON-LD format for search engines. It also imports global styles and analytics/speed insights tools. ```javascript //app/layout.js import { Inter } from 'next/font/google'; import { Analytics } from '@vercel/analytics/next'; import { SpeedInsights } from '@vercel/speed-insights/next'; import './globals.css'; const inter = Inter({ subsets: ['latin'], display: 'swap', }); export const metadata = { title: { default: 'PT ARCH CONTINENT TECH - Solusi Bahan Konstruksi & Perlengkapan Teknis', template: '%s | PT ARCH CONTINENT TECH', }, description: 'PT ARCH CONTINENT TECH adalah perusahaan terpercaya yang bergerak di bidang perdagangan besar bahan konstruksi dan perlengkapan teknis.', keywords: ['bahan konstruksi', 'perlengkapan teknis', 'plastik core tray', 'cable management'], robots: { index: true, follow: true, }, openGraph: { type: 'website', locale: 'id_ID', url: 'https://archcontinenttech.com', siteName: 'PT ARCH CONTINENT TECH', }, }; const structuredData = { '@context': 'https://schema.org', '@type': 'LocalBusiness', name: 'PT ARCH CONTINENT TECH', address: { '@type': 'PostalAddress', streetAddress: 'JL WR SUPRATMAN GG SUKUN, RT 003/RW 006', addressLocality: 'Ciputat Timur', addressRegion: 'Tangerang Selatan, Banten', postalCode: '15141', addressCountry: 'ID', }, telephone: '+6289514024380', email: 'ptarchcontinenttech@gmail.com', }; export default function RootLayout({ children }) { return (