Several changes

- added blank analytics window
- added roadmap goal
- removed `components.sass` file;
  its content was moved to `settings.sass`
- updated Spain and Italian
- made preparations for tos violation warning window
- improved `Button` component
- added `constants.uri.discord` and
  `constants.placeholders.uppercase.company_alterego` fields
- updated empathize version, added proper windows centering
This commit is contained in:
Observer KRypt0n_ 2022-01-30 01:18:41 +02:00
parent ba1350c512
commit 425c7f4db0
No known key found for this signature in database
GPG key ID: DC5D4EC1303465DA
31 changed files with 438 additions and 54 deletions

View file

@ -142,6 +142,7 @@ This is our current roadmap goals. You can find older ones [here](repository/pag
* Add `latest.log` file generation
* Implement manual config flushing functionality from the Empathize's API
* Add analytics window
* Add an option to show terminal with the wine's log of the game
* Dark progress bar design
* Statistics window
* Changelog window

16
analytics.html Normal file
View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" lang="sass" href="/src/sass/analytics.sass" />
</head>
<body data-theme="light">
<div id="app"></div>
<script src="neutralino.js"></script>
<script type="module" src="/src/pages/analytics.ts" lang="ts"></script>
</body>
</html>

View file

@ -11,7 +11,7 @@
"check": "svelte-check --tsconfig ./tsconfig.json"
},
"dependencies": {
"@empathize/framework": "^1.4.0",
"@empathize/framework": "^1.4.2",
"js-md5": "^0.7.3",
"semver": "^7.3.5",
"svelte-i18n": "^3.3.13",

View file

@ -255,4 +255,22 @@ notifications:
# Patch repositories are not available
patch_repos_unavailable:
title: An Anime Game Launcher
body: Alle Patch-Repositories sind nicht verfügbar. Sie können das Spiel starten aber der Launcher kann sich nicht sicher sein dass es gepatcht ist.
body: Alle Patch-Repositories sind nicht verfügbar. Sie können das Spiel starten aber der Launcher kann sich nicht sicher sein dass es gepatcht ist.
# ToS violation warning window
tos_violation:
title: TOS Verletzung Warnung
heading: ⚠️ Sei gewarnt
body: Dieser Launcher ist ein inoffizielles Tool, das in keiner Weise mit {company} oder {company_alterego} in Verbindung steht.
Dieses Tool wurde entwickelt, um das Spielen von {game} unter Linux zu erleichtern. Es wurde mit dem einzigen Ziel entwickelt, das Spiel mit weniger Aufwand zu installieren und zu starten.
Dies geschieht durch die Verwendung vorhandener Komponenten und vereinfacht die Erfahrung für den Benutzer.
Einige der hier verwendeten Komponenten verstoßen jedoch wahrscheinlich gegen die {company}-Nutzungsbedingungen für {game}.
Wenn Sie diesen Launcher verwenden, könnte ihr Spielerkonto von {company}/{company_alterego} als nicht TOS-konform identifiziert werden.
Wenn dies geschieht, da Ihr Konto gegen die TOS verstößt kann {company}/{company_alterego} entscheiden, was Sie tun wollen Inklusive Sperre.
Wenn Sie des Risikos bewusst sind, dass Sie versuchen das Spiel inoffiziell zu spielen, drücke "Ich verstehe das Risiko" und lass uns die Welt von Teyvat erforschen!
buttons:
ok:
title: Ich verstehe das Risiko
tooltip: Sie sollten diesen Text wirklich lesen, Er ist sehr wichtig.
cancel: Abbrechen
discord: Unser Discord Server

View file

@ -254,4 +254,23 @@ notifications:
# Patch repositories are not available
patch_repos_unavailable:
title: An Anime Game Launcher
body: All the patch repositories are not available. You'll be able to run the game, but launcher can't be sure is it patched properly
body: None of the patch repositories are available. You'll be able to run the game, but launcher can't be sure is it patched properly
# ToS violation warning window
tos_violation:
title: ToS violation warning
heading: ⚠️ Be warned
body: This launcher is an unofficial tool, in no way related to {company} nor {company_alterego}.
This tool is designed to facilitate playing {game} on Linux,
and was built with the sole purpose of installing and running the game with less hassle.
It does so by using existing components and making the experience simple for the user.
However, some components used here likely break the {company} Terms of Service for {game}.
If you are using this launcher, your player account could become identified as TOS-non-compliant by {company}/{company_alterego}.
If this happens, as your account would be disobeying TOS, {company}/{company_alterego} are free to do what they want. Including banning.
If you understand the risk of trying to play the game in an unofficial capacity, press OK and let's go researching the world of Teyvat!
buttons:
ok:
title: I understand the risk
tooltip: You really should read this text above. It's important
cancel: Cancel
discord: Our discord server

View file

@ -131,13 +131,13 @@ settings:
dxvk: DXVK
mangohud: MangoHUD
# Wine synchronization
# Sincronización de Wine
winesync:
title: Wine synchronization
tooltip: ESync is a mechanism of synchronizing multi-thread operations. It can improve your game performance.
FSync is an improved version of ESync that works on specific kernel versions
title: Sincronización de Wine
tooltip: ESync es un mecanismo para sincronizar operaciones hechas en paralelo. Podría mejorar el rendimiento del juego.
FSync es una versión mejorada de ESync que sólo funciona en versiones especificas del kernel.
items:
none: None
none: Ninguna
esync: ESync
fsync: FSync
@ -230,27 +230,45 @@ notifications:
title: 'Actualización del launcher disponible: {from} -> {to}'
body: Puedes descargar una nueva versión del launcher desde el repositorio del proyecto en {repository}
# Before telemetry check when iputils is not downloaded
# Antes de comprobar si la telemetría está activada, cuando iputils no está instalado
iputils_package_required:
title: An Anime Game Launcher
body: You must have iputils installed for telemetry checking
body: Debes instalar el paquete iputils para comprobar la telemetría
# When telemetry servers are not disabled
# Cuando los servidores de telemetría no están desactivados
telemetry_not_disabled:
title: An Anime Game Launcher
body: Telemetry servers are not disabled
body: Los servidores de telemetría no han sido desactivados.
# Before patch applying when xdelta3 package is not downloaded
# Antes de aplicar el parche cuando el paquete xdelta3 no está instalado
xdelta3_package_required:
title: An Anime Game Launcher
body: You must download xdelta3 package to apply the patch
body: Debes descargar el paquete xdelta3 para aplicar el parche
# If patch wasn't applied because of some error
# Si el parche no fue aplicado por algún error
patch_applying_error:
title: An Anime Game Launcher
body: Patch wasn't applied successfully. Please, check your log file to find a reason of it, or ask someone in our discord server
body: El parche no se aplicó correctamente. Por favor revisa los archivos de registro para investigar la causa, o pregunta en nuestro servidor de Discord.
# Patch repositories are not available
# Si los repositorios del parche no están disponibles
patch_repos_unavailable:
title: An Anime Game Launcher
body: All the patch repositories are not available. You'll be able to run the game, but launcher can't be sure is it patched properly
body: Ninguno de los repositorios del parche está disponible. Podrás ejecutar el juego, pero no podemos asegurar que el parche esté aplicado correctamente
# ToS violation warning window
tos_violation:
title: Advertencia de violación de ToS
heading: ⚠️ Atención!
body: Este launcher es una herramienta no oficial, sin ninguna relación con {company} o {company_alterego}.
Esta herramienta fue diseñada para facilitar el proceso requerido para jugar {game} en Linux, y fue construida con el único propósito de instalar y correr el juego de manera cómoda.
Lo hace utilizando componentes ya existentes, simplificando el proceso de instalación para el usuario.
Es probable que algunos de los componentes utilizados por este launcher incumplan los Términos y Condiciones de {game}.
Si utilizas este launcher, tu cuenta podría ser identificada y marcada como incumplidora de los TyC por {company}/{company_alterego}.
Si esto sucede, {company} se reserva el derecho de tomar acción, lo cual puede incluir suspender tu cuenta permanentemente.
Si entiendes el riesgo de intentar jugar al juego de manera no oficial, presiona el botón para continuar y salgamos a explorar Teyvat!
buttons:
ok:
title: Sí, entiendo el riesgo
tooltip: Realmente deberías leer el texto de arriba. Es importante.
cancel: Cancelar
discord: Nuestro servidor de Discord

View file

@ -260,4 +260,23 @@ notifications:
# Patch repositories are not available
patch_repos_unavailable:
title: An Anime Game Launcher
body: Pas tous les dépôts des patchs sont disponibles. Vous pouvez lancer le jeu, mais le Launcher ne peut pas garantir que celui-ci est correctement patcher
body: Pas tous les dépôts des patchs sont disponibles. Vous pouvez lancer le jeu, mais le Launcher ne peut pas garantir que celui-ci est correctement patcher
# ToS violation warning window
tos_violation:
title: ToS violation warning
heading: ⚠️ Be warned
body: This launcher is an unofficial tool, in no way related to {company} nor {company_alterego}.
This tool is designed to facilitate playing {game} on Linux,
and was built with the sole purpose of installing and running the game with less hassle.
It does so by using existing components and making the experience simple for the user.
However, some components used here likely break the {company} Terms of Service for {game}.
If you are using this launcher, your player account could become identified as TOS-non-compliant by {company}/{company_alterego}.
If this happens, as your account would be disobeying TOS, {company}/{company_alterego} are free to do what they want. Including banning.
If you understand the risk of trying to play the game in an unofficial capacity, press OK and let's go researching the world of Teyvat!
buttons:
ok:
title: I understand the risk
tooltip: You really should read this text above. It's important
cancel: Cancel
discord: Our discord server

View file

@ -253,4 +253,23 @@ notifications:
# Patch repositories are not available
patch_repos_unavailable:
title: An Anime Game Launcher
body: All the patch repositories are not available. You'll be able to run the game, but launcher can't be sure is it patched properly
body: All the patch repositories are not available. You'll be able to run the game, but launcher can't be sure is it patched properly
# ToS violation warning window
tos_violation:
title: ToS violation warning
heading: ⚠️ Be warned
body: This launcher is an unofficial tool, in no way related to {company} nor {company_alterego}.
This tool is designed to facilitate playing {game} on Linux,
and was built with the sole purpose of installing and running the game with less hassle.
It does so by using existing components and making the experience simple for the user.
However, some components used here likely break the {company} Terms of Service for {game}.
If you are using this launcher, your player account could become identified as TOS-non-compliant by {company}/{company_alterego}.
If this happens, as your account would be disobeying TOS, {company}/{company_alterego} are free to do what they want. Including banning.
If you understand the risk of trying to play the game in an unofficial capacity, press OK and let's go researching the world of Teyvat!
buttons:
ok:
title: I understand the risk
tooltip: You really should read this text above. It's important
cancel: Cancel
discord: Our discord server

View file

@ -132,11 +132,11 @@ settings:
# Wine synchronization
winesync:
title: Wine synchronization
tooltip: ESync is a mechanism of synchronizing multi-thread operations. It can improve your game performance.
FSync is an improved version of ESync that works on specific kernel versions
title: Sincronizzazione Wine
tooltip: ESync è un meccanismo di sincronizzazione per operazioni multi-thread. Può migliorare le performance di gioco.
FSync è una versione migliorata di ESync che funziona su alcune versioni specifiche del kernel.
items:
none: None
none: Nessuno
esync: ESync
fsync: FSync
@ -232,24 +232,43 @@ notifications:
# Before telemetry check when iputils is not downloaded
iputils_package_required:
title: An Anime Game Launcher
body: You must have iputils installed for telemetry checking
body: Devi avere iputils installato per controllare i servizi di telemetria
# When telemetry servers are not disabled
telemetry_not_disabled:
title: An Anime Game Launcher
body: Telemetry servers are not disabled
body: I servizi di telemtria non sono disattivati
# Before patch applying when xdelta3 package is not downloaded
xdelta3_package_required:
title: An Anime Game Launcher
body: You must download xdelta3 package to apply the patch
body: Devi scaricare il package xdelta3 per attivare la patch
# If patch wasn't applied because of some error
patch_applying_error:
title: An Anime Game Launcher
body: Patch wasn't applied successfully. Please, check your log file to find a reason of it, or ask someone in our discord server
body: La patch non è stata applicata con successo. Controlla i file di log per trovare il motivo, o chiedi a qualcuno sul nostro server Discord.
# Patch repositories are not available
patch_repos_unavailable:
title: An Anime Game Launcher
body: All the patch repositories are not available. You'll be able to run the game, but launcher can't be sure is it patched properly
body: Tutte le repository della patch non sono disponibili. Puoi avviare il gioco,
ma il launcher non si può assicurare che la patch è stata applicata correttamente
# ToS violation warning window
tos_violation:
title: Avviso di violazione ToS
heading: ⚠️ Avviso importante
Questo launcher non è ufficiale, non è in alcun modo collegato a {company} o {company_alterego}.
Questo mezzo è designato per facilitare l'avvio di {game} su Linux, ed è stato creato con il solo scopo di facilitare l'installazione di {game} su Linux.
Può fare questo usando componenti già esistenti e rendendo l'esperienza più semplice per l'utente.
Alcuni componenti usati potrebbero infrangere i Termini di Servizio di {game}.
Se stai usando questo launcher, il tuo account potrebbe essere identificato come non conforme ai TOS da {company}/{company_alterego}.
Se questo succede, {company}/{company_alterego} ha pieno diritto sul tuo account, incluso il ban.
Se comprendi il rischio di provare a giocare con un mezzo non ufficiale, premi OK e inizia ad esplorare il mondo di Tevyat!
buttons:
ok:
title: Capisco il rischio
tooltip: Dovresti davvero leggere il testo sopra. È importante
cancel: Annulla
discord: Il nostro server Discord

View file

@ -253,4 +253,23 @@ notifications:
# Репозитории патча недоступны
patch_repos_unavailable:
title: An Anime Game Launcher
body: Все репозитории патча недоступны. Вы сможете запустить игру, однако лаунчер не может знать пропатчена ли она корректно
body: Все репозитории патча недоступны. Вы сможете запустить игру, однако лаунчер не может знать пропатчена ли она корректно
# Окно предупреждения о нарушении условий использования
tos_violation:
title: Предупреждение о нарушении правил использования
heading: ⚠️ Будьте осторожны
body: Этот лаунчер является неофициальным и ни в коем случае не относится к {company} или {company_alterego}.
Он был разработан с целью предоставления возможности игры в {game} на Linux,
Его главная цель - помочь установить и запустить игру с меньшими хлопотами.
Это достигается за счет использования существующих компонентов и упрощения работы пользователя.
Однако, некоторые компоненты, используемые здесь, вероятно нарушают условия использования игры {game} от компании {company}.
Если вы используете данный лаунчер - ваш игровой аккаунт может быть признан как нарушающий пользовательское соглашение {company}/{company_alterego}.
Если это произойдёт, поскольку ваша учетная запись будет нарушать правила, {company}/{company_alterego} будет свободна делать то, что она захочет, включая блокировку вашего аккаунта.
Если вы осознаёте риск использования неофициальных средств игры, нажмите "ОК" и давайте отправимся исследовать мир Тейвата!
buttons:
ok:
title: Я осознаю риск
tooltip: Вы действительно должны прочитать этот текст сверху. Это важно
cancel: Отменить
discord: Наш Discord сервер

View file

@ -254,3 +254,22 @@ notifications:
patch_repos_unavailable:
title: an anime game waunchew
body: a-all the patch wepositowies are not avaiwable. you'll b-be able to wun the game, but waunchew can't be sure is it patched pwopewwy
# ToS violation warning window
tos_violation:
title: ToS violation warning
heading: ⚠️ Be warned
body: This launcher is an unofficial tool, in no way related to {company} nor {company_alterego}.
This tool is designed to facilitate playing {game} on Linux,
and was built with the sole purpose of installing and running the game with less hassle.
It does so by using existing components and making the experience simple for the user.
However, some components used here likely break the {company} Terms of Service for {game}.
If you are using this launcher, your player account could become identified as TOS-non-compliant by {company}/{company_alterego}.
If this happens, as your account would be disobeying TOS, {company}/{company_alterego} are free to do what they want. Including banning.
If you understand the risk of trying to play the game in an unofficial capacity, press OK and let's go researching the world of Teyvat!
buttons:
ok:
title: I understand the risk
tooltip: You really should read this text above. It's important
cancel: Cancel
discord: Our discord server

View file

@ -5,7 +5,6 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" lang="sass" href="/src/sass/settings.sass" />
<link rel="stylesheet" lang="sass" href="/src/sass/components.sass" />
<link rel="stylesheet" href="/src/css/hint.min.css" />
</head>

33
src/analytics.svelte Normal file
View file

@ -0,0 +1,33 @@
<script context="module" lang="ts">
declare const Neutralino;
</script>
<script lang="ts">
import { onMount } from 'svelte';
import { _, locale } from 'svelte-i18n';
import { Configs, Windows } from './empathize';
onMount(() => {
Windows.current.show();
Windows.current.center();
});
Neutralino.events.on('windowClose', () => {
Neutralino.app.exit();
});
// Auto theme switcher
Configs.get('theme').then((theme) => {
if (theme === 'system')
theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
document.body.setAttribute('data-theme', theme as string);
});
</script>
{#if typeof $locale === 'string'}
<main>
</main>
{/if}

View file

@ -1,9 +1,21 @@
<script lang="ts">
import { _ } from 'svelte-i18n';
import type { Tooltip } from '../ts/types/Tooltip';
export let lang: string = '';
export let primary: boolean = false;
export let disabled: boolean = false;
export let tooltip: Tooltip|undefined = undefined;
export let click: () => void = () => {};
</script>
<button class="button" on:click={click}>{$_(lang)}</button>
<button
class="button {tooltip === undefined ? '' : `hint--${tooltip.direction ?? 'bottom'} hint--${tooltip.size ?? 'medium'}`}"
class:button-primary={primary}
aria-label={tooltip ? $_(tooltip.lang) : null}
disabled={disabled}
on:click={click}
>{$_(lang)}</button>

View file

@ -37,6 +37,14 @@
borderless: true,
exitProcessOnClose: false
});
/*Windows.open('tos-violation', {
title: 'ToS violation warning',
width: 700,
height: 540,
alwaysOnTop: true,
enableInspector: true
});*/
});
Neutralino.events.on('windowClose', async () => {

12
src/pages/analytics.ts Normal file
View file

@ -0,0 +1,12 @@
import '../i18n';
import App from '../analytics.svelte';
declare const Neutralino;
Neutralino.init();
const app = new App({
target: document.getElementById('app')!
});
export default app;

View file

@ -0,0 +1,12 @@
import '../i18n';
import App from '../tos-violation.svelte';
declare const Neutralino;
Neutralino.init();
const app = new App({
target: document.getElementById('app')!
});
export default app;

View file

@ -1,7 +0,0 @@
@import "components/button"
@import "components/checkbox"
@import "components/selectionBox"
@import "components/dropdownCheckboxes"
@import "components/selectionList"
@import "components/table"
@import "components/environmentTable"

View file

@ -9,7 +9,7 @@
cursor: pointer
font-size: 14px
padding: 8px 20px
color: map.get($theme-map, "text")
@ -21,11 +21,11 @@
cursor: default
.button-primary
background-color: map.get($theme-map, "background2")
background-color: map.get($theme-map, "background2") !important
&:hover
background-color: map.get($theme-map, "primary")
color: white
&:hover:not([disabled])
background-color: map.get($theme-map, "primary") !important
color: white !important
@import "src/sass/themes/light"
@import "src/sass/themes/dark"

View file

@ -2,6 +2,14 @@
@import "basic"
@import "components/button"
@import "components/checkbox"
@import "components/selectionBox"
@import "components/dropdownCheckboxes"
@import "components/selectionList"
@import "components/table"
@import "components/environmentTable"
@mixin themable($theme-name, $theme-map)
$menu-background: white

View file

@ -0,0 +1,34 @@
@use "sass:map"
@import "basic"
@import "components/button"
@import "components/checkbox"
@mixin themable($theme-name, $theme-map)
body[data-theme=#{$theme-name}]
background-color: map.get($theme-map, "background")
color: map.get($theme-map, "text")
p, span, div
color: map.get($theme-map, "text")
main
padding: 16px 64px
p
text-align: justify
line-height: 24px
.action-buttons
display: flex
margin-top: 28px
.buttons-right
margin-left: auto
@import "themes/light"
@import "themes/dark"
@include themable(light, $light)
@include themable(dark, $dark)

View file

@ -23,8 +23,6 @@
import ShadersSelection from './components/ShadersSelection.svelte';
import EnvironmentManager from './components/EnvironmentManager.svelte';
// TODO: somehow simplify all this variables definitions
/**
* Launcher language
*/
@ -133,7 +131,7 @@
// Do some stuff when all the content will be loaded
onMount(async () => {
await Windows.current.show();
// FIXME: await Windows.current.center(900, 600);
await Windows.current.center(900, 600);
// This thing will fix window resizing
// in several cases (wayland + gnome + custom theme)
@ -400,7 +398,7 @@
<span><u on:click={() => Neutralino.os.open(constants.uri.launcher)}>GitLab</u></span>
<!-- svelte-ignore missing-declaration -->
<span><u on:click={() => Neutralino.os.open('https://discord.gg/ck37X6UWBp')}>Discord</u></span>
<span><u on:click={() => Neutralino.os.open(constants.uri.discord)}>Discord</u></span>
<!-- svelte-ignore missing-declaration -->
<span><u on:click={() => Neutralino.os.open(constants.uri.patch.origin)}>Patch repository</u></span>

View file

@ -17,7 +17,7 @@
onMount(() => {
Windows.current.show();
// FIXME: Windows.current.center(300, 400);
Windows.current.center(300, 400);
});
const isLauncherLoaded = () => {

76
src/tos-violation.svelte Normal file
View file

@ -0,0 +1,76 @@
<script context="module" lang="ts">
declare const Neutralino;
</script>
<script lang="ts">
import { onMount } from 'svelte';
import { _, locale } from 'svelte-i18n';
import { Configs, Windows } from './empathize';
import constants from './ts/Constants';
import Locales from './ts/launcher/Locales';
import Button from './components/Button.svelte';
onMount(() => {
Windows.current.show();
Windows.current.center();
const title = Locales.translate('tos_violation.title') as string|null;
if (title)
Windows.current.setTitle(title);
});
let timer = 30;
const updateTimer = () => {
if (--timer > 0)
setTimeout(updateTimer, 1000);
};
setTimeout(updateTimer, 1000);
// Auto theme switcher
Configs.get('theme').then((theme) => {
if (theme === 'system')
theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
document.body.setAttribute('data-theme', theme as string);
});
</script>
{#if typeof $locale === 'string'}
<main>
<h1>{$_('tos_violation.heading')}</h1>
<p>{$_('tos_violation.body', {
values: {
company: constants.placeholders.uppercase.company,
company_alterego: constants.placeholders.uppercase.company_alterego,
game: constants.placeholders.uppercase.full
}
})}</p>
<div class="action-buttons">
<!-- svelte-ignore missing-declaration -->
<Button
lang={timer > 0 ? timer.toString() : 'tos_violation.buttons.ok.title'}
tooltip={timer > 0 ? { lang: 'tos_violation.buttons.ok.tooltip', direction: 'top' } : undefined}
primary={true}
disabled={timer > 0}
click={() => Neutralino.app.exit()}
/>
<!-- svelte-ignore missing-declaration -->
<Button lang="tos_violation.buttons.cancel" primary={true} click={() => Neutralino.app.exit()} />
<div class="buttons-right">
<!-- svelte-ignore missing-declaration -->
<Button lang="tos_violation.buttons.discord" click={() => Neutralino.os.open(constants.uri.discord)} />
</div>
</div>
</main>
{/if}

View file

@ -193,7 +193,12 @@ export default class constants
/**
* anAnimeCompany
*/
company: atob('bWlIb1lv')
company: atob('bWlIb1lv'),
/**
* NOTAREALANIMECOMPANY
*/
company_alterego: atob('Q09HTk9TUEhFUkU=')
},
lowercase:
@ -217,6 +222,7 @@ export default class constants
additional: 'https://dev.kaifa.ch/Maroxy/dawn'
},
launcher: 'https://gitlab.com/KRypt0n_/an-anime-game-launcher',
discord: 'https://discord.gg/ck37X6UWBp',
telemetry: [
`log-upload-os.${this.placeholders.lowercase.company}.com`,
'overseauspider.yuanshen.com'

View file

@ -95,7 +95,7 @@ export default class Launcher
});
Windows.current.show();
// TODO: Windows.current.center(1280, 700);
Windows.current.center(1280, 700);
})
Windows.current.hide();

View file

@ -96,7 +96,7 @@ export default class State
IPC.write('launcher-loaded');
await Windows.current.show();
// FIXME: await Windows.current.center(1280, 700);
await Windows.current.center(1280, 700);
// Check for new versions of the launcher
Git.getTags(constants.uri.launcher).then((tags) => {

View file

@ -208,7 +208,7 @@ export default (launcher: Launcher): Promise<void> => {
const stopTime = Date.now();
Windows.current.show();
// FIXME: Windows.current.center(1280, 700);
Windows.current.center(1280, 700);
launcher.updateDiscordRPC('in-launcher');
launcher.tray.hide();

7
src/ts/types/Tooltip.d.ts vendored Normal file
View file

@ -0,0 +1,7 @@
type Tooltip = {
lang: string;
direction?: 'top' | 'right' | 'bottom' | 'left';
size?: 'small' | 'medium' | 'large';
};
export type { Tooltip };

17
tos-violation.html Normal file
View file

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" lang="sass" href="/src/sass/tos-violation.sass" />
<link rel="stylesheet" href="/src/css/hint.min.css" />
</head>
<body data-theme="light">
<div id="app"></div>
<script src="neutralino.js"></script>
<script type="module" src="/src/pages/tos-violation.ts" lang="ts"></script>
</body>
</html>

View file

@ -15,7 +15,9 @@ export default defineConfig({
input: [
'index.html',
'settings.html',
'splash.html'
'splash.html',
'analytics.html',
'tos-violation.html'
]
}
}