Привет всем, я рад сообщить, что я достиг 100-го дня моего челленджа #100DaysOfCode! 🎉 Это было невероятное путешествие, и я готов приступить к своему следующему вызову, #365DaysOfCode. Приготовьтесь к новым приключениям в области кодирования!
Прежде всего, я хочу выразить благодарность всем, кто поддерживал меня на протяжении всего этого испытания. Ваша поддержка и позитивная энергия поддерживали меня мотивацией, даже когда дела шли плохо. Это путешествие не всегда было легким, но я выстоял и вырос как программист и как личность (да, я знаю, это звучит банально).
По мере продвижения вперед я решил больше сосредоточиться на достижении важных вех, прежде чем делиться новостями о моем текущем проекте. Это означает более глубокое погружение в процесс разработки, оттачивание навыков и получение высококачественных результатов. Хотя строительство на публике было отличным внешним мотиватором, я обнаружил, что больше руководствуюсь внутренними мотивами. Поэтому вместо ежедневных обновлений я буду делиться своим прогрессом, когда произойдут значительные прорывы.
Говоря о проектах, тот, над которым я работал, мое первое серьезное начинание, все еще в процессе. Я начал его с основной целью отточить свои навыки программирования, и я полон решимости довести его до конца. Попутно я продолжу заниматься другими интересными проектами, каждый из которых подталкивает меня к обучению и росту. Будьте уверены, я продолжу делиться своим путешествием и проектами со всеми вами, моя замечательная аудитория.
Еще раз спасибо, что присоединились ко мне в этом приключении #100DaysOfCode. Для меня было честью иметь тебя рядом со мной.
Сегодня я работал над кнопками «Нравится», «Не нравится» и «Отменить». Вот часть кода, который я написал сегодня:
// dislike button clicked useEffect(() => { if (dislikeClicked) { async function handleDislike() { try { if (!activeSwipe) return; const likedFreelancerIds = filteredNotLikedFreelancers[currentIndex]?.user_id; setLastDirection('down'); updateCurrentIndex(currentIndex - 1); setSwipedCards((prevSwipedCards) =>[ ...prevSwipedCards, { index: currentIndex, freelancerId: likedFreelancerIds } ]) } catch (error) { console.log(error); } } handleDislike(); setDislikeClicked(false); } }, [dislikeClicked]); // like button clicked useEffect(() =>{ if(likeClicked) { async function handleLike() { try { if (!activeSwipe) return; const likedFreelancerIds = filteredNotLikedFreelancers[currentIndex]?.user_id; await functionLikeFreelancer(likedFreelancerIds); setLastDirection('up'); updateCurrentIndex(currentIndex - 1); setSwipedCards((prevSwipedCards) => [ ...prevSwipedCards, { index: currentIndex, freelancerId: likedFreelancerIds } ]) } catch(error) { console.log(error) } } handleLike(); setLikeClicked(false); } }, [likeClicked]) // the undo button is clicked useEffect(() => { if (undoClicked) { async function undo() { try { if (!activeUndo || swipedCards.length === 0) return; const lastSwipedCard = swipedCards[swipedCards.length - 1]; setSwipedCards(swipedCards.slice(0, -1)); updateCurrentIndex(lastSwipedCard.index); const response = await axios.patch("/removeLikedFreelancers", { userId, freelancerId: lastSwipedCard.freelancerId, }); const updatedUserConnects = response.data.client_connects; setUpdatedConnects(updatedUserConnects); window.location.reload(); } catch (err) { console.log("err", err); } } undo(); setUndoClicked(false); } }, [undoClicked, swipedCards]);