v3.6.61
Notes de version
Synthèse officielle des capacités ajoutées, modifiées et corrigées dans le panneau utilisateur Abrecode. Sélectionnez une entrée pour ouvrir la page associée.
Version 3.6.69
Version 3.6.68
- ModifiéPublic pages no longer load console-only `config.control-center.css` (ApexCharts/Leaflet bundle removed from global CSS)
- ModifiéRoot layout: locale-aware `lang`/`dir`/font on `<html>` at SSR; local fonts use `preload: false` to stop unused preload console warnings
- CorrigéLighthouse / PageSpeed: allow viewport zoom; remove header/footer skeleton swap (lower CLS); explicit image dimensions; footer heading semantics and icon link labels; larger touch targets; long-cache headers for `/assets` and `/fonts`; Next.js image aspect-ratio warning on installment promo
Version 3.6.67
Version 3.6.66
Version 3.6.65
Version 3.6.64
Version 3.6.63
Version 3.6.62
Version 3.6.61
Version 3.6.60
Version 3.6.59
Version 3.6.58
Version 3.6.57
Version 3.6.56
Version 3.6.55
Version 3.6.54
Version 3.6.53
Version 3.6.52
Version 3.6.51
- ModifiéLogin tabs: blue active pill, light/dark friendly; removed tab content cards
- ModifiéAuth field labels sit above inputs with logical start alignment (RTL-safe for Persian)
- ModifiéSignup/forgot primary actions use the same blue CreepyButton as login; forgot “back to login” link is muted (not brand green)
Version 3.6.50
Version 3.6.49
- ModifiéLogin tabs: one-time code / password labels and request-code copy in all locales
- ModifiéPersian and other RTL locales now right-align login tab content; tab cards and pills work in dark mode
- ModifiéLogin send-code / sign-in buttons use the animated cover button; auth titles and links are smaller, near-black (near-white in dark mode)
Version 3.6.48
Version 3.6.47
Version 3.6.46
Version 3.6.45
Version 3.6.44
Version 3.6.43
Version 3.6.42
- AjoutéInstallments page: product/detail skeletons while loading; lazy-loaded product images
- CorrigéLive-chat image attachments hide filename and show preview + download only; widget opens an image preview modal on click
- CorrigéPublic header brand/tagline scale down on mobile so text sits beside the logo
- CorrigéTablet/iPad: hamburger menu available below `lg` (main mega-menu remains desktop)
- CorrigéFooter copyright/legal links match «طراحی شده با» size; social title stays white in light and dark
- CorrigéFooter menus on mobile use a readable 2-column grid with smaller type
- CorrigéInstallments mobile: center-aligned options; cash price slightly larger and bold
Version 3.6.41
- AjoutéLive-chat widget: drag-and-drop file upload with progress bar and cancel
- AjoutéLive-chat widget: message skeletons while opening; image attachment skeleton until preview loads
- AjoutéLive-chat widget: emoji search uses site font; Persian placeholder «سرچ شکلک» (RTL)
- ModifiéComposer send / attach / emoji controls share a 42px size with hover motion
- CorrigéLive-chat emoji picker closes after picking an emoji and on outside click
- CorrigéProfile info dropdown animates open/close
- CorrigéDefault subtitle when CMS unset: «پشتیبانی آنلاین ابریکُد»
Version 3.6.40
- AjoutéUser uploads (profile photo and comment/product attachments) are stored on the public bucket under `userassets/{userId}/{section}/` via `POST /media/user-assets/upload`
- AjoutéHelper `uploadUserAsset()` for console clients (`profile`, `blog-comments`, `course-comments`, `product-comments`, …)
- ModifiéProfile avatar upload path now resolves through the public CDN layout instead of the auth bucket root
Version 3.6.39
Version 3.6.38
Version 3.6.37
Version 3.6.36
Version 3.6.35
Version 3.6.34
Version 3.6.33
Version 3.6.32
- AjoutéSource Code mega menu with Ready, ReactJs, Premium, and Free pages (`/sourcecode`, FA `/سورس-کد`)
- AjoutéThemes & Plugins mega menu with Custom, WordPress, Ecommerce, and NextJs pages (`/templates`, FA `/قالب-و-افزونه`)
- AjoutéLocalized typewriter headlines for all public mega menus in 15 locales
- ModifiéMega-menu typewriter copy now follows the active site language instead of hardcoded Persian
Version 3.6.31
Version 3.6.30
Version 3.6.29
Version 3.6.28
Version 3.6.27
Version 3.6.26
- AjoutéSuperposition de maintenance à l'échelle du site : compte à rebours orbital, message `{first_name}`, connexion facultative (pas d'inscription), formulaire de contact, contrôles de langue et de thème ; pas d'autres liens vers des sites
- AjoutéJournal des modifications public à `/{locale}/changelog` (FA : `/گزارش-تغییرات`) avec des liens vers des pages connexes ; la version de pied de page y renvoie
Version 3.6.25
- AjoutéPage de base de données indisponible : copie de la mise à jour du logiciel Abrecode + ETA de Téhéran (maintenant + 5 h, persistée jusqu'à ce que la base de données soit active)
- AjoutéSécurité du compte : minutes d'inactivité par utilisateur + mode d'inactivité (Rester / Déconnexion) dans les 15 paramètres régionaux
- AjoutéAdministration des grands formulaires i18n (utilisateur, cours, paramètres, instructeur, étudiant, BlogPost, TrainPath, rôle et boîtes de dialogue associées)
- ModifiéCopie anglaise restante du site Web traduite dans chaque langue du fichier de paramètres régionaux (marques/adresses/e-mails inchangés)
- CorrigéLe modal d'inactivité a suivi la langue actuelle du site (`NextIntlClientProvider` locale)
Version 3.6.24
Version 3.6.23
- AjoutéPage de vérification des paiements publics à `/{locale}/payment/verify` (vérification des factures côté serveur uniquement ; ignore les indicateurs `paid=` du client)
- AjoutéFlux de panier : option de versement masquée (mécanisme réservé) ; Les CTA de la page de détail affichent « déjà dans le panier » et mettent en évidence la ligne dans le panier
- AjoutéÉchec de la copie du paiement en ligne + pré-remplissages des liens profonds du ticket financier lors de la création du ticket (`department=finance`)
- ModifiéLe chemin de retour de la passerelle pour les paiements de factures mène à la page de vérification publique au lieu de l'UX de vérification VIP/console privée
Version 3.6.22
Version 3.6.21
Version 3.6.20
Version 3.6.19
Version 3.6.18
Version 3.6.17
- AjoutéChat en direct : indice du lanceur `once` persistance ; `supportOnline` + modes de délai de réponse ; formulaire hors ligne une fois par jour via `POST /live-chat/session/offline-form`
- AjoutéChrome de l'interface utilisateur du chat en direct (toasts, erreurs, étiquettes de formulaire, groupes de dates, formulaire hors ligne) utilise l'espace de noms next-intl `LiveChat` pour les 15 paramètres régionaux du site ; les corps des messages de chat ne sont pas traduits
Version 3.6.16
Version 3.6.15
Version 3.6.14
Version 3.6.13
Version 3.6.12
Version 3.6.11
Version 3.6.10
Version 3.6.9
Version 3.6.8
- ModifiéLa recherche d'en-tête est absolument centrée sur la ligne d'action supérieure
- ModifiéLes liens de navigation inférieurs (blog/à propos/contact) utilisent la même taille de texte-xs que les liens d'assistance/carrières
- ModifiéSlogan de la marque : FA « استودیو خلاقیت ابریکُد », autres localités « abrecode creative studio » ; centré sous ABRECODE
Version 3.6.7
Version 3.6.6
Version 3.6.5
Version 3.6.4
Version 3.6.3
- AjoutéL'en-tête mobile affiche le contrôle de profil réservé aux avatars à côté du thème (ordre : thème → profil → panier → hamburger)
- AjoutéLe tiroir à hamburger affiche une ligne de nom pleine largeur reliant à `/console/dashboard`
- ModifiéRecherche d'en-tête public légèrement plus large (`md`/`lg`/`xl` largeurs maximales augmentées)
- ModifiéLe téléscripteur d'actualités utilise des px/s constants pour que la vitesse de défilement du mobile corresponde au bureau
- CorrigéLes os du squelette chromé de l'en-tête correspondent aux commandes réelles (recherche, changement de thème, pilule/avatar d'authentification, panier, hamburger)
- CorrigéListe déroulante des utilisateurs : nom sur la gauche physique ; mobile (chiffres persans) puis email tronqué (SF UI) avec info-bulle animée d'e-mail complet
- CorrigéLe thème SwitchMode se lève en survol comme la puce de profil
- CorrigéLes liens déroulants et Afficher le compte utilisent le curseur de pointeur ; Voir le compte a un mouvement de survol plus fort
Version 3.6.2
Version 3.6.1
- AjoutéInfo-bulle animée : Thème ("Sombre/Clair"), Panier ("Afficher le panier"), Profil ("Vos informations utilisateur")
- ModifiéLa largeur maximale de la recherche d'en-tête public a été réduite de moitié environ
- ModifiéLes déclencheurs d’en-tête de connexion/connexion utilisent des contrôles carrés `size-9` alignés avec le panier
- CorrigéEn-tête public : ligne d'action de même hauteur (thème / authentification / panier) ; le thème conserve une largeur de commutateur plus large
- Corrigé« Voir le compte » CTA lisible en mode clair (remplissage de la marque + texte à l'encre) avec animation au survol
- CorrigéSuppression du contour/anneau autour de la photo de profil dans la liste déroulante des utilisateurs publics.
Version 3.5.1
- AjoutéRefonte du menu du profil d'en-tête public avec un CTA principal **Afficher le compte** à `/console/dashboard`
- AjoutéContrôle du thème Compact SwitchMode dans l'en-tête du site public (animation bouton/soleil/lune uniquement ; transition de rideau existante conservée)
- ModifiéLa puce d'authentification publique utilise `PublicHeaderUserMenu` (menu de la barre supérieure de la console inchangé)
Version 3.4.1
- ModifiéLe sélecteur de langue de la console ouvre le même `LanguageSelectDialog` utilisé sur le site public
- ModifiéLes surfaces du tableau de bord/panneau s'appuient sur les jetons DESIGN.md pour le contraste du texte en mode sombre
- ModifiéREADME fr/fa — Notes UX du panneau en mode sombre
- CorrigéRuban de vérification de la console : couleurs lisibles en mode sombre ; CTA a un rembourrage + Motion survol/tapotement
- CorrigéRecherche d'en-tête de console, icônes de la barre latérale/d'accueil et icône à bascule de la barre latérale lisibles en mode sombre (le thème MUI suit `resolvedTheme`)
- CorrigéContrôle de réduction de la barre latérale masqué sur mobile (hamburger uniquement)
- CorrigéLe badge d'état du profil se trouve dans le coin de l'avatar, à l'extérieur du clip image.
Version 3.3.1
- AjoutéActivité de présence sur la console : la saisie de `/console` ou une activité souris/clic/clavier définit le statut sur **en ligne**, sauf si l'utilisateur a choisi manuellement **occupé** / **hors ligne** (le verrouillage manuel est effacé à chaque connexion/inscription).
- ModifiéJetons `DESIGN.md` appliqués sur le panneau de la console utilisateur (shell, bannières, cartes de tableau de bord, statut de l'avatar, liens/boutons) avec une sémantique sécurisée en mode sombre
- ModifiéDéclencheur du menu Profil : typographie de nom plus petite + puce plus large pour que le prénom/nom reste lisible ; la liste déroulante affiche le nom d'habillage
- Modifié`docs/design-system.md` — mappage des couleurs de l'état du panneau
Version 3.2.1
- Modifié`docs/en/modules/auth.md`, `docs/fa/modules/auth.md` — échange dans la page ou navigation par liens profonds
- CorrigéLes commutateurs de mode d'authentification (connexion ↔ inscription ↔ oublié) restent sur la même page `/auth` : les contrôles du formulaire agissent comme des boutons d'échange (URL logicielle/`history.pushState`), et non des navigations Next.js complètes.
- CorrigéMode toujours contrôlé via `?mode=` pour les liens profonds du reste du site
Version 3.1.1
- AjoutéInterface utilisateur d'authentification publique unifiée à `/auth` avec `?mode=login|signup|forgot` (par défaut : connexion)
- AjoutéAnimation d'échange de formulaire (flou/échelle via Motion) entre les vues de connexion/inscription/oubli existantes
- AjoutéSquelettes de changement de mode qui reflètent chaque formulaire avant que le formulaire cible n'apparaisse
- ModifiéAncienne redirection `/auth/login`, `/auth/signup`, `/auth/forgot-password` vers `/auth?mode=…`
- ModifiéLes points d'entrée de connexion/inscription/oubli à l'échelle du site ciblent désormais l'URL d'authentification unifiée
- ModifiéLes chemins d’authentification des invités middleware incluent `/auth` ; NextAuth `pages.signIn` pointe vers `/auth`
- Modifié`docs/en/modules/auth.md`, `docs/fa/modules/auth.md` — route d'authentification unifiée
Version 3.0.90
- ModifiéJetons `DESIGN.md` appliqués sur la console : CTA principal noir, accent vert de la marque, surfaces en toile/délié
- Modifiéshadcn/`globals.css` remappé + Metronic `colors.css` ; Thème MUI primaire/accent ; boutons principaux + double interface utilisateur (@`brand` variante)
- ModifiéChrome public, interface utilisateur du produit de la boutique, authentification, blog/formation et composants partagés déplacés des codes en dur sky/slate/zinc vers des jetons sémantiques
- ModifiéPolices : Estedad / SF UI conservé ; Geist Mono câblé pour `font-mono`
- Modifié`docs/design-system.md` — DESIGN.md → Mappage de variables Tailwind / CSS
- ModifiéREADME pointe sur `DESIGN.md` + doc du système de conception
Version 3.0.89
- AjoutéDétails du produit de la boutique : portail par mot de passe, affichage du prix de vente, bouton de téléchargement piloté par `isDownloadable`, likes sur les produits sauvegardés par cookies, filtrage de publication/visibilité via API
- AjoutéL'ajout du panier utilise le prix (de vente) effectif ; les fiches produits montrent les soldes barrées
- AjoutéFormulaire de commentaires sur le produit + liste de commentaires approuvés sur la page publique du produit
Version 3.0.88
Version 3.0.87
Version 3.0.86
Version 3.0.84
- ModifiéChargements multimédias du site public à partir du compartiment MinIO du site Web (`NEXT_PUBLIC_WEBSITE_ASSETS_URL`) ; n'est plus diffusé à partir de `public/`
- Modifié`toAbsoluteUrl` + réécriture du middleware `/assets` (et banques/devises/favicon/sounds) dans ce compartiment
- ModifiéTéléversé 667 fichiers vers `public-bucket` ; copie locale conservée dans `.static-media-archive/`
Version 3.0.83
- ModifiéLes articles du panier restent après confirmation et paiement / création de facture en attente - effacés uniquement lorsque le paiement réussit
- ModifiéChat en direct FAB masqué sur les pages du compte `/console/*` (toujours public + authentification)
- Modifié`docs/en/modules/cart-checkout.md` / `docs/fa/modules/cart-checkout.md`
- Modifié`docs/en/live-chat.md` / `docs/fa/live-chat.md`
Version 3.0.82
Version 3.0.81
- AjoutéConfirmer et payer nécessite un mobile vérifié : mode de paiement (entrez le numéro → SMS OTP via les API de vérification existantes)
- AjoutéAprès la création de la facture : page de facture finale avec Régler le paiement → `/cart/checkout/[invoiceId]/pay` (stub de la passerelle de paiement)
- AjoutéLes factures en attente dans les détails financiers de la console affichent également Régler le paiement
- Modifié`docs/en/modules/cart-checkout.md` / `docs/fa/modules/cart-checkout.md`
Version 3.0.80
Version 3.0.79
Version 3.0.78
- ModifiéLa page de panier authentifiée correspond à la conception de la barre latérale de paiement : code de réduction appliqué, radios de mode de paiement, confirmation et paiement, étiquettes de catégorie dynamiques (cours/produits/services/articles)
- ModifiéListe des paniers : caractères plus petits, plus d'espacement des rangées, suivi des numéros plus strict ; badge de réduction facultatif par article lorsque `listPrice` est défini
- ModifiéL'ajout de cours au panier stocke `productKind: course` pour une copie dynamique
- Modifié`docs/en/modules/cart-checkout.md` / `docs/fa/modules/cart-checkout.md`
Version 3.0.77
- CorrigéLes redirections post-connexion/inscription honorent `callbackUrl` (par exemple, retour à `/cart`) ; tableau de bord uniquement lorsque le rappel est manquant
- CorrigéLa disposition d'authentification + le middleware ne forcent plus toujours `/console/dashboard` lorsqu'un rappel sécurisé est présent
Version 3.0.76
Version 3.0.75
- Modifié`docs/en/modules/cart-checkout.md` / `docs/fa/modules/cart-checkout.md`
- Modifié`docs/en/public-pages-seo.md` / `docs/fa/public-pages-seo.md`
- CorrigéLa page du panier (`pageKey: cart`) charge Mother PublicPage SEO : `generateMetadata`, JSON-LD de `schemaJson` et le titre CMS pour le premier semestre
Version 3.0.74
Version 3.0.73
Version 3.0.72
Version 3.0.71
- AjoutéRefonte de la page panier (panier de commande + détails de paiement) : CTA invité « ورود / عضویت » avec `callbackUrl` retour à `/cart` ; authentifié «تکمیل خرید» crée une facture via `POST /cart/checkout`
- AjoutéPage de paiement `/cart/checkout/[invoiceId]` avec récapitulatif des factures + sélecteur de mode de paiement (câblage de la passerelle ensuite)
- AjoutéLe détail du cours «خرید دوره» s'ajoute au panier et accède à `/cart`
- AjoutéQuantité +/- sur les lignes de panier ; prix fa en Toman avec chiffres persans + regroupement
- Modifié`docs/en/modules/cart-checkout.md` / `docs/fa/modules/cart-checkout.md`
Version 3.0.70
- ModifiéLa page de catégorie `/trainings/categories/[slug]` utilise les métadonnées SEO enregistrées (`metaTitle`, description, mots-clés, OG/Twitter, canonique) au lieu du nom de la catégorie comme titre du document
- ModifiéRend la catégorie JSON-LD lorsque `schema` est présent
- Modifié`docs/en/modules/training.md` / `docs/fa/modules/training.md`
Version 3.0.69
- ModifiéPage de catégorie `/trainings/categories/[slug]` : image d'en-tête comme arrière-plan du héros, image de catégorie comme logo
- ModifiéLes logos de grille de catégories utilisent uniquement `categoryImage` (pas de solution de repli d'image de package)
- ModifiéCartes client de catégorie publique `headerImage` / `header_image`
- Modifié`docs/en/modules/training.md` / `docs/fa/modules/training.md`
Version 3.0.63
Version 3.0.62
Version 3.0.61
Version 3.0.60
Version 3.0.59
Version 3.0.58
- AjoutéProfil d'instructeur public à `/trainings/instructors/[slug]` (en-tête + avatar + bio + compétences + cours)
- AjoutéLes détails du cours montrent la carte de l'instructeur avec l'instructeur `profileImage` et un lien vers le profil.
- Ajouté`GET /training/public/courses/:slug` câblage client + `InstructorPage` i18n (fa/en)
- Modifié`docs/en/modules/training.md` / `docs/fa/modules/training.md`
Version 3.0.57
Version 3.0.56
Version 3.0.55
Version 3.0.54
Version 3.0.53
Version 3.0.52
Version 3.0.51
Version 3.0.50
Version 3.0.49
Version 3.0.48
Version 3.0.47
- ModifiéSélecteur de langue dans la barre supérieure : remplissage vertical aligné avec le badge d'actualités en vedette ; style pilule avec anneau/survol
- ModifiéMode de recherche publique : entrée/sortie de printemps (flou + échelle), panneau de marque cyan, états animés vide/chargement/résultat
- Modifié`docs/en/public-header-search.md` / `docs/fa/public-header-search.md`
Version 3.0.46
- ModifiéTiroir à hamburger mobile public repensé (en-tête de marque, fiche de compte, CTA de recherche, navigation par icônes, section accordéons)
- ModifiéCompte + recherche en direct uniquement dans le tiroir mobile ; la barre d'outils d'en-tête reste plus propre sur les petits écrans
- ModifiéLe tiroir s'ouvre à partir du bord RTL/LTR correct ; les aperçus multimédias de compartiment privé utilisent le proxy API
- Modifié`docs/en/public-header-search.md` / `docs/fa/public-header-search.md` mis à jour pour la navigation mobile
Version 3.0.45
Version 3.0.44
- ModifiéPorte de mot de passe sur la maison / à propos de nous / contact avec formulaire de déverrouillage
- ModifiéRobots + valeurs du plan du site appliquées dynamiquement à partir de PublicPage (`noStore`)
- ModifiéPages de mot de passe exclues du plan du site ; changement de fréquence/priorité de la base de données
Version 3.0.43
Version 3.0.42
Version 3.0.41
Version 3.0.40
Version 3.0.39
Version 3.0.38
- AjoutéChargez les paramètres publics du chat en direct à partir de `GET /live-chat/settings` (copie/couleur de l'en-tête, introduction avant le chat, champs obligatoires, y compris l'e-mail, bulle d'indication du lanceur, mode hors ligne)
- ModifiéCopie/apparence du widget pilotée par les paramètres de la base de données (copie locale comme solution de secours)
- ModifiéDocuments de chat en direct ; LISEZMOI
Version 3.0.37
- ModifiéLive Chat Bulles de style Telegram, avatar d'agent, en-têtes de groupe de dates Jalali (aujourd'hui / hier / …)
- ModifiéIcône de réponse après chaque bulle (`dir=ltr` ligne pour qu'elle reste visible à côté des messages) ; pas de label « édité » pour les visiteurs
- ModifiéBannière fermée par support ; l'envoi d'un message rouvre la même session
Version 3.0.36
- AjoutéChat en direct : réponse au message (icône à côté des bulles) ; bande de profil du visiteur (nom / mobile / email) dans le widget
- AjoutéMises à jour de l'URL de la page pour les visiteurs connectés (JWT) ainsi que pour les invités : les agents voient la page actuelle en temps réel
- ModifiéLes bulles de message enveloppent le texte long à la largeur du chat (`overflow-wrap: anywhere`, `minWidth: 0`)
- ModifiéÉcoute Socket.IO `message:updated` (modifications de l'agent)
Version 3.0.35
Version 3.0.34
Version 3.0.33
- ModifiéLive Chat mobile : panneau presque plein écran avec marges de bord ; toile de fond floue à l'ouverture (s'efface à la fermeture)
- ModifiéRayon de bordure du widget plus petit ; le nom de l'invité doit être persan lorsque la langue du site/utilisateur est `fa`
- ModifiéLe champ mobile accepte les chiffres persans ; texte d'indice supprimé (erreur uniquement en cas de saisie invalide) avec animations de fondu + impulsion de champ
Version 3.0.32
- ModifiéMobile invité du chat en direct : numéros iraniens validés avec `@persian-tools/persian-tools` `isPhoneNumberValid` (11 chiffres `09…`) ; L'interface utilisateur non persane utilise les règles américaines/européennes de 10 à 15 chiffres - pas de conflit entre paramètres régionaux
- ModifiéUn mobile non valide affiche une erreur de champ «شماره موبایل وارد شده اشتباه هست» / équivalent anglais
Version 3.0.31
Version 3.0.30
- ModifiéLive Chat FAB ancre toujours **en bas à droite** (indépendant de RTL/LTR)
- ModifiéL'ouverture/fermeture du panneau utilise MUI `Fade` ; Interface utilisateur reconstruite avec MUI (`MuiTextField` décrit, `MuiButton`, `Fab`, `IconButton`, `Paper`)
- ModifiéLa copie du widget est en anglais lorsque les paramètres régionaux du site ou la langue de l'utilisateur ne sont pas le persan (`fa`)
- ModifiéDocuments de chat en direct (EN/FA)
Version 3.0.29
- ModifiéLive Chat FAB se monte sur **toutes** les pages locales (site public, authentification, console) via la disposition racine — aucune connexion requise pour voir le widget
- ModifiéLes invités peuvent démarrer une conversation après leur nom + formulaire mobile sur n'importe quelle page ; les utilisateurs connectés ignorent le formulaire
- ModifiéDocuments de chat en direct (EN/FA) ; LISEZMOI
- CorrigéLe visiteur envoie des erreurs et fait apparaître un message API dans un toast ; jetons d'invité vides normalisés
- CorrigéBootstrap ne se réexécute plus à chaque changement de titre de page ; La saisie pendant l'envoi est ignorée
- CorrigéL'échec du bootstrap connecté affiche l'interface utilisateur de nouvelle tentative au lieu d'un panneau vide
Version 3.0.28
- AjoutéWidget **Live Chat** flottant (bas de gamme, largeur maximale 380 px) pour une assistance en temps réel
- AjoutéFormulaire de pré-chat invité (nom complet + mobile) avec cookie CV du profil et de l'historique
- AjoutéLes utilisateurs connectés démarrent le chat sans le formulaire
- AjoutéIndicateur de saisie («در حال تایپ»), sélecteur d'emoji, pièces jointes via public-bucket
- AjoutéClient Socket.IO connecté à l'espace de noms du serveur API `/live-chat`
- ModifiéNotes du module de chat en direct dans README et `docs`
Version 3.0.26
Version 3.0.25
Version 3.0.24
Version 3.0.23
Version 3.0.22
- CorrigéDétail de la transaction : couleurs du badge de statut, bande « رزرو » après décision, référence du paiement comme code de suivi, étiquette de débit sans paiement
- CorrigéColonne Montant, chiffres plus serrés + mots persans sous le montant
- CorrigéIcônes de la barre supérieure unifiées avec bordures arrondies ; remplissage du bord du menu utilisateur
Version 3.0.21
Version 3.0.20
- AjoutéLogos de devise de dépôt + mots de montant persans (toman) ; champs de montant centrés/gras
- AjoutéRetrait : créer une banque modale lorsqu'il n'en existe pas ; liste déroulante de toutes les banques avec logos ; erreur de sélection non approuvée ; rediriger vers les transactions
- AjoutéTransactions : détail modal, badges de statut, créateur, annulation en attente de retrait
- AjoutéMenu Créer : compte bancaire ; liste déroulante des icônes de portefeuille mobile ; typographie de portefeuille supérieure plus serrée
- AjoutéPied de page RTL + alignement à gauche pour le persan
- CorrigéLes icônes de la section de la barre latérale ouvrent uniquement le sous-menu (pas de navigation automatique vers le premier enfant)
- CorrigéLe bouton d'icône a touché les cibles (`asChild` + clic sur toute la zone)
- CorrigéVisibilité du thème sombre pour les champs de formulaire
Version 3.0.19
Version 3.0.18
- AjoutéFormulaire de compte bancaire : validation Sheba/carte en direct (persian-tools), masque de carte `xxxx-xxxx-xxxx-xxxx`, logos bancaires dans la sélection consultable
- AjoutéDépôt direct (FA) : sélecteur de type de devise (Toman/USD/GBP/JPY/AED/AZN/TRY) — Toman par défaut ; les préréglages/étiquettes suivent la sélection
- AjoutéLogo de la banque complet placé sous `/public/banks` (marques traditionnelles + numériques)
- ModifiéDocuments du module Finance mis à jour pour la validation et la devise de dépôt
Version 3.0.17
- AjoutéPage de portefeuille avec solde Toman, actions de dépôt/retrait, transactions récentes avec puces de statut
- AjoutéPage des comptes bancaires (cartes, créer/modifier, principal, désactiver, supprimer)
- AjoutéFormulaire de retrait (saisie Toman, banques agréées uniquement, validation de dépassement de solde)
- AjoutéLien du menu Finance pour les comptes bancaires ; Liste déroulante du portefeuille : afficher le portefeuille + les comptes bancaires + le drapeau iranien Toman
- ModifiéRembourrage horizontal de la barre supérieure symétrisé ; les notifications acheminent les événements bancaires/de retrait vers les pages de finances
- ModifiéL'affichage du portefeuille utilise Toman pour les paramètres régionaux `fa`
- ModifiéDocuments du module financier mis à jour (EN/FA)
Version 3.0.16
Version 3.0.15
- ModifiéLa page d'inscription affiche un lien de mot de passe oublié sous le lien de connexion (lorsque la récupération du mot de passe est activée)
- Modifié`docs/en/modules/auth.md` / `docs/fa/modules/auth.md` mis à jour
- CorrigéOTP `MuiOtpInput` utilise MUI `slotProps.htmlInput` au lieu de `inputProps` obsolète (supprime l'avertissement React DOM sur les écrans OTP de mot de passe oublié/auth)
Version 3.0.14
Version 3.0.13
- ModifiéLes entrées OTP affichent les chiffres locaux (persan) en gras Estedad ; soumission automatique lorsque 6 chiffres sont saisis ; bordure rouge sur un code erroné/expiré et bordure verte sur le succès avant de continuer
- ModifiéLes liens des pages d'authentification ne sont pas soulignés ; les erreurs de champ apparaissent avec un ton rouge doux ; Les champs de texte en mode sombre conservent des bordures blanches douces et un contenu lisible (y compris Se souvenir de moi)
- ModifiéLa connexion/l'enregistrement de l'en-tête public, le menu utilisateur, le panier et les icônes associées utilisent du texte/des icônes blanches en mode sombre
- ModifiéEn-tête mobile Blog / À propos / Les liens de contact s'alignent sous les actions du panier (côté fin) dans RTL et LTR
- ModifiéL'ouverture des listes déroulantes panier/utilisateur ne modifie plus la largeur de la page ni n'ajoute un défilement horizontal (liste déroulante `modal=false` + clip overflow-x)
- Modifié`docs/en/modules/auth.md` / `docs/fa/modules/auth.md` mis à jour
Version 3.0.12
- ModifiéLes entrées d'authentification OTP (connexion, inscription, mot de passe oublié, vérification du profil, connexion par courrier électronique de l'administrateur) utilisent les TextFields décrits par MUI avec prise en charge du collage et acceptation des chiffres persans/arabes.
- ModifiéRenvoyer OTP efface les champs OTP afin qu'un nouveau code puisse être saisi
- Modifié`docs/en/modules/auth.md` / `docs/fa/modules/auth.md` mis à jour
Version 3.0.11
- AjoutéSection de la barre latérale **Favoris** avec **Articles favoris** à `/console/favorites/articles` (image, titre, résumé, lien de catégorie, vues, commentaires, date/heure de publication, auteur, recherche, tri des plus récents/des plus anciens/populaires, pagination)
- AjoutéCommande **Afficher le site Web** dans la barre supérieure à côté du tableau de bord (liens vers la page d'accueil publique) avec un court texte d'astuce
- ModifiéSuppression du bloc d'articles favoris du profil des paramètres de compte
- ModifiéLa liste déroulante **Créer** de la barre supérieure a été déplacée vers l'extrémité (espacée des autres icônes)
- Modifié`docs/en/favorites-articles.md` / `docs/fa/favorites-articles.md` ajouté
Version 3.0.10
- ModifiéL'interface utilisateur du profil utilisateur a été déplacée de `/console/profile/me` à `/console/account-settings/profile` (avatar, informations personnelles, vérification par e-mail/mobile, biographie, favoris)
- ModifiéLe mot de passe + 2FA restent sur `/console/account-settings/password` uniquement (supprimé du formulaire de profil)
- ModifiéAnciennes redirections `/console/profile/me` vers le profil de paramètres de compte
- ModifiéLa bannière de vérification de la barre supérieure, les menus utilisateur et les liens de profil du tableau de bord pointent vers les paramètres du compte
- ModifiéIndice de validité OTP (2 minutes) et toasts d'authentification spécifiques au canal ; la barre supérieure affiche le mobile vérifié en chiffres persans
- Modifié`docs/en/account-settings-profile.md` / `docs/fa/account-settings-profile.md` ajouté
Version 3.0.9
Version 3.0.8
- ModifiéÉtapes d'inscription : identifiant → profil (nom + mot de passe) → OTP → connexion
- ModifiéValidation du nom persan pour `fa` / inscription mobile
- ModifiéOTP renvoie le compte à rebours **30s** ; toast OTP expiré
- ModifiéPorte locale : l'identifiant non-`fa` est uniquement destiné au courrier électronique (connexion/inscription/oubli)
- ModifiéBannière de contact Topbar : vérification mobile (`fa` + inscription par e-mail) ou vérification par e-mail (inscription mobile)
- ModifiéProfil : interface utilisateur de vérification mobile uniquement dans `fa` ; envoyer le code par e-mail lorsqu'il n'est pas vérifié
- CorrigéErreur de création de la page d'inscription (`Expression expected` dans un toast de conflit)
Version 3.0.7
Version 3.0.6
- AjoutéSélecteur d'emoji du formulaire de commentaire ; les horodatages des commentaires affichent la date + HH: mm ; pièces jointes sous les réponses
- AjoutéCommentaire des invités j'aime/je n'aime pas via cookie + synchronisation lors de la connexion
- AjoutéPage d'auteur : supprimez le HTML de la biographie ; articles paginés (10/20/50 par page)
- CorrigéLes navigations des techniciens de service utilisent NetworkFirst pour éviter `no-response` sur les URL de blog localisées
Version 3.0.5
- AjoutéPage d'article : barre de partage, lien court, copie d'article, comme un cœur, bouton Favoris
- AjoutéCarte d'auteur : courte biographie + icônes sociales ; temps de lecture + temps de publication
- AjoutéLigne d'articles connexes ; balises avec la page de liste `/blog/tags/[tagSlug]`
- AjoutéListe déroulante de tri des commentaires imbriquée + j'aime/je n'aime pas ; pages publiques de l'auteur/utilisateur + suivre
- AjoutéProfil : section articles favoris
- ModifiéBarre d'abonnement, like, favoris, articles connexes, tag, réaction aux commentaires, bio sans HTML
- CorrigéLa courte biographie de l'auteur n'affiche plus les balises HTML brutes
Version 3.0.4
- AjoutéSuperposition de chargement localisée globale avec barre de progression et pourcentage MUI (`Common.loading` / `Common.loadingPercent`)
- AjoutéAu niveau de l'itinéraire `loading.tsx` et barre de progression de navigation supérieure pour les itinéraires publics + console
- AjoutéSuperposition de chargement en cliquant sur un lien jusqu'à ce que la page suivante soit prête
- CorrigéLe nom de l'auteur de l'article de blog affiche le prénom et le nom de famille (de secours : displayName)
- CorrigéLe commutateur de paramètres régionaux sur les URL de blog dynamiques transmet les paramètres de route (`useSwitchLocale`)
Version 3.0.3
Version 3.0.2
Version 3.0.1
Version 3.0.0
Version 2.2.0
Version 2.1.54
Version 2.1.53
Version 2.1.52
Version 2.1.51
Version 2.1.50
Version 2.1.49
Version 2.1.48
Version 2.1.47
Version 2.1.46
Version 2.1.45
- AjoutéListe de blogs/pages de détails connectées au serveur API v1 (`/blog`, `/blog/[categorySlug]/[articleSlug]`)
- AjoutéLa barre supérieure des actualités en vedette charge les 3 derniers articles publiés de la catégorie **actualités** du blog.
- AjoutéCommentaires sur les articles (utilisateurs authentifiés) avec toast d'inscription pour les invités
Version 2.1.44
Version 2.1.43
- AjoutéSection des parcours d'apprentissage de programmation sur `/trainings` (cartes correspondant à une capture d'écran avec des icônes de compétences)
- AjoutéPage de détail du chemin dynamique `/trainings/paths/[slug]` répertoriant les cours liés
- ModifiéCartes de cours : prix affichés en Toman avec étiquette ; icônes de compétences entièrement visibles sur l'en-tête (non tronquées)
Version 2.1.42
Version 2.1.41
Version 2.1.40
Version 2.1.39
Version 2.1.38
- AjoutéPage du catalogue des formations publiques (`/trainings`) : recherche de héros (cours uniquement), puces de suggestion, cours en vedette, grille de catégories dynamique avec logos, feuille de route CTA ; mise en page réactive
- AjoutéProxy client `GET /api/public/training/courses/search` et `publicTrainingApi` pour les catégories/cours
- ModifiéEn-tête public : logo sur une seule ligne + recherche compacte + actions ; nom/slogan du site visible sur mobile
Version 2.1.37
- AjoutéModal de recherche publique avec arrière-plan flou, indice z élevé, résultats groupés (pages, cours, articles, compétences, instructeurs)
- AjoutéMenu principal en accordéon mobile avec sections imbriquées ; déclencheur de recherche compact dans l'en-tête mobile
- AjoutéSurvol du menu principal de l'en-tête : fermeture plus rapide, liste déroulante unique, aucun maintien du menu précédent
- CorrigéSurvol du méga-menu d'en-tête public : fermeture plus rapide (60 ms), portail déroulant partagé unique, pas de menu obsolète lors du déplacement entre les éléments
Version 2.1.35
Version 2.1.34
- ModifiéAfficher l'en-tête et le pied de page publics sur les pages d'authentification (connexion, inscription, mot de passe oublié, vérification du code)
- CorrigéEn-tête et pied de page publics désormais affichés sur les pages d'authentification (connexion, inscription, mot de passe oublié, vérification OTP)
Version 2.1.33
- AjoutéDisposition d'authentification fractionnée (panneau marketing + vidéo + carte de formulaire animée) inspirée du site Web
- AjoutéActualités de secours dans la barre supérieure publique lorsque l'API d'annonces est vide
- AjoutéPolice Tahoma pour les adresses e-mail sur les pages publiques
- AjoutéLe contenu des pages publiques n'a pas pu être vu (supprimer l'opacité-0 dans SSR)
- AjoutéRediriger la connexion/déconnexion vers le port 3001 — chemin relatif et `.env` sur le port 3000
- Ajoutédéfilement d'en-tête public ; RTL pour fa/ar/ku uniquement
- AjoutéDisposition du téléscripteur d'actualités et emplacement du changement de langue dans la barre supérieure
- AjoutéDésactivation du Service Worker en développement
- ModifiéLes pages d'authentification utilisent une mise en page partagée dédiée au lieu d'un shell public compact
- CorrigéLe contenu de la page publique invisible (`PageAnimationWrapper` n'utilise plus l'opacité-0 SSR)
- CorrigéRedirection/déconnexion d'authentification vers un mauvais port (3001) — chemins relatifs + `.env` valeurs par défaut sur le port 3000
- CorrigéDéfilement d’en-tête public (piège de débordement collant supprimé) ; RTL uniquement pour les locales fa/ar/ku
- CorrigéDisposition des téléscripteurs d'actualités ; sélecteur de langue à gauche (RTL) / à droite (LTR) dans la barre supérieure
- CorrigéService Worker PWA désactivé lors du développement pour empêcher les bundles JS obsolètes
Version 2.1.32
- Ajouté`GET /public/page-routes` API + réécriture du slug middleware à partir de la base de données
- AjoutéL'en-tête public correspond au site Web : paramètres régionaux de la barre supérieure + drapeaux, liens blog/à propos/contact, tiroir mobile
- AjoutéPolices de sites Web (Estedad, SF UI, Pinar, T012) et localisateur de chiffres persans sur les pages publiques
- AjoutéModèles de méta-titres séparés : public `%s | ابریکد`, console `%s | پنل کاربری ابریکد`
- AjoutéErreur d'authentification suivante `CLIENT_FETCH_ERROR`
- AjoutéDisposition générale à défilement horizontal
- AjoutéSuppression de l'affichage en double du nom d'utilisateur et de l'e-mail dans l'en-tête public
- AjoutéClarifier le texte de l'actualité dans la barre supérieure
- CorrigéNextAuth `CLIENT_FETCH_ERROR` (`trustHost`, récupération de session réduite)
- CorrigéDéfilement horizontal sur la mise en page publique (`overflow-x-hidden`, en-tête pleine largeur)
- CorrigéNom d'utilisateur en double dans l'en-tête public ; email caché dans le menu utilisateur public
- CorrigéTexte de téléscripteur d'actualités plus clair sur la barre supérieure sombre
Version 2.1.31
- AjoutéTraductions de pages publiques du site Web pour **les 15 paramètres régionaux** (410 fichiers JSON fusionnés via `scripts/generate-messages.js`)
- AjoutéCopie `public/assets` complète du site Web (images, SVG de cadres, lottie, vidéos)
- AjoutéErreur `MISSING_MESSAGE` sur les pages publiques (comme `ContactUsPage.ContactSchema`)
- AjoutéBoîte blanche latérale de mise en page générale – mise en page pleine largeur comme un site Web
- Modifié`npm run dev` / `build` exécution automatique `generate:messages` avant Next.js
- Corrigé`MISSING_MESSAGE` erreurs sur les pages publiques (par exemple `ContactUsPage.ContactSchema`, espaces de noms de métadonnées SEO)
- CorrigéEspacement latéral blanc de la mise en page publique – site Web correspondant à la mise en page pleine largeur (`PublicSiteLayout`)
Version 2.1.30
- AjoutéMigration de **76 pages publiques** depuis `apps/website` (à propos de nous, services, produits, formations, blog, FAQ, etc.)
- AjoutéPied de page du site Web (5 colonnes, badges de confiance, liens sociaux dynamiques depuis l'API)
- AjoutéMenus déroulants d'en-tête du site Web (Services, Cloud, Produits, Formation) avec animations
- AjoutéSlugs d'URL localisés en persan via les noms de chemin `next-intl` (copiés à partir du site Web)
- AjoutéPlan de site dynamique complet à partir de pages indexables par API
- ModifiéPort de développement/production par défaut **3000** (hôte de cartes de production Docker **80** → conteneur 3000)
- Modifié`vercel.json` pour le déploiement Vercel ; `.env.example` synchronisé avec les exemples d'environnement Docker
Version 2.1.29
- AjoutéDisposition du site public (en-tête, téléscripteur d'actualités, listes déroulantes de navigation, badge de panier, bascule langue + thème)
- AjoutéPages publiques : accueil (héros vide), à propos, contact, panier
- AjoutéLes pages d'authentification utilisent une mise en page publique ; le panneau de la console reste privé `MasterLayout`
- AjoutéSitemap.xml dynamique et robots.txt standard de Google
- AjoutéMétadonnées SEO chargées depuis l'API par page/locale
- Ajouté`modules/public` — tranche Redux du panier, clients API, espace de noms i18n `PublicSite`
- Modifié`/` et `/{locale}` acheminent vers la maison publique au lieu de la redirection du tableau de bord
Version 2.1.28
- AjoutéÉtiquettes localisées pour toutes les actions du journal d'activité des utilisateurs (profil, portefeuille, support, 2FA, authentification sociale, statut du compte)
- Ajouté`support` type de journal et plus de 30 nouvelles touches d'action dans la vue Activité de sécurité
- ModifiéL'affichage du journal d'activité utilise un mappage `activity-log-labels` unifié pour fa/en
Version 2.1.27
Version 2.1.26
- AjoutéValidation de la carte d'identité nationale iranienne sur le profil financier (format, somme de contrôle, lieu d'émission via `@persian-tools/persian-tools`)
- AjoutéLa barre supérieure du portefeuille affiche les USD pour les paramètres régionaux non persans (IRR converti pour l'affichage)
- AjoutéFichiers de messages régionaux complets fusionnés à partir de la base persan/anglais pour les 15 langues
- AjoutéInscription en plusieurs étapes : ID → OTP → Profil (Nom + Mot de passe + Confirmer le mot de passe + Mot de passe aléatoire)
- AjoutéConnexion en deux étapes après le mot de passe si activé dans les paramètres
- AjoutéBlocage de la connexion sociale pour les utilisateurs farsi jusqu'à ce que le nom farsi soit complété
- AjoutéCode de réduction modal du menu du portefeuille
- ModifiéLe sous-titre de la page de profil affiche uniquement le nom d'affichage (rôle masqué)
- ModifiéTous les champs de texte MUI utilisent une hauteur uniforme de 47 px
- ModifiéMenu latéral des paramètres du compte : étiquette avant l'icône
- ModifiéProfil financier : label `کد ملی` pour le persan, numéro d'identification de citoyen pour les autres régions
- ModifiéMenu des paramètres du compte : texte avant l'icône
- ModifiéDétails financiers : étiquette « code national » pour le farsi et « numéro national/code de citoyenneté » pour les autres langues
- ModifiéJournal de sécurité : pays/modèle d'appareil/système d'exploitation/navigateur complet + date solaire et numéros farsi
- ModifiéBiographie courte : limite de 500 caractères avec compteur
- ModifiéVéritable 2FA dans les paramètres du compte
- ModifiéCorrection d'une erreur InputProps dans les paramètres de notification
- CorrigéLa sauvegarde du profil (`PUT /users/me`) ne renvoie plus 400 lors de l'envoi des champs camelCase ou Snake_case
- CorrigéEspaces de noms de traduction manquants (`Topbar`, `AccountSettings`, etc.) pour les paramètres régionaux non-fa/en
Version 2.1.25
- AjoutéPrise en charge PWA via Serwist (manifeste, service worker, repli hors ligne `/~offline`)
- AjoutéBannière d'installation mobile (fondu à partir du haut) renvoyant vers le guide `/console/pwa-install`
- AjoutéGuide d'installation PWA avec bouton "Installer maintenant" (avant l'invite d'installation)
- AjoutéBannière d'état hors ligne sous la vérification mobile (messages localisés hors ligne/reconnectés)
- AjoutéCrédit de pied de page : conçu avec cœur chez Abrecode
Version 2.1.24
- AjoutéAssistant de formatage des chiffres persans (`formatLocaleNumber`) pour les widgets du tableau de bord et le nombre de badges de notification
- AjoutéUn clic de notification permet d'accéder au journal d'activité de sécurité avec l'entrée correspondante en surbrillance
- AjoutéIcône de générateur de mot de passe aléatoire dans le champ de mot de passe (à côté du bouton de visibilité)
- ModifiéTableau de bord : message de bienvenue déplacé au-dessus des widgets ; suppression des widgets d'accès rapide, d'informations sur le compte et d'activité récente
- ModifiéLe bouton du widget Transactions renvoie à `/console/finance/transactions`
- ModifiéLa barre supérieure utilise la disposition LTR pour les paramètres régionaux non RTL (par exemple, l'anglais)
- ModifiéBarre de recherche de la barre supérieure : remplissage, arrière-plan et taille de police plus grands alignés sur la liste déroulante des notifications
- ModifiéMode sombre d'inscription : tout le texte est blanc, emplacements OTP avec bordures blanches
- ModifiéIcônes de la barre latérale principale blanches en mode sombre
- ModifiéL'entrée OTP accepte les chiffres persans ; Le compte à rebours de renvoi affiche les nombres persans pour les paramètres régionaux `fa`
Version 2.1.20
- AjoutéPages de recharge du portefeuille avec onglets : paiement direct, recharge automatique, versement, dépôt bancaire
- AjoutéCode cadeau modal sur les pages de dépôt (portefeuille de crédits via API)
- AjoutéPaiement basé sur la langue : IRR/Zibal pour le persan, USD/Stripe pour les autres langues
- AjoutéCréer un menu déroulant : dépôt de portefeuille, code cadeau, nouveau billet, mes billets
Version 2.1.19
- AjoutéTéléchargement/suppression d'avatar de profil via API (cercle de 350 px, pas de champ URL)
- AjoutéOTP de vérification des e-mails sur le profil pour les utilisateurs d'inscription mobile
- AjoutéGénérateur de mot de passe aléatoire sur la page de profil
- AjoutéZone de texte bio courte avec compteur de 500 mots
- AjoutéRecherche de page dans la barre supérieure (ordinateur de bureau), info-bulles sur toutes les icônes
- AjoutéTexte de notification localisé par paramètres régionaux de l'utilisateur (client + API)
- ModifiéChamps de courrier électronique/mobile vérifiés verrouillés avec une bordure verte ; message de ticket d'assistance
- ModifiéCartes de page pleine largeur ; recherche supprimée de la barre latérale secondaire
- ModifiéMode sombre : couleurs du rail principal de l'en-tête/de la barre latérale alignées sur le thème du site
Version 2.1.18
- AjoutéDisposition de la barre supérieure mobile : création, grille d'applications, feuille de recherche, terminal, notifications, menu utilisateur
- AjoutéListe déroulante des utilisateurs : mes transactions, mes tutoriels, mes projets, basculement de thème, déconnexion
- AjoutéPage d'espace réservé des projets à `/console/projects`
Version 2.1.17
- AjoutéRefonte de la barre supérieure : créer un menu, une grille d'applications, une recherche, un terminal, un basculement de thème, une calculatrice, un chat, une assistance, un sélecteur de langue
- AjoutéWidget de solde de portefeuille (dynamique depuis l'API) avec liste déroulante des finances et pages liées
- AjoutéCloche de notifications avec badge non lu et liste déroulante déroulante
- AjoutéPages d'espace réservé pour les finances : code cadeau, code de réduction, remises, gestion, profil financier, inviter des amis
- ModifiéLes liens du portefeuille du menu d'authentification pointent vers `/console/finance/wallet`
Version 2.1.16
Version 2.1.15
- ModifiéBannière de vérification mobile attachée à la barre supérieure sans chevauchement de contenu
- ModifiéErreur `Dashboard.status` dans le tableau de bord
- CorrigéBannière de vérification mobile fixée sous la barre supérieure (pas de chevauchement) ; décalage de contenu via `--mobile-verify-banner-height`
- CorrigéTableau de bord manquant `Dashboard.status` clé i18n (fa/en)
Version 2.1.14
- AjoutéWidgets d'accueil du tableau de bord (statistiques, cartes de statut, sections transactions/serveurs/projets/sécurité)
- AjoutéBannière de vérification mobile collante uniquement en persan dans la présentation principale
- AjoutéProfil du flux OTP mobile (envoi du code, vérification, toast de réussite)
- ModifiéLes anciens widgets du tableau de bord ont été déplacés sous les nouveaux widgets d'accueil
Version 2.1.13
- AjoutéRéponse au ticket : CKEditor avec pièces jointes par réponse (max 5)
- ModifiéMessages de ticket : horodatages tenant compte des paramètres régionaux (Jalali pour fa, grégorien ailleurs) avec pièces jointes dans le pied de page justifié
- ModifiéListe des tickets : colonne créé à ; RichTextEditor suit la direction des paramètres régionaux actifs
Version 2.1.12
Version 2.1.11
Version 2.1.9
Version 2.1.8
- ModifiéDeuxième menu : alignement à droite et alignement à droite pour le farsi/arabe/kurde
- ModifiéRecherche : uniquement les noms de pages lors de la saisie ; Pas d'affichage du chemin de l'URL
- ModifiéDirection MUI basée sur la langue active
- CorrigéMenu de la barre latérale secondaire : mise en page RTL et texte aligné à droite pour les paramètres régionaux persan/arabe/kurde
- CorrigéRecherche de page : la liste déroulante affiche uniquement les titres de page (pas de chemins) ; les résultats n'apparaissent que lors de la saisie
- CorrigéLa direction du thème MUI suit les paramètres régionaux actifs (RTL/LTR)
Version 2.1.7
- ModifiéRecherche dans le menu : les résultats sont affichés avec Popper en dehors de la barre latérale (correction du découpage de la liste déroulante)
- ModifiéIndex de recherche fixe et correspondance de plusieurs mots
- CorrigéRecherche de page dans la barre latérale : liste déroulante rendue via MUI Popper (portail) afin que les résultats ne soient pas tronqués par le débordement de la barre latérale
- CorrigéL'index de recherche utilise les espaces de noms `Menu`/`Profile` i18n corrects ; correspondance multi-jetons
Version 2.1.6
- Ajouté`POST /support/tickets/:id/reopen` (l'utilisateur rouvre le ticket fermé)
- ModifiéTickets d'assistance : validation localisée, priorités, badges de statut (code couleur), colonne de priorité
- ModifiéCréation de ticket : pièces jointes (jusqu'à 5), erreurs de formulaire localisées
- ModifiéListe des tickets : actions de fermeture/réouverture ; détail du ticket : interface utilisateur de réponse filetée avec un style utilisateur/support distinct
- CorrigéRecherche de page dans la barre latérale : synchronisée avec les itinéraires de menu, navigation tenant compte des paramètres régionaux (`@/i18n/navigation`)
- CorrigéMenu secondaire mobile : éléments plus petits pour éviter les débordements
Version 2.1.5
Version 2.1.4
- Ajouté`src/core/mui/MuiInput.tsx` et `core/mui/index.ts`
- AjoutéDocuments : `docs/en/04-mui-components.md`, `docs/fa/04-mui-components.md`
- ModifiéEntrées de texte et boutons migrés vers Material UI (MUI) : formulaires d'authentification, profil, recherche, wrappers globaux `Input`/`Button`
- Modifié`AuthFormField` utilise `FormikMuiTextField` avec bascule de mot de passe
- Modifié`ConsolePageSearch` et la barre d'outils d'en-tête utilisent les actions MUI TextField + list
Version 2.1.3
- ModifiéMot de passe oublié : flux en trois étapes (demande → vérification OTP → nouveau mot de passe)
- ModifiéInscription aux notifications OTP : vérifier les e-mails/renvoyer les messages
- ModifiéMot de passe oublié : demande → vérification du code → nouveau mot de passe (séparé)
- ModifiéEnregistrement et renvoi de la notification OTP
- CorrigéCliquez sur le menu de la barre latérale principale pour changer immédiatement le sous-menu secondaire
- CorrigéLe menu accordéon ne bloque plus la navigation Clics sur les liens
Version 2.1.2
Version 2.1.1
- AjoutéPages d'authentification : sélecteur de langue (drapeau + étiquette) et bascule de thème
- AjoutéBoutons de connexion sociale : icônes de fournisseur colorées
- AjoutéMessages de validation Yup localisés pour la connexion, l'inscription, le mot de passe oublié
- ModifiéErreur d'e-mail en double d'inscription mappée à un message persan/anglais avec indice de mot de passe oublié
Version 2.1.0
- AjoutéConnexion sociale : Google, GitHub, Facebook, X via `POST /api/v1/auth/social`
- AjoutéMenu **Front desk** (پیشخان) par défaut : tableau de bord + rapports de sécurité
- AjoutéMenu de formation : cours (cartes achetées), sessions en ligne, certificats, instructeurs
- AjoutéMenu Finance : factures, transactions, portefeuille, retrait, dépôt (espaces réservés de l'interface utilisateur)
- AjoutéRoutes de l'API OAuth : `/api/social/[provider]`, `/api/social/callback` (Google, GitHub, Facebook, X)
- ModifiéComposants `Admin*` destinés à l'utilisateur renommés en `User*` (avatar, profil, menu)
- ModifiéSection de la barre latérale active par défaut : `frontDesk`
- ModifiéLa barre d'outils d'en-tête utilise `UserMenu` avec les données de session