React adapter: update useCalendar for kernel + module API
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- react, typescript
- Domínio
- frontend
Direção de pesquisa
Start by reading the parent issue #25 and the blocking issues #29–#34 to understand the kernel and module API this adapter depends on. Then inspect the @tanstack/react-time hook and tests, along with the @tanstack/solid-time adapter for the expected reactive shape. Done means the React hook exposes the specified API reactively, the Solid adapter mirrors its shape, and all existing React adapter tests pass.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Parent
https://github.com/TanStack/time/issues/25
What to build
Update `@tanstack/react-time`'s `useCalendar` hook to consume the new kernel + module API. The hook remains a thin reactive binding — no domain logic lives here. It instantiates the kernel, subscribes to the store via `@tanstack/react-store`, and exposes reactive selectors so components re-render only when the data they consume changes.
Acceptance criteria
- `useCalendar({ modules, strategy, events, resources })` instantiates a kernel and returns its full API reactively
- Components subscribed to `days` re-render when the projection changes; components subscribed only to `viewMode` do not re-render on unrelated event changes
- `strategy: 'client' | 'server'` is accepted and forwarded to the kernel
- The hook re-exports all Calendar product actions (`addEvent`, `editEvent`, `removeEvent`, `navigate`, `undo`, `redo`, etc.) as stable references
- `getEventProps(event)` and `getUnavailableRanges(date)` are accessible from the hook return value
- The Solid adapter (`@tanstack/solid-time`) mirrors the hook shape using Solid's reactive primitives, confirming the core is framework-agnostic
- All existing `@tanstack/react-time` tests are updated and passing
Blocked by
https://github.com/TanStack/time/issues/29
https://github.com/TanStack/time/issues/30
https://github.com/TanStack/time/issues/31
https://github.com/TanStack/time/issues/32
https://github.com/TanStack/time/issues/33
https://github.com/TanStack/time/issues/34
- Linguagem predominante
- TypeScript
- Estrelas
- 620
- Forks
- 6
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de TanStack/time
-
Dependency DashboardAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 5/100
-
Client/server Data StrategyAbertaenhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 32/100
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
-
Undo/redo moduleAbertaenhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
Todas as issues de TanStack/time
Issues semelhantes
-
🐛 bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
LibreChat-AI/LibreChat#17733 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
TypeStrong/typedoc#3150 ·
-
accessibility bug good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
Normalize image-source MIME types before SVG dispatchTalvez já em andamento @HarsH-1877 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
tscircuit/image-utils#58 · 1 comentário ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 2 dias