Skip to content
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

feat(design): footer component #98

Merged
merged 1 commit into from
Dec 18, 2020

Conversation

Erbenos
Copy link

@Erbenos Erbenos commented Nov 22, 2020

Fixes #75

Nevím jestli je třeba Storybook i pro komponenty bez parametrů, tak případně někdo prosím pípněte.

Musel jsem trochu porušit enkapsulaci odkazů, protože nemáme bílé Link-y.

Laptop mám teď v servisu 😭, tak nebudu moc být tak flexibilní s adresací případných problému, jak bych chtěl.

@vercel
Copy link

vercel bot commented Nov 22, 2020

Someone is attempting to deploy a commit to the Cesko Digital Team on Vercel.

A member of the Team first needs to authorize it.

@vercel
Copy link

vercel bot commented Nov 23, 2020

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployments, click below or on the icon next to each commit.

web-storybook – ./

🔍 Inspect: https://vercel.com/ceskodigital/web-storybook/indb6bp4x
✅ Preview: https://web-storybook-git-feat-footer.ceskodigital.vercel.app

web – ./

🔍 Inspect: https://vercel.com/ceskodigital/web/968p2jkcm
✅ Preview: https://web-git-feat-footer.ceskodigital.vercel.app

Copy link
Member

@HormCodes HormCodes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahoj @Erbenos, vypadá to velmi dobře. Líbí se mi, jak už konečně začiná vznikat něco, na co se dá koukat. A byla radost PR procházet. 👍

Přidal jsem několik komentářů ke kódu, snad je všechno srozumitelné. Ale jinak velmi dobře odvedená práce a těším se, až to zamergujeme. 🙂

src/components/site-footer/styles.ts Outdated Show resolved Hide resolved
src/components/site-footer/styles.ts Outdated Show resolved Hide resolved
src/components/site-footer/styles.ts Outdated Show resolved Hide resolved
static/assets/footer-mail.svg Outdated Show resolved Hide resolved
src/components/site-footer/styles.ts Outdated Show resolved Hide resolved
src/components/site-footer/index.tsx Outdated Show resolved Hide resolved
src/components/site-footer/index.tsx Outdated Show resolved Hide resolved
@HormCodes HormCodes linked an issue Nov 25, 2020 that may be closed by this pull request
@Erbenos
Copy link
Author

Erbenos commented Nov 25, 2020

Cekam laptop do tydne, uz je fixly, musim jej jen dostat zpet.

@vercel vercel bot temporarily deployed to Preview – web-storybook November 30, 2020 22:06 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook November 30, 2020 22:09 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook November 30, 2020 22:12 Inactive
@vercel vercel bot temporarily deployed to Preview – web December 1, 2020 10:19 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 1, 2020 17:59 Inactive
@Erbenos
Copy link
Author

Erbenos commented Dec 1, 2020

Až budou všechny připomínky pořešené, tak to squashnu.

@vercel vercel bot temporarily deployed to Preview – web-storybook December 1, 2020 18:11 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 1, 2020 18:19 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 1, 2020 18:26 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 1, 2020 18:28 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 1, 2020 20:01 Inactive
@vercel vercel bot temporarily deployed to Preview – web December 2, 2020 15:31 Inactive
import * as S from './styles'

const Footer: React.FC = () => {
const theme = useContext(ThemeContext)
const [email, setEmail] = useState('')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Omlouvám se, tady jsem zapomněl být více specifický jaký pattern budeme v rámci repozitáře používat. Poprosím tedy o refactorovaní, protože formulář bude do budoucna sloužit jako inspirace.

Bylo by vhodné aby stavy a logika formu byla extrahovaná do samostatného logického celku, v případě Reactu jako hook. Zkusím ukázat na příkladu:

const useForm = ({initialValues, submitForm}) => {

// .... useState

return {
 values: {
   email,
 },
 errors: {
   email,
 },
 handlers: {
   handleSubmit,
   onEmailChange
  }
  // ...
 }
}

Nechávám otevřené jaké vstupní rozhraní hook bude mít (zda mít modifkovatelný onSubmit, validace atd.), ale veškerý stav pro formulář by měl být v rámci této hook. (Podobnost s Formikem není náhodná)

Nezapomenout doplnit test na validace a říkám si, jestli subscribe do newsletteru nemůže být jako REST požadavek na pozadí a ne přes HTML formulář.

Copy link
Author

@Erbenos Erbenos Dec 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Abstrahoval jsem logiku formulářu do hooku v a5e7ba1. Abych mohl submittovat přes Ajax do ecomailu, bude nejspíše třeba API klíč (a jeho následné vložení někam do env proměnných v build procesu). https://intercom.help/ecomail/cs/articles/66536-api-pro-praci-s-ecomailem . Nemám k tomu teď přístupy. Můžeš mi je opatřit?

Copy link
Member

@HormCodes HormCodes Dec 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API klíč nelze mít s rozsahem pouze pro subscribe, takže budeme muset klíč zakrýt přes vlastní API endpoint. Vytvořil jsem na to issue (#107) a musím promyslet, jakým způsobem to prioritizovat. Dám update během dnešního dne ještě.

Pokud jde o samotný hook, tak rozhodně krok dopředu, ale ještě tam vidím prostor pro zlepšení a je možné, že jsme se vzájemně nepochopili.

Cíl ani tak není mít obecné řešení pro formuláře (to můžeme vyřešit přidáním Formiku) jako spíše vytvoření pevně definovaného rozhraní pro formulář patičky. Jde o to, že by mělo být na první pohled jasné, jaké hodnoty jsou součástí formuláře a bezpečný způsob pro kontrolu formuláře (např. při použití Formiku se nevyužívá setFieldValue, ale logika se zanoří do handlers.emailChange: (event) => setFieldValue('email', event.target.value).

Pokud je to stále nejasné, možná bude lepší si kolem toho zavolat. Vím, že to bude další nutná změna, ale stále platí, že tímto formulářem určujeme vzor pro další, které rozhodně budou přibývat.

Copy link
Author

@Erbenos Erbenos Dec 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jak jsme se domluvili přes Slack/GMeet, všechno ohledně formuláře jsem purgnul 07b3d49, backup Erbenos:feat/footer-form-backup

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ještě ten hook....

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

static/assets/footer-mail.svg Outdated Show resolved Hide resolved
src/components/layout/footer/styles.ts Show resolved Hide resolved
@vercel vercel bot temporarily deployed to Preview – web-storybook December 13, 2020 17:55 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 13, 2020 19:08 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 13, 2020 19:12 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 13, 2020 19:16 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 13, 2020 22:42 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 13, 2020 22:57 Inactive
@vercel vercel bot temporarily deployed to Preview – web December 14, 2020 16:00 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 14, 2020 20:53 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 16, 2020 20:00 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 16, 2020 20:22 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 16, 2020 20:50 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 16, 2020 20:53 Inactive
@Erbenos
Copy link
Author

Erbenos commented Dec 16, 2020

Rebasnul jsem na master, kontrola prosím, squashnu to, a jsme done.

@vercel vercel bot temporarily deployed to Preview – web December 17, 2020 10:23 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 18, 2020 10:28 Inactive
@vercel vercel bot temporarily deployed to Preview – web December 18, 2020 10:30 Inactive
@vercel vercel bot temporarily deployed to Preview – web-storybook December 18, 2020 10:33 Inactive
@vercel vercel bot temporarily deployed to Preview – web December 18, 2020 10:33 Inactive
@HormCodes HormCodes merged commit f322121 into cesko-digital:rework Dec 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implementace patičky webu
2 participants