import React, { MouseEvent, useCallback } from 'react' import { Map } from 'immutable' import { TalentSlot } from './TalentSlot'; import { getPointsInSpec } from '../lib/tree'; import { talentsBySpec, specNames } from '../data/talents'; interface Props { specId: number availablePoints: number knownTalents: Map onTalentPress: TalentClickHandler } export const TalentTree: React.FC = ({ specId, knownTalents, availablePoints, onTalentPress }) => { const talents = Object.values(talentsBySpec[specId]) const handleTalentPress = useCallback((talentId: number, modifier: 1 | -1) => { return (e: MouseEvent) => { onTalentPress(specId, talentId, modifier) } }, [specId, onTalentPress]) const style = { backgroundImage: `url("https://wow.zamimg.com/images/wow/talents/backgrounds/classic/${specId}.jpg")` } return (

{specNames[specId]} ({getPointsInSpec(specId, knownTalents)})

{talents.map((talent, index) => )}
) } (TalentTree as any).whyDidYouRender = true