diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bca6bf5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,122 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output 'dist' directory +dist +dist-ssr + +# Output 'build' directory (for generic builders) +build + +# Next.js build output +.next + +# Nuxt.js build output +.nuxt + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and *not* Next.js +# public + +# vuepress build output +.vuepress/dist + +# serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Mac OS X +.DS_Store +*.DS_Store +.AppleDouble +.LSOverride +Icon + +# Windows +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db +*.stackdump +Desktop.ini +$RECYCLE.BIN/ + +# JetBrains / IntelliJ IDEs +.idea/ +*.iml +*.iws + +# VS Code IDE +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json diff --git a/CUSTOMIZATION_GUIDE.md b/CUSTOMIZATION_GUIDE.md new file mode 100644 index 0000000..995ebc3 --- /dev/null +++ b/CUSTOMIZATION_GUIDE.md @@ -0,0 +1,109 @@ +# دليل التخصيص وإدارة الإضافات (Customization & Asset Guide) + +يوفر هذا الدليل شرحاً تفصيلياً لجميع الإضافات (Assets)، الخطوط، الألوان، والمكتبات المستخدمة في **SteganoPixel**، مع تعليمات خطوة بخطوة للمطورين حول كيفية تعديلها أو استبدالها وتصحيح المشاكل المحتملة. + +--- + +## 1. الإضافات المستخدمة (Assets Inventory) + +### أ. الصور والأيقونات (Images & Icons) +* **المسار الدقيق:** `public/` (للملفات الثابتة) وداخل كود `src/App.tsx` (أيقونات متجهات SVG المدمجة). +* **الغرض منها:** تعزيز التجربة البصرية التفاعلية (أيقونات السحب والإفلات، علامات النجاح، ومؤشرات التنزيل). +* **كيفية التعديل أو الاستبدال:** + * لاستبدال أيقونات الواجهة، ابحث عن وسوم `` في `src/App.tsx` واستبدلها بأي كود SVG مفضل (مثلاً من *Lucide* أو *Heroicons*). + * لإضافة شعار ثابت، ضع ملف الصورة (مثلاً `logo.png`) في مجلد `public/` واستدعه في الكود عبر `Logo`. +* **تصحيح المشاكل:** + * **مشكلة:** الأيقونة تظهر بحجم ضخم أو مشوه. + * **الحل:** تأكد من تحديد خصائص العرض والطول في أصناف Tailwind (مثلاً `h-6 w-6`)، وتأكد من وجود خاصية `fill="none"` و `stroke="currentColor"` في وسم الـ SVG الأساسي. + +### ب. الخطوط (Fonts & Typography) +* **المسار الدقيق:** معرّفة في `src/index.css` (`:root { font-family: ... }`) ويتم الاعتماد على الخطوط القياسية ومكتبة *Inter*. +* **الغرض منها:** تأمين قراءة ممتازة ومريحة للنصوص والتعليمات باللغتين العربية والإنجليزية. +* **كيفية تغيير الخطوط (عناوين، نصوص أساسية، أكواد):** + 1. افتح ملف `src/index.css`. + 2. لتغيير خط **العناوين والنصوص الأساسية**، قم باستيراد خطك المفضل من *Google Fonts* (مثلاً *Cairo* أو *Tajawal*) في رأس الملف: + ```css + @import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;700;900&display=swap'); + + :root { + font-family: 'Tajawal', system-ui, -apple-system, sans-serif; + } + ``` + 3. لتخصيص خط **الأكواد والنصوص المستخرجة** (Monospace)، أضف تعريفاً خاصاً لعناصر `