Skip to content

Commit a6767a3

Browse files
committed
Merge branch 'release/0.25.0'
2 parents 7d7fbf7 + a4e1c75 commit a6767a3

File tree

146 files changed

+4465
-2673
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+4465
-2673
lines changed

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
* text=lf
2+
3+
*.png binary

CHANGELOG.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,37 @@ These usually have no immediately visible impact on regular users
88

99
## Unreleased
1010

11+
## [0.25.0] - 2021-02-07
12+
13+
### Added
14+
15+
- Is public toggle for annotations
16+
- Undo/Redo (50 action memory)
17+
- shape movement
18+
- shape rotation
19+
- shape resize
20+
- floor change
21+
- layer change
22+
- shape creation/removal
23+
- New aura options
24+
- enable/disable toggle
25+
- border
26+
- viewing angle (width + direction)
27+
- Location (un)archiving
28+
- Spell measuring system
29+
30+
### Fixed
31+
32+
- Shape name not immediately syncing on visibility toggle
33+
- Vision tool disabled tokens private auras no longer being visible
34+
- Tokens giving minimal vision on other floors
35+
- Floor creation not triangulating
36+
- This fixes newly created floors being broken in regards to vision until a refresh
37+
- Update location bar user position when moving shape
38+
1139
## [0.24.1] - 2021-01-17
1240

13-
### Fixes
41+
### Fixed
1442

1543
- minimal token vision being broken
1644
- pasting polygons would change the angle on the first segment

client/.eslintrc.js

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@ module.exports = {
33
env: {
44
node: true,
55
},
6-
extends: ["plugin:@typescript-eslint/recommended", "plugin:vue/essential", "@vue/typescript", "@vue/prettier"],
6+
extends: [
7+
"plugin:@typescript-eslint/recommended",
8+
"plugin:vue/essential",
9+
"@vue/typescript",
10+
"@vue/prettier",
11+
"plugin:import/typescript",
12+
],
713
rules: {
814
"@typescript-eslint/consistent-type-assertions": [2, { assertionStyle: "as" }],
915
"@typescript-eslint/explicit-function-return-type": [2, { allowExpressions: true }],
@@ -17,6 +23,15 @@ module.exports = {
1723
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
1824
],
1925
"@typescript-eslint/no-use-before-define": 0,
26+
"import/no-unused-modules": [process.env.GITHUB_ACTION === undefined ? 1 : 2, { unusedExports: true }],
27+
"import/order": [
28+
"error",
29+
{
30+
alphabetize: { order: "asc", caseInsensitive: true },
31+
"newlines-between": "always",
32+
pathGroups: [{ pattern: "@/**", group: "parent", position: "before" }],
33+
},
34+
],
2035
// "no-console": process.env.NODE_ENV === "production" ? "error" : "off",
2136
"no-console": "off",
2237
"no-constant-condition": "off",
@@ -33,4 +48,13 @@ module.exports = {
3348
jsx: false,
3449
},
3550
},
51+
plugins: ["import"],
52+
settings: {
53+
"import/resolver": {
54+
typescript: {
55+
extensions: [".js", ".ts", ".d.ts", ".vue"],
56+
},
57+
},
58+
"import/extensions": [".ts", ".vue"],
59+
},
3660
};

client/package-lock.json

Lines changed: 1524 additions & 992 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/package.json

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "planarally-client",
3-
"version": "0.24.1",
3+
"version": "0.25.0",
44
"description": "A companion tool for when you travel into the planes.",
55
"scripts": {
66
"serve": "vue-cli-service serve",
@@ -13,15 +13,15 @@
1313
"test:coverage": "vue-cli-service test:unit --coverage"
1414
},
1515
"dependencies": {
16-
"core-js": "^3.8.1",
17-
"socket.io-client": "^3.0.4",
16+
"core-js": "^3.8.3",
17+
"socket.io-client": "^3.1.0",
1818
"swiper": "^5.4.5",
1919
"tinycolor2": "^1.4.2",
2020
"vue": "^2.6.12",
2121
"vue-awesome-swiper": "^4.1.1",
2222
"vue-class-component": "^7.2.6",
23-
"vue-color": "^2.7.1",
24-
"vue-i18n": "^8.22.2",
23+
"vue-color": "^2.8.1",
24+
"vue-i18n": "^8.22.4",
2525
"vue-loading-overlay": "^3.4.2",
2626
"vue-markdown": "^2.2.4",
2727
"vue-property-decorator": "^8.5.1",
@@ -33,38 +33,40 @@
3333
"vuex-module-decorators": "^0.17.0"
3434
},
3535
"devDependencies": {
36-
"@fortawesome/fontawesome-svg-core": "^1.2.32",
37-
"@fortawesome/free-brands-svg-icons": "^5.15.1",
38-
"@fortawesome/free-regular-svg-icons": "^5.15.1",
39-
"@fortawesome/free-solid-svg-icons": "^5.15.1",
40-
"@fortawesome/vue-fontawesome": "^2.0.0",
36+
"@fortawesome/fontawesome-svg-core": "^1.2.34",
37+
"@fortawesome/free-brands-svg-icons": "^5.15.2",
38+
"@fortawesome/free-regular-svg-icons": "^5.15.2",
39+
"@fortawesome/free-solid-svg-icons": "^5.15.2",
40+
"@fortawesome/vue-fontawesome": "^2.0.2",
4141
"@intlify/vue-i18n-loader": "^1.0.0",
4242
"@types/jest": "^24.9.1",
43-
"@types/lodash": "^4.14.165",
43+
"@types/lodash": "^4.14.168",
4444
"@types/swiper": "^5.4.1",
4545
"@types/tinycolor2": "^1.4.2",
4646
"@types/vue-color": "^2.4.3",
4747
"@types/vue-markdown": "^2.2.1",
48-
"@types/webpack": "^4.41.25",
49-
"@typescript-eslint/eslint-plugin": "^4.9.1",
50-
"@typescript-eslint/parser": "^4.9.1",
51-
"@vue/cli-plugin-babel": "^4.5.9",
52-
"@vue/cli-plugin-eslint": "^4.5.9",
53-
"@vue/cli-plugin-typescript": "^4.5.9",
54-
"@vue/cli-plugin-unit-jest": "^4.5.9",
55-
"@vue/cli-service": "^4.5.9",
56-
"@vue/eslint-config-prettier": "^5.1.0",
57-
"@vue/eslint-config-typescript": "^4.0.0",
58-
"@vue/test-utils": "^1.1.1",
48+
"@types/webpack": "^4.41.26",
49+
"@typescript-eslint/eslint-plugin": "^4.14.0",
50+
"@typescript-eslint/parser": "^4.14.0",
51+
"@vue/cli-plugin-babel": "^4.5.10",
52+
"@vue/cli-plugin-eslint": "^4.5.10",
53+
"@vue/cli-plugin-typescript": "^4.5.10",
54+
"@vue/cli-plugin-unit-jest": "^4.5.10",
55+
"@vue/cli-service": "^4.5.10",
56+
"@vue/eslint-config-prettier": "^6.0.0",
57+
"@vue/eslint-config-typescript": "^7.0.0",
58+
"@vue/test-utils": "^1.1.2",
5959
"babel-core": "7.0.0-bridge.0",
6060
"babel-eslint": "^10.1.0",
61-
"eslint": "^6.8.0",
62-
"eslint-plugin-prettier": "^3.2.0",
63-
"eslint-plugin-vue": "^6.2.2",
64-
"prettier": "^1.19.1",
61+
"eslint": "^7.4.1",
62+
"eslint-import-resolver-typescript": "^2.3.0",
63+
"eslint-plugin-import": "^2.22.1",
64+
"eslint-plugin-prettier": "^3.3.1",
65+
"eslint-plugin-vue": "7.4.1",
66+
"prettier": "^2.2.1",
6567
"rimraf": "^3.0.2",
66-
"sass": "^1.30.0",
67-
"sass-loader": "^10.1.0",
68+
"sass": "^1.32.5",
69+
"sass-loader": "^10.1.1",
6870
"ts-jest": "^24.3.0",
6971
"typescript": "^4.1.3",
7072
"vue-cli-plugin-i18n": "~1.0.1",

client/src/App.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
<script lang="ts">
2-
import { Component, Vue } from "vue-property-decorator";
32
import Loading from "vue-loading-overlay";
3+
import { Component, Vue } from "vue-property-decorator";
4+
45
import "vue-loading-overlay/dist/vue-loading.css";
56
import { coreStore } from "@/core/store";
7+
68
import { BASE_PATH } from "./utils";
79
810
@Component({

client/src/assetManager/contextMenu.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
<script lang="ts">
22
import Vue from "vue";
3-
43
import Component from "vue-class-component";
54
5+
import { socket } from "@/assetManager/socket";
6+
import { assetStore } from "@/assetManager/store";
67
import ContextMenu from "@/core/components/contextmenu.vue";
78
import ConfirmDialog from "@/core/components/modals/confirm.vue";
89
import Prompt from "@/core/components/modals/prompt.vue";
9-
import AssetManager from "./manager.vue";
1010
11-
import { socket } from "@/assetManager/socket";
12-
import { assetStore } from "@/assetManager/store";
11+
import AssetManager from "./manager.vue";
1312
1413
@Component({
1514
components: {

client/src/assetManager/manager.vue

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
<script lang="ts">
22
import Vue from "vue";
33
import Component from "vue-class-component";
4-
54
import { Route, NavigationGuard } from "vue-router";
65
import { mapGetters } from "vuex";
76
87
import AssetContextMenu from "@/assetManager/contextMenu.vue";
9-
import Prompt from "@/core/components/modals/prompt.vue";
10-
118
import { socket } from "@/assetManager/socket";
129
import { assetStore } from "@/assetManager/store";
1310
import { Asset } from "@/core/comm/types";
11+
import Prompt from "@/core/components/modals/prompt.vue";
1412
import { baseAdjust, uuidv4 } from "@/core/utils";
1513
1614
Component.registerHooks(["beforeRouteEnter"]);
@@ -153,7 +151,7 @@ export default class AssetManager extends Vue {
153151
slice * CHUNK_SIZE + Math.min(CHUNK_SIZE, file.size - slice * CHUNK_SIZE),
154152
),
155153
);
156-
fr.onload = _e => {
154+
fr.onload = (_e) => {
157155
socket.emit("Asset.Upload", {
158156
name: file.name,
159157
directory: target,

client/src/assetManager/socket.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { Asset } from "@/core/comm/types";
2+
23
import { socketManager } from "../core/socket";
34
import { baseAdjust } from "../core/utils";
5+
46
import { assetStore } from "./store";
57

68
export const socket = socketManager.socket("/pa_assetmgmt");

client/src/assetManager/store.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { getModule, Module, Mutation, VuexModule } from "vuex-module-decorators"
33

44
import { Asset } from "@/core/comm/types";
55
import { rootStore } from "@/store";
6+
67
import { router } from "../router";
78

89
export interface AssetState {
@@ -55,17 +56,14 @@ class AssetStore extends VuexModule {
5556
@Mutation
5657
setPath(path: number[]): void {
5758
this.folderPath = path;
58-
for (const [index, part] of router.currentRoute.path
59-
.slice("/assets/".length)
60-
.split("/")
61-
.entries()) {
59+
for (const [index, part] of router.currentRoute.path.slice("/assets/".length).split("/").entries()) {
6260
this._idMap.set(path[index], { id: path[index], name: part });
6361
}
6462
}
6563

6664
@Mutation
6765
resolveUpload(file: string): void {
68-
const idx = this._pendingUploads.findIndex(f => f === file);
66+
const idx = this._pendingUploads.findIndex((f) => f === file);
6967
if (idx >= 0) {
7068
this._pendingUploads.splice(idx, 1);
7169
this._resolvedUploads++;
@@ -86,10 +84,10 @@ class AssetStore extends VuexModule {
8684
target.push(asset.id);
8785

8886
const sorted_target = target
89-
.map(i => this._idMap.get(i))
90-
.filter(a => a !== undefined)
87+
.map((i) => this._idMap.get(i))
88+
.filter((a) => a !== undefined)
9189
.sort((a, b) => a!.name.localeCompare(b!.name))
92-
.map(a => a!.id);
90+
.map((a) => a!.id);
9391
if (asset.file_hash) {
9492
this._files = sorted_target;
9593
} else {

0 commit comments

Comments
 (0)