Commit Graph

626 Commits

Author SHA1 Message Date
James Lyne
97c6916194 Prevent sidebar section heading wrapping 2022-01-13 01:52:09 +00:00
James Lyne
cc39b3c0c9 Make sidebar section headers sticky 2022-01-13 01:35:44 +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
4b834aa0b0 Split lists into their own components 2022-01-12 13:27:16 +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
eaad0b4de5 Revert "Work around dynmap bugs in markup handling"
This reverts commit 297a593f
2022-01-11 17:52:37 +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
6717cab096 FollowTarget improvements
- Show current world/location when follow target is visible
- Add ellipsis overflow
- Add copy location on click
2022-01-10 22:16:05 +00:00
James Lyne
6d49021220 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 20:24:22 +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
df1d2ee73b Add window size to vuex state 2022-01-10 19:33:41 +00:00
James Lyne
297a593fa7 Work around dynmap bugs in markup handling 2022-01-10 00:08:06 +00:00
James Lyne
53c2ecab71 Allow use of specific default liveatlas by setting a map's icon to "liveatlas_[icon_name]" in the map plugin's configuration 2021-12-28 16:09:44 +00:00
James Lyne
9ee99c9290 Fix incorrect scheduledZoom type check 2021-12-23 23:00:23 +00:00
James Lyne
27231ff5ff Fix config hash handling in update response 2021-12-23 21:53:38 +00:00
James Lyne
980141ccba Fix zoom level 0 being ignored in url and map default zoom 2021-12-23 16:43:14 +00:00
James Lyne
421c72dba7 Fix inactive maps stealing pending tile updates 2021-12-16 00:33:41 +00:00
James Lyne
fd0e11fac0 Handle pl3xmap world ordering 2021-12-10 16:36:32 +00:00
James Lyne
cbd6c7f3b9 Handle pl3xmap world default zoom 2021-12-10 15:54:55 +00:00
James Lyne
2ab03f8fde Handle pl3xmap player update interval 2021-12-10 15:54:30 +00:00
James Lyne
e082502f88 Add configuration version checking 2021-12-09 18:26:57 +00:00
James Lyne
b98f37729d Suggest solutions for missing config object 2021-12-09 18:26:20 +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
6b05ef8f8f Add CSS variables for marker colours 2021-12-07 21:48:54 +00:00
James Lyne
bffcea1642 Only pan to markers with popups on second click 2021-12-07 20:42:24 +00:00
James Lyne
935cba1c0f Fix marker popups not displaying on click (Fixes #261) 2021-12-07 20:18:49 +00:00
James Lyne
1237b9cc5f Use @types/dynmap where possible (Closes #224) 2021-11-12 00:23:08 +00:00
James Lyne
0c87849356 Use @types/dynmap where possible (Closes #224) 2021-11-12 00:22:52 +00:00
James Lyne
8a66d05139 Support plugin source for dynmap chat (Closes #242) 2021-11-12 00:12:17 +00:00
James Lyne
71ad1b03c2 Fix unbalanced marker label padding when player images are disabled 2021-09-30 23:22:46 +01:00
James Lyne
fc4916565b Fix LogoControl image size 2021-09-30 22:37:00 +01:00
James Lyne
6c0837deae Improve session expiry handling
- Reload configuration and show login dialog when any request fails with "login required"
- Current map position etc is lost, more work needed here
2021-09-30 20:13:23 +01:00
James Lyne
31c1148c38 Decode HTML entities for markup: false dynmap marker labels (Fixes: #172) 2021-09-30 16:43:35 +01:00
James Lyne
8f794d044f Support Pl3xmap custom world icons 2021-09-30 15:04:01 +01:00
James Lyne
ca1d90a739 Remove unused world/map properties 2021-09-30 13:16:39 +01:00
James Lyne
daee15dd3f Fix various issues with Pl3xmap world/map creation 2021-09-29 21:35:26 +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
fac72fd615 Use brighter colour for player marker dot 2021-09-29 19:59:01 +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
5896d4504c Fix PlayerMarker name disappearing when hidden 2021-09-29 15:31:09 +01:00
James Lyne
016b784634 Fix PlayerMarker health/armor not displaying immediately 2021-09-29 15:02:17 +01:00
James Lyne
493fd91299 Remove extra PlayerMarker name padding when health/armor are both disabled 2021-09-29 15:01:34 +01:00
James Lyne
58199aaed0 Use large player image on Pl3xmap when both health/armor are enabled 2021-09-29 14:56:13 +01:00
James Lyne
5ce922505b Fix getMinecraftHead calls 2021-09-29 14:39:56 +01:00
James Lyne
96b43899a4 Optimise some images 2021-09-29 14:35:18 +01:00
James Lyne
5087d0e29c New health/armor images, PlayerMarker label style tweaks 2021-09-29 14:35:03 +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
07d851fc86 Use 20 for health/armor meter max 2021-09-29 14:32:12 +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
c71e8289dd Only fetch Pl3xmap players when player markers are enabled 2021-09-28 18:38:34 +01:00
James Lyne
0ae8b11ce6 Ensure trailing / in Pl3xmap base URL 2021-09-28 13:33:05 +01:00
James Lyne
98d7ede3d9 Remove extra / from Pl3xmap players URL (Closes #125) 2021-09-28 13:32:42 +01:00
James Lyne
48b94f6bfb Fix parseUrl issues 2021-09-12 20:37:59 +01:00
James Lyne
bfd2b4083f Fix type errors 2021-09-12 20:37:51 +01:00
James Lyne
5d133de1e9 Testing preparation 2021-09-10 15:32:48 +01:00
James Lyne
83bc0ec86d Freeze/seal marker related objects in Pl3xmap provider 2021-09-10 15:31:05 +01:00
James Lyne
8bf0fe04a7 Split DynmapMapProvider build methods into their own file 2021-09-10 15:30:29 +01:00
James Lyne
f90b32c41a Cleanup App.vue and parseUrl
- Fix double event listener add in unmount hook
- Remove onUrlChange as it does the same thing as handleUrl
- Merge duplicate mount/unmount hooks
- Pass a URL to parseUrl instead of directly using window.location
2021-09-10 15:29:27 +01:00
James Lyne
969e9db5cc Cleanup App.vue
- Fix double event listener add in unmount hook
- Remove onUrlChange as it does the same thing as handleUrl
- Merge duplicate mount/unmount hooks
2021-09-10 15:28:12 +01:00
James Lyne
6450b76439 Switch to modern-normalize 2021-09-08 19:28:39 +01:00
James Lyne
63a00d0681 Move loginEnabled logic to store getter 2021-09-08 15:23:21 +01:00
James Lyne
0e57a50e0c Cleanup redundant useStore calls 2021-09-08 15:21:27 +01:00
James Lyne
56470790de Convert more components to composition api 2021-09-08 15:20:04 +01:00
James Lyne
1b9a3e4f1a Cleanup configuration loading a bit
- Move configuration hash clearing to RESET
- Dispatch STOP_UPDATES and RESET actions from LOAD_CONFIGURATION action
- Make exception handling simpler
2021-09-08 14:35:44 +01:00
James Lyne
aca007ee94 Reset zoom level when switching worlds 2021-09-07 23:20:35 +01:00
James Lyne
ba02a2148f Only allow maps shortcut when login required modal is open 2021-09-07 23:14:54 +01:00
James Lyne
12632004d1 Move loginRequired state into store, reset login related state in RESET 2021-09-07 23:10:57 +01:00
James Lyne
b2f58f681c Fully support Pl3xmap URLs 2021-09-07 23:08:44 +01:00
James Lyne
46c9468214 Remove some debug logging 2021-09-01 18:42:26 +01:00
James Lyne
ab5ede1ccc Only reset splash screen state on server changes, reset loading attempts correctly. 2021-09-01 18:14:19 +01:00
James Lyne
78655e7ebe Don't clear parsed url on config load 2021-09-01 18:06:49 +01:00
James Lyne
ca9b3ce1f4 Quick fix for world with many maps defined
Need a better long term solution for this
2021-09-01 17:53:08 +01:00
James Lyne
c1ed50f8c4 Make player markers interactive 2021-09-01 17:47:43 +01:00
James Lyne
eb7d31669f Fix build 2021-09-01 17:47:29 +01:00
James Lyne
d682358306 Limit width of marker labels in a better way 2021-09-01 17:40:16 +01:00
James Lyne
79fc8f6816 Reuse existing players pane if present 2021-09-01 17:39:44 +01:00
James Lyne
77b9850ea9 Marker refactoring
- Don't extend DivIcon as we don't use anything that class provides
- Update PlayerMarker icon using internal watch
- Remove unused panTo() PlayerMarker method
- Apply needed parts of _setIconStyles directly in GenericIcon's createIcon
2021-09-01 17:38:42 +01:00
James Lyne
fb53ad195c Improve login ux on smaller screens
- Hide other UI elements when modal opens, to reduce clutter
- Hide login required modal if the server list is opened, to allow switching servers without overlapping the modal
- Use tel input for registration code
2021-09-01 02:18:02 +01:00
James Lyne
5350c2483f Reset splash screen on show instead of hide 2021-09-01 02:15:51 +01:00
James Lyne
ca3d3c7442 Update chat login button to use login modal 2021-09-01 02:15:00 +01:00
James Lyne
c015886f4a Improve login modal mobile styling 2021-09-01 02:13:44 +01:00
James Lyne
4fbd41c040 Add configurable invalid input border color 2021-09-01 01:07:24 +01:00
James Lyne
aa78d6ad63 Change Maps button to a Servers button when <2 maps are defined in the current server 2021-09-01 01:06:43 +01:00
James Lyne
8a7a05c0d1 Prevent closing and allow server selection from login required modal, 2021-09-01 01:05:30 +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
1e4c8a080f Revert "Drop :active styles"
This reverts commit 146aadb9
2021-08-31 19:56:42 +01:00
James Lyne
c4230fda7d Use --outline-focus for map focus indicator 2021-08-31 17:46:02 +01:00
James Lyne
0b05ad05e4 Focus login button when closing modal 2021-08-31 17:45:37 +01:00
James Lyne
ca60f2bb09 Store and clear loadConfiguration timeouts
- Avoids double loads if switching servers right after a config load has failed
2021-08-31 17:45:05 +01:00
James Lyne
3cb9f8f315 Fix super call in GenericIcon 2021-08-31 16:41:11 +01:00
James Lyne
fdf5e521d8 Prefer using super over prototype calls 2021-08-31 16:38:19 +01:00
James Lyne
0ae42a9409 Fix typings for LiveAtlasTileLayer _tiles property 2021-08-31 16:35:30 +01:00
James Lyne
00483025cd Correctly cleanup CoordinatesControl event handlers 2021-08-31 16:00:11 +01:00
James Lyne
f1d38e7485 Fix layer control error when switching servers 2021-08-31 15:55:39 +01:00
James Lyne
a82052714d aria-live login modal alerts 2021-08-31 15:03:33 +01:00
James Lyne
8deabad47b Refactor mutations
- Remove some unused mutations
- Move CLEAR_PLAYERS into RESET
- Clear chat history in RESET
2021-08-31 15:03:32 +01:00
James Lyne
9fd53d754e Reduce CoordinatesControl layout shifts 2021-08-31 15:03:32 +01:00
James Lyne
76f151a64c First attempt at login/register 2021-08-30 22:28:20 +01:00
James Lyne
6028779b45 Icon optimisations
- Ran icons through SVGo
- Removed some remaining unneeded attributes
2021-08-30 22:28:19 +01:00
James Lyne
b426ed3cae Refactor fetch logic
- Add credentials: include
- Allow passing arbitrary options to fetch, and rename existing simple get to getJSON
2021-08-30 22:28:19 +01:00
James Lyne
e41a841bdb Don't make sendChatMessage abstract 2021-08-30 22:28:19 +01:00
James Lyne
dc0a03daa8 Refactor server configuration loading
- Move store cleanup to single RESET mutation
- Move showSplash, RESET and STOP_UPDATES calls into loadConfiguration
2021-08-30 22:28:15 +01:00
James Lyne
0fba7747c8 Reset splash error state on hide 2021-08-30 22:02:57 +01:00
James Lyne
882efa8373
Merge pull request #94 from JLyne/dependabot/npm_and_yarn/typescript-4.4.2
Bump typescript from 4.3.5 to 4.4.2
2021-08-27 03:07:51 +01:00
James Lyne
ec115615d1 Fix build with Typescript 4.4 2021-08-27 02:40:25 +01:00
James Lyne
ed52f811bc More button style tweaks 2021-08-27 02:26:21 +01:00
James Lyne
116c9efa0d Use cross icon for unfollow button 2021-08-27 02:26:04 +01:00
James Lyne
a2b1bd148f Fix context menu styling 2021-08-27 02:04:23 +01:00
James Lyne
8e381d5b90 Disable tile image smoothing on Firefox 2021-08-27 01:58:27 +01:00
James Lyne
959db53b11 Use newest version of leaflet fork with stripped down styling. Simplify leaflet-related LiveAtlas styling. 2021-08-27 01:58:05 +01:00
James Lyne
379b4978ae Update button styles 2021-08-26 22:44:03 +01:00
James Lyne
d0d24d528f Fix display issues with long player names in player list 2021-08-26 22:23:47 +01:00
James Lyne
b37d5d6739 Remove redundant loading control css animation 2021-08-26 22:05:20 +01:00
James Lyne
e6e7e3d9f9 Optimise icons 2021-08-26 21:57:47 +01:00
James Lyne
15e66bf222 New players/maps icons 2021-08-26 21:57:06 +01:00
James Lyne
ca8142cca8 Use declare for leaflet defined fields 2021-08-26 21:40:54 +01:00
James Lyne
6c861bb927 New link icon 2021-08-26 00:54:40 +01:00
James Lyne
ba070eee9a Style updates
- Add new variable for selected colour, using old hover colour
- More subtle hover colour
- Dimmer selected colour
- Bold font on selected elements for better readability
- Tweaked text colours
- Use brighter text colour for headings
- Reduced border-radius
- Restore some missing text shadows
2021-08-26 00:54:40 +01:00
James Lyne
146aadb963 Drop :active styles 2021-08-26 00:54:40 +01:00
James Lyne
89c56e176b Some style refactoring
- Use CSS variables for UI element size/spacing
- Make buttons smaller on smaller screens
- Reduce location size on smaller screens
- Add common leaflet-control-button class for all button-y controls
2021-08-26 00:54:40 +01:00
James Lyne
2d485ac4e5 Fix marker labels disappearing when toggling a showLabels: true layer twice 2021-08-16 04:21:48 +01:00
James Lyne
552b289bb9 Avoid recreating tiles from scratch when refreshing Pl3xmap 2021-08-16 03:33:28 +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
280e036276 Basic support for Pl3xmap tile update interval 2021-08-13 23:51:03 +01:00
James Lyne
13260bbfeb Fix placeholders in Pl3xmap page title 2021-08-12 14:27:39 +01:00
James Lyne
6aa9aaf2bd Only set config hash if present in update response
Prevents infinite reloading if the update response doesn't contain a hash for some reason
2021-08-03 02:26:43 +01:00
James Lyne
eba8a5b7e1 Fix incorrect player head URL (Fixes #2) 2021-08-02 17:12:29 +01:00
James Lyne
b143fc1561 Player list heading fixes 2021-07-29 19:16:37 +01:00
James Lyne
f4aca39975 Fix incorrect Dynmap player head URL generation 2021-07-29 19:05:33 +01:00
James Lyne
2ff16c81ed Merge remote-tracking branch 'origin/master' 2021-07-29 18:20:05 +01:00
James Lyne
e07ac55c33 Merge branch 'pl3xmap'
# Conflicts:
#	src/api.ts
#	src/components/Map.vue
#	src/components/map/layer/MapLayer.vue
#	src/components/map/layer/MarkerSetLayer.vue
#	src/components/map/vector/Areas.vue
#	src/components/map/vector/Circles.vue
#	src/components/map/vector/Lines.vue
#	src/components/map/vector/Markers.vue
#	src/components/sidebar/WorldListItem.vue
#	src/dynmap.d.ts
#	src/index.d.ts
#	src/leaflet/icon/GenericIcon.ts
#	src/leaflet/layer/LiveAtlasLayerGroup.ts
#	src/leaflet/tileLayer/DynmapTileLayer.ts
#	src/leaflet/vector/LiveAtlasPolygon.ts
#	src/leaflet/vector/LiveAtlasPolyline.ts
#	src/model/LiveAtlasMapDefinition.ts
#	src/model/LiveAtlasProjection.ts
#	src/store/actions.ts
#	src/store/getters.ts
#	src/store/state.ts
#	src/util.ts
#	src/util/areas.ts
#	src/util/circles.ts
#	src/util/lines.ts
#	src/util/markers.ts
2021-07-29 18:15:35 +01:00
James Lyne
38946d7015 Initial pl3xmap support 2021-07-29 18:06:19 +01:00
James Lyne
a7fa366635 Create marker labels lazily when showLabels is false 2021-07-29 17:46:11 +01:00
James Lyne
f5002ed828
Fix URL zoom being ignored on initial load (Fixes #59) 2021-07-29 14:14:01 +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
d05b7a63ac Use playerMarkers.layerName for the layer name 2021-07-29 00:34:40 +01:00
James Lyne
ee8607ed6d Fix player layer duplicating in some situations 2021-07-29 00:34:18 +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
4feb46c641 Move player count/max into playersHeading 2021-07-28 22:27:43 +01:00
James Lyne
4350fae1d5 Fix uuid handling in player map 2021-07-28 22:17:02 +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
2a216dd4e8 Path performance improvements
- Avoid intermediate objects when creating leaflet objects to reduce allocations
- Make individual path objects non-reactive
- Avoid projecting path points twice during updates
2021-07-28 04:04:47 +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