Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
eebaabb
feat: add AreaInfo component to display area statistics in MapWrapper
ev-sc Dec 11, 2025
e14d487
refactor: remove AreaPopup component and its related logic
ev-sc Dec 11, 2025
d257196
feat: enhance AreaInfo component with table layout for better data pr…
ev-sc Dec 11, 2025
379f157
feat: implement selected areas functionality with hover and click int…
ev-sc Dec 11, 2025
0ba33ef
feat: add clear selection button and toggle functionality for selecte…
ev-sc Dec 11, 2025
dcd3dca
feat: adjust AreaInfo component layout for improved single area display
ev-sc Dec 11, 2025
55478c3
Merge branch 'main' into vibe/alternative-areadata-display
ev-sc Dec 11, 2025
37d26ff
feat: add functionality to deactivate active area on repeated click
ev-sc Dec 11, 2025
3059502
feat: add animation to AreaInfo component for improved display of areas
ev-sc Dec 11, 2025
4b27b95
feat: enhance AreaInfo component with dynamic area color rendering ba…
ev-sc Dec 11, 2025
4098948
feat: implement compare areas functionality with UI controls and stat…
ev-sc Dec 11, 2025
4b15bdc
feat: enhance tooltip functionality and improve hover effect handling
ev-sc Dec 11, 2025
e734de5
feat: implement debounced hover area handling and enhance area displa…
ev-sc Dec 11, 2025
b83ded4
Initial plan
Copilot Dec 12, 2025
6dede99
Fix Tailwind classes, className spacing, and keyboard accessibility i…
Copilot Dec 12, 2025
9177cc9
Add visual hint for compare areas mode keyboard shortcut
Copilot Dec 12, 2025
d93f320
Fix TableRow accessibility and remove empty cleanup function
Copilot Dec 12, 2025
c1d38f1
Address code review feedback: simplify ref types and improve keyboard…
Copilot Dec 12, 2025
8f2e1e7
Refactor AreaInfo and MapWrapper components to improve code clarity a…
ev-sc Dec 12, 2025
4f1dbd3
Refactor map state management: introduce draw and edit area modes; re…
ev-sc Dec 15, 2025
94ef87a
Refactor map state management: consolidate compareGeographiesAtom usa…
ev-sc Dec 15, 2025
3bade24
Refactor map controls: implement toggle functions for pin drop, add a…
ev-sc Dec 15, 2025
bc1d3a3
Refactor map controls: integrate edit area mode into useMapControls h…
ev-sc Dec 15, 2025
887e08d
Refactor AreaInfo and MapMarkerAndAreaControls components: enhance se…
ev-sc Dec 15, 2025
09678c8
Refactor AreaInfo and MapWrapper components: enhance secondary data d…
ev-sc Dec 15, 2025
0d15b1d
Merge pull request #252 from commonknowledge/copilot/sub-pr-250
ev-sc Dec 15, 2025
092f64f
Refactor useMapClickEffect and useTurfState hooks: improve feature st…
ev-sc Dec 15, 2025
6d094b8
Tidy divider
ev-sc Dec 15, 2025
d484d40
Add escape key listener to cancel active map modes
ev-sc Dec 15, 2025
474ffc2
Refactor AreaInfo component: update table cell structure for improved…
ev-sc Dec 15, 2025
ff0f7a2
Update src/app/map/[id]/components/Choropleth/index.tsx
ev-sc Dec 15, 2025
1bee1ae
Fix event listener for map hover: change 'mouseout' to 'mouseleave'
ev-sc Dec 15, 2025
b075463
Add cancel button to MapWrapper for mode cancellation
ev-sc Dec 15, 2025
953feed
Linting
ev-sc Dec 15, 2025
c76c9d1
Increase debounce time for hover area updates and optimize event list…
ev-sc Dec 18, 2025
1fe244a
Refactor useMapClickEffect to use refs for currentMode, pinDropMode, …
ev-sc Dec 18, 2025
e6344b3
Initial plan
Copilot Dec 18, 2025
8b407bd
Optimize hover performance: remove debounce delay and memoize color c…
Copilot Dec 18, 2025
3755e0e
Remove unnecessary debounce state for immediate hover response
Copilot Dec 18, 2025
a7d9ac5
Memoize areasToDisplay to prevent unnecessary color recalculations
Copilot Dec 18, 2025
0fa7b9c
Improve comment clarity for areasToDisplay memoization
Copilot Dec 18, 2025
02f1d2c
Refactor AreaInfo component: add early return for areaStats check and…
ev-sc Dec 18, 2025
0912bfb
fix: remove unnecessary local draw state + move useEffect out of reu…
joaquimds Dec 18, 2025
6e0d2a5
fix: move useEffect from useMapControls into its own effect hook
joaquimds Dec 18, 2025
4a887c1
Merge pull request #257 from commonknowledge/copilot/sub-pr-255
ev-sc Dec 18, 2025
13a954e
refactor: streamline area addition logic and integrate edit area mode…
ev-sc Dec 18, 2025
74710ad
feat: enhance Choropleth component to conditionally render selected a…
ev-sc Dec 18, 2025
5a06d80
fix: simplify line layer rendering in Choropleth component
ev-sc Dec 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/app/map/[id]/atoms/mapStateAtoms.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
import { atom } from "jotai";
import { DEFAULT_ZOOM } from "@/constants";
import type MapboxDraw from "@mapbox/mapbox-gl-draw";
import type { MapRef } from "react-map-gl/mapbox";

export const mapIdAtom = atom<string | null>(null);
export const mapRefAtom = atom<{ current: MapRef | null }>({ current: null });
export const drawAtom = atom<MapboxDraw | null>(null);
export const viewIdAtom = atom<string | null>(null);
export const dirtyViewIdsAtom = atom<string[]>([]);
export const zoomAtom = atom<number>(DEFAULT_ZOOM);
export const pinDropModeAtom = atom<boolean>(false);
export const editAreaModeAtom = atom<boolean>(false);
export const showControlsAtom = atom<boolean>(true);
export const compareGeographiesAtom = atom<boolean>(false);
10 changes: 10 additions & 0 deletions src/app/map/[id]/atoms/selectedAreasAtom.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { atom } from "jotai";

export interface SelectedArea {
areaSetCode: string;
code: string;
name: string;
coordinates: [number, number];
}

export const selectedAreasAtom = atom<SelectedArea[]>([]);
2 changes: 0 additions & 2 deletions src/app/map/[id]/atoms/turfAtoms.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { atom } from "jotai";
import type { Turf } from "@/server/models/Turf";

export const editingTurfAtom = atom<Turf | null>(null);
export const turfVisibilityAtom = atom<Record<string, boolean>>({});
Loading