Table Manager (https://tablemanager.vercel.app)
- Node.js v20.12 ou superior
- npm ou yarn
-
Clone o repositório:
git clone https://github.com/KauaMB2/Table-manager.git
-
Acesse o diretório do projeto:
cd Table-manager
-
Instale as dependências:
npm install
npm run dev
Após isso, acesse o projeto localmente em http://localhost:5173/ ou visite o site hospedado em https://tablemanager.vercel.app.
O Table Manager é um aplicativo baseado em React que permite aos usuários gerenciar tabelas dinamicamente. Os usuários podem adicionar ou remover colunas, editar o conteúdo das células e reorganizar as colunas da tabela. O aplicativo se adapta a diferentes tamanhos de tela alternando entre um painel lateral (para desktop) e uma barra inferior com modal (para celular).
- Gerenciamento dinâmico de tabelas: Adicione, remova ou edite colunas em tempo real.
- Design responsivo: Alterna entre um painel lateral e uma barra inferior/modal dependendo do dispositivo.
- Modo de visualização: Alterna entre edição e visualização de tabela por meio do botão deslizante de pré-visualização.
O estado é gerenciado usando os ganchos useState
e useContext
do React. O contexto principal do aplicativo é o TablesContext
, que lida com o conteúdo da tabela, seleção de células, manipulação de colunas e alternância do modo de visualização. Além disso, foi utilizado algumas outras técnicas como o hook useCallBack
para melhoria da performance.
- Desktop: Usa um painel lateral para opções adicionais de tabela (por exemplo, título e configurações visuais).
- Mobile: Implementa uma barra inferior para navegação e um modal para exibir opções.
- PreviewPanel: Exibe a tabela principal, com funcionalidade para adicionar/remover colunas e reorganizar células.
- SidePanel: Contém opções para personalizar o título da tabela e configurações visuais (usado no modo desktop).
- BottomBar & Modal: Substitui o painel lateral na visualização móvel, permitindo aos usuários de dispositivos móveis acessarem opções através de um modal.
- /src/components: Contém todos os componentes da UI (por exemplo,
PreviewPanel
,SidePanel
,BottomBar
). - /src/contexts: Gerencia o estado global de todo o aplicativo usando React Context (por exemplo,
TablesContext
,SidePanelContext
). - /src/assets: Armazena arquivos estáticos como imagens e ícones.
- Visualização de tabela: A tabela é exibida no centro da tela. Cada célula pode ser selecionada ou modificada clicando nela. Adicionar Coluna: Para adicionar uma coluna, clique no botão "Adicionar coluna" no rodapé da tabela. Remover coluna: selecione uma célula e clique em “Remover coluna” para remover a coluna correspondente.
- Título e Visual: À direita, o painel lateral permite editar o título da tabela, o título da coluna e o conteúdo da célula. Recolher seções: use o ícone de seta para expandir ou recolher seções de edição.
- Botões de acesso rápido: No celular, em vez do painel lateral, você terá uma barra inferior. Os botões “Título” e “Visual” abrem um modal onde você pode disponibilizar as mesmas edições no painel lateral da versão desktop.
- Ativar/Desativar: No topo da tabela, há uma opção "Modo de visualização". Ao ativar o modo de visualização, a tabela passa a ser somente leitura, desabilitando interações como adicionar, remover ou editar colunas.
- Mover colunas: Ícones de seta aparecem ao lado de cada coluna quando o modo de visualização está desativado. Clique nas setas para mover as colunas para a esquerda ou para a direita.