12 KiB
12 KiB
ASPHP Co Website Context
Source Prompt
Create a Persian RTL Next.js website for a server parts store from asphp.ir. Use banners, images, logo, fonts, icon feel, and color palette from the main website. Clone only the homepage, about us, and contact us pages. Keep the design flat.
Source Site Data
- Brand: شرکت آریا شبکه پیشرو
- Domain:
https://www.asphp.ir - Meshkee backend domain:
asphp.ir - Meshkee API base:
https://api.meshkee.com/api/v1 - Customer login/profile target from backend prompt:
https://customer.asphp.ir.com - Business: فروش تجهیزات سرور HP، رم سرور، هارد سرور، CPU، سوئیچ Cisco و تجهیزات شبکه
- Language/direction: Persian,
fa,rtl - Primary color:
#0097D9 - Secondary/tertiary color:
#883F3F - Header background:
#17214B - Main font: Iran Yekan from Meshkee CDN, downloaded into
public/assets - Latin/number font: Montserrat from Meshkee CDN, downloaded into
public/assets - Contact phones from source:
02177133934,02177132293,88467222 (021),22459734 (021) - Address: تهران، میدان رسالت خیابان هنگام کوچه شیری پلاک 9 واحد 4
- Socials:
https://www.instagram.com/asphp.co/,https://t.me/asphpco
Local Implementation
- Framework: Next.js App Router
- Routes:
//about-us/contact-us/store/store/[id]/blog/blog/[slug]/aboutusalias/contactusalias
- Shared content lives in
app/data.js - Meshkee backend helpers live in
app/meshkee.js. - Header login/user/cart behavior lives in
app/HeaderTools.js. - Store add-to-cart controls live in
app/StoreActions.js. - Contact submission UI lives in
app/ContactForm.jsand posts throughapp/api/contact/route.js. - Shared layout components live in
app/components.js - Global design tokens and responsive CSS live in
app/globals.css - Downloaded source HTML is saved under
.source/for future AI/system reference. - Downloaded visual assets and fonts are saved under
public/assets/. - Dependencies are locked in
package-lock.json; Next is pinned to16.3.4after npm reported a security warning for15.5.2. npm install --ignore-scripts --no-audit --no-fundcompleted.npm run buildstarts Next but is killed by this runner with exit code137immediately after config load; dev server also reports ready and exits in this environment.
Notes For Future Prompts
- Keep Persian text RTL and avoid converting source phrasing to English.
- Preserve the ASPHP palette unless the user explicitly asks for a redesign.
- Prefer adding or editing structured arrays in
app/data.jsfor content changes. - Update this file whenever future prompts change site goals, content sources, routes, brand rules, or design constraints.
2026-09-03 Layout Update
- Header is container-width and boxed, with the top contact bar, logo/nav, and product search input inside the same header box.
- Homepage search was moved from below the hero into the header.
- Homepage slider is container-width rather than full-bleed.
- Slider uses animated transitions and keeps adjacent previous/next banner panels visible around the active slide.
- Slider text overlay was removed so only banner artwork appears.
- Slider card/box styling was removed; banners now slide as flat images inside the container area.
- Three promo banners were added below the slider; each is fixed at
200pxheight on desktop. preview-server.mjsmirrors these layout changes for the lightweight runnable preview.
2026-09-03 Header And Slider Refinement
- Slider images now have rounded corners, with the active slide enlarged.
- Site typography was reduced and header navigation uses lighter font weight.
- Header search uses an icon-only search button.
- Logo was moved to the visual left side of the header.
- Navigation now uses a
دسته بندی هاmega menu, removesصفحه اصلیandمحصولات, and addsفروش ویژه.
2026-09-03 Special Sale Frame
- Product images are now square (
1:1) and cover their frame. - The homepage product section is now a
فروش ویژهframe with a minimal light blue background. - A banner card was added as the first card in the special sale grid.
2026-09-03 Mega Menu And Header Search
دسته بندی هاis now a large tabbed-style mega menu panel with tabs and grouped columns.فروش ویژهappears directly afterدسته بندی هاin the header.- Header search is now an icon-only control; clicking it opens the search input.
- Header top bar uses only phone and Instagram icons instead of descriptive labels.
- Iran Yekan light was downloaded and set as the base font weight.
2026-09-03 Slider Simplification
- Category menu label now has a small icon plus a minimal light-blue border.
- Slider no longer shows previous/next slides; the active slide fills the container width.
- Slider keeps looping through slides with a fade transition.
2026-09-03 Section Title And Card Density
- Section titles now use a branded pill, gradient accent line, and small dot detail.
- Special sale card spacing and frame padding were reduced so product cards appear larger and denser.
2026-09-03 Special Sale Countdown
- Added a rolling 72-hour countdown to the
فروش ویژهframe. - Next source uses
app/Countdown.js;preview-server.mjsmirrors the same countdown with inline JavaScript for the local preview.
2026-09-03 Special Sale Band Refinement
- The special sale light-blue background now spans the full page width while keeping content inside the main container.
- The special sale title is aligned to the right and the countdown is aligned to the left.
- The section title dot was moved beside the Persian title and now pulses slowly.
- Special sale card spacing was tightened again.
2026-09-03 Flip Clock Countdown
- The special sale countdown now uses compact flip-clock number cards for days, hours, minutes, and seconds.
- The preview server countdown markup and inline timer script were updated to match the React component.
2026-09-03 Sale Frame Spacing
- The special sale band now uses reduced vertical padding with outside top/bottom margin.
- Added blue top and bottom rules to the full-width sale frame.
- Flip-clock numbers now use the primary ASPHP blue instead of the dark red accent.
- Product card gaps in the sale frame were tightened further.
2026-09-03 Articles Carousel
- Articles are now structured with image, date, title, and abstract fields in
app/data.js. - Homepage articles render as a horizontal carousel with square (
1:1) cover images. preview-server.mjsmirrors the carousel article cards for the local static preview.
2026-09-05 Services Order
- Services section card order is rendered in reverse visual order on the homepage and preview server.
- Corrected the
articlesanchor so it targets the articles carousel section.
2026-09-05 Feature Frame Redesign
- Downloaded the six original feature icons from the ASPHP source theme into
public/assets/feature-*.png. - Feature data now stores icon/body objects instead of plain strings.
- The
ویژگی ماframe now uses a source-inspired split layout with a title/copy panel and a six-item icon grid.
2026-09-05 Original Banner Frame
- Downloaded the original three-image
infoitems2banner frame assets intopublic/assets/source-frame-*.jpg. - Added a homepage frame after
ویژگی ماwith one large hard-drive banner and two stacked right-side banners, matching the original site composition. preview-server.mjsmirrors the frame for local preview.- Updated the homepage about-band image to use the same server-room image and image-over-blue-backing treatment.
2026-09-05 Contact CTA Row
- Reworked the homepage contact row into a light-blue branded call-to-action panel with consultation copy, a phone icon, and a prominent phone number.
preview-server.mjsmirrors the CTA row for local preview.- Later refined into a flat full-width row with top/bottom blue rules and corrected the phone number typography to use the Persian site font without letter spacing.
2026-09-05 Feature Icon Normalization
- Normalized visual sizing for original feature icons by scaling wider source PNGs inside the same fixed icon box.
2026-09-05 Countdown Order
- Reversed the special sale countdown unit order in both the React component and preview server.
2026-09-05 Meshkee Backend Integration
- Added
app/meshkee.jsas the central Meshkee Website API helper for tenant, favicon/logo, store items, blogs, contact submissions, authenticated user lookup, and cart item submission. - Added Meshkee static image slot helpers for
/tenants/asphp.ir/website/static-images, including key lookup, list/single handling, linkUrl mapping, and CSS-safe aspect ratio parsing. - Added store list/detail pages connected to
/tenants/asphp.ir/store-items, with local product fallbacks because the live API currently returns an empty item list. - Store detail pages include square lightbox-style gallery links, hover zoom, quantity selector, add-to-cart behavior, description/technical/comments tabs, a login prompt for comments, and similar products.
- Added blog list/detail pages connected to
/tenants/asphp.ir/blogs, with local article fallbacks because the live API currently returns an empty blog list. - Updated metadata favicon handling to read Meshkee favicon/logo data first and fall back to
/assets/favicon.png. - Header now includes customer login/user dropdown behavior and a cart icon with localStorage count/popup support.
- Contact page form now submits through the Meshkee contact submissions API via a local route handler, resets on success, and shows status text.
preview-server.mjsincludes static preview equivalents for/store,/store/:id,/blog, and/blog/:slug.next.config.mjsallows Meshkee API/storage/template image hosts for backend-provided images.- Homepage image placeholders now read static image slots by key:
slider,three-banner-below-slider,special-sale-banner,server-banner,aboutus-banner, andthree-banner; if the API is empty or fails, keep the current local placeholder. When image size or aspect ratio changes, update the static image reader usage soslot.aspectRatiostays respected.
2026-09-06 SEO And Sitemap Config
- Do not create or ship
public/sitemap.xmlorpublic/robots.txt; production nginx proxies both to Meshkee. - Added
/meshkee/sitemap-config.jsonas the sitemap config endpoint with static public routes and Meshkee canonical templates for products, categories, blogs, and portfolios. - Public page metadata now uses unique titles/descriptions, canonical URLs, and Open Graph/Twitter metadata through
app/seo.js. - Product detail metadata prefers CMS product fields and canonicalizes to
/products/{id}/{nameFaSlug}; blog detail metadata canonicalizes to/blog/{id}/{titleSlug}. - The homepage now has exactly one hidden H1 while section titles remain H2/H3.
2026-09-05 CTA Position
- The contact CTA row was moved back to its lower homepage position after the project section and before the articles carousel.
preview-server.mjsmirrors the same homepage section order.
2026-09-05 Image Pair And Banner Ratio
- Updated the split server-info image pair so the main image uses a 3:2 visual ratio.
- Moved the secondary blue image below the main image instead of overlaying it.
- Made the stacked original banner-frame images taller with a 3:2 ratio.
- Replaced the dark secondary server-info image with the clearer HP G9 product image.
- Restyled the blue rectangle as a backing layer behind the secondary product image instead of a separate visible block.
- Removed the secondary white product image from the server-info pair and moved the blue accent rectangle upward behind the main image.
2026-09-03 Header Flattening
- Top contact strip uses its own light-blue boxed background.
- Logo/navigation row uses a separate white boxed card.
- Top contact strip and navigation row are visually attached with shared edges and complementary rounded corners.
- Login button now uses Iran Yekan instead of the Latin/number font.
2026-09-05 Header Tools Position
- Moved the login/user and cart tools into the topbar's former login-button position.
- Removed the duplicate header tools from the main nav row and reversed their order so login appears before cart.