Merge branch 'preload-fonts' into 'master'
preload fonts so that when first opening an actor / item sheet, they are... See merge request dungeonslayers/ds4!119
This commit is contained in:
commit
70a4a57f51
6 changed files with 51 additions and 8 deletions
|
@ -52,7 +52,7 @@
|
|||
"postinstall": "husky install"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@league-of-foundry-developers/foundry-vtt-types": "^0.8.8-0",
|
||||
"@league-of-foundry-developers/foundry-vtt-types": "^0.8.8-1",
|
||||
"@rollup/plugin-node-resolve": "^13.0.0",
|
||||
"@types/fs-extra": "^9.0.12",
|
||||
"@types/jest": "^26.0.24",
|
||||
|
|
|
@ -175,7 +175,7 @@ export class DS4ActorSheet extends ActorSheet<ActorSheet.Options, DS4ActorSheetD
|
|||
// Set new value
|
||||
const newValue = this.getValue(el);
|
||||
foundry.utils.setProperty(itemObject, property, newValue);
|
||||
item.update({ ...itemObject });
|
||||
item.update(itemObject);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
41
src/module/fonts.ts
Normal file
41
src/module/fonts.ts
Normal file
|
@ -0,0 +1,41 @@
|
|||
// SPDX-FileCopyrightText: 2021 Johannes Loher
|
||||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
type CSSOMString = string;
|
||||
type FontFaceLoadStatus = "unloaded" | "loading" | "loaded" | "error";
|
||||
type FontFaceSetStatus = "loading" | "loaded";
|
||||
|
||||
interface FontFace {
|
||||
family: CSSOMString;
|
||||
style: CSSOMString;
|
||||
weight: CSSOMString;
|
||||
stretch: CSSOMString;
|
||||
unicodeRange: CSSOMString;
|
||||
variant: CSSOMString;
|
||||
featureSettings: CSSOMString;
|
||||
variationSettings: CSSOMString;
|
||||
display: CSSOMString;
|
||||
readonly status: FontFaceLoadStatus;
|
||||
readonly loaded: Promise<FontFace>;
|
||||
load(): Promise<FontFace>;
|
||||
}
|
||||
|
||||
interface FontFaceSet {
|
||||
readonly status: FontFaceSetStatus;
|
||||
readonly ready: Promise<FontFaceSet>;
|
||||
check(font: string, text?: string): boolean;
|
||||
load(font: string, text?: string): Promise<FontFace[]>;
|
||||
}
|
||||
|
||||
declare global {
|
||||
interface Document {
|
||||
fonts: FontFaceSet;
|
||||
}
|
||||
}
|
||||
|
||||
const fonts = ["Lora", "Wood Stamp"];
|
||||
|
||||
export async function preloadFonts() {
|
||||
return Promise.all(fonts.map((font) => document.fonts.load(`1rem ${font}`)));
|
||||
}
|
|
@ -8,6 +8,7 @@ import { DS4Actor } from "../actor/actor";
|
|||
import { DS4CharacterActorSheet } from "../actor/sheets/character-sheet";
|
||||
import { DS4CreatureActorSheet } from "../actor/sheets/creature-sheet";
|
||||
import { DS4 } from "../config";
|
||||
import { preloadFonts as preloadFonts } from "../fonts";
|
||||
import registerHandlebarsHelpers from "../handlebars/handlebars-helpers";
|
||||
import registerHandlebarsPartials from "../handlebars/handlebars-partials";
|
||||
import { getGame } from "../helpers";
|
||||
|
@ -61,6 +62,7 @@ async function init() {
|
|||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("ds4", DS4ItemSheet, { makeDefault: true });
|
||||
|
||||
preloadFonts();
|
||||
await registerHandlebarsPartials();
|
||||
registerHandlebarsHelpers();
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@ export class DS4ItemSheet extends ItemSheet<ItemSheet.Options, DS4ItemSheetData>
|
|||
icon: "icons/svg/aura.svg",
|
||||
};
|
||||
|
||||
return ActiveEffect.create({ ...createData }, { parent: this.item });
|
||||
return ActiveEffect.create(createData, { parent: this.item });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
10
yarn.lock
10
yarn.lock
|
@ -689,9 +689,9 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@league-of-foundry-developers/foundry-vtt-types@npm:^0.8.8-0":
|
||||
version: 0.8.8-0
|
||||
resolution: "@league-of-foundry-developers/foundry-vtt-types@npm:0.8.8-0"
|
||||
"@league-of-foundry-developers/foundry-vtt-types@npm:^0.8.8-1":
|
||||
version: 0.8.8-1
|
||||
resolution: "@league-of-foundry-developers/foundry-vtt-types@npm:0.8.8-1"
|
||||
dependencies:
|
||||
"@types/jquery": ~3.5.5
|
||||
"@types/simple-peer": ~9.11.0
|
||||
|
@ -701,7 +701,7 @@ __metadata:
|
|||
socket.io-client: 4.1.2
|
||||
tinymce: 5.8.1
|
||||
typescript: ^4.1.6
|
||||
checksum: cec288979cf341a28e8335fe5c538190df94925dad1a552a755d18cf2d5b557453a73dd1c17882c8576dd5226c86b89fe7ace1b51d1c5c3266613108e704a1bc
|
||||
checksum: 40721e3f50f99606ab33b9db46c58eb2fdeb259c3e0c5fb5b856086bd11151406ffb8356bad51a516e2253dde507b7fc98c62ecd6002864c75a3f49e2baf2c83
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -2949,7 +2949,7 @@ __metadata:
|
|||
version: 0.0.0-use.local
|
||||
resolution: "dungeonslayers4@workspace:."
|
||||
dependencies:
|
||||
"@league-of-foundry-developers/foundry-vtt-types": ^0.8.8-0
|
||||
"@league-of-foundry-developers/foundry-vtt-types": ^0.8.8-1
|
||||
"@rollup/plugin-node-resolve": ^13.0.0
|
||||
"@types/fs-extra": ^9.0.12
|
||||
"@types/jest": ^26.0.24
|
||||
|
|
Loading…
Reference in a new issue