mirror of
https://github.com/MetaFam/TheGame.git
synced 2026-04-24 03:00:09 -04:00
* Bump @chakra-ui/icons from 1.0.3 to 1.0.6 Bumps [@chakra-ui/icons](https://github.com/chakra-ui/chakra-ui) from 1.0.3 to 1.0.6. - [Release notes](https://github.com/chakra-ui/chakra-ui/releases) - [Commits](https://github.com/chakra-ui/chakra-ui/compare/@chakra-ui/icons@1.0.3...@chakra-ui/icons@1.0.6) Signed-off-by: dependabot[bot] <support@github.com> * Bump tsdx from 0.13.3 to 0.14.1 Bumps [tsdx](https://github.com/formium/tsdx) from 0.13.3 to 0.14.1. - [Release notes](https://github.com/formium/tsdx/releases) - [Commits](https://github.com/formium/tsdx/compare/v0.13.3...v0.14.1) Signed-off-by: dependabot[bot] <support@github.com> * Bump @types/react from 16.9.52 to 17.0.3 Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.52 to 17.0.3. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Signed-off-by: dependabot[bot] <support@github.com> * Bump express-graphql from 0.11.0 to 0.12.0 Bumps [express-graphql](https://github.com/graphql/express-graphql) from 0.11.0 to 0.12.0. - [Release notes](https://github.com/graphql/express-graphql/releases) - [Commits](https://github.com/graphql/express-graphql/compare/v0.11.0...v0.12.0) Signed-off-by: dependabot[bot] <support@github.com> * Bump eslint-plugin-simple-import-sort from 5.0.3 to 7.0.0 Bumps [eslint-plugin-simple-import-sort](https://github.com/lydell/eslint-plugin-simple-import-sort) from 5.0.3 to 7.0.0. - [Release notes](https://github.com/lydell/eslint-plugin-simple-import-sort/releases) - [Changelog](https://github.com/lydell/eslint-plugin-simple-import-sort/blob/main/CHANGELOG.md) - [Commits](https://github.com/lydell/eslint-plugin-simple-import-sort/compare/v5.0.3...v7.0.0) Signed-off-by: dependabot[bot] <support@github.com> * Bump eslint-plugin-jsx-a11y from 6.3.1 to 6.4.1 Bumps [eslint-plugin-jsx-a11y](https://github.com/evcohen/eslint-plugin-jsx-a11y) from 6.3.1 to 6.4.1. - [Release notes](https://github.com/evcohen/eslint-plugin-jsx-a11y/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/CHANGELOG.md) - [Commits](https://github.com/evcohen/eslint-plugin-jsx-a11y/compare/v6.3.1...v6.4.1) Signed-off-by: dependabot[bot] <support@github.com> * Bump eslint-plugin-jest from 24.1.3 to 24.3.1 Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 24.1.3 to 24.3.1. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v24.1.3...v24.3.1) Signed-off-by: dependabot[bot] <support@github.com> * Bump eslint-import-resolver-typescript from 2.2.1 to 2.4.0 Bumps [eslint-import-resolver-typescript](https://github.com/alexgorbatchev/eslint-import-resolver-typescript) from 2.2.1 to 2.4.0. - [Release notes](https://github.com/alexgorbatchev/eslint-import-resolver-typescript/releases) - [Changelog](https://github.com/alexgorbatchev/eslint-import-resolver-typescript/blob/master/CHANGELOG.md) - [Commits](https://github.com/alexgorbatchev/eslint-import-resolver-typescript/compare/v2.2.1...v2.4.0) Signed-off-by: dependabot[bot] <support@github.com> * Bump eslint-config-airbnb-typescript from 9.0.0 to 12.3.1 Bumps [eslint-config-airbnb-typescript](https://github.com/iamturns/eslint-config-airbnb-typescript) from 9.0.0 to 12.3.1. - [Release notes](https://github.com/iamturns/eslint-config-airbnb-typescript/releases) - [Changelog](https://github.com/iamturns/eslint-config-airbnb-typescript/blob/master/CHANGELOG.md) - [Commits](https://github.com/iamturns/eslint-config-airbnb-typescript/compare/v9.0.0...v12.3.1) Signed-off-by: dependabot[bot] <support@github.com> * Fix eslint imports * Fix tslint * lint! * lint Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
102 lines
2.8 KiB
TypeScript
102 lines
2.8 KiB
TypeScript
import { FC } from 'react';
|
|
import { useDrop, XYCoord } from 'react-dnd';
|
|
import { connect } from 'react-redux';
|
|
|
|
import { MappingContainer } from '../styles/Mapping';
|
|
import { Circle } from './Circle';
|
|
import { Image } from './Image';
|
|
import { Line } from './Line';
|
|
import { Square } from './Square';
|
|
|
|
export interface ContainerProps {
|
|
dispatch: any;
|
|
items: Array<any>;
|
|
}
|
|
|
|
export const ContainerComponent: FC<ContainerProps> = ({ dispatch, items }) => {
|
|
const [, drop] = useDrop({
|
|
accept: ['SQUARE', 'CIRCLE', 'LINE', 'IMAGE'],
|
|
drop(item: any, monitor) {
|
|
const delta = monitor.getDifferenceFromInitialOffset() as XYCoord;
|
|
const left = Math.round(item.left + delta.x);
|
|
const top = Math.round(item.top + delta.y);
|
|
|
|
dispatch({ type: 'UPDATE_POSITION', object: item.type, index: item.id, left, top })
|
|
},
|
|
});
|
|
|
|
return(
|
|
<MappingContainer ref={drop}>
|
|
{
|
|
items.map((item, id) => {
|
|
switch (item.type) {
|
|
case 'SQUARE':
|
|
return(
|
|
<Square
|
|
key={id.toString()}
|
|
id={id}
|
|
type={item.type}
|
|
left={item.left}
|
|
top={item.top}
|
|
width={item.width}
|
|
height={item.height}
|
|
url={item.url}
|
|
popup={item.popup}/>
|
|
)
|
|
case 'CIRCLE':
|
|
return(
|
|
<Circle
|
|
key={id.toString()}
|
|
id={id}
|
|
type={item.type}
|
|
left={item.left}
|
|
top={item.top}
|
|
width={item.width}
|
|
height={item.height}
|
|
url={item.url}
|
|
popup={item.popup}/>
|
|
)
|
|
case 'LINE':
|
|
return(
|
|
<Line
|
|
key={id.toString()}
|
|
id={id}
|
|
type={item.type}
|
|
left={item.left}
|
|
top={item.top}
|
|
width={item.width}
|
|
height={item.height}
|
|
x1={item.x1}
|
|
y1={item.y1}
|
|
x2={item.x2}
|
|
y2={item.y2}/>
|
|
)
|
|
case 'IMAGE':
|
|
return(
|
|
<Image
|
|
key={id.toString()}
|
|
id={id}
|
|
type={item.type}
|
|
left={item.left}
|
|
top={item.top}
|
|
width={item.width}
|
|
height={item.height}
|
|
url={item.url}
|
|
popup={item.popup}/>
|
|
)
|
|
default:
|
|
return(
|
|
<div/>
|
|
)
|
|
}
|
|
})
|
|
}
|
|
</MappingContainer>
|
|
)
|
|
}
|
|
|
|
export const Container = connect(
|
|
(state: any) => ({
|
|
items: state.items,
|
|
}),
|
|
)(ContainerComponent); |