## v8.6 — Bilingual Public Site + Login Hardening
- Added a complete Persian/English public-site layer: Persian remains on existing URLs and English is available under `/en` with independent LTR rendering.
- Added English content for the homepage, all seeded service/about/contact pages, all seeded blog posts/categories, menus, footer, form labels/messages, SEO metadata, dates, 404s and language switching.
- Added `hreflang` links and locale-aware internal URLs, including the legacy `/en/p/{slug}` compatibility route.
- Removed the management-login link from both public footers.
- Hardened sessions with strict cookie mode, HttpOnly/SameSite cookies, Secure cookies on HTTPS, session ID rotation, idle/absolute expiration and no-store caching for admin pages.
- Added login throttling (5 failures / 15-minute lock) keyed by email + IP, constant-cost password verification for unknown accounts, password rehash support and active-user/role refresh on protected requests.
- Strengthened CSRF validation so missing/empty tokens can never match.
- Added security response headers and disabled debug mode by default.
- Removed prefilled/example admin credentials from the login page and removed fixed Seeder passwords. First-time seeded passwords are now provided through environment variables or generated randomly and printed once.
- Enforced a 12-character minimum for newly created admin-panel user passwords and validated email/role/status server-side.
- Added the `auth_login_attempts` table to the schema.
- Reconciled stale contact-page placeholder data with the project’s authoritative contact settings (`info@itxtrade.com`, `021-66677427`).

## v8.5 — Static Blade Page Registry
- Added `app/Views/static-pages` as a monitored drop-in folder for `*.blade.php` public pages.
- Static Blade files appear automatically under **Admin → Page Management** without a database insert.
- Filename is the default slug; optional `@static-page` metadata controls title, slug, status, language, layout and SEO.
- Added admin detail/source view and admin-only preview for static pages, including drafts.
- Added non-destructive conversion from Static Blade to a database-managed Blade page. The original file remains as fallback.
- Database pages have route priority over same-slug static files; a database draft also suppresses the static fallback.
- Converted Blade pages can be edited from Admin in code mode, including source, publication state, layout, SEO and gallery-backed OG image.
- Added a dedicated unified Page Management screen for Page Builder, Managed Blade and Static Blade pages.
- Restricted Blade source viewing/conversion/code editing to the `admin` role because managed Blade is executable server-side code.

## v8.4 — Global Homepage Footer
- The homepage footer is now the single shared footer on every public page, including blog and internal pages.
- Footer data is stored in global settings and remains editable from both Homepage Control and General Settings.
- Existing customized homepage footer values are migrated automatically on first run.
- Footer contact details use the shared site phone/mobile/email settings.
- Added shared-public-footer.css so the exact homepage footer styling is consistent site-wide.
# v8 — Dark Glass Header + Services Dropdown

- هدر عمومی و صفحه اصلی کمی تیره‌تر و نیمه‌شفاف با blur شیشه‌ای شد.
- زیر گزینه «خدمات» زیرمنوی واکنش‌گرا اضافه شد: «خدمات IT» و «خدمات بازرگانی».
- دو صفحه جدید `/it-services` و `/trade-services` با بلوک‌های قابل ویرایش پنل صفحات اضافه شد.
- برای نصب‌های موجود، صفحات جدید در اولین بازدید به‌صورت خودکار و بدون بازنویسی صفحات موجود ساخته می‌شوند.
- نسخه موبایل زیرمنو با دکمه باز/بسته مستقل پشتیبانی می‌شود.

# ITX Trade - Multi Page Revision

## Navigation
- Main navigation changed from section anchors to real page URLs.
- Clean public route `/{slug}` added after all system routes.
- Legacy `/p/{slug}` route retained for backward compatibility.
- Admin Menu Builder now suggests existing page paths.

## Page Designer
- Added editable Hero visual label/subtitle.
- Service cards now support editable destination URL and link label.
- Added Stats block.
- Added FAQ block.
- Added editable highlight mark in Content block.
- Contact block now exposes contact labels, form labels, placeholders and submit text.
- Added reserved slug validation for system routes.

## Content
- Previous sample page copy was replaced.
- Added 8 seeded public pages.
- Added dedicated pages for network, data center/cloud, international trade and technology consulting.
- Header/Footer seed menus now point to actual pages, not element IDs.

## Styling
- Added styles for linked service cards, stats and FAQ blocks.
- Added responsive Page Designer layouts for new repeaters.

## Blog integration update
- «وبلاگ» به منوی اصلی و فوتر اضافه شد و روی صفحات مقاله نیز حالت فعال دارد.
- بخش «وبلاگ و نوشته‌ها» به پنل ادمین اضافه شد.
- مدیریت نوشته‌ها شامل ایجاد، ویرایش، حذف، پیش‌نویس/انتشار، دسته‌بندی، تصویر شاخص، خلاصه و SEO است.
- یک ویرایشگر دیداری سبک شبیه تجربه کلاسیک WordPress برای محتوای نوشته اضافه شد.
- صفحه اصلی سه نوشته آخر را در بخش «تازه‌های وبلاگ» نمایش می‌دهد.
- صفحه عمومی `/blog` و صفحه هر نوشته `/blog/{slug}` با طراحی هماهنگ با ITX Trade تکمیل شد.
- برای نصب‌های قدیمی، مدل Blog جدول‌های لازم را در صورت نبودن ایجاد می‌کند.

## 2026-08-16 — Classic Blog Display
- بازنویسی صفحه `/blog` بر اساس ساختار Blog Classic مرجع.
- نمایش ۴ نوشته در هر صفحه با تصویر شاخص، تاریخ/نویسنده، عنوان، خلاصه و دسته‌بندی.
- سایدبار چپ با لینک دسته‌ها، پست‌های اخیر و بنر تصویری.
- صفحه‌بندی کلاسیک با دکمه NEXT و گرادیان آبی/بنفش.
- استایل تیره با رنگ‌ها و ساختار نزدیک به قالب Aigency مرجع.

## 2026-08-17 — Blog Classic source-matched rewrite
- ساختار صفحه `/blog` با مارک‌آپ مرجع Blog Classic بازنویسی شد.
- نسبت تصویر 1340×638، متای تاریخ/نویسنده روی تصویر، تیتر، خلاصه و دسته‌بندی‌ها به استایل مرجع نزدیک‌تر شد.
- سایدبار چپ شامل دسته‌ها، نوشته‌های اخیر و بنر مشاوره با چیدمان مرجع بازطراحی شد.
- صفحه‌بندی کلاسیک و حالت‌های responsive بازنویسی شدند.
- صفحه داخلی مقاله نیز با همان پوسته تیره و سایدبار Blog Classic یکپارچه شد.

## Blog Classic v3 fixes
- Blog header/menu now uses the same light public header styling as the rest of the website.
- Removed the blog-only dark-header body class from listing and single-post routes.
- Sidebar remains in the left column on laptop/tablet widths and stacks only below 768px.
- Added grid width containment and desktop sticky positioning to prevent the sidebar from dropping below article text.

## Form Builder Pro update
- بازطراحی رابط فرم‌ساز در پنل مدیریت با پیش‌نمایش زنده.
- پشتیبانی از text, email, textarea, number, tel, url, select, checkbox, date.
- تنظیم Label، نام سیستمی، Placeholder، اجباری بودن، عرض فیلد و گزینه‌های Select.
- جابه‌جایی ترتیب فیلدها، ویرایش فرم، کپی فرم و حذف فرم.
- جستجو و فیلتر پیام‌ها و نمایش تمام داده‌های ارسال‌شده.
- حذف تکی پیام‌ها.
- اعتبارسنجی امن‌تر فرم‌ها در سمت سرور.
- اتصال فیلدهای فرم‌ساز به فرم تماس عمومی برای ثبت فیلدهای سفارشی.

## v6 — Homepage Trade × Technology redesign
- بازنویسی کامل صفحه اصلی بر اساس اطلاعات واقعی دایان تجارت داده گستر / ITX Trade
- Hero جدید با پیام «فناوری، زیرساخت و تجارت؛ یکپارچه برای رشد کسب‌وکار» و عبارت Where Technology Meets Trade
- معرفی پنج حوزه اصلی: شبکه، لجستیک و زنجیره تأمین، بازرگانی، زیرساخت فناوری اطلاعات و توسعه نرم‌افزار
- بخش آماری شامل 12+ سامانه فعال، 5 حوزه تخصصی، 2 دفتر تهران و نگاه یکپارچه 360 درجه
- بازنویسی بخش چشم‌انداز با تمرکز بر نوآوری، راهکارهای داده‌محور، شبکه‌های تجاری و رشد بلندمدت
- نوار تخصص‌های ITX و بازطراحی بخش آخرین مقالات
- CTA «مشاوره رایگان» در هدر و صفحه اصلی
- بروزرسانی اطلاعات تماس به info@itxtrade.com، تلفن ثابت و دو شماره موبایل ارائه‌شده
- ثبت دو آدرس دفتر تهران و امکان ویرایش آن‌ها از تنظیمات عمومی ادمین
- مهاجرت یک‌باره Homepage v6 برای نصب‌های قبلی؛ پس از ارتقا، محتوای صفحه همچنان از Page Designer قابل ویرایش است
- افزایش نسخه CSS به 6.0.0 برای جلوگیری از کش‌شدن طراحی قدیمی

## v7 — بازنویسی کامل صفحه اصلی و ویرایشگر اختصاصی ادمین
- بازسازی کامل صفحه اصلی بر اساس مرجع تیره/زرشکی ارائه‌شده: Navbar ثابت، Hero، آمار، خدمات، چشم‌انداز، وبلاگ، CTA تماس و Footer
- استفاده از داده‌های واقعی دایان تجارت داده گستر و اطلاعات تماس 09120043143، 09125455261، 021-66677427 و info@itxtrade.com
- صفحه اصلی اکنون Layout مستقل و سبک دارد و به CSS سنگین Elementor یا Tailwind در Frontend وابسته نیست
- نمایش داینامیک آخرین مقالات واقعی وبلاگ با همان طراحی کارت‌های مرجع
- افزودن مسیر اختصاصی «مدیریت صفحه اصلی» در پنل ادمین
- بازنویسی کامل مدیریت داده صفحه اصلی به فرم‌های ساختاریافته برای Hero، چهار آمار، پنج خدمت، چهار کارت چشم‌انداز، وبلاگ، تماس، Footer، شبکه‌های اجتماعی و SEO
- انتقال ویرایش صفحه home از Page Designer عمومی به ویرایشگر اختصاصی صفحه اصلی
- مهاجرت خودکار نصب‌های قبلی به ساختار داده Homepage v7 فقط یک‌بار
- Seeder جدید نیز صفحه اصلی را از ابتدا با ساختار v7 ایجاد می‌کند
- فایل‌های home-v7.css و home-v7.js برای استایل و تعاملات اختصاصی صفحه اصلی اضافه شدند

## v8.1 — Mobile menu fix
- Reworked the mobile main navigation panel to avoid fixed-position/backdrop-filter conflicts on mobile browsers.
- Added stable full-height scrolling inside the mobile menu.
- Tapping the Services label now expands/collapses its submenu on mobile; desktop keeps the normal Services link behavior.
- Improved hamburger open/close state, Escape handling, resize cleanup and outside-click handling.
- Added cache-busting version 8.1.0 for the updated navigation CSS/JS.

## v8.2.0 — Brand assets from Admin
- Added a dedicated Brand Identity section under Admin > General Settings.
- Header logo can now be uploaded/replaced from the admin panel and is used on the homepage plus all inner pages, desktop and mobile.
- Footer logo can be managed independently, with automatic fallback to the header logo and then to the original ITX mark.
- Admin/login logo can be uploaded independently.
- Favicon can now be uploaded from the admin panel and is applied to public, admin, and login layouts.
- Added previews, replace/remove controls, file-size limits, safe MIME validation, and automatic cleanup of replaced branding files.
- Supported logo formats: PNG, JPG/JPEG, WebP, GIF. Favicon additionally supports ICO.

## v8.3.0 — Vue Live Admin + Gallery-only Images
- Media Manager is now the single upload source for admin images; JPG, PNG, WebP, GIF and ICO are supported.
- Added a global Vue 3 Media Picker shared by Homepage, Page Designer SEO, Blog Editor and Brand Identity settings.
- Header logo, footer logo, admin/login logo and favicon are selected from the central gallery instead of separate file inputs.
- Blog featured images and images inserted into article content use the same Vue-powered gallery picker.
- Homepage OG Image and internal-page OG Image now use gallery selection with instant preview; manual image URL fields were removed.
- Added server-side validation so new image selections must belong to the Media Manager library (with backward compatibility for existing legacy paths).
- Added Vue-powered no-refresh save behavior and live dirty/saving/saved/error status to editable Homepage, Settings, existing Pages and existing Blog posts.
- Added a JSON media-library endpoint for the Vue picker and live refresh of gallery contents.
