Availability module

Offen
#30 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
30/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
typescript
Bereich
frontend

Rechercherichtung

Start with the parent issue #25 and the module API issue #28, which blocks this work. Once the module API is available, map the acceptance criteria to the kernel write pipeline and the availability read helpers. Done means the module provides the specified range and reason helpers, checks capacity and buffers for advisory conflicts before writes commit, and tree-shakes when unregistered.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

Parent

https://github.com/TanStack/time/issues/25

What to build

Extract resource availability and advisory conflict detection into a proper module. When registered, the module adds availability-aware validation to the write pipeline and exposes read helpers for rendering blocked time.

Resources carry availability windows (weekday + start/end time), capacity, and before/after buffers. Advisory conflict checking runs over the events currently loaded — it is instant UX feedback, not authoritative. Authoritative validation is the server package's responsibility.

Acceptance criteria

  • `AvailabilityModule` plugs into the kernel via the module API (#28)
  • `getUnavailableRanges(date)` returns fractional minute ranges (`{ startFraction, endFraction }`) — no pixel values, no `containerHeight` parameter
  • `getUnavailabilityDetails()` returns per-resource reasons (outside hours / over capacity / no availability defined)
  • Advisory conflict detection fires on `addEvent` and `editEvent`, returning a `conflicts[]` array before the write commits
  • Capacity rules (multiple resources, consumption arrays) are correctly checked against overlapping events
  • Buffer rules (before/after minutes) are respected in conflict detection
  • Removing the `AvailabilityModule` causes availability code to tree-shake out of the bundle

Blocked by

https://github.com/TanStack/time/issues/28

Vorherrschende Sprache
TypeScript
Sterne
620
Forks
6
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus TanStack/time

Alle Issues in TanStack/time

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.