seimoro о Frontend'e | React.js
7 subscribers
17 photos
2 links
Что-то тыкаю
Download Telegram
В планах ещё взять себе ноут для работы из дома, но это тоже так - мимолётная фантазия фантазёра.
С дизайном все те же беды🥲
1. Админ-панель для работы с записями в блоге.
2. Сама страница с блогом, в который передаются записи
3. Новости на главной странице, первые 3 элемента массива записей в блоге с кнопкой-ссылкой на страницу блога
4. На странице с фронтенд-стеком появился пункт - redux со специально реализованным компонентом простого счётчика, кодом и небольшим приколом

пока всё, позже распишу фулл 😁💅🏻
🤡2
Резюмирую

За сегодня я сделал нихуа
Реализовал redux store, добавил его через провайдер, есесна обернул программу

1 redux компонент отвечает чисто за болваночку, на страницу со стеком по фронту добавил счетчик, кликаешь кнопочки, прибавляется или убавляется единичка. База
2 посложнее, поколдовал я знатно и то работает из-под палки, наотрез отказывается удалять нужный элемент в массиве. Это для блога кстати.

Добавил блог: на главной странице буквально первые 3 элемента блога, на самой странице все содержимое и админ панель для редактирования этого добра.

Админ панель ебаный её рот сука был реализован тоже через жопу, но реализован. Обернул в форму добавления заголовка и контента. Пока без изображений. Танцевал с бубном долго, больно, но useForm и мать его redux сократили мне время от одного месяца до часов четврех, одной сгоревшей жопы и пары километров нервных тканей и волос на голове.
Доступ к этой админ панели тоже описал приаольно: правильно заполнил одно поле формы, нажал перейти и вуаля ты редактируешь все это добро. Сохранение состояния я реализовал через jotai, а проверку правильности через zod, который в сочетании с useForm творит колдунство.

По мелочи карточку записи блога, в который пропсами передаются данные заголовок, контент, индекс и прикольная фича доступная только в админ панели - btn_enabled, при значении true кнопка удаления доступна, false соответственно недоступна, все просто

Ну и навигации всякие, приколы тоже другие добавил, посмотрим насколько актуально

Мозг под конец дня расплавился настолько, что думать о подключении базы данных, реализации музыкального плеера и подключения api на муз сервис для оформления стека музыки, было невыносимо больно.

Впереди 2 дня выходных, потом короткий спринт до 10 числа и снова в отпуск да что ж такое сколько можно отдыхать

А ведь еще адаптивку делать, но это меньшее из забот

Всем добра я сплю🫠
🤡1
оп-оп, что-то новенькое
🤡1
import './style.css'
import { z } from 'zod'
import { useForm } from 'react-hook-form';
import { zodResolver } from '@hookform/resolvers/zod';
import Btn from '../btn/btn';
import { useState } from 'react';


const userSchema = z.object({
login: z.string().min(1, {message: 'Введите Логин'}),
email: z.string().min(1, {message: 'Введите почту'}).email({message: 'Некорректный Email'}),
password: z.string().min(1, {message: 'Введите пароль'}),
})

const UseFormTest = () => {

const {
register,
handleSubmit,
formState: {errors}
} = useForm({
defaultValues: {},
mode: 'onChange',
resolver: zodResolver(userSchema)
})

const [submit, setSubmit] = useState(false)

const onSubmit = (data) => {
if(data){
setSubmit(true)
}
}


return (
<div className="frontend-form-container">
<form className="frontend-form" onSubmit={handleSubmit(onSubmit)}>
<div className="form__item">
<p>Введите логин</p>
<input type="text" name='login' placeholder='login'
{...register('login', { required: true })}
style={errors.login ? { border: '.1vw solid red' } : {}}
/>
{errors.login && <div style={{ color: 'red' }}> {errors.login.message} </div>}
</div>
<div className="form__item">
<p>Введите почту</p>
<input type="text" name='email' placeholder='example@kek.ru'
{...register('email', { required: true })}
style={errors.email ? { border: '.1vw solid red' } : {}}
/>
{errors.email && <div style={{ color: 'red' }}>{errors.email.message}</div>}
</div>
<div className="form__item">
<p>Введите пароль</p>
<input type="password" name='password' placeholder='password'
{...register('password', { required: true })}
style={errors.password ? { border: '.1vw solid red' } : {}}
/>
{errors.password && <div style={{ color: 'red' }}> {errors.password.message} </div>}
</div>
<Btn>Отправить форму</Btn>
</form>
{submit && <span> Спасибо! Ваши данные переданы в Федеральную Службу Безопасности! </span>}
</div>
);
}

export default UseFormTest;


компонент UseFormTest.jsx для микроформы. Сама страница уже очень сильно забита, хочется как-то упростить код, чтоб потом самому там с ума не сойти но эт мелочи
🤡1🍌1
адаптив очка
Встречайте первый билд
https://seimoro-resume-s7fo.vercel.app/frontend

Настроена адаптивная версия, смена темы, переходы по ссылкам

Готовятся в следующем нововведении: База данных
🤡1
Резюмирую:

За сегодня свершилось:

1. адаптивная версия под мобильные устройства и переосмысление работы с CSS стилями. Будем в скором времени трогать замечательный Tailwind CSS, который, по-хорошему, при грамотном обращении с собой будет экономить кучу времени и сил на оформление ui, и, вероятно, выпрямит мне руки и сделает дизайн сайта смотрибельнее

2. Добавил в стек на фронтенд страницу небольшую форму, у которой работает проверка на правильность заполнения, и при заполнении формы высвечивается прикольная надпись.

3. Я чуть не проебал проект, потому что хотел перенести на другой Фреймворк, потому что в моем приложении не предусмотрена работа с базами данных, сссссука🤡

4. Благодаря тому, что мне пришла в голову великолепная мысля таки залить пробную версию проекта на Vercel, а он просит проект непосредственно с GitHub, я смог скачать проект заново, поставить все папки со страницами и компонентами и проверить, все ли работает корректно. Меня чуть удар не хватил

На этом все, напоминаю, что потыкать проект вы можете по ссылке, я ее закреплю. Будем работать, че
Все ради безбедного будущего 😂

Всем добра, завтра снова эт самое , напишу
🤡1🍌1
seimoro о Frontend'e | React.js pinned «Встречайте первый билд https://seimoro-resume-s7fo.vercel.app/frontend Настроена адаптивная версия, смена темы, переходы по ссылкам Готовятся в следующем нововведении: База данных»
А, ну и страницу с контактами добавил, перенес qr-код с ссылкой на чаевые 💅
🤡1
лёгкий ребрендинг

и проект с нуля...
🤡1
Резюмирую:
За сегодня свершилось:

1. Я потрогал Next.js

2. Я потрогал Tailwind CSS

3. Всио🤡

Всем спасибо, всех обнял
🤡1
Что-то я совсем забыл про своих крошек фронтендеров

Все потому что в жизни иногда происходит shit через который пройти нужны морально волевые ахах

Тем не менее на фронтенд я стараюсь жеееестко не забивать и хоть что-то делать, недавно стартовал проект для артиста из нового для меня лейбла. Сам персонаж интересный, музыка классная, человек добрый и отзывчивый, да и в целом проект по красоте даст прикурить всем танцам с бубном которые я совершал до этого. Правда сам сайт-проект выходит без лютых изысков, смен тем и прочих приколов, но приколы будут чуть позже, там вообще такое мама не горюй (базы данных)

Короче всем добра всех обнял
🤡3