import React from 'react';
import { StyleSheet, Text } from 'react-native-web';
import { useRecoilState, useSetRecoilState } from 'recoil';
import Button from '../common/Button';
import { itemIdsState, selectedIdsState } from '../../recoil/atoms';
import { createNewShape } from '../../recoil/defaults';

export default function AddRectsButton() {
  const [itemIds, setItemIds] = useRecoilState(itemIdsState);
  const setSelectedIds = useSetRecoilState(selectedIdsState);

  const handleClick = () => {
    let space = 16;
    let width = 100;
    let height = 100;
    let ids = [];
    let start = itemIds.length;
    for (let i=0; i<100; i++) {
      let count = start + i;
      let row = Math.floor(count / 5);
      let col = count % 5;
      let x = space * (col + 1) + width * col;
      let y = space * (row + 1) + height * row;
      let id = createNewShape({ x, y, width, height });
      ids.push(id);
    }

    setItemIds([...itemIds, ...ids]);
    setSelectedIds([]);
  }


  return (
    <Button style={styles.root} onClick={handleClick}>
      <Text style={styles.text}>Add 100 Rects</Text>
    </Button>
  );
}

const styles = StyleSheet.create({
  root: {
    backgroundColor: '#12850b'
  },
  text: {
    color: 'white',
  }
})