كل الأنشطة
- الساعة الماضية
-
اعتقد ان سبب المشكلة هو التغير في ال depencincies الخاصة ب useEffect جرب التالي: useEffect(() => { if (userId && token) { mutate({ userId, token }); } }, []); بدل استخدام دالة verify وغالبا سيعمل.
- 9 اجابة
-
- 1
-
-
بالطبع يكفي المسار للإنتقال لتعلم react بدون أي مشكلة. ولكن كلما كانت معرفتك بالجافاسكريبت أعمق، كان تعلمك React أسهل . كما أن بناء المشاريع باستخدام الجافاسكريبت الخام (Vanilla JavaScript) يجعلك تدرك المشاكل التي جاءت React لحلها، مما يمنحك فهماً حقيقياً لأهميتها وقوتها مثال على ذلك أنك قد تجد نفسك تنسخ وتلصق نفس أكواد HTML و JavaScript لإنشاء عناصر متشابهة (مثل بطاقة منتج ). ولكن في React، ستقوم ببناء مكون (Component) واحد قابل لإعادة الاستخدام بسهولة في أي مكان ولذلك يصبح لديك وعي بأهمية هذه الميزة ومتى تستخدمها تلقائياً من خلال معرفتك وخبرتك ب javascript
-
- 9 اجابة
-
- 1
-
-
ضحى شبيب اشترك بالأكاديمية
-
return ( <section className="flex items-center justify-center min-h-[calc(100vh-2rem)] px-4"> <div className="w-full max-w-md bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-2xl shadow-md p-6 text-center transition-all duration-300"> {isError ? ( <> <AiOutlineWarning className="text-red-500 text-6xl mx-auto animate-pulse mb-4" /> <h1 className="text-xl font-semibold">Error</h1> <p className="text-sm mt-2">Invalid or expired link.</p> </> ) : data ? ( <> <AiOutlineCheckCircle className="text-teal-600 text-6xl mx-auto animate-bounce mb-4" /> <h1 className="text-xl font-semibold">{data.message}</h1> <Link to="/login" className="inline-block bg-teal-600 hover:bg-teal-700 text-white font-medium py-2 px-6 rounded-full transition-colors duration-300" > Login </Link> </> ) : null} </div> </section> ); فلنتأكد من المعلومات هل هي موجودة ام لا باستخدام data ? وهل يمكنك ارفاق ماذا يحصل في ال console ايضا؟
- 9 اجابة
-
- 1
-
-
جرب هذا الحل وهو تأكد ان الdata موجودة ولا لا وعلى اساسها نختار النجاح او غيره: useEffect(() => { verify(); }, [userId, token]); هل بامكانك تبديل خطاف useEffect بالتالي واخباري بالنتائج.
- 9 اجابة
-
- 1
-
-
شيماء خالد2 اشترك بالأكاديمية
-
تقصد هذا المكون import React, { useEffect, useState } from "react"; import { Link, useParams } from "react-router-dom"; import { useVerifyEmail } from "../lib/queries/auth.queries"; import { AiOutlineCheckCircle, AiOutlineWarning } from "react-icons/ai"; import Spinner from "../components/loaders/Spinner"; const VerifyEmail = () => { const { userId, token } = useParams(); const { mutate, data, isError, isPending } = useVerifyEmail(); console.log(" data", data) // undefined const verify = () => { if (userId && token) { console.log("👉 sending mutation with", { userId, token, data }); // data: undefined, token: defined, userId: defined mutate({ userId, token }); } } useEffect(() => { verify() }, [userId, token, mutate]); if (isPending) { return <Spinner/> } return ( <section className="flex items-center justify-center min-h-[calc(100vh-2rem)] px-4"> <div className="w-full max-w-md bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-2xl shadow-md p-6 text-center transition-all duration-300"> {isError ? ( <> <AiOutlineWarning className="text-red-500 dark:text-red-400 text-6xl mx-auto animate-pulse mb-4" /> <h1 className="text-xl font-semibold text-gray-800 dark:text-white"> error </h1> <p className="text-sm text-gray-600 dark:text-gray-300 mt-2"> Please check your verification link or request a new one. </p> </> ) : ( <> <AiOutlineCheckCircle className="text-teal-600 dark:text-teal-400 text-6xl mx-auto animate-bounce mb-4" /> <h1 className="text-xl md:text-2xl font-semibold text-gray-800 dark:text-white mb-2"> {/* {data?.message} */} Valid </h1> <Link to="/login" className="inline-block bg-teal-600 hover:bg-teal-700 text-white font-medium py-2 px-6 rounded-full transition-colors duration-300" > Login </Link> </> )} </div> </section> ); }; export default VerifyEmail;
- 9 اجابة
-
- 1
-
-
Mohamed Khairy5 اشترك بالأكاديمية
-
هل من الممكن ارسال منطق التحكم بظهور المكون الخاص بالنجاح او الفشل فأنا لا اراه هنا قد يكون الخلل منه.
- 9 اجابة
-
- 1
-
- اليوم
-
السلام عليكم. قمت ببناء مكون React للتحقق مما إذا كان المستخدم قد فعل حسابه. حسب نتيجة العملية، أريد عرض أحد المكونات التالية: 1.نجاح التحقق: <> <AiOutlineCheckCircle className="text-teal-600 dark:text-teal-400 text-6xl mx-auto animate-bounce mb-4" /> <h1 className="text-xl md:text-2xl font-semibold text-gray-800 dark:text-white mb-2"> {/* {data?.message} */} Valid </h1> <Link to="/login" className="inline-block bg-teal-600 hover:bg-teal-700 text-white font-medium py-2 px-6 rounded-full transition-colors duration-300" > Login </Link> </> 2.فشل التحقق <> <AiOutlineWarning className="text-red-500 dark:text-red-400 text-6xl mx-auto animate-pulse mb-4" /> <h1 className="text-xl font-semibold text-gray-800 dark:text-white"> error </h1> <p className="text-sm text-gray-600 dark:text-gray-300 mt-2"> Please check your verification link or request a new one. </p> </> المشكلة: في الوقت الحالي، عند فتح صفحة التحقق، يظهر أولًا مكون النجاح لبضع ثوانٍ، ثم يتحول فجأة إلى مكون الفشل، رغم أنّ عملية التحقق في قاعدة البيانات تمّت بنجاح. للمزيد من التوضيح تفضلوا: كود الواجهة الخلفية (Node.js/Express): export const verifyAccount = asyncHandler(async(req, res) => { const { userId, token } = req.params // Check if user exist const user = await User.findById(userId) if (!user) { return res.status(400).json({ message: "Invalid Verification Link" }) } const verificationToken = await VerificationToken.findOne({ userId: user._id, token: token, }) if (!verificationToken) { return res.status(400).json({ message: "Invalid Link" }); } user.isAccountVerified = true await user.save() await VerificationToken.deleteOne({ _id: verificationToken._id }); res.status(200).json({ message: "Your Account is Verified!" }) }) علما أنه في حتى حاة ظهور المكون الخاص بفشل العملية في الواجهة الأمامية فإنه تم تفعيل user.isAccountVerified = true await user.save() await VerificationToken.deleteOne({ _id: verificationToken._id }); أما بالنسبة للواجهة الأمامية api export const verifyEmailApi = async ({ userId, token }) => { try { const res = await axios.get(summaryApi.auth.verify(userId, token)) console.log("api", res.data) return res.data } catch (error) { console.error(error); throw error; } } queries export const useVerifyEmail = () => { return useMutation({ mutationFn: verifyEmailApi, onSuccess: (data) => { console.log(data) } }); } VerifEmailComponent const VerifyEmail = () => { const { userId, token } = useParams(); const { mutate, data, isError, isPending } = useVerifyEmail(); console.log(" data", data) // undefined const verify = () => { if (userId && token) { console.log("👉 sending mutation with", { userId, token, data }); // data: undefined, token: defined, userId: defined mutate({ userId, token }); } } useEffect(() => { verify() }, [userId, token, mutate]); if (isPending) { return <Spinner/> } return ( <section className="flex items-center justify-center min-h-[calc(100vh-2rem)] px-4"> // الكود الذي قمت بإدراجه سلفا </section> ); }; سؤالي: لماذا يظهر مكون النجاح أولًا لثوانٍ ثم يتحول إلى مكون الفشل، رغم أنّ التحقق في قاعدة البيانات تم بنجاح؟ وكيف يمكنني تعديل الكود الأمامي بحيث يظهر المكون الصحيح مباشرة بناءً على نتيجة العملية دون هذا التبديل الغير مرغوب فيه؟ شكرا جزيلا.
- 9 اجابة
-
- 1
-
-
Khaled Ms اشترك بالأكاديمية
-
Naveed Ahmed اشترك بالأكاديمية
-
السلام عليكم، - تم حضر حسابي على google play console نهائيا بسبب انتهاك السياية ورفع تطبيقات لاشخاص تبين انها تنتهك سياسات قوقل ، - يوجد في رسالة الحضر التي سارفقها تقول: "ان لا احاول فتح حساب جديد لانه سيغلق" ، - وسمعت الكثير من الاشخاص يقولون انهم حتى لو قامو بفتح حسابات بهوية اشخاص اخرين وتعرضو للغلق مجددا. - السؤال : انا اعمل في شركة بحساب جيميل اخر، لدي الصلاحيات لرفع التطبيقات، و رافع 4 تطبيقات قبل مشكلة حضر حسابي الشخصي ، - هل اذا اكملت العمل معهم و الرفع في google الخاص بي بنفس جهازي ونفس ip address يشكل خطر لحظر حسابهم؟ - مع العلم ان حسابهم حساب شركة، وربما اصلا البلد ليس الجزائر مثل حسابي ، فتح في قطر. اتمنى ان تتم الاجابة في اقرب وقت وجزاكم الله خيرا.
-
السلام عليكم، - تم حضر حسابي على google play console نهائيا بسبب انتهاك السياية ورفع تطبيقات لاشخاص تبين انها تنتهك سياسات قوقل ، - يوجد في رسالة الحضر التي سارفقها تقول: "ان لا احاول فتح حساب جديد لانه سيغلق" ، - وسمعت الكثير من الاشخاص يقولون انهم حتى لو قامو بفتح حسابات بهوية اشخاص اخرين وتعرضو للغلق مجددا. - السؤال : انا اعمل في شركة بحساب جيميل اخر، لدي الصلاحيات لرفع التطبيقات، و رافع 4 تطبيقات قبل مشكلة حضر حسابي الشخصي ، - هل اذا اكملت العمل معهم و الرفع في google الخاص بي بنفس جهازي ونفس ip address يشكل خطر لحظر حسابهم؟ - مع العلم ان حسابهم حساب شركة، وربما اصلا البلد ليس الجزائر مثل حسابي ، فتح في قطر. اتمنى ان تتم الاجابة في اقرب وقت وجزاكم الله خيرا.
-
السلام عليكم، - تم حضر حسابي على google play console نهائيا بسبب انتهاك السياية ورفع تطبيقات لاشخاص تبين انها تنتهك سياسات قوقل ، - يوجد في رسالة الحضر التي سارفقها تقول: "ان لا احاول فتح حساب جديد لانه سيغلق" ، - وسمعت الكثير من الاشخاص يقولون انهم حتى لو قامو بفتح حسابات بهوية اشخاص اخرين وتعرضو للغلق مجددا. - السؤال : انا اعمل في شركة بحساب جيميل اخر، لدي الصلاحيات لرفع التطبيقات، و رافع 4 تطبيقات قبل مشكلة حضر حسابي الشخصي ، - هل اذا اكملت العمل معهم و الرفع في google الخاص بي بنفس جهازي ونفس ip address يشكل خطر لحظر حسابهم؟ - مع العلم ان حسابهم حساب شركة، وربما اصلا البلد ليس الجزائر مثل حسابي ، فتح في قطر. اتمنى ان تتم الاجابة في اقرب وقت وجزاكم الله خيرا.
-
Ahmed El Garya اشترك بالأكاديمية
-
احمد ياسر15 اشترك بالأكاديمية
-
Rovan Mohamed اشترك بالأكاديمية
-
Nada Hanna اشترك بالأكاديمية
-
تركي العطوي اشترك بالأكاديمية
- البارحة
-
سأقوم بتصميم صفحة باستخدام HTML و CSS و JavaScript تفاصيل الخدمة الأساسية: - صفحة واحدة فقط . - أقصى عدد: 4 أقسام (مثل: عنوان، نبذة، مميزات، زر تواصل). - التصميم يتم يدويًا بدون استخدام قوالب جاهزة. - الكود نظيف ومنظم وسهل التعديل. - التصميم يعمل على الهاتف والكمبيوتر . الملفات التي سيتم تسليمها: - index.html - style.css - مجلد الصور (إذا احتاج التصميم صورًا) سيتم تسليمك شي ذو جوده ممتازه
-
تستطيع تعديل اللغة كما تريد من خلال قائمة settings: وبخصوص سكراتش فيتم الإعتماد عليها في المسار الأول فقط، فدورة علوم الحاسوب تم إعدادها بشكل خاص لكي يتم تأهيلك لتعلم البرمجة، ففي البداية ستتعلم التفكير المنطقي في البرمجة وطريقة كتابة خوارزمية أو خطوات كتابة البرنامج قبل كتابة الكود أي التفكير أولاً، ثم تطبيق الأمر من خلال سكراتش لكون المنصة بسيطة وتوفر لك التعرف على المفاهيم البرمجية بطريقة ممتعة مثل حلقات التكرار والجمل الشرطية والمتغيرات وغيرها. أي لا نتعلم سكراتش بل المفاهيم البرمجية والمنطق البرمجي وكيفية التفكير قبل البدء في كتابة الكود، فتلك هي المرحلة الأهم وليس كتابة الكود. ثم الإنتقال لاستخدام لغة برمجية فعلية مثل بايثون وجافاسكريبت، ولو انتقلت إليهم مباشرًة، ستجد صعوبة في استيعاب المفاهيم البرمجية في حال لم يكن لديك أي خلفية تقنية أو برمجية سابقة.
-
السلام عليكم من فضلكم سؤال هل برنامج سكراتش سيلازمنا طيلة التمارين و الشروحات و التطبيقات،؟لان تكويني كله فرنسي اجليزي و ذلك البرنامج عربي رغم امكانية ترجمة لكن الشرح و التطبيق عربي؟هل هذا يلزمني باخذ وقت كامل و كافي لتلم سكراتش و التأقلم معه و اثقانه اولا قبل كل شيء؟شكرا
- 1 جواب
-
- 1
-
-
https://flexboxfroggy.com/#ar https://cssgridgarden.com/#ar
-
لقد اعطيتني لعبة كطريقة لمراجعة html and css لكنها كلها بالانجليزية هل من مصدر عربي
-
لا مشكلة، لكل شخص أسلوب مناسب للدراسة ولتلقي المعلومات، فالبعض يتعلم بصريًا مثلك أنت أي بالمشاهدة والاستماع، تحتاج إذن إلى الإعتماد على يوتيوب لمشاهدة شرح إضافي والاستزادة، بجانب التطبيق بشكل عملي وعدم الإكتفاء بالمشاهدة فقط، فالبرمجة تتعلمها بالممارسة لا بالمشاهدة فقط. الفكرة من موسوعة حسوب هي أنها مرجع لمختلف اللغات أي أشبه بمستند رسمي كالذي تجده في المكتبات وإطارات العمل، مع الوقت ستعتاد على هيكل المنصة وطريقة التصفح خلالها، وهو أمر هام للغاية ويتأتى بالممارسة ويصبح أسهل مع الوقت. بإمكانك أيضًا السؤال أسفل أي درس عن الأمور التي تحتاج إيضاح إليها، أو هنا في قسم أسئلة البرمجة.
- 4 اجابة
-
- 1
-
-
إجبار نفسك وتدريبها على قراءة التوثيقات هي واحدة من أهم العادات التي ستصنع الفارق في مسيرتك المهنية كمبرمج محترف. فالتوثيق الرسمي لأي لغة برمجة أو مكتبة أو إطار عمل هو المرجع الأساسي والصحيح للمعلومات. ولكن ذلك لا يعني قراءة التوثيقات كما تقوم بقراءة كتاب بل ركز على ما تحتاج إليه مثلاً خاصية في ال css تريد معرفة بعض التفاصيل عنها إذا أفضل مكان هو التوثيق
- 4 اجابة
-
- 1
-
-
انا الان في دورة واجهة المستخدم وفي اساسيات java script الاستاذ دائما يقول لنا عند الاحتياج لشيء اذهبوا لموسوعة حسوب وهنالك تجدون كل شيء لكن انا لا اذهب هناك لأنها لاتعجبني ولا افهمها ولا احب القراءة
- 4 اجابة
-
- 2
-
-
يمكنك الانتقال إلى تعلم JavaScript . حيث بناء موقع صغير باستخدام HTML و CSS يعني أن لديك الأساس المطلوب وهو بناء هيكل الصفحة وتنسيقها. وذلك لأنك تقوم بالدراسة من خلال دورة تطوير واجهات المستخدم هنا في الأكاديمية والتي تقوم بتعليمك من خلال بناء مشاريع عملية أي يتم دراسة الأساسيات سريعاً ثم التعمق من خلال التطبيق العملي. أما عموماً فهناك الكثير من المفاهيم التي ستتعلمها في ال css .
-
لقد انتهيت من اساسيات html and css انشئت هذا الموقع ال02.htmlصغير هل بهذه مهارة صغيرة اقدر الانتقال الى javascript واذا ما اقدر ماذا ينقصني وشكرا 02.css
- 2 اجابة
-
- 1
-