Giter Club home page Giter Club logo

igor-edu's People

Contributors

jegius avatar namerrorone avatar

Watchers

 avatar

igor-edu's Issues

Добавить компонент обертку который способен добавлять material-ripple эффект

material-ripple - эфект который срабатывает на клик на компоненте
https://m2.material.io/develop/ios/supporting/ripple

  1. нужно обернуть компонент компонентом ripple-component
  2. нужно добавлять eventListner на событие mousedown и mouseup на обернутый элемент
  3. если событие mousedown произошло - необходимо добавить элемент round и добавить на него анимацию scale и opacity
  4. если произошло событие mouseup нужно удалить класс отвечающий за scale и opacity, чтобы анимация отменилась, а затем удалить элемент round
  5. позиция элемента round должна определяться координатой x и y клика пользователя на обернутом элементе

Создать в storybook компонент Section

Снимок экрана 2023-07-04 в 18 47 13
  • У секции должен быть якорь к котором можно было бы подскроллится при нажатии на ссылку
  • секция должна растягиваться на весь экран
  • контент секции должен быть спозиционирован относительно главной линии ширины (квадрат на скриншоте)
  • цвет фона в секции должен зависеть от параметра secondary. Если seconday=true - то секция должны иметь серый цвет, по умолчанию белый
  • Контент внутри секции должен выставляться в соответствии со стилем justufy-content: space-beween

создать в storybook компонент title

image
  • по умолчанию заголовок должен иметь тег h1

  • заголовок должен иметь атрибут level (от 1 до 4) и в соответствии с отправленной цифрой рендерить заголовок от h1 до h4

  • заголовок должен иметь атрибут text значение которого должно отображаться в теге h1

  • строка прокинутая в атрибут text должна иметь возможность содержать строчные html теги (span b) и заголовок должен
    уметь парить их и подставлять им класс title__secondary

  • заголовок должен иметь атрибут pimary-color значение которого должен подставлять как цвет текста в заголовке

  • заголовок должен иметь атрибут secondary-color значение должно подставляться в цвет элементов с классом title__secondary

  • В заголовок можно прокинуть контент между тегами, если этот контент имеется он должен отобразится в линию после заголовка.

  • у загловка должен быть атрибут addisional-conntent-postion со значениями left и right, в случае если этот атрибут указан контент заголовка должен отразится слева или справа от текста заголовка

  • у заголовка должен быть опциональный параметр title size и content-size, значение которого должно быть в %, которые отвечают за размер текста заголовка и размер его контент соответсвенно

Создать в storybook компонент card

image
  • компонент должен иметь атрибут title отвечающий за заголовок карточки
  • компонент должен иметь атрибут content который должен отвечать за текст в карточке
  • контент карточки должен быть scrollable, т.е. если он находится за приделами видимости то пользователь должен иметь возможность проскоблить его вниз
  • при hover событии контент должен иметь анимацию которая закроет картинку только зоной с текстом
  • карточка должна иметь атрибут group-id которая отвечает за ее индентификионный номер группы
  • компонент должен иметь атрибут event, который строкой должен прикидывать event-name - string и event-body - string
  • при клики на компонент он должен эмитить эвент в в котором должен содержать имя эвента из event-name и контент из even-body и group-id в случае если есть только group-id в event-body отправлять только id

Создать компонент logo в storybook

создать компонент logo

  • компонент должен иметь атрибут image-url который устанавливает image качестве бекграунда
  • Компонент должен иметь атрибут href который должен вести по указанной ссылке
  • В случае если указан атрибут href при наведении на компонент должен срабатывать coursor-pointer
  • В случае если атрибут href не указан курсор не должен изменяться при наведении
  • Компонент должен иметь атрибут text которой в случае если он отправлен в компонент должен в нем рисоваться
  • В компонент должна быть возможность отправить кастомные стили в виде строки, для дополнительной стилизации.

Создать компонент service and our projects

image

Это будет составной компонент со своей логикой. и будет состоять из двух компонентов

  1. header
    image
    в котором будет фильтр.
  • фильтры получаются из объекта projectService и представляют собой список объектов
{projectId: number, projectName: string, isActive: boolean} 

подсвечивается активная категория и вызывается метод projectService setActiveGroup которая будет устанавливать агривную группу для проектов

  • Нужно продумать прокрутку фильтров когда их много и они не влезают по ширине (будем делать overflow-scroll-x)
  1. блок с карточками - он получает спискок карточек из projectService через метод getActiveGropus, метод должен возвращать подписку, нужно незабывать отписываться от подписки в методе disconnectCallback
  2. родительский компонент, отвечает только за отображение этих двух блоков

Создать компонент image в storybook

Снимок экрана 2023-07-04 в 19 29 25
  • компонент должен иметь атрибут src в который можно прокинуть url к картинки которая отобразится как background-image
  • компонент должен иметь атрибут img-height отвечающий за min-height
  • компонент должен иметь атрибут img-width отвечающий за min-width

Добавить комоенент CustomScroll

Этот компонент должен заменять стандартный скролл браузера и будет использоваться в приложении для скролла. Компонент должен иметь overflow: scroll и занимать все пространство браузера (width: 100vw, height: 100vh), у него должен быть класс _scrollable, так же этот компонент должен переопределять scrollbars чтобы они одинаково выглядели на всех браузерах и платформах

Создать в storybook компонент button

image
  • отображаемый текст должен отображаться в соответствии с атрибутом text Баттона
  • Баттон должен иметь атрибут acitve который при значении true будет становится постоянно выделенным как при холере
  • при наведении на active button нужно придумать анимацию которая будет показывать что мы на него навались
  • Баттон должен иметь атрибут event, который строкой должен прикидывать event-name - string и event-body - string
  • при клики на Баттон он должен эмитить эвент в в котором должен содержать имя эвента из event-name и контент из even-body

Создать компонент header в storybook

image

header должен уметь становиться sticky и держаться сверху при скролле сайта. Хедер должен уметь вмещать в себя любые вложенные элементы. Элементы должны распологаться в хедере в соответствии с правилами стилей justify-content: space-beween.

show case в стори бук должен отображать все способности хедера

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.