-
المساهمات
791 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
35
آخر يوم ربح فيه Zen Eddin Allaham هو أغسطس 28
Zen Eddin Allaham حاصل على أكثر محتوى إعجابًا!
المعلومات الشخصية
-
النبذة الشخصية
Zen
- الموقع
آخر الزوار
682 زيارة للملف الشخصي
إنجازات Zen Eddin Allaham

عضو نشيط (3/3)
1.3k
السمعة بالموقع
-
كيف يمكن إستخدام AI في مشاريع البرمجة وهل مفيد استخدامه ام الافضل تجنبه
- 2 اجابة
-
- 2
-
-
هل يمكن الاعتماد على جافا سكريبت وتجنب تايب سكريبت لأن تايب سكريبت مزعجة جدأ
- 3 اجابة
-
- 3
-
-
هل اساسيات جافا سكريبت تعتبر ايضاً قسم لأجراء الاختبار للحصول على شهادة
- 2 اجابة
-
- 2
-
-
من الافضل Express nest
- 3 اجابة
-
- 2
-
-
لقد انتهيت من مشروع لكن لدي أخطاء في التجاوبية ويمكنكم مراجعة رابط من خلال الهاتف لتوضيح مشكلة ومع ان تنسيقات لا اشك انها بها اخطاء https://alshahba-gym-1.netlify.app/ alshahba-gym.zip
- 1 جواب
-
- 1
-
-
- 1 جواب
-
- 1
-
-
لماذا لم يتم رفع الاكود بالكامل برغم من ان اضفت خطوات git بشكل سليم 1- git init 2- git add . 3- git commit -m "رسالة" 4- git branch -M main -5 git remote add origin اسم مشروع 6- git push -u origin main هذه هي الخطوات وللعلم اني حذفت git وحذفت مشروع من github وانشأت مشروع من جديد ولم تنحل مشكلة
- 2 اجابة
-
- 2
-
-
- 1 جواب
-
- 1
-
-
كيف يمكن ان اخصل على عميل عبرة مستقل ك front end developer https://mostaql.com/u/zenAldin/portfolio هل يجب تحسين ملف شخصي ماهي النصائح الممبتكرة للحصول على اول عميل
- 3 اجابة
-
- 4
-
-
لقد انشأت تطبيق ملاحظات الخاص بمسار react في دورة جافا سكريبت لكن استخدمت تايب سكريبت هل كود نظيف او يمكن تحسينه import { useEffect, useState } from "react"; import Note from "./Components/Note"; import Alert from "./Components/Alert"; function App() { interface Notes{ id: number | null; title: string; content: string; } const [notes , setNotes] = useState<Notes[]>(() => { const saveNotes = localStorage.getItem('notes'); return saveNotes ? JSON.parse(saveNotes) : []; }); const [selectedNote , setSelectedNote] = useState<number| null>(null); const [title , setTitle] = useState<string>(''); const [content , setContent] = useState<string >('') const [creating , setCreating] = useState<boolean>(false); const [editing , setEditing] = useState<boolean>(false); const [validationError , setValidationError] = useState<string[]>([]); useEffect(() => { localStorage.setItem('notes' , JSON.stringify(notes)) },[notes]) useEffect(() => { if(validationError.length !==0){ setTimeout(() => { setValidationError([]) },3000) } },[validationError]) const validate = () => { const validationError: string[] = [] let passed = true; if(!title){ validationError.push('الرجاء ادخال عنوان الملاحظة') passed = false } if(!content){ validationError.push('الرجاءادخال محتوى الملاحظة') passed = false } setValidationError(validationError) return passed } const titleChange = (event: React.ChangeEvent<HTMLInputElement>) => { setTitle(event.target.value); } const contentChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => { setContent(event.target.value); } const addToNoteHandler = () => { setCreating(true) setEditing(false); setTitle('') setContent('') } const saveToNoteHandler = () => { if((!validate())) return const note = { id: Date.now(), title: title, content: content } const saveNotes = [...notes , note] setNotes(saveNotes) setSelectedNote(note.id) setCreating(false) setTitle('') setContent('') } const selectNoteHandler = (noteId:number) => { setSelectedNote(noteId) setEditing(false) setCreating(false) } const editNoteHandler = () => { const note = notes.find(note => note.id === selectedNote); setEditing(true) setTitle(note?.title || '') setContent(note?.content || '') } const updateNoteHandler = () => { if((!validate())) return const updateNotes = [...notes]; const noteIndex = updateNotes.findIndex(note => note.id === selectedNote); updateNotes[noteIndex] = { id: selectedNote, title: title, content: content } setNotes(updateNotes); setEditing(false); setTitle('') setContent('') } const deleteNoteHandler = () => { const deleteNotes = [...notes]; const noteIndex = deleteNotes.findIndex(note => note.id === selectedNote); deleteNotes.splice(noteIndex,1) setNotes(deleteNotes) setSelectedNote(null) } const deleteAll = () => { if( window.confirm('هل انت متأكد بحذف جميع الملاحظات')) setNotes([]) setSelectedNote(null) } const getAddNote = () => { return ( <div> <h2>إضافة ملاحظة جديدة</h2> <div> <input type="text" name="title" className="form-input mb-30" placeholder="العنوان" value={title} onChange={titleChange} /> <textarea rows={10} name="content" className="form-input" placeholder="النص" value={content} onChange={contentChange} /> <a href="#" className="button green" onClick={saveToNoteHandler}> حفظ </a> </div> </div> ); }; const getPreview = () => { if(notes.length === 0){ return <h2 className="center">لا يوجد ملاحظة</h2> } else if(!selectedNote){ return <h2 className="center">الرجاء اختيار ملاحظة</h2> } const noteShow = notes.find(note => { return note.id === selectedNote }); let noteDisplay = ( <div> <h2>{noteShow?.title}</h2> <p>{noteShow?.content}</p> </div> ) if(editing){ noteDisplay = ( <div> <h2>تعديل ملاحظة</h2> <div> <input type="text" name="title" className="form-input mb-30" placeholder="العنوان" value={title} onChange={titleChange} /> <textarea rows={10} name="content" className="form-input" placeholder="النص" value={content} onChange={contentChange} /> <a href="#" className="button green" onClick={updateNoteHandler}> تعديل </a> </div> </div> ) } return ( <div> {!editing && <div className="note-operations"> <a href="#" onClick={editNoteHandler}><i className="fa fa-pencil-alt" /> </a> <a href="#" onClick={deleteNoteHandler}><i className="fa fa-trash" /></a> <a href="#" onClick={deleteAll}><i className="fa-solid fa-ban"></i></a> </div> } {noteDisplay} </div> ); }; return ( <div className="App"> <div className="notes-section"> <ul className="notes-list"> {notes.map(note => <Note key={note.id} title={note.title} noteClicked={() => selectNoteHandler(note.id || 0)} active={note.id === selectedNote}/>)} </ul> <button className="add-btn" onClick={addToNoteHandler}>+</button> </div> <div className="preview-section">{creating ? getAddNote() : getPreview()}</div> {validationError.length !==0 && <Alert validationMassge={validationError}/>} </div> ); } export default App;
- 1 جواب
-
- 1
-
-
هل node js لح يتم استبداله ب bun في مستقبل
- 4 اجابة
-
- 2
-
-
هل يوجد اضافات في محرر الشيفرات لتحسين شكل Terminal
- 1 جواب
-
- 1
-
-
لقد انشأت متجر الكتروني لكن في صفحة details في شاشة هاتف لقد رأيت سكرول من محور الاكس وانا متاكد ان لا يوجد شيء خاررج صفحة هل يمكنكم مساعدتي https://arabic-store.netlify.app/ store.zip
- 1 جواب
-
- 1
-
-
انا عم اشتغل على متجر الكتروني بدون API يعني كل شي يدوي بستخدام Array بهي الحالة بحسن اسوي بحث عن منتجات ام حصراً لازم تكون منتجات من API
- 2 اجابة
-
- 2
-