Files
abzarasadi/Pages/Contact/Index.cshtml
T
Soroush Asadi f97f891d67
CI/CD / CI — dotnet build (push) Successful in 44s
CI/CD / Deploy — docker compose (push) Failing after 1s
Initial commit — AsadiTools v1.0
Full ASP.NET Core 10 Razor Pages app for آساد ابزار tool repair shop
in Karaj, Iran (official DeWalt representative).

Features:
- Homepage, Services, DeWalt page, Shop (pagination + images)
- 10 brand SEO pages (/brands/*) with rich Persian content + FAQ schema
- Blog engine with admin management (/blog, /Admin/Blog)
- Cart, Checkout, Contact (OpenStreetMap embed)
- Admin panel: Products CRUD, Orders, Blog, Change Password
- Jalali date formatting, product images, SiteData centralised contact
- Docker + docker-compose with healthcheck
- Gitea CI/CD via .gitea/workflows/ci-cd.yml (NuGet through Nexus mirror)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 22:08:43 +03:30

97 lines
5.4 KiB
Plaintext

@page
@model AsadiTools.Pages.Contact.ContactIndexModel
@{
ViewData["Title"] = "تماس با آساد ابزار – نمایندگی دیوالت کرج";
ViewData["Description"] = "آدرس، تلفن و ساعات کاری آساد ابزار کرج. نمایندگی رسمی دیوالت در کرج.";
Layout = "_Layout";
var c = SiteData.Company;
var mapBbox = $"{c.MapLng - 0.02},{c.MapLat - 0.02},{c.MapLng + 0.02},{c.MapLat + 0.02}";
var mapUrl = $"https://www.openstreetmap.org/export/embed.html?bbox={mapBbox}&layer=mapnik&marker={c.MapLat},{c.MapLng}";
}
<div class="bg-blue-800 text-white py-12 px-4">
<div class="max-w-6xl mx-auto">
<h1 class="text-3xl font-extrabold mb-2">تماس با ما</h1>
<p class="text-blue-200">آساد ابزار – نمایندگی رسمی دیوالت در کرج</p>
</div>
</div>
<div class="max-w-6xl mx-auto px-4 py-12">
<div class="grid md:grid-cols-2 gap-10">
<div>
<h2 class="text-xl font-bold text-gray-900 mb-6">اطلاعات تماس</h2>
<div class="space-y-4">
<div class="flex items-start gap-4 p-5 bg-white rounded-2xl border border-gray-100">
<span class="text-2xl mt-0.5">📞</span>
<div>
<div class="font-bold text-gray-800 mb-2">تلفن</div>
<a href="tel:@c.TelPhone" class="block text-blue-600 hover:underline text-lg font-bold">@c.Phone</a>
<a href="tel:@c.TelMobile" class="block text-blue-600 hover:underline">@c.Mobile</a>
</div>
</div>
<div class="flex items-start gap-4 p-5 bg-white rounded-2xl border border-gray-100">
<span class="text-2xl mt-0.5">📍</span>
<div>
<div class="font-bold text-gray-800 mb-1">آدرس</div>
<p class="text-gray-600">@c.Address</p>
</div>
</div>
<div class="flex items-start gap-4 p-5 bg-white rounded-2xl border border-gray-100">
<span class="text-2xl mt-0.5">🕐</span>
<div>
<div class="font-bold text-gray-800 mb-1">ساعات کاری</div>
<p class="text-gray-600">@c.WorkingHours</p>
</div>
</div>
<div class="flex gap-3">
<a href="https://wa.me/@c.Whatsapp" target="_blank"
class="flex-1 flex items-center justify-center gap-2 bg-green-500 text-white py-3.5 rounded-xl font-bold hover:bg-green-600 transition-colors">
💬 واتساپ
</a>
<a href="https://instagram.com/@c.Instagram" target="_blank"
class="flex-1 flex items-center justify-center gap-2 bg-gradient-to-r from-purple-500 to-pink-500 text-white py-3.5 rounded-xl font-bold hover:opacity-90 transition-opacity">
📷 اینستاگرام
</a>
</div>
</div>
<div class="mt-8">
<h2 class="text-xl font-bold text-gray-900 mb-4">برندهای رسمی</h2>
<div class="grid grid-cols-2 gap-3">
@foreach (var b in SiteData.Brands)
{
<div class="flex items-center gap-3 p-3 bg-white rounded-xl border border-gray-100">
<div class="w-9 h-9 rounded-lg flex items-center justify-center text-sm font-bold shrink-0"
style="background-color:@b.Color;color:@b.TextColor">@b.Name[0]</div>
<div>
<div class="font-bold text-gray-800 text-sm">@b.NameFa</div>
@if (b.IsOfficial) { <div class="text-xs text-yellow-600 font-medium">نمایندگی رسمی</div> }
</div>
</div>
}
</div>
</div>
</div>
<div>
<h2 class="text-xl font-bold text-gray-900 mb-6">موقعیت روی نقشه</h2>
<div class="rounded-2xl overflow-hidden border border-gray-200 mb-6" style="height:320px">
<iframe src="@mapUrl"
width="100%" height="320" style="border:0" loading="lazy"
title="موقعیت آساد ابزار کرج در نقشه"></iframe>
</div>
<p class="text-xs text-gray-400 mb-4">
نقشه از <a href="https://www.openstreetmap.org" target="_blank" class="underline">OpenStreetMap</a> —
پس از تعیین آدرس دقیق، مختصات را در <code>SiteData.Company.MapLat/MapLng</code> به‌روز کنید.
</p>
<div class="bg-yellow-50 border border-yellow-200 rounded-2xl p-5">
<h3 class="font-bold text-gray-900 mb-2">مراجعه حضوری</h3>
<p class="text-sm text-gray-600 leading-7">
برای تعمیر ابزار می‌توانید حضوراً مراجعه کنید یا با تماس قبلی ابزار خود را برای ما ارسال نمایید.
پس از تشخیص عیب، هزینه تعمیر اعلام می‌شود.
</p>
</div>
</div>
</div>
</div>