mirror of
https://github.com/an-anime-team/an-anime-game-launcher.git
synced 2025-02-16 07:11:26 +03:00
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:
parent
ba1350c512
commit
425c7f4db0
31 changed files with 438 additions and 54 deletions
|
@ -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
16
analytics.html
Normal 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>
|
|
@ -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",
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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 сервер
|
|
@ -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
|
|
@ -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
33
src/analytics.svelte
Normal 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}
|
|
@ -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>
|
||||
|
|
|
@ -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
12
src/pages/analytics.ts
Normal 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;
|
12
src/pages/tos-violation.ts
Normal file
12
src/pages/tos-violation.ts
Normal 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;
|
|
@ -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"
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
34
src/sass/tos-violation.sass
Normal file
34
src/sass/tos-violation.sass
Normal 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)
|
|
@ -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>
|
||||
|
|
|
@ -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
76
src/tos-violation.svelte
Normal 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}
|
|
@ -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'
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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) => {
|
||||
|
|
|
@ -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
7
src/ts/types/Tooltip.d.ts
vendored
Normal 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
17
tos-violation.html
Normal 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>
|
|
@ -15,7 +15,9 @@ export default defineConfig({
|
|||
input: [
|
||||
'index.html',
|
||||
'settings.html',
|
||||
'splash.html'
|
||||
'splash.html',
|
||||
'analytics.html',
|
||||
'tos-violation.html'
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue