-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
переделать компонент footer под FSD #169
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Посмотрел. Мне кажется есть что можно поправить. Ребята посмотрят и может еще чего найдут
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
import { type FC, type FormEvent } from 'react'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
примеры смотрел, там было без ’type' поискал, нашел ответ только у chatGpt «import { type FC }: В TypeScript до версии 3.8, для объявления типов использовалось ключевое слово type. import { type FC } подразумевает, что FC является типом, который был объявлен в модуле React и экспортирован с использованием type. Отметим, что начиная с TypeScript 3.8, type стало необязательным для объявления типов, и теперь можно объявлять типы без его использования. Таким образом, если вы используете новые версии TypeScript и React, import { FC } будет более предпочтительным способом импорта типа функционального компонента React.»
@@ -36,7 +36,9 @@ const SubscribeForm: FC<TSubscribeForm> = ({ className, type, onSubmit }) => { | |||
{/* @TODO: Добавить компонент Label | |||
https://github.com/Studio-Yandex-Practicum/maxboom_frontend/issues/102 */} | |||
<span className={`${styles.label} ${classNameLabel}`}>Подписаться на рассылку</span> | |||
<span className={`${styles.caption}`}>Мы не будем присылать вам спам. Только скидки и выгодные предложения</span> | |||
<span className={`${styles.caption}`}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Давай уберем эти стрёмные обратные кавычки там, где они не нужны, чтоб код чище был
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Я бы в целом предложил с помощью classnames значительно упростить стилизацию тут и повысить читаемость. Типа такого:
const labelClassName = classNames({
[styles.label_footer]: type === 'footer',
[styles.label_subscribe]: type === 'subscribe',
});
const formClassName = classNames({
[styles.form_footer]: type === 'footer',
[styles.form_subscribe]: type === 'subscribe',
});
const containerClassName = classNames(styles.container, {
[styles.container_footer]: type === 'footer',
[styles.container_subscribe]: type === 'subscribe',
[className]: className,
});
className={containerClassName}
className={classNames(styles.label, labelClassName)}
className={classNames(styles.form, formClassName)}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
прошу пояснений к части classNames @Segodnya
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*замечание принято, будет занесено в лист исправлений. в данном PR этот компонент не менялся (только импорты)
src/shared/ui/logo/Logo.tsx
Outdated
@@ -0,0 +1,30 @@ | |||
import { FC } from 'react' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
import { FC } from 'react' | |
import { type FC } from 'react' |
src/shared/ui/logo/Logo.tsx
Outdated
|
||
const Logo: FC<TLogoProps> = ({ image, title, url, width, height }) => { | ||
return ( | ||
<div className={`${styles.container}`}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
тоже обратные кавычки ни к чему здесь совсем, можно убрать
src/widgets/Footer/Footer.tsx
Outdated
import SubscribeForm from '@/entities/SubscribeForm/SubscribeForm' | ||
import styles from './footer.module.scss' | ||
|
||
console.log(coreBaseData.footer) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ой-ёй :) давай уберём
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Можно выделить компонент
Добавить storybook для новых компонентов
src/widgets/Footer/Footer.tsx
Outdated
</p> | ||
<ul className={styles.footer__payments}> | ||
{coreBaseData.footer.additional_logos.map(logo => ( | ||
<li className={styles['footer__payment-nav']} key={logo.title}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
можно выделить в компонент
6d4b299
to
cd29c27
Compare
…create-widget-make-order #128-development-created-CartPage
…change-ReviewsBlock-according-to-fsd Enhancement 145 change reviews block according to fsd
…-Practicum/maxboom_frontend into enhancement-160-footer-FSD
…-Practicum/maxboom_frontend into enhancement-160-footer-FSD
…-Practicum/maxboom_frontend into enhancement-160-footer-FSD
…add-storybooks-to-reviewsBlock #180-enhancement-add-storybooks-to-reviewsBlock
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
* refactor: Выделить из Header отдельную feature - SearchProduct #171 * hotfix: fix CamelCase issue with SCSS module files * refactor: Заменил querySelector на useRef * documentation: add stories for SearchProduct, SearchResult, SearchItem
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍. Я уже вмержил обновленный header с выделенной фичей поиска в мастер. поэтому когда будешь разрешать конфликт будь внимательней. если будут вопросы что/как расконфликтить - пиши :)
search выпилен и вместо него SearchProduct |
перенесен компонент Footer в
widgets
перенесен компонент SubscribeFormв
entities
перенесены компоненты Logo, icons(вероятно дальше удалить надо будет) в
shared
сделаны моки для получения данных с сервера для футера и хедера