Commit Graph

77 Commits

Author SHA1 Message Date
James Lyne
b43f1f0fe6 Basic support for overviewer 2022-02-21 21:50:31 +00:00
James Lyne
68eccb2b5b Pass projection into LiveAtlasMapDefinition instead of creating it internally 2022-02-21 20:27:09 +00:00
James Lyne
eba601e7fe Add option to disable map context menu 2022-02-20 19:35:10 +00:00
James Lyne
b3e593897b Replace MapProvider.getPlayerHeadUrl method with imageUrl property in players component
- imageUrl expects a function taking a HeadQueueEntry and returning a string
- The dynmap provider has fixed logic for image URLs, but squaremap can vary per world.
- Changes to imageUrl do not yet trigger image updates or head cache clearing
2022-02-05 17:31:07 +00:00
James Lyne
0b6bf8d206 Merge playerMarkers and playerList components in store state
- Merged playerMarkers and playerList into players
- playerMarkers is now players.markers
- Moved grayHiddenPlayers outside of players.markers, as it doesn't apply to markers
2022-02-05 15:41:48 +00:00
James Lyne
e91f820322 Improve handing of append_to_world
- Always use the store map list for checking for/retrieving maps, to avoid the non-unique map name problem append_to_world otherwise causes
- Change LiveAtlasWorldDefinition maps property to Set as map keys were not unique if appended maps with the same names existed
- Add appended map to both original and appended world's map set. The appended world needs this to display the map in the UI, the original world needs this to avoid situations where LiveAtlas needs the "first" map of a world, and that world has 0 non-appended maps (i.e switching worlds when following, URL without a map name)
- Add an appendedWorld property to maps to indicate when a map has been appended. This is used by MapContextMenu to show the appended world's map list instead, and in WorldListItem to filter out maps appended to other worlds
- Use the map's world property instead of the world prop in the template for WorldListItem. This fixes tooltips and prevents duplicate IDs.

Fixes #345
2022-02-04 21:58:07 +00:00
James Lyne
80fe8916f3 Refactor config loading
- Move config validation into map providers
- Move TileLayer creation into map providers
- Simplify config loading logic
2022-01-21 20:20:01 +00:00
James Lyne
91739d513a Markers sidebar section 2022-01-17 15:15:00 +00:00
James Lyne
687a31f0f7 Refactor Map pan handling
- Add setView method to handle all panning/zooming
- Replaced SET_PAN_TARGET mutation with more generic SET_VIEW_TARGET which accepts locations/bounds/zooms and leaflet options
- Merged all scheduled variables into single scheduledView
2022-01-16 22:15:12 +00:00
James Lyne
aaf4ee630d Precalculate bounds for path markers 2022-01-16 21:18:48 +00:00
James Lyne
42e553bda7 Marker storage/display improvements
- Store markers of all types for a marker set in a single map
- Merge all marker type components into a single Markers component
- Add marker type prefixes to dynmap marker ids to ensure they remain unique
- Add id and type properties to marker objects
- Remove now-unused update handler for specific marker types
2022-01-15 15:45:59 +00:00
James Lyne
46fc602a96 Fix incorrect argument type for DynmapTileLayer.getTileInfo 2022-01-14 20:11:43 +00:00
James Lyne
b3a685e003 Add location property for all marker types
Areas/lines will calculate a center point to use for their location
2022-01-14 20:11:43 +00:00
James Lyne
ac575e4ee9 Fix server switching 2022-01-14 13:58:26 +00:00
James Lyne
4e8780b3a4 Sidebar cleanup and fixes
- Merge functions handling sidebar section events, focusing and toggling
- Use hidden attribute instead of v-show for sidebar sections
- Ignore hidden sidebar sections when navigating with the keyboard
- Allow focusing an already visible section via down arrow on its button
2022-01-14 13:16:04 +00:00
James Lyne
9c74d7b163 Marker changes
- Merge marker label/tooltipContent
- Rename tooltipContent/popupContent to tooltip/popup
- Set tooltip from label for all dynmap marker types
2022-01-13 16:07:27 +00:00
James Lyne
7cd21a19e2 Rename marker types for clarity
- Add "Marker" suffix
- Rename regular marker to "PointMarker"
2022-01-13 14:14:11 +00:00
James Lyne
b39db090f5 Message handling improvements
-Define message keys in a single place
-Add fallback for missing messages
-Slight reduction in filesize
2022-01-12 15:21:01 +00:00
James Lyne
ac7c269fe1 Add squaremap server definition (alias for pl3xmap) 2022-01-12 01:06:18 +00:00
James Lyne
51ec91be22 Rename VITE_VERSION to VITE_APP_VERSION 2022-01-12 00:31:54 +00:00
James Lyne
ff77f09025 Move marker set contents outside the store, other small optimisations.
Improves marker set creation performance by avoiding traversal of all markers when watching the marker set.

Various other small changes to reduce allocations when creating markers
2022-01-11 16:08:30 +00:00
James Lyne
450a5ee46c Refactor sidebar sections
- Rename CollapsibleSection to SidebarSection with a collapsible prop
- Move section__content element to SidebarSection
- Move sidebar section styling to SidebarSection
2022-01-10 19:56:23 +00:00
James Lyne
cbd6c7f3b9 Handle pl3xmap world default zoom 2021-12-10 15:54:55 +00:00
James Lyne
e082502f88 Add configuration version checking 2021-12-09 18:26:57 +00:00
James Lyne
5a778828f8 Initial version of pl3xmap player facing. Closes #129 2021-12-09 01:13:23 +00:00
James Lyne
3355dbbd32 Add compactPlayerMarkers ui option for pre-2.0 style markers 2021-12-07 21:53:09 +00:00
James Lyne
ca1d90a739 Remove unused world/map properties 2021-09-30 13:16:39 +01:00
James Lyne
dc479ca6e8 Support disabling player images in player list
- showplayerfacesinmenu in Dynmap
- Player image is removed entirely rather than mirroring Dynmap behaviour of showing a Steve head, to be consistent with player markers and chat.
- Images are also disabled in FollowTarget
2021-09-29 21:16:31 +01:00
James Lyne
bf383afb8d Support disabling player marker images
- showplayerfaces: false in Dynmap, player-tracker.nameplate.show-head: false in Pl3xmap
- Remove showSkin option in favour of 'none' image size
2021-09-29 19:58:39 +01:00
James Lyne
66355dfe38 Decouple player image pixel size from PlayerMarker.
- Use single template image and set size after cloning
- Use util method to retrieve pixel size when needed
- Use LiveAtlasPlayerImageSize in getMinecraftHead
2021-09-29 14:33:52 +01:00
James Lyne
770c9242a8 Player marker improvements
- Use <meter> for health/armor
- Condense small/body image properties into single image size option
- Remove image-size dependant margins
- Add circle alongside label for indicating player position
2021-09-29 01:30:35 +01:00
James Lyne
bfc0a381a8 Respect pl3xmap show-armor setting 2021-09-28 18:54:51 +01:00
James Lyne
5d133de1e9 Testing preparation 2021-09-10 15:32:48 +01:00
James Lyne
ca3d3c7442 Update chat login button to use login modal 2021-09-01 02:15:00 +01:00
James Lyne
21cb8da32f Modal updates
- Add options for removing backdrop and preventing closing
- Add close button
- Style tweaks
2021-09-01 01:00:42 +01:00
James Lyne
0ae42a9409 Fix typings for LiveAtlasTileLayer _tiles property 2021-08-31 16:35:30 +01:00
James Lyne
76f151a64c First attempt at login/register 2021-08-30 22:28:20 +01:00
James Lyne
f316c0dd50 Use fetch for tile loads, move loading logic to LiveAtlasTileLayer 2021-08-16 03:08:35 +01:00
James Lyne
38946d7015 Initial pl3xmap support 2021-07-29 18:06:19 +01:00
James Lyne
02c705de36 Fix build errors 2021-07-29 03:39:28 +01:00
James Lyne
90ec2080ee Add tooltip support 2021-07-29 03:06:05 +01:00
James Lyne
8151dfaab5 Make followZoom optional 2021-07-28 23:52:51 +01:00
James Lyne
b3f186a197 Move grayHiddenPlayers to playerMarkers component 2021-07-28 23:52:03 +01:00
James Lyne
7bff12b729 Move maxPlayers to separate field in store, add mutation 2021-07-28 23:50:59 +01:00
James Lyne
110c75f9a3 Allow partial updates of component settings 2021-07-28 22:16:26 +01:00
James Lyne
d04226e3ec Refactor popup handling
- Merge label and popupContent properties for vector layers, as only one is ever used
- Move common vector methods to separate file and remove duplicates
- Rename isHTML properties to be clearer
2021-07-28 17:49:38 +01:00
James Lyne
9517de0760 Path point handling changes
- Store path points as {x,y,z} objects instead of separate arrays
- Project point objects right before layer creation
- A bit slower overall but matches the format of Pl3xmap path points.
2021-07-28 04:04:46 +01:00
James Lyne
5cf353cd8a Update license headers 2021-07-26 01:05:08 +01:00
James Lyne
9e2caa6f63 More type renaming 2021-07-26 01:05:08 +01:00
James Lyne
355c0c71cf Restructure LiveAtlasServerDefinition 2021-07-26 01:05:07 +01:00