🐛 Hide layer when adding a new love

This commit is contained in:
2024-10-01 22:53:53 +02:00
parent bf42f5c49b
commit c7de74693b
3 changed files with 42 additions and 27 deletions
+33 -23
View File
@@ -8,6 +8,7 @@ export const useData = () => {
const [canUseGeolocation, setCanUseGeolocation] = useState(false);
const [geoError, setGeoError] = useState(null);
const [source, setSource] = useState([]);
const [layers, setLayers] = useState([]);
const [isAddLoveOpened, setIsAddLoveOpened] = useState(false);
@@ -47,32 +48,41 @@ export const useData = () => {
(async () => {
const dataset = await getDataset();
const datasetLayer = new IconLayer({
id: 'lovePoints',
data: dataset,
iconAtlas: `data:image/svg+xml;charset=utf-8,${encodeURIComponent(
StringifiedPinIcon()
)}`,
iconMapping: {
marker: {
x: 0,
y: 0,
width: 100,
height: 100,
anchorY: 100,
},
},
getIcon: (d) => 'marker',
getSize: (d) => 35,
getPosition: (d) => d.geometry.coordinates,
billboard: true,
pickable: true,
});
setLayers([datasetLayer]);
setSource(dataset);
})();
}, []);
useEffect(() => {
if (isAddLoveOpened) {
setLayers([]);
return;
}
const datasetLayer = new IconLayer({
id: 'lovePoints',
data: source,
iconAtlas: `data:image/svg+xml;charset=utf-8,${encodeURIComponent(
StringifiedPinIcon()
)}`,
iconMapping: {
marker: {
x: 0,
y: 0,
width: 100,
height: 100,
anchorY: 100,
},
},
getIcon: (d) => 'marker',
getSize: (d) => 35,
getPosition: (d) => d.geometry.coordinates,
billboard: true,
pickable: true,
});
setLayers([datasetLayer]);
}, [source, isAddLoveOpened]);
return {
deckRef,
viewState,
+8 -4
View File
@@ -19,10 +19,10 @@ import HeartIcon from '@/assets/HeartIcon';
import Input from '@/components/Input/Input';
import CloseIcon from '@/assets/CloseIcon';
import AddIcon from '@/assets/AddIcon';
import pin from '@/assets/pin.png';
import 'mapbox-gl/dist/mapbox-gl.css';
import './styles.scss';
import Loader from '@/assets/Loader';
import PinIcon from '@/assets/PinIcon';
// ---------------------------------------------------------------------------------------------------------------------
const Home = () => {
@@ -89,9 +89,13 @@ const Home = () => {
></Map>
</DeckGL>
{isAddLoveOpened && (
<Image
src={pin}
alt='pin'
// <Image
// src={pin}
// alt='pin'
// width={30}
// className='pinImage'
// />
<PinIcon
width={30}
className='pinImage'
/>