From dc00e6104b613ab61b39fcb0492ef5d14bd26183 Mon Sep 17 00:00:00 2001 From: Daniel Scalzi Date: Sat, 29 Aug 2020 01:12:39 -0400 Subject: [PATCH] Initial work on distro load logic. Added new FATAL view to display information when a distro load fails. This replaces the overlay behavior used on v1. The fatal view will eventually do an update check and allow the user to update the app. This solves a potential issue of a user using a very outdated launcher version, and the distro failing as a result. Added new wrapper classes to store the distribution in the redux store. --- README.md | 2 +- package-lock.json | 6 + package.json | 1 + .../asset/processor/MojangIndexProcessor.ts | 50 +-- .../{distribution.ts => DistributionAPI.ts} | 3 + .../distribution/DistributionFactory.ts | 195 +++++++++++ src/common/util/MavenUtil.ts | 107 ++++++ src/main/index.ts | 16 +- src/renderer/components/Application.tsx | 73 +++- src/renderer/components/fatal/Fatal.css | 124 +++++++ src/renderer/components/fatal/Fatal.tsx | 70 ++++ src/renderer/components/landing/Landing.css | 321 ------------------ src/renderer/components/landing/Landing.tsx | 65 +--- src/renderer/components/news/News.css | 320 +++++++++++++++++ src/renderer/components/news/News.tsx | 70 ++++ src/renderer/index.tsx | 14 +- src/renderer/meta/Views.ts | 4 +- src/renderer/redux/actions/appActions.ts | 17 +- src/renderer/redux/reducers/appReducer.ts | 12 +- src/renderer/redux/reducers/viewReducer.ts | 2 +- src/renderer/redux/store.ts | 6 +- static/images/SealCircleError.png | Bin 0 -> 154062 bytes 22 files changed, 1028 insertions(+), 450 deletions(-) rename src/common/distribution/{distribution.ts => DistributionAPI.ts} (96%) create mode 100644 src/common/distribution/DistributionFactory.ts create mode 100644 src/common/util/MavenUtil.ts create mode 100644 src/renderer/components/fatal/Fatal.css create mode 100644 src/renderer/components/fatal/Fatal.tsx create mode 100644 src/renderer/components/news/News.css create mode 100644 src/renderer/components/news/News.tsx create mode 100644 static/images/SealCircleError.png diff --git a/README.md b/README.md index 301a92e1..cc5150f8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

aventium softworks

+

aventium softworks

Helios Launcher

diff --git a/package-lock.json b/package-lock.json index 0f6afe26..d9b0bff4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1445,6 +1445,12 @@ "integrity": "sha512-Ee0vt82qcg05OeJrQZ/YN+NQwaBCnAul1rVLYaMLPkwR5f44WC3BpBQNvn5Z3Axu9szaVOHqXEDBI+uAXAiyrg==", "dev": true }, + "@types/electron-devtools-installer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/electron-devtools-installer/-/electron-devtools-installer-2.2.0.tgz", + "integrity": "sha512-HJNxpaOXuykCK4rQ6FOMxAA0NLFYsf7FiPFGmab0iQmtVBHSAfxzy3MRFpLTTDDWbV0yD2YsHOQvdu8yCqtCfw==", + "dev": true + }, "@types/eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", diff --git a/package.json b/package.json index 01e12f7d..faa388a0 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "@types/chai": "^4.2.12", "@types/chai-as-promised": "^7.1.3", "@types/discord-rpc": "^3.0.4", + "@types/electron-devtools-installer": "^2.2.0", "@types/fs-extra": "^9.0.1", "@types/jquery": "^3.5.1", "@types/lodash": "^4.14.160", diff --git a/src/common/asset/processor/MojangIndexProcessor.ts b/src/common/asset/processor/MojangIndexProcessor.ts index 5cef57b8..1c4636fb 100644 --- a/src/common/asset/processor/MojangIndexProcessor.ts +++ b/src/common/asset/processor/MojangIndexProcessor.ts @@ -1,14 +1,16 @@ -import { IndexProcessor } from '../model/engine/IndexProcessor' -import got, { HTTPError, RequestError, ParseError, TimeoutError } from 'got' -import { LoggerUtil } from 'common/logging/loggerutil' -import { pathExists, readFile, ensureDir, writeFile, readJson } from 'fs-extra' -import { MojangVersionManifest } from '../model/mojang/VersionManifest' -import { calculateHash, getVersionJsonPath, validateLocalFile, getLibraryDir, getVersionJarPath } from 'common/util/FileUtils' +import got from 'got' import { dirname, join } from 'path' -import { VersionJson, AssetIndex, LibraryArtifact } from '../model/mojang/VersionJson' -import { AssetGuardError } from '../model/engine/AssetGuardError' -import { Asset } from '../model/engine/Asset' -import { isLibraryCompatible, getMojangOS } from 'common/util/MojangUtils' +import { ensureDir, pathExists, readFile, readJson, writeFile } from 'fs-extra' + +import { Asset } from 'common/asset/model/engine/Asset' +import { AssetGuardError } from 'common/asset/model/engine/AssetGuardError' +import { IndexProcessor } from 'common/asset/model/engine/IndexProcessor' +import { MojangVersionManifest } from 'common/asset/model/mojang/VersionManifest' +import { handleGotError } from 'common/got/RestResponse' +import { AssetIndex, LibraryArtifact, VersionJson } from 'common/asset/model/mojang/VersionJson' +import { calculateHash, getLibraryDir, getVersionJarPath, getVersionJsonPath, validateLocalFile } from 'common/util/FileUtils' +import { getMojangOS, isLibraryCompatible } from 'common/util/MojangUtils' +import { LoggerUtil } from 'common/logging/loggerutil' export class MojangIndexProcessor extends IndexProcessor { @@ -16,7 +18,7 @@ export class MojangIndexProcessor extends IndexProcessor { public static readonly VERSION_MANIFEST_ENDPOINT = 'https://launchermeta.mojang.com/mc/game/version_manifest.json' public static readonly ASSET_RESOURCE_ENDPOINT = 'http://resources.download.minecraft.net' - private readonly logger = LoggerUtil.getLogger('MojangIndexProcessor') + private static readonly logger = LoggerUtil.getLogger('MojangIndexProcessor') private versionJson!: VersionJson private assetIndex!: AssetIndex @@ -24,26 +26,6 @@ export class MojangIndexProcessor extends IndexProcessor { responseType: 'json' }) - private handleGotError(operation: string, error: RequestError, dataProvider: () => T): T { - if(error instanceof HTTPError) { - this.logger.error(`Error during ${operation} request (HTTP Response ${error.response.statusCode})`, error) - this.logger.debug('Response Details:') - this.logger.debug('Body:', error.response.body) - this.logger.debug('Headers:', error.response.headers) - } else if(Object.getPrototypeOf(error) instanceof RequestError) { - this.logger.error(`${operation} request recieved no response (${error.code}).`, error) - } else if(error instanceof TimeoutError) { - this.logger.error(`${operation} request timed out (${error.timings.phases.total}ms).`) - } else if(error instanceof ParseError) { - this.logger.error(`${operation} request recieved unexepected body (Parse Error).`) - } else { - // CacheError, ReadError, MaxRedirectsError, UnsupportedProtocolError, CancelError - this.logger.error(`Error during ${operation} request.`, error) - } - - return dataProvider() - } - private assetPath: string constructor(commonDir: string, protected version: string) { @@ -148,7 +130,7 @@ export class MojangIndexProcessor extends IndexProcessor { return res.body } catch(error) { - return this.handleGotError(url, error, () => null) + return handleGotError(url, error, MojangIndexProcessor.logger, () => null).data } } @@ -158,7 +140,7 @@ export class MojangIndexProcessor extends IndexProcessor { const res = await this.client.get(MojangIndexProcessor.VERSION_MANIFEST_ENDPOINT) return res.body } catch(error) { - return this.handleGotError('Load Mojang Version Manifest', error, () => null) + return handleGotError('Load Mojang Version Manifest', error, MojangIndexProcessor.logger, () => null).data } } @@ -187,7 +169,7 @@ export class MojangIndexProcessor extends IndexProcessor { // TODO progress tracker // TODO type return object - public async validate(): Promise { + public async validate(): Promise<{[category: string]: Asset[]}> { const assets = await this.validateAssets(this.assetIndex) const libraries = await this.validateLibraries(this.versionJson) diff --git a/src/common/distribution/distribution.ts b/src/common/distribution/DistributionAPI.ts similarity index 96% rename from src/common/distribution/distribution.ts rename to src/common/distribution/DistributionAPI.ts index 19c25798..9bc482ed 100644 --- a/src/common/distribution/distribution.ts +++ b/src/common/distribution/DistributionAPI.ts @@ -5,6 +5,9 @@ import { LoggerUtil } from 'common/logging/loggerutil' import { RestResponse, handleGotError, RestResponseStatus } from 'common/got/RestResponse' import { pathExists, readFile, writeFile } from 'fs-extra' +// TODO Option to check endpoint for hash of distro for local compare +// Useful if distro is large (MBs) + export class DistributionAPI { private static readonly logger = LoggerUtil.getLogger('DistributionAPI') diff --git a/src/common/distribution/DistributionFactory.ts b/src/common/distribution/DistributionFactory.ts new file mode 100644 index 00000000..b5a230df --- /dev/null +++ b/src/common/distribution/DistributionFactory.ts @@ -0,0 +1,195 @@ +import { Distribution, Server, Module, Type, Required as HeliosRequired } from 'helios-distribution-types' +import { MavenComponents, MavenUtil } from 'common/util/MavenUtil' +import { join } from 'path' + +export class HeliosDistribution { + + private mainServerIndex: number + + public readonly servers: HeliosServer[] + + constructor( + public readonly rawDistribution: Distribution + ) { + + this.servers = this.rawDistribution.servers.map(s => new HeliosServer(s)) + this.mainServerIndex = this.indexOfMainServer() + } + + private indexOfMainServer(): number { + for(let i=0; i s.rawServer.id === id) || null + } + +} + +export class HeliosServer { + + public readonly modules: HeliosModule[] + + constructor( + public readonly rawServer: Server + ) { + this.modules = rawServer.modules.map(m => new HeliosModule(m, rawServer.id)) + } + +} + +export class HeliosModule { + + public readonly subModules: HeliosModule[] + + private readonly mavenComponents: Readonly + private readonly required: Readonly> + private readonly localPath: string + + constructor( + public readonly rawModule: Module, + private readonly serverId: string + ) { + + this.mavenComponents = this.resolveMavenComponents() + this.required = this.resolveRequired() + this.localPath = this.resolveLocalPath() + + if(this.rawModule.subModules != null) { + this.subModules = this.rawModule.subModules.map(m => new HeliosModule(m, serverId)) + } else { + this.subModules = [] + } + + } + + private resolveMavenComponents(): MavenComponents { + + // Files need not have a maven identifier if they provide a path. + if(this.rawModule.type === Type.File && this.rawModule.artifact.path != null) { + return null! as MavenComponents + } + // Version Manifests never provide a maven identifier. + if(this.rawModule.type === Type.VersionManifest) { + return null! as MavenComponents + } + + const isMavenId = MavenUtil.isMavenIdentifier(this.rawModule.id) + + if(!isMavenId) { + if(this.rawModule.type !== Type.File) { + throw new Error(`Module ${this.rawModule.name} (${this.rawModule.id}) of type ${this.rawModule.type} must have a valid maven identifier!`) + } else { + throw new Error(`Module ${this.rawModule.name} (${this.rawModule.id}) of type ${this.rawModule.type} must either declare an artifact path or have a valid maven identifier!`) + } + } + + try { + return MavenUtil.getMavenComponents(this.rawModule.id) + } catch(err) { + throw new Error(`Failed to resolve maven components for module ${this.rawModule.name} (${this.rawModule.id}) of type ${this.rawModule.type}. Reason: ${err.message}`) + } + + } + + private resolveRequired(): Required { + if(this.rawModule.required == null) { + return { + value: true, + def: true + } + } else { + return { + value: this.rawModule.required.value ?? true, + def: this.rawModule.required.def ?? true + } + } + } + + private resolveLocalPath(): string { + + // Version Manifests have a pre-determined path. + if(this.rawModule.type === Type.VersionManifest) { + return join('TODO_COMMON_DIR', 'versions', this.rawModule.id, `${this.rawModule.id}.json`) + } + + const relativePath = this.rawModule.artifact.path ?? MavenUtil.mavenComponentsAsNormalizedPath( + this.mavenComponents.group, + this.mavenComponents.artifact, + this.mavenComponents.version, + this.mavenComponents.classifier, + this.mavenComponents.extension + ) + + switch (this.rawModule.type) { + case Type.Library: + case Type.Forge: + case Type.ForgeHosted: + case Type.LiteLoader: + return join('TODO_COMMON_DIR', 'libraries', relativePath) + case Type.ForgeMod: + case Type.LiteMod: + return join('TODO_COMMON_DIR', 'modstore', relativePath) + case Type.File: + default: + return join('TODO_INSTANCE_DIR', this.serverId, relativePath) + } + + } + + public hasMavenComponents(): boolean { + return this.mavenComponents != null + } + + public getMavenComponents(): Readonly { + return this.mavenComponents + } + + public getRequired(): Readonly> { + return this.required + } + + public getPath(): string { + return this.localPath + } + + public getMavenIdentifier(): string { + return MavenUtil.mavenComponentsToIdentifier( + this.mavenComponents.group, + this.mavenComponents.artifact, + this.mavenComponents.version, + this.mavenComponents.classifier, + this.mavenComponents.extension + ) + } + + public getExtensionlessMavenIdentifier(): string { + return MavenUtil.mavenComponentsToExtensionlessIdentifier( + this.mavenComponents.group, + this.mavenComponents.artifact, + this.mavenComponents.version, + this.mavenComponents.classifier + ) + } + + public getVersionlessMavenIdentifier(): string { + return MavenUtil.mavenComponentsToVersionlessIdentifier( + this.mavenComponents.group, + this.mavenComponents.artifact + ) + } + + public hasSubModules(): boolean { + return this.subModules.length > 0 + } + +} \ No newline at end of file diff --git a/src/common/util/MavenUtil.ts b/src/common/util/MavenUtil.ts new file mode 100644 index 00000000..b8298972 --- /dev/null +++ b/src/common/util/MavenUtil.ts @@ -0,0 +1,107 @@ +import { normalize } from 'path' +import { URL } from 'url' + +export interface MavenComponents { + group: string + artifact: string + version: string + classifier?: string + extension: string +} + +export class MavenUtil { + + public static readonly ID_REGEX = /(.+):(.+):([^@]+)()(?:@{1}(.+)$)?/ + public static readonly ID_REGEX_WITH_CLASSIFIER = /(.+):(.+):(?:([^@]+)(?:-([a-zA-Z]+)))(?:@{1}(.+)$)?/ + + public static mavenComponentsToIdentifier( + group: string, + artifact: string, + version: string, + classifier?: string, + extension?: string + ): string { + return `${group}:${artifact}:${version}${classifier != null ? `:${classifier}` : ''}${extension != null ? `@${extension}` : ''}` + } + + public static mavenComponentsToExtensionlessIdentifier( + group: string, + artifact: string, + version: string, + classifier?: string + ): string { + return MavenUtil.mavenComponentsToIdentifier(group, artifact, version, classifier) + } + + public static mavenComponentsToVersionlessIdentifier( + group: string, + artifact: string + ): string { + return `${group}:${artifact}` + } + + public static isMavenIdentifier(id: string): boolean { + return MavenUtil.ID_REGEX.test(id) || MavenUtil.ID_REGEX_WITH_CLASSIFIER.test(id) + } + + public static getMavenComponents(id: string, extension = 'jar'): MavenComponents { + if (!MavenUtil.isMavenIdentifier(id)) { + throw new Error('Id is not a maven identifier.') + } + + let result + + if (MavenUtil.ID_REGEX_WITH_CLASSIFIER.test(id)) { + result = MavenUtil.ID_REGEX_WITH_CLASSIFIER.exec(id) + } else { + result = MavenUtil.ID_REGEX.exec(id) + } + + if (result != null) { + return { + group: result[1], + artifact: result[2], + version: result[3], + classifier: result[4] || undefined, + extension: result[5] || extension + } + } + + throw new Error('Failed to process maven data.') + } + + public static mavenIdentifierAsPath(id: string, extension = 'jar'): string { + const tmp = MavenUtil.getMavenComponents(id, extension) + + return MavenUtil.mavenComponentsAsPath( + tmp.group, tmp.artifact, tmp.version, tmp.classifier, tmp.extension + ) + } + + public static mavenComponentsAsPath( + group: string, artifact: string, version: string, classifier?: string, extension = 'jar' + ): string { + return `${group.replace(/\./g, '/')}/${artifact}/${version}/${artifact}-${version}${classifier != null ? `-${classifier}` : ''}.${extension}` + } + + public static mavenIdentifierToUrl(id: string, extension = 'jar'): URL { + return new URL(MavenUtil.mavenIdentifierAsPath(id, extension)) + } + + public static mavenComponentsToUrl( + group: string, artifact: string, version: string, classifier?: string, extension = 'jar' + ): URL { + return new URL(MavenUtil.mavenComponentsAsPath(group, artifact, version, classifier, extension)) + } + + public static mavenIdentifierToPath(id: string, extension = 'jar'): string { + return normalize(MavenUtil.mavenIdentifierAsPath(id, extension)) + } + + public static mavenComponentsAsNormalizedPath( + group: string, artifact: string, version: string, classifier?: string, extension = 'jar' + ): string { + return normalize(MavenUtil.mavenComponentsAsPath(group, artifact, version, classifier, extension)) + } + +} \ No newline at end of file diff --git a/src/main/index.ts b/src/main/index.ts index 08aabac3..80d870f1 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -8,14 +8,12 @@ import isdev from '../common/util/isdev' declare const __static: string const installExtensions = async () => { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const installer = require('electron-devtools-installer') + + const { default: installExtension, REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS } = await import('electron-devtools-installer') const forceDownload = !!process.env.UPGRADE_EXTENSIONS - const extensions = ['REACT_DEVELOPER_TOOLS', 'REDUX_DEVTOOLS'] + const extensions = [REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS] - return Promise.all( - extensions.map(name => installer.default(installer[name], forceDownload)) - ).catch(console.log) // eslint-disable-line no-console + return installExtension(extensions, forceDownload).catch(console.log) // eslint-disable-line no-console } // Setup auto updater. @@ -145,6 +143,12 @@ async function createWindow() { win.removeMenu() win.resizable = true + // win.webContents.on('new-window', (e, url) => { + // if(url != win!.webContents.getURL()) { + // e.preventDefault() + // shell.openExternal(url) + // } + // }) if (process.env.NODE_ENV !== 'production') { // Open DevTools, see https://github.com/electron/electron/issues/12438 for why we wait for dom-ready diff --git a/src/renderer/components/Application.tsx b/src/renderer/components/Application.tsx index 09ef8776..dac41944 100644 --- a/src/renderer/components/Application.tsx +++ b/src/renderer/components/Application.tsx @@ -8,17 +8,21 @@ import Landing from './landing/Landing' import Login from './login/Login' import Loader from './loader/Loader' import Settings from './settings/Settings' +import Overlay from './overlay/Overlay' +import Fatal from './fatal/Fatal' import { StoreType } from '../redux/store' import { CSSTransition } from 'react-transition-group' import { ViewActionDispatch } from '../redux/actions/viewActions' import { throttle } from 'lodash' import { readdir } from 'fs-extra' import { join } from 'path' -import Overlay from './overlay/Overlay' +import { AppActionDispatch } from '../redux/actions/appActions' import { OverlayPushAction, OverlayActionDispatch } from '../redux/actions/overlayActions' -import { DistributionAPI } from 'common/distribution/distribution' +import { DistributionAPI } from 'common/distribution/DistributionAPI' import { getServerStatus } from 'common/mojang/net/ServerStatusAPI' +import { Distribution } from 'helios-distribution-types' +import { HeliosDistribution } from 'common/distribution/DistributionFactory' import './Application.css' @@ -49,6 +53,7 @@ const mapState = (state: StoreType): Partial => { } } const mapDispatch = { + ...AppActionDispatch, ...ViewActionDispatch, ...OverlayActionDispatch } @@ -68,6 +73,8 @@ class Application extends React.Component @@ -85,6 +92,12 @@ class Application extends React.Component + case View.FATAL: + return <> + + + case View.NONE: + return <> } } @@ -94,6 +107,8 @@ class Application extends React.Component { + // TODO debug remove + console.log('Setting to', this.props.currentView) this.setState({ ...this.state, workingView: this.props.currentView @@ -101,8 +116,14 @@ class Application extends React.Component { + if(this.props.currentView !== View.FATAL) { + setBackground(this.bkid) + } + this.showMain() + } + private showMain = (): void => { - setBackground(this.bkid) this.setState({ ...this.state, showMain: true @@ -113,23 +134,53 @@ class Application extends React.Component { + + // Initial distribution load. + const distroAPI = new DistributionAPI('C:\\Users\\user\\AppData\\Roaming\\Helios Launcher') + let rawDisto: Distribution + try { + rawDisto = await distroAPI.testLoad() + console.log('distro', distroAPI) + } catch(err) { + console.log('EXCEPTION IN DISTRO LOAD TODO TODO TODO', err) + rawDisto = null! + } + + // Fatal error + if(rawDisto == null) { + this.props.setView(View.FATAL) this.setState({ ...this.state, - loading: false + loading: false, + workingView: View.FATAL + }) + return + } else { + this.props.setDistribution(new HeliosDistribution(rawDisto)) + } + + // TODO Setup hook for distro refresh every ~ 5 mins. + + // Pick a background id. + this.bkid = Math.floor((Math.random() * (await readdir(join(__static, 'images', 'backgrounds'))).length)) + + const endLoad = () => { + // TODO determine correct view + // either welcome, landing, or login + this.props.setView(View.LANDING) + this.setState({ + ...this.state, + loading: false, + workingView: View.LANDING }) // TODO temp setTimeout(() => { //this.props.setView(View.WELCOME) this.props.pushGenericOverlay({ title: 'Load Distribution', - description: 'This is a test. Will load the distribution.', + description: 'This is a test.', dismissible: false, acknowledgeCallback: async () => { - const distro = new DistributionAPI('C:\\Users\\user\\AppData\\Roaming\\Helios Launcher') - const x = await distro.testLoad() - console.log(x) const serverStatus = await getServerStatus(47, 'play.hypixel.net', 25565) console.log(serverStatus) } @@ -206,7 +257,7 @@ class Application extends React.Component diff --git a/src/renderer/components/fatal/Fatal.css b/src/renderer/components/fatal/Fatal.css new file mode 100644 index 00000000..c3752ba5 --- /dev/null +++ b/src/renderer/components/fatal/Fatal.css @@ -0,0 +1,124 @@ +#fatalContainer { + position: relative; + display: flex; + justify-content: center; + align-items: center; + height: 100%; + width: 100%; +} + +#fatalContent { + display: flex; + flex-direction: column; + align-items: center; + top: 0; + height: 100%; + padding-top: 2.5rem; + box-sizing: border-box; + position: relative; +} + +#fatalHeader { + display: flex; + align-items: center; + justify-content: center; + padding: 0 0 1rem 0; + width: 70%; + margin-bottom: .5rem; + border-bottom: 0.0625rem solid rgba(126, 126, 126, 0.57); +} + +#fatalLeft { + display: flex; +} +#fatalErrorImg { + width: 3.125rem; +} + +#fatalRight { + display: flex; + flex-direction: column; + padding-left: 0.625rem; +} + +#fatalErrorLabel { + font-size: .75rem; + font-weight: bold; +} +#fatalErrorText { + font-size: 1.75rem; +} + +#fatalBody { + width: 65%; + display: flex; + flex-direction: column; + align-items: center; +} + +#fatalDescription { + text-align: justify; + font-size: 0.875rem; +} + +#fatalChecklistContainer { + width: 100%; + font-size: 0.875rem; +} + +/* Div which contains action buttons. */ +#fatalActionContainer { + display: flex; + flex-direction: column; + justify-content: center; + padding-top: 2rem; +} + +/* Fatal acknowledge button styles. */ +#fatalAcknowledge { + background: none; + border: 0.0625rem solid #ffffff; + color: white; + font-family: 'Avenir Medium'; + font-weight: bold; + border-radius: .125rem; + padding: 0 .6rem; + font-size: 1rem; + cursor: pointer; + transition: 0.25s ease; +} +#fatalAcknowledge:hover, +#fatalAcknowledge:focus { + box-shadow: 0 0 .625rem 0 #fff; + outline: none; +} +#fatalAcknowledge:active { + border-color: rgba(255, 255, 255, 0.75); + color: rgba(255, 255, 255, 0.75); +} + +#fatalDismissWrapper { + display: flex; + justify-content: center; +} + +/* Fatal dismiss option styles. */ +#fatalDismiss { + font-weight: bold; + font-size: 0.875rem; + text-decoration: none; + padding-top: 0.375rem; + background: none; + border: none; + outline: none; + cursor: pointer; + color: rgba(202, 202, 202, 0.75); + transition: 0.25s ease; +} +#fatalDismiss:hover, +#fatalDismiss:focus { + color: rgba(255, 255, 255, 0.75); +} +#fatalDismiss:active { + color: rgba(165, 165, 165, 0.75); +} \ No newline at end of file diff --git a/src/renderer/components/fatal/Fatal.tsx b/src/renderer/components/fatal/Fatal.tsx new file mode 100644 index 00000000..a3b42369 --- /dev/null +++ b/src/renderer/components/fatal/Fatal.tsx @@ -0,0 +1,70 @@ +import * as React from 'react' +import { remote, shell } from 'electron' + +import './Fatal.css' + +function closeHandler() { + const window = remote.getCurrentWindow() + window.close() +} + +function openLatest() { + // TODO don't hardcode + shell.openExternal('https://github.com/dscalzi/HeliosLauncher/releases') +} + +export default class Fatal extends React.Component { + + render(): JSX.Element { + + return ( + <> +
+
+ +
+
+ +
+
+ FATAL ERROR + Failed to load Distribution Index +
+
+ +
+

What Happened?

+

+ A connection could not be established to our servers to download the distribution index. No local copies were available to load. + The distribution index is an essential file which provides the latest server information. The launcher is unable to start without it. +

+ + {/* TODO When auto update is done, do a version check and auto/update here. */} + +
+
    +
  • Ensure you are running the latest version of Helios Launcher.
  • +
  • Ensure you are connected to the internet.
  • +
+
+ +

Relaunch the application to try again.

+ +
+ +
+ +
+
+ +
+ +
+
+ + + ) + + } + +} \ No newline at end of file diff --git a/src/renderer/components/landing/Landing.css b/src/renderer/components/landing/Landing.css index 0a80c265..578870f8 100644 --- a/src/renderer/components/landing/Landing.css +++ b/src/renderer/components/landing/Landing.css @@ -83,327 +83,6 @@ display: inline-flex; } -/******************************************************************************* - * * - * Landing View (News Styles) * - * * - ******************************************************************************/ - -/* Main container. */ -#newsContainer { - position: absolute; - top: 100%; - height: 100%; - width: 100%; - transition: top 2s ease; - display: flex; - align-items: flex-end; - justify-content: center; -} - -/* News content container. */ -#newsContent { - height: 82vh; - width: 100%; - display: flex; - -webkit-user-select: initial; - position: relative; -} - -/* Drop shadow displayed when content is scrolled out of view. */ -#newsContent:before { - content: ''; - background: linear-gradient(rgba(0, 0, 0, 0.25), transparent); - width: 100%; - height: 5px; - position: absolute; - opacity: 0; - transition: opacity 0.25s ease; -} -#newsContent[scrolled]:before { - opacity: 1; -} - -/* News article status container (left). */ -#newsStatusContainer { - width: calc(30% - 60px); - height: calc(100% - 30px); - padding: 15px 15px 15px 45px; - display: flex; - flex-direction: column; - justify-content: space-between; - position: relative; -} - -/* News status content. */ -#newsStatusContent { - display: flex; - flex-direction: column; - align-items: flex-end; -} - -/* News title wrapper. */ -#newsTitleContainer { - display: flex; - max-width: 90%; -} - -/* News article title styles. */ -#newsArticleTitle { - font-size: 18px; - font-weight: bold; - font-family: 'Avenir Medium'; - color: white; - text-decoration: none; - transition: 0.25s ease; - outline: none; - text-align: right; -} -#newsArticleTitle:hover, -#newsArticleTitle:focus { - text-shadow: 0 0 20px white; -} -#newsArticleTitle:active { - color: #c7c7c7; - text-shadow: 0 0 20px #c7c7c7; -} - -/* News meta container. */ -#newsMetaContainer { - display: flex; - flex-direction: column; -} - -/* Date and author wrappers. */ -#newsArticleDateWrapper, -#newsArticleAuthorWrapper { - display: flex; - justify-content: flex-end; -} - -/* Date and author shared styles. */ -#newsArticleDate, -#newsArticleAuthor { - display: inline-block; - font-size: 10px; - padding: 0 5px; - font-weight: bold; - border-radius: 2px; -} - -/* Date styles. */ -#newsArticleDate { - background: white; - color: black; - margin-top: 5px; -} - -/* Author styles. */ -#newsArticleAuthor { - background: #a02d2a; -} - -/* News article comments styles. */ -#newsArticleComments { - margin-top: 5px; - display: inline-block; - font-size: 10px; - color: #ffffff; - text-decoration: none; - transition: 0.25s ease; - outline: none; - text-align: right; -} -#newsArticleComments:focus, -#newsArticleComments:hover { - color: #e0e0e0; -} -#newsArticleComments:active { - color: #c7c7c7; -} - -/* Article content container (right). */ -#newsArticleContainer { - width: calc(100% - 25px); - height: 100%; - margin: 0 0 0 25px; -} - -/* Article content styles. */ -#newsArticleContentScrollable { - font-size: 12px; - overflow-y: scroll; - height: 100%; - padding: 0 15px 0 15px; -} -#newsArticleContentScrollable img, -#newsArticleContentScrollable iframe { - max-width: 95%; - display: block; - margin: 0 auto; -} -#newsArticleContentScrollable a { - color: rgba(202, 202, 202, 0.75); - transition: 0.25s ease; - outline: none; -} -#newsArticleContentScrollable a:hover, -#newsArticleContentScrollable a:focus { - color: rgba(255, 255, 255, 0.75); -} -#newsArticleContentScrollable a:active { - color: rgba(165, 165, 165, 0.75); -} -#newsArticleContentScrollable::-webkit-scrollbar { - width: 2px; -} -#newsArticleContentScrollable::-webkit-scrollbar-track { - display: none; -} -#newsArticleContentScrollable::-webkit-scrollbar-thumb { - border-radius: 10px; - box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.50); -} -.bbCodeSpoilerButton { - background: none; - border: none; - outline: none; - cursor: pointer; - font-size: 16px; - transition: 0.25s ease; - width: 100%; - border-bottom: 1px solid white; - padding-bottom: 15px; -} -.bbCodeSpoilerButton:hover, -.bbCodeSpoilerButton:focus { - text-shadow: 0 0 20px #ffffff, 0 0 20px #ffffff, 0 0 20px #ffffff; -} -.bbCodeSpoilerButton:active { - color: #c7c7c7; - text-shadow: 0 0 20px #c7c7c7, 0 0 20px #c7c7c7, 0 0 20px #c7c7c7; -} -.bbCodeSpoilerText { - display: none; - padding: 15px 0; - border-bottom: 1px solid white; -} - - -#newsArticleContentWrapper { - width: 80%; -} - -.newsArticleSpacerTop { - height: 15px; -} - -/* Div to add spacing at the end of a news article. */ -.newsArticleSpacerBot { - height: 30px; -} - -/* News navigation container. */ -#newsNavigationContainer { - display: flex; - justify-content: center; - align-items: center; - margin-bottom: 10px; - -webkit-user-select: none; - position: absolute; - bottom: 15px; - right: 0; -} - -/* Navigation status span. */ -#newsNavigationStatus { - font-size: 12px; - margin: 0 15px; -} - -/* Left and right navigation button styles. */ -#newsNavigateLeft, -#newsNavigateRight { - background: none; - border: none; - outline: none; - height: 20px; - cursor: pointer; -} -#newsNavigateLeft:hover #newsNavigationLeftSVG, -#newsNavigateLeft:focus #newsNavigationLeftSVG, -#newsNavigateRight:hover #newsNavigationRightSVG, -#newsNavigateRight:focus #newsNavigationRightSVG { - filter: drop-shadow(0px 0 2px #fff); - -webkit-filter: drop-shadow(0px 0 2px #fff); -} -#newsNavigateLeft:active #newsNavigationLeftSVG .arrowLine, -#newsNavigateRight:active #newsNavigationRightSVG .arrowLine { - stroke: #c7c7c7; -} -#newsNavigateLeft:active #newsNavigationLeftSVG, -#newsNavigateRight:active #newsNavigationRightSVG { - filter: drop-shadow(0px 0 2px #c7c7c7); - -webkit-filter: drop-shadow(0px 0 2px #c7c7c7); -} -#newsNavigateLeft:disabled #newsNavigationLeftSVG .arrowLine, -#newsNavigateRight:disabled #newsNavigationRightSVG .arrowLine { - stroke: rgba(255, 255, 255, 0.75); -} -#newsNavigationLeftSVG { - transform: rotate(-90deg); - width: 15px; -} -#newsNavigationRightSVG { - transform: rotate(90deg); - width: 15px; -} - -/* News error (message) container. */ -#newsErrorContainer { - height: 100%; - display: flex; - align-items: center; - flex-direction: column; - justify-content: center; -} -#newsErrorFailed { - display: flex; - align-items: center; - flex-direction: column; - justify-content: center; -} - -/* News error content (message). */ -.newsErrorContent { - font-size: 20px; -} -#newsErrorLoading { - display: flex; - width: 168.92px; -} -#nELoadSpan { - white-space: pre; -} -/* News error retry button styles. */ -#newsErrorRetry { - font-size: 12px; - font-weight: bold; - cursor: pointer; - background: none; - border: none; - outline: none; - transition: 0.25s ease; -} -#newsErrorRetry:focus, -#newsErrorRetry:hover { - text-shadow: 0 0 20px white; -} -#newsErrorRetry:active { - color: #c7c7c7; - text-shadow: 0 0 20px #c7c7c7; -} - /******************************************************************************* * * * Landing View (Top Styles) * diff --git a/src/renderer/components/landing/Landing.tsx b/src/renderer/components/landing/Landing.tsx index c9eb8178..100cf8a7 100644 --- a/src/renderer/components/landing/Landing.tsx +++ b/src/renderer/components/landing/Landing.tsx @@ -1,4 +1,5 @@ import * as React from 'react' +import News from '../news/News' import { MojangStatus, MojangStatusColor } from 'common/mojang/rest/internal/MojangStatus' import { MojangResponse } from 'common/mojang/rest/internal/MojangResponse' @@ -99,12 +100,10 @@ export default class Landing extends React.Component { const statuses: JSX.Element[] = [] for(const status of this.state.mojangStatuses.filter(s => s.essential === essential)) { statuses.push( - <> -
- - {status.name} -
- +
+ + {status.name} +
) } return statuses @@ -270,59 +269,7 @@ export default class Landing extends React.Component { -
-
-
-
- -
-
- Mar 15, 44 BC, 9:14 AM -
-
- by Cicero -
- 0 Comments -
-
-
- - 1 of 1 - -
-
-
-
-
- {/* Article Content */} -
-
-
-
-
-
- Checking for News.. -
-
- Failed to Load News - -
-
- No News -
-
-
- + diff --git a/src/renderer/components/news/News.css b/src/renderer/components/news/News.css new file mode 100644 index 00000000..ca8567aa --- /dev/null +++ b/src/renderer/components/news/News.css @@ -0,0 +1,320 @@ +/******************************************************************************* + * * + * Landing View (News Styles) * + * * + ******************************************************************************/ + +/* Main container. */ +#newsContainer { + position: absolute; + top: 100%; + height: 100%; + width: 100%; + transition: top 2s ease; + display: flex; + align-items: flex-end; + justify-content: center; +} + +/* News content container. */ +#newsContent { + height: 82vh; + width: 100%; + display: flex; + -webkit-user-select: initial; + position: relative; +} + +/* Drop shadow displayed when content is scrolled out of view. */ +#newsContent:before { + content: ''; + background: linear-gradient(rgba(0, 0, 0, 0.25), transparent); + width: 100%; + height: 5px; + position: absolute; + opacity: 0; + transition: opacity 0.25s ease; +} +#newsContent[scrolled]:before { + opacity: 1; +} + +/* News article status container (left). */ +#newsStatusContainer { + width: calc(30% - 60px); + height: calc(100% - 30px); + padding: 15px 15px 15px 45px; + display: flex; + flex-direction: column; + justify-content: space-between; + position: relative; +} + +/* News status content. */ +#newsStatusContent { + display: flex; + flex-direction: column; + align-items: flex-end; +} + +/* News title wrapper. */ +#newsTitleContainer { + display: flex; + max-width: 90%; +} + +/* News article title styles. */ +#newsArticleTitle { + font-size: 18px; + font-weight: bold; + font-family: 'Avenir Medium'; + color: white; + text-decoration: none; + transition: 0.25s ease; + outline: none; + text-align: right; +} +#newsArticleTitle:hover, +#newsArticleTitle:focus { + text-shadow: 0 0 20px white; +} +#newsArticleTitle:active { + color: #c7c7c7; + text-shadow: 0 0 20px #c7c7c7; +} + +/* News meta container. */ +#newsMetaContainer { + display: flex; + flex-direction: column; +} + +/* Date and author wrappers. */ +#newsArticleDateWrapper, +#newsArticleAuthorWrapper { + display: flex; + justify-content: flex-end; +} + +/* Date and author shared styles. */ +#newsArticleDate, +#newsArticleAuthor { + display: inline-block; + font-size: 10px; + padding: 0 5px; + font-weight: bold; + border-radius: 2px; +} + +/* Date styles. */ +#newsArticleDate { + background: white; + color: black; + margin-top: 5px; +} + +/* Author styles. */ +#newsArticleAuthor { + background: #a02d2a; +} + +/* News article comments styles. */ +#newsArticleComments { + margin-top: 5px; + display: inline-block; + font-size: 10px; + color: #ffffff; + text-decoration: none; + transition: 0.25s ease; + outline: none; + text-align: right; +} +#newsArticleComments:focus, +#newsArticleComments:hover { + color: #e0e0e0; +} +#newsArticleComments:active { + color: #c7c7c7; +} + +/* Article content container (right). */ +#newsArticleContainer { + width: calc(100% - 25px); + height: 100%; + margin: 0 0 0 25px; +} + +/* Article content styles. */ +#newsArticleContentScrollable { + font-size: 12px; + overflow-y: scroll; + height: 100%; + padding: 0 15px 0 15px; +} +#newsArticleContentScrollable img, +#newsArticleContentScrollable iframe { + max-width: 95%; + display: block; + margin: 0 auto; +} +#newsArticleContentScrollable a { + color: rgba(202, 202, 202, 0.75); + transition: 0.25s ease; + outline: none; +} +#newsArticleContentScrollable a:hover, +#newsArticleContentScrollable a:focus { + color: rgba(255, 255, 255, 0.75); +} +#newsArticleContentScrollable a:active { + color: rgba(165, 165, 165, 0.75); +} +#newsArticleContentScrollable::-webkit-scrollbar { + width: 2px; +} +#newsArticleContentScrollable::-webkit-scrollbar-track { + display: none; +} +#newsArticleContentScrollable::-webkit-scrollbar-thumb { + border-radius: 10px; + box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.50); +} +.bbCodeSpoilerButton { + background: none; + border: none; + outline: none; + cursor: pointer; + font-size: 16px; + transition: 0.25s ease; + width: 100%; + border-bottom: 1px solid white; + padding-bottom: 15px; +} +.bbCodeSpoilerButton:hover, +.bbCodeSpoilerButton:focus { + text-shadow: 0 0 20px #ffffff, 0 0 20px #ffffff, 0 0 20px #ffffff; +} +.bbCodeSpoilerButton:active { + color: #c7c7c7; + text-shadow: 0 0 20px #c7c7c7, 0 0 20px #c7c7c7, 0 0 20px #c7c7c7; +} +.bbCodeSpoilerText { + display: none; + padding: 15px 0; + border-bottom: 1px solid white; +} + + +#newsArticleContentWrapper { + width: 80%; +} + +.newsArticleSpacerTop { + height: 15px; +} + +/* Div to add spacing at the end of a news article. */ +.newsArticleSpacerBot { + height: 30px; +} + +/* News navigation container. */ +#newsNavigationContainer { + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 10px; + -webkit-user-select: none; + position: absolute; + bottom: 15px; + right: 0; +} + +/* Navigation status span. */ +#newsNavigationStatus { + font-size: 12px; + margin: 0 15px; +} + +/* Left and right navigation button styles. */ +#newsNavigateLeft, +#newsNavigateRight { + background: none; + border: none; + outline: none; + height: 20px; + cursor: pointer; +} +#newsNavigateLeft:hover #newsNavigationLeftSVG, +#newsNavigateLeft:focus #newsNavigationLeftSVG, +#newsNavigateRight:hover #newsNavigationRightSVG, +#newsNavigateRight:focus #newsNavigationRightSVG { + filter: drop-shadow(0px 0 2px #fff); + -webkit-filter: drop-shadow(0px 0 2px #fff); +} +#newsNavigateLeft:active #newsNavigationLeftSVG .arrowLine, +#newsNavigateRight:active #newsNavigationRightSVG .arrowLine { + stroke: #c7c7c7; +} +#newsNavigateLeft:active #newsNavigationLeftSVG, +#newsNavigateRight:active #newsNavigationRightSVG { + filter: drop-shadow(0px 0 2px #c7c7c7); + -webkit-filter: drop-shadow(0px 0 2px #c7c7c7); +} +#newsNavigateLeft:disabled #newsNavigationLeftSVG .arrowLine, +#newsNavigateRight:disabled #newsNavigationRightSVG .arrowLine { + stroke: rgba(255, 255, 255, 0.75); +} +#newsNavigationLeftSVG { + transform: rotate(-90deg); + width: 15px; +} +#newsNavigationRightSVG { + transform: rotate(90deg); + width: 15px; +} + +/* News error (message) container. */ +#newsErrorContainer { + height: 100%; + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; +} +#newsErrorFailed { + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; +} + +/* News error content (message). */ +.newsErrorContent { + font-size: 20px; +} +#newsErrorLoading { + display: flex; + width: 168.92px; +} +#nELoadSpan { + white-space: pre; +} +/* News error retry button styles. */ +#newsErrorRetry { + font-size: 12px; + font-weight: bold; + cursor: pointer; + background: none; + border: none; + outline: none; + transition: 0.25s ease; +} +#newsErrorRetry:focus, +#newsErrorRetry:hover { + text-shadow: 0 0 20px white; +} +#newsErrorRetry:active { + color: #c7c7c7; + text-shadow: 0 0 20px #c7c7c7; +} \ No newline at end of file diff --git a/src/renderer/components/news/News.tsx b/src/renderer/components/news/News.tsx new file mode 100644 index 00000000..22237d32 --- /dev/null +++ b/src/renderer/components/news/News.tsx @@ -0,0 +1,70 @@ +import * as React from 'react' + +import './News.css' + +export default class News extends React.Component { + + + render(): JSX.Element { + + return ( + <> +
+
+
+
+ +
+
+ Mar 15, 44 BC, 9:14 AM +
+
+ by Cicero +
+ 0 Comments +
+
+
+ + 1 of 1 + +
+
+
+
+
+ {/* Article Content */} +
+
+
+
+
+
+ Checking for News.. +
+
+ Failed to Load News + +
+
+ No News +
+
+
+ + + ) + + } + +} \ No newline at end of file diff --git a/src/renderer/index.tsx b/src/renderer/index.tsx index 6f20ddd8..568bbefa 100644 --- a/src/renderer/index.tsx +++ b/src/renderer/index.tsx @@ -1,11 +1,21 @@ import * as React from 'react' import * as ReactDOM from 'react-dom' import { AppContainer } from 'react-hot-loader' +import { Provider } from 'react-redux' +// import { shell } from 'electron' import store from './redux/store' -import './index.css' import Application from './components/Application' -import { Provider } from 'react-redux' + +import './index.css' + + +// document.addEventListener('click', (event: MouseEvent) => { +// if ((event.target as HTMLElement)?.tagName === 'A' && (event.target as HTMLAnchorElement)?.href.startsWith('http')) { +// event.preventDefault() +// shell.openExternal((event.target as HTMLAnchorElement).href) +// } +// }) // Create main element const mainElement = document.createElement('div') diff --git a/src/renderer/meta/Views.ts b/src/renderer/meta/Views.ts index 8e627ebb..b8df0777 100644 --- a/src/renderer/meta/Views.ts +++ b/src/renderer/meta/Views.ts @@ -2,5 +2,7 @@ export enum View { LANDING = 'LANDING', WELCOME = 'WELCOME', LOGIN = 'LOGIN', - SETTINGS = 'SETTINGS' + SETTINGS = 'SETTINGS', + FATAL = 'FATAL', + NONE = 'NONE' } \ No newline at end of file diff --git a/src/renderer/redux/actions/appActions.ts b/src/renderer/redux/actions/appActions.ts index d83de66f..ad6a6ec7 100644 --- a/src/renderer/redux/actions/appActions.ts +++ b/src/renderer/redux/actions/appActions.ts @@ -1,19 +1,24 @@ import { Action } from 'redux' +import { HeliosDistribution } from 'common/distribution/DistributionFactory' export enum AppActionType { - ChangeLoadState = 'SET_LOADING' + SetDistribution = 'SET_DISTRIBUTION' } // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface AppAction extends Action {} -export interface ChangeLoadStateAction extends AppAction { - payload: boolean +export interface SetDistributionAction extends AppAction { + payload: HeliosDistribution } -export function setLoadingState(state: boolean): ChangeLoadStateAction { +export function setDistribution(distribution: HeliosDistribution): SetDistributionAction { return { - type: AppActionType.ChangeLoadState, - payload: state + type: AppActionType.SetDistribution, + payload: distribution } +} + +export const AppActionDispatch = { + setDistribution: (d: HeliosDistribution): SetDistributionAction => setDistribution(d) } \ No newline at end of file diff --git a/src/renderer/redux/reducers/appReducer.ts b/src/renderer/redux/reducers/appReducer.ts index c08e3cd7..cddb6f7c 100644 --- a/src/renderer/redux/reducers/appReducer.ts +++ b/src/renderer/redux/reducers/appReducer.ts @@ -1,21 +1,21 @@ -import { ChangeLoadStateAction, AppActionType, AppAction } from '../actions/appActions' +import { AppActionType, AppAction, SetDistributionAction } from '../actions/appActions' import { Reducer } from 'redux' +import { HeliosDistribution } from 'common/distribution/DistributionFactory' export interface AppState { - loading: boolean + distribution: HeliosDistribution | null } const defaultAppState: AppState = { - loading: true + distribution: null! } -// TODO remove loading from global state. Keeping as an example... const AppReducer: Reducer = (state = defaultAppState, action) => { switch(action.type) { - case AppActionType.ChangeLoadState: + case AppActionType.SetDistribution: return { ...state, - loading: (action as ChangeLoadStateAction).payload + distribution: (action as SetDistributionAction).payload } } return state diff --git a/src/renderer/redux/reducers/viewReducer.ts b/src/renderer/redux/reducers/viewReducer.ts index f279784f..9d734c38 100644 --- a/src/renderer/redux/reducers/viewReducer.ts +++ b/src/renderer/redux/reducers/viewReducer.ts @@ -2,7 +2,7 @@ import { Reducer } from 'redux' import { View } from '../../meta/Views' import { ChangeViewAction, ViewActionType } from '../actions/viewActions' -const defaultView = View.LANDING +const defaultView = View.NONE const ViewReducer: Reducer = (state = defaultView, action) => { switch(action.type) { diff --git a/src/renderer/redux/store.ts b/src/renderer/redux/store.ts index 8d11c98e..30fd5b70 100644 --- a/src/renderer/redux/store.ts +++ b/src/renderer/redux/store.ts @@ -1,6 +1,8 @@ -import { createStore } from 'redux' +import { createStore, StoreEnhancer } from 'redux' import reducer from './reducers' export type StoreType = ReturnType -export default createStore(reducer) \ No newline at end of file +type Tmp = {__REDUX_DEVTOOLS_EXTENSION__?: () => StoreEnhancer} + +export default createStore(reducer, (window as Tmp).__REDUX_DEVTOOLS_EXTENSION__ && (window as Tmp).__REDUX_DEVTOOLS_EXTENSION__!()) \ No newline at end of file diff --git a/static/images/SealCircleError.png b/static/images/SealCircleError.png new file mode 100644 index 0000000000000000000000000000000000000000..b2d921926d19835696ca57ec2866afa25833df1d GIT binary patch literal 154062 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 literal 0 HcmV?d00001