add Protocols to constants module and start using them

pull/95/head
dperolio 2 years ago
parent 0a6de4f5c3
commit bb553cb47a
No known key found for this signature in database
GPG Key ID: 4191689562D51409

@ -8,7 +8,7 @@ import { getModule, FluxDispatcher } from '@vizality/webpack';
import { findInReactTree } from '@vizality/util/react';
import { patch, unpatch } from '@vizality/patcher';
import { Constants } from '@discord/constants';
import { Regexes } from '@vizality/constants';
import { Regexes, Protocols } from '@vizality/constants';
import { fetchUser } from '@discord/user';
export const labels = [ 'Components', 'Anchor' ];
@ -17,7 +17,7 @@ export default builtin => {
const Anchor = getModule(m => m.default?.displayName === 'Anchor');
const { anchor } = getModule('anchor', 'anchorUnderlineOnHover');
const vizalityRegex = new RegExp(`${Regexes.DISCORD}/vizality`, 'i');
const vizalityProtocolRegex = new RegExp('^(vizality://)', 'i');
const vizalityProtocolRegex = new RegExp(`^(${Protocols.BASE})`, 'i');
const userRegex = new RegExp(`${Regexes.DISCORD}/users/`, 'i');
const discordRegex = new RegExp(`${Regexes.DISCORD}`, 'i');

@ -1,6 +1,6 @@
import { Button, Tooltip, Anchor, Icon, LazyImage, Flex, ShinyButton } from '@vizality/components';
import { toPlural, toTitleCase } from '@vizality/util/string';
import { Repositories } from '@vizality/constants';
import { Repositories, Protocols } from '@vizality/constants';
import { getModule } from '@vizality/webpack';
import { Messages } from '@vizality/i18n';
import React, { memo } from 'react';
@ -18,7 +18,7 @@ export default memo(props => {
<LazyImage
className='vz-updater-update-icon-img-wrapper'
imageClassName='vz-updater-update-icon-img'
src='vizality://assets/images/logo.png'
src={`${Protocols.ASSETS}/images/logo.png`}
/>
)
: <>

@ -4,7 +4,7 @@
import { open as openModal, close as closeModal } from '@vizality/modal';
import { getModule, getModuleByDisplayName } from '@vizality/webpack';
import { Directories, Events } from '@vizality/constants';
import { Directories, Events, Protocols } from '@vizality/constants';
import { joinClassNames } from '@vizality/util/dom';
import { toPlural } from '@vizality/util/string';
import { Confirm } from '@vizality/components';
@ -26,7 +26,7 @@ export default class Updater extends Builtin {
constructor () {
super();
this.changelog = {
image: 'vizality://builtins/updater/assets/updates-2021-01-11.png',
image: `${Protocols.ASSETS}/${this.addonId}/assets/updates-2021-01-11.png`,
id: 'updates-2021-01-11'
};
this.checking = false;

@ -6,7 +6,7 @@
import { initialize as initializeWebpackModules, getModule } from '@vizality/webpack';
import { log as _log, warn as _warn, error as _error } from '@vizality/util/logger';
import { Directories, Developers, Events } from '@vizality/constants';
import { Directories, Developers, Events, Protocols } from '@vizality/constants';
import { resolveCompiler } from '@vizality/compilers';
import { createElement } from '@vizality/util/dom';
import { Updatable } from '@vizality/entities';
@ -168,7 +168,7 @@ export default class Vizality extends Updatable {
* Clean up console by clearing it first, then log our startup banner.
*/
console.clear();
console.log('%c ', `background: url('vizality://assets/images/console-banner.gif') no-repeat center / contain; padding: 110px 350px; font-size: 1px; margin: 10px 0;`);
console.log('%c ', `background: url('${Protocols.ASSETS}/images/console-banner.gif') no-repeat center / contain; padding: 110px 350px; font-size: 1px; margin: 10px 0;`);
/**
* Initialize the APIs.
@ -276,14 +276,14 @@ export default class Vizality extends Updatable {
switch (type) {
case 'info':
case 'log':
return _log({ badge: 'vizality://assets/images/discord.png', labels: [ 'DiscordNative', submodule ], message });
return _log({ badge: `${Protocols.ASSETS}/images/discord.png`, labels: [ 'DiscordNative', submodule ], message });
case 'error':
case 'trace':
return _error({ badge: 'vizality://assets/images/discord.png', labels: [ 'DiscordNative', submodule ], message });
return _error({ badge: `${Protocols.ASSETS}/images/discord.png`, labels: [ 'DiscordNative', submodule ], message });
case 'warn':
return _warn({ badge: 'vizality://assets/images/discord.png', labels: [ 'DiscordNative', submodule ], message });
return _warn({ badge: `${Protocols.ASSETS}/images/discord.png`, labels: [ 'DiscordNative', submodule ], message });
default:
return _log({ badge: 'vizality://assets/images/discord.png', labels: [ 'DiscordNative', submodule ], message });
return _log({ badge: `${Protocols.ASSETS}/images/discord.png`, labels: [ 'DiscordNative', submodule ], message });
}
});
}

@ -9,7 +9,7 @@ import { removeDirRecursive } from '@vizality/util/file';
import { log, warn, error } from '@vizality/util/logger';
import { openModalLazy as openModal } from '@vizality/modal';
import { isArray } from '@vizality/util/array';
import { Avatars, Events as _Events } from '@vizality/constants';
import { Avatars, Events as _Events, Protocols } from '@vizality/constants';
import http from 'isomorphic-git/http/node';
import { join, resolve, sep, extname } from 'path';
import { clone } from 'isomorphic-git';
@ -642,7 +642,7 @@ export default class AddonManager extends Events {
vizality.api.notifications.sendToast({
id: 'addon-installed',
header: Messages.VIZALITY_ADDON_SUCCESSFULLY_INSTALLED.format({ type: toTitleCase(this.type) }),
content: <AddonInfoMessage addon={this.get(addonId) || { manifest: { name: addonId }}} message={Messages.VIZALITY_ADDON_SUCCESSFULLY_INSTALLED_DESC.format({ type: toTitleCase(this.type) })} />,
content: <AddonInfoMessage addon={this.get(addonId) || { manifest: { name: addonId } }} message={Messages.VIZALITY_ADDON_SUCCESSFULLY_INSTALLED_DESC.format({ type: toTitleCase(this.type) })} />,
icon: toTitleCase(this.type),
buttons: [
{
@ -757,13 +757,13 @@ export default class AddonManager extends Events {
if (!validExtensions.some(ext => manifest.icon.endsWith(ext))) {
this._warn(`${toTitleCase(this.type)} icon must be of type .png, .jpg, or .jpeg.`);
} else {
return manifest.icon = `vizality://${toPlural(this.type)}/${addonId}/${manifest.icon}`;
return manifest.icon = `${Protocols[toPlural(this.type).toUpperCase()]}/${addonId}/${manifest.icon}`;
}
}
if (validExtensions.some(ext => existsSync(resolve(this.dir, addonId, 'assets', `icon${ext}`)))) {
for (const ext of validExtensions) {
if (existsSync(resolve(this.dir, addonId, 'assets', `icon${ext}`))) {
manifest.icon = `vizality://${toPlural(this.type)}/${addonId}/assets/icon${ext}`;
manifest.icon = `${Protocols[toPlural(this.type).toUpperCase()]}/${addonId}/assets/icon${ext}`;
break;
}
}
@ -805,7 +805,7 @@ export default class AddonManager extends Events {
if (!validExtensions.some(ext => screenshot.endsWith(ext))) {
this._warn(`${toTitleCase(this.type)} screenshots must be of type .png, .jpg, .jpeg, .gif, or .webp`);
} else {
screenshotUrls.push(`vizality://${toPlural(this.type)}/${addonId}/${screenshot}`);
screenshotUrls.push(`${Protocols[toPlural(this.type).toUpperCase()]}/${addonId}/${screenshot}`);
}
});
} else {
@ -816,7 +816,7 @@ export default class AddonManager extends Events {
const validExtensions = [ '.png', '.gif', '.jpg', '.jpeg', '.webp' ];
readdirSync(screenshotsDir)
.filter(file => validExtensions.indexOf(extname(file).toLowerCase()) !== -1)
.map(file => previewImages.push(`vizality://${toPlural(this.type)}/${addonId}/screenshots/${file}`));
.map(file => previewImages.push(`${Protocols[toPlural(this.type).toUpperCase()]}/${addonId}/screenshots/${file}`));
return manifest.screenshots = previewImages;
}
}

@ -9,6 +9,14 @@ export const HTTP = Object.freeze({
get ASSETS () { return `${this.CDN}/assets`; }
});
export const Protocols = Object.freeze({
BASE: 'vizality://',
get ASSETS () { return `${this.BASE}assets`; },
get THEMES () { return `${this.BASE}themes`; },
get PLUGINS () { return `${this.BASE}plugins`; },
get BUILTINS () { return `${this.BASE}builtins`; }
});
export const Repositories = Object.freeze({
ORG: 'vizality',
get VIZALITY () { return `${this.ORG}/vizality`; },
@ -124,17 +132,17 @@ export const Events = Object.freeze({
});
export const Avatars = Object.freeze({
get DEFAULT_THEME_1 () { return 'vizality://assets/images/default-theme-1.png'; },
get DEFAULT_THEME_2 () { return 'vizality://assets/images/default-theme-2.png'; },
get DEFAULT_THEME_3 () { return 'vizality://assets/images/default-theme-3.png'; },
get DEFAULT_THEME_4 () { return 'vizality://assets/images/default-theme-4.png'; },
get DEFAULT_THEME_5 () { return 'vizality://assets/images/default-theme-5.png'; },
get DEFAULT_THEME_1 () { return `${Protocols.ASSETS}/images/default-theme-1.png`; },
get DEFAULT_THEME_2 () { return `${Protocols.ASSETS}/images/default-theme-2.png`; },
get DEFAULT_THEME_3 () { return `${Protocols.ASSETS}/images/default-theme-3.png`; },
get DEFAULT_THEME_4 () { return `${Protocols.ASSETS}/images/default-theme-4.png`; },
get DEFAULT_THEME_5 () { return `${Protocols.ASSETS}/images/default-theme-5.png`; },
// ---
get DEFAULT_PLUGIN_1 () { return 'vizality://assets/images/default-plugin-1.png'; },
get DEFAULT_PLUGIN_2 () { return 'vizality://assets/images/default-plugin-2.png'; },
get DEFAULT_PLUGIN_3 () { return 'vizality://assets/images/default-plugin-3.png'; },
get DEFAULT_PLUGIN_4 () { return 'vizality://assets/images/default-plugin-4.png'; },
get DEFAULT_PLUGIN_5 () { return 'vizality://assets/images/default-plugin-5.png'; }
get DEFAULT_PLUGIN_1 () { return `${Protocols.ASSETS}/images/default-plugin-1.png`; },
get DEFAULT_PLUGIN_2 () { return `${Protocols.ASSETS}/images/default-plugin-2.png`; },
get DEFAULT_PLUGIN_3 () { return `${Protocols.ASSETS}/images/default-plugin-3.png`; },
get DEFAULT_PLUGIN_4 () { return `${Protocols.ASSETS}/images/default-plugin-4.png`; },
get DEFAULT_PLUGIN_5 () { return `${Protocols.ASSETS}/images/default-plugin-5.png`; }
});
export const ActionTypes = Object.freeze({

Loading…
Cancel
Save