Интерфейсный компонент Sidebar, разработанный в рамках тестового задания.
Реализован с использованием React и styled-components с поддержкой тёмной и светлой темы,
адаптивным поведением, анимацией открытия/закрытия и переключателем темы.
👉 Основная цель — сверстать и стилизовать Sidebar по макету, с фокусом на UI-детали и темизацию.
Готовая версия доступна по ссылке:
👉 Посмотреть демо
- Клонируйте репозиторий:
git clone https://github.com/n1ckdevops/sidebarTestTask.git
- Перейдите в каталог проекта:
cd sidebarTestTask - Установите зависимости:
npm install - Запустите проект в режиме разработки:
npm run dev
- Создание компонента боковой панели (
Sidebar) по дизайн-токенам используяstyled-components - Изменение темы (светлая/темная) с помощью переключателя
- Реализовать динамическое отображение текста при открытии/закрытии
- Выложить готовую ссылку на демонстрацией
- Создал компонент
Sidebar, который поддерживает светлую/темную темы с возможностью переключения - Реализовал анимацию для плавного изменения ширины боковой панели при ее открытии и закрытии
- Добавил к пунктам меню динамическое отображением текста, который скрывается при закрытой боковой панели
- Внедрил кастомную кнопку для переключения темы (светлая/темная), которая изменяет стили компонента в зависимости от выбранной темы.
Таким образом, я создал функциональный компонент боковой панели с возможностью смены темы и анимациями.
Компонентность — Вся логика и стили боковой панели (Sidebar) разделены: структура и поведение описаны в Sidebar.jsx, а стили — в Sidebar.styled.js с использованием styled-components.
Темизация — Темная и светлая темы реализованы с помощью CSS-переменных (дизайн-токенов) и передаются через ThemeProvider из styled-components. Темы переключаются по клику.
Переключатель темы — В нижней части сайдбара реализована кнопка смены темы.Анимация — Плавное открытие/закрытие боковой панели, скрытие/отображение текста пунктов меню и анимация кнопки сворачивания реализованы через CSS transition.
Состояния — Активные и hover-состояния пунктов меню учитываются и стилизуются с помощью props в styled-components.
Этот проект создан для выполнения тестового задания.
Никита — Frontend-разработчик
📧 nickdevops6@gmail.com
🔗 GitHub | Telegram

