2020-09-30 13:58:43 +10:00
|
|
|
import React from "react";
|
2020-04-23 20:32:33 +10:00
|
|
|
|
2020-10-01 16:16:40 +10:00
|
|
|
import Tile from "../Tile";
|
2020-04-23 20:32:33 +10:00
|
|
|
|
2021-03-12 17:35:26 +11:00
|
|
|
import { useImageSource } from "../../contexts/ImageSourceContext";
|
2020-05-20 11:35:14 +10:00
|
|
|
import { mapSources as defaultMapSources, unknownSource } from "../../maps";
|
2020-04-24 15:50:05 +10:00
|
|
|
|
2020-09-30 12:30:33 +10:00
|
|
|
function MapTile({
|
|
|
|
|
map,
|
|
|
|
|
isSelected,
|
|
|
|
|
onMapSelect,
|
|
|
|
|
onMapEdit,
|
|
|
|
|
onDone,
|
2021-01-03 14:53:06 +11:00
|
|
|
size,
|
2020-09-30 12:30:33 +10:00
|
|
|
canEdit,
|
2020-10-01 16:16:40 +10:00
|
|
|
badges,
|
2020-09-30 12:30:33 +10:00
|
|
|
}) {
|
2021-03-12 17:35:26 +11:00
|
|
|
const mapSource = useImageSource(
|
|
|
|
|
map,
|
2020-07-13 19:36:38 +10:00
|
|
|
defaultMapSources,
|
2021-03-12 17:35:26 +11:00
|
|
|
unknownSource,
|
|
|
|
|
map.type === "file"
|
2020-07-13 19:36:38 +10:00
|
|
|
);
|
|
|
|
|
|
2020-04-23 20:32:33 +10:00
|
|
|
return (
|
2020-10-01 16:16:40 +10:00
|
|
|
<Tile
|
|
|
|
|
src={mapSource}
|
|
|
|
|
title={map.name}
|
|
|
|
|
isSelected={isSelected}
|
|
|
|
|
onSelect={() => onMapSelect(map)}
|
|
|
|
|
onEdit={() => onMapEdit(map.id)}
|
2021-04-01 11:11:56 +11:00
|
|
|
onDoubleClick={() => canEdit && onDone()}
|
2021-01-03 14:53:06 +11:00
|
|
|
size={size}
|
2020-10-01 16:16:40 +10:00
|
|
|
canEdit={canEdit}
|
|
|
|
|
badges={badges}
|
2020-10-01 16:25:06 +10:00
|
|
|
editTitle="Edit Map"
|
2020-10-01 16:16:40 +10:00
|
|
|
/>
|
2020-04-23 20:32:33 +10:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default MapTile;
|