frost web é o front-end da API Frost do Po.et para gerenciar contas e tokens de API.
Todos os novos recursos devem ser mesclados no master por trás de uma alternância de recursos com ele desativado por padrão. Depois que o recurso tiver sido suficientemente testado, a alternância poderá ser removida.
Estes são componentes ReactJS e estilos Sass. A arquitetura dos componentes é inspirada no Atomic Design de Brad Frost.
A maioria dos componentes possui um único arquivo .scss
associado com o mesmo nome. Existem também alguns estilos globais que vivem em components/styles
. Os estilos são agrupados e carregados pelos style-loader
, css-loader
, autoprefixer
, postcss-loader
e sass-loader
do Webpack.
Os componentes são divididos em átomos, moléculas, organismos, páginas e modais. A regra geral é: o menor não deve usar o maior. Isso significa que os átomos não devem depender de outros componentes, as moléculas só podem depender de átomos e assim por diante.
Atualmente, as páginas estão fora de /components
por motivos históricos, mas serão movidas para esta pasta no futuro.
O componente raiz é componentes/Root.tsx e ReactDOM.render é chamado em index.tsx.
Os redutores React Redux vivem aqui. Eles não deveriam ter nenhuma lógica, apenas receber mensagens e atualizar o redux store.
As sagas Redux-Saga vivem aqui. A maior parte da lógica do aplicativo, especificamente todos os efeitos colaterais, devem estar apenas em sagas e sagas.
Todas as imagens utilizadas pelo aplicativo. Eles são expostos como elementos static readonly
de uma classe em images/Images.tsx, usando o plug-in File Loader Webpack para carregá-los e agrupá-los.
Extensões para tipos nativos de JavaScript vão aqui.
Seguimos principalmente o StandardJS e o JS Style Guide do AirBnB. Ainda não estamos aplicando estilos automaticamente.
Algumas regras:
var
é proibido e let
deve ser evitado sempre que possível - sempre use const
.