From 71962b4921bb7d2d350fa97b1a34c81118fba49d Mon Sep 17 00:00:00 2001 From: David Malchin Date: Thu, 18 Jul 2024 19:16:00 +0200 Subject: [PATCH] Move handover data type to separate file --- html/js/util/handover.js | 41 +--------------------------------------- server/handover.js | 7 +++++-- types/handover.d.ts | 37 ++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 42 deletions(-) create mode 100644 types/handover.d.ts diff --git a/html/js/util/handover.js b/html/js/util/handover.js index 2524707..58be627 100644 --- a/html/js/util/handover.js +++ b/html/js/util/handover.js @@ -1,44 +1,5 @@ /** - * @typedef {Object} NuiHandoverPaths - * @property {string[]} images - * @property {string[]} music - * @property {string[]} videos - * @property {string} [logo] - */ - -/** - * @typedef {Object} NuiHandoverConfig - * @property {string} style - * @property {string} background - * @property {number} backgroundBrightness - * @property {string} textColor - * @property {string} primaryColor - * @property {string} secondaryColor - * @property {string} shadowColor - * @property {string} fontFamily - * @property {boolean} logo - * @property {string} serverMessage - * @property {boolean} primaryBar - * @property {boolean} secondaryBar - * @property {boolean} loadingAction - * @property {string} finishingMessage - * @property {boolean} logLine - * @property {boolean} audioControls - * @property {boolean} errorLog - * @property {number} initialAudioVolume - * @property {boolean} music - * @property {boolean} musicShuffle - * @property {number} imageRate - * @property {boolean} imageShuffle - * @property {boolean} videoShuffle - */ - -/** - * @typedef {Object} NuiHandoverData - * @property {string} playerName - * @property {string} serverName - * @property {NuiHandoverPaths} paths - * @property {NuiHandoverConfig} config + * @typedef {import('../../../types/handover.d.ts').NuiHandoverData} NuiHandoverData */ /** diff --git a/server/handover.js b/server/handover.js index 9f2a3d6..1263437 100644 --- a/server/handover.js +++ b/server/handover.js @@ -67,7 +67,8 @@ const paths = { * @param {Deferrals} deferrals */ function onPlayerConnecting(name, _setKickReason, deferrals) { - deferrals.handover({ + /** @type {import('../types/handover.d.ts').NuiHandoverData} */ + const data = { playerName: name, serverName: GetConvar('sv_projectName', GetConvar('sv_hostname', '')), @@ -122,7 +123,9 @@ function onPlayerConnecting(name, _setKickReason, deferrals) { imageShuffle: GetConvarInt('loadscreen:imageShuffle', 0) == 1, videoShuffle: GetConvarInt('loadscreen:videoShuffle', 0) == 1, }, - }); + }; + + deferrals.handover(/** @type {any} */ (data)); } on('playerConnecting', onPlayerConnecting); diff --git a/types/handover.d.ts b/types/handover.d.ts new file mode 100644 index 0000000..6b4813e --- /dev/null +++ b/types/handover.d.ts @@ -0,0 +1,37 @@ +export interface NuiHandoverData { + playerName: string; + serverName: string; + + paths: { + images: string[]; + music: string[]; + videos: string[]; + logo?: string | undefined; + }; + + config: { + style: string; + background: string; + backgroundBrightness: number; + textColor: string; + primaryColor: string; + secondaryColor: string; + shadowColor: string; + fontFamily: string; + logo: boolean; + serverMessage: string; + primaryBar: boolean; + secondaryBar: boolean; + loadingAction: boolean; + finishingMessage: string; + logLine: boolean; + audioControls: boolean; + errorLog: boolean; + initialAudioVolume: number; + music: boolean; + musicShuffle: boolean; + imageRate: number; + imageShuffle: boolean; + videoShuffle: boolean; + }; +}