Хорошо бы ещё добавить кнопку "помогите материально":)
Всем привет! Выкатил новый важный функционал: теперь в задачах можно указывать галочку "Нужна помощь" и перечислять требуемые технологии. Зачем это надо? До этого был просто список задач и не было понятно какие задачи созданы лично для себя, а какие для того, чтобы кто-то помог. Вот сейчас, если вы хотите, чтобы вашу задачу заметили и было понятно, что требуется чья-либо помощь, в задаче просто поставьте эту галочку. Эти задачи будут выводиться на главной странице, а так же есть отдельный список всех таких задач: https://freecode.academy/tasks?needHelp=true Любой желающий, кто хочет выполнить реальную задачу и проверить свои знания, может приступить к выполнению и свое решение вылить на гитхаб и отправить пулл-реквест. К сожалению, пока нельзя на текущей версии сайта добавить свой проект, если его еще нет, но вы можете его создать на старой версии сайта https://freecode.academy/technologies/create, она тоже работает на текущей базе данных. Создадите проект там - он будет виден и здесь. И в нем уже можно будет создавать задачи. Технологии в задачах: тоже очень важная функция. Текстовое описание задачи - это хорошо. Но читать и вдумываться потянешь ты эту задачу или нет - чаще всего просто трата времени. Я считаю, что если в задачах указывать список требуемых технологий и уровни знаний - это будет очень информативно и экономить время. Ведь если, к примеру, в требованиях указано GraphQL уровень Эксперт, а у вас уровень начинающий или вовсе вы не знаете эту технологию, логично, что за задачу браться нет смысла и читать ее описание тоже. А вот увидели задачку с перечнем ваших технологий и уровнем вашим или чуть выше - почему не попробовать? Ну и постепенно будет формироваться портфолио выполненных задач, по списку технологий и уровней в которых можно формировать какое-то представление о специалисте. К примеру у меня довольно большой список технологий. По этой причине советую всем зайти в список всех технологий и указать используемые, включая сроки и статусы. В дальнейшем весь этот функционал еще будет сильно прокачиваться и во многом использован для создания полноценного портфолио специалиста, которое будет формироваться автоматически и не требовать ручного наполнения. Традиционно записал небольшое видео.
Начальная картина. Со страницы /beers/ ссылкой передается id пива. Хук useRouter() принимает запрос, что позволяет id вернуть через {router.query.id}. Первым делом давайте посмотрим сюда https://github.com/linklib/pivo-moscow/blob/master/src/gql/Beer.graphql на предмет данных, которые можно получить с пивкарты: для пива это id, name, uri. Нам не хватает картинки. На https://pivkarta.ru/api/ можно посмотреть все ,что можно вытащить с пивкарты. Сейчас нам не хватает картинки: это будет image, то есть запрос станет таким: После внесения изменений следует перегененировать типы: yarn generate:types За основу предлагаю взять эту страницу https://github.com/linklib/pivo-moscow/blob/master/src/pages/Beers/index.tsx - здесь есть запрос. То есть нам надо на основе запроса, который возвращает данные по пиву (по дефолту первых трех в бд), составить зарпрос, который вернет данные только нужного пива по id.
Так ты бы в топике и написал сразу список твоих вопросов, чтобы получилось обсуждение предметное. Зайди на страницу всех задач и увидишь в первой колонке кнопки-иконки "Старт". Сейчас на странице Задач выводятся кнопки запуска и остановки таймера https://github.com/freecode-academy/freecode.academy/blob/ed3aecac693539ae208ab70c0ddb034f705c66c6/src/pages/Tasks/View/Task/index.tsx#L23 В свою очередь в кнопках прописана проверка на то, что пользователь есть https://github.com/freecode-academy/freecode.academy/blob/ed3aecac693539ae208ab70c0ddb034f705c66c6/src/pages/Tasks/View/Task/TaskButtons/index.tsx#L82 Вот надо убрать эту проверку.
Олег, заведи себе блокнотик локально :) Ты выдернул сообщения из контекста и здесь не очень понятно чего для чего. Лучше освой сначала, и когда прозреешь, напишешь топик-туториал.
Но это еще не все. Можно вместо селекторов вкладывать другие компоненты. Пример https://github.com/freecode-academy/freecode.academy/blob/master/src/components/GridTable/styles/index.ts Это вот эта таблица: https://freecode.academy/tasks?status_in=New&status_in=Accepted&status_in=Progress&status_in=Paused&status_in=RevisionsRequired&status_in=Discuss&status_in=Approved&status_in=Done Их потом можно как разметку использовать https://github.com/freecode-academy/freecode.academy/blob/master/src/pages/Tasks/View/index.tsx И можно в своих стилях расширять https://github.com/freecode-academy/freecode.academy/blob/master/src/pages/Tasks/View/styles/index.ts Это чтобы не придумывать классы row, col и т.п. и не следить, чтобы с кем-то не пересеклись случайно, а просто вот вложенность компонентов делаешь и все, генерится CSS
Так я его создал, чтобы обсуждать здесь задачу. Потому что я не совсем понимаю о каких таймерах идет речь. И как реализовать функционал "Необходимо авторизоваться". Можно для тех кто в танке более детально объяснить.
Олег, не очень правильно было сразу вот так создавать топик. Тут же ни вопроса, ни решения. Пользователи зря получат сообщения. Если писать, то уже с какой-то смысловой нагрузкой.
Описание задачи Пользователь должен видеть, что есть такая функция. При клике он получит сообщение "Необходимо авторизоваться".