From 781d61f91791fcb03ee33b70029262cce1c46116 Mon Sep 17 00:00:00 2001 From: IoT Manager <67171972+IoTManagerProject@users.noreply.github.com> Date: Mon, 2 Oct 2023 17:25:05 +0200 Subject: [PATCH] =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B8=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/App.svelte | 45 +++++++++++++++---------------- src/i18n.js | 32 ++++++++++++++++++++++ src/lang.js | 12 +++++++++ src/pages/Dev.svelte | 53 ------------------------------------ src/pages/Login.svelte | 61 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 128 insertions(+), 77 deletions(-) create mode 100644 src/i18n.js create mode 100644 src/lang.js delete mode 100644 src/pages/Dev.svelte create mode 100644 src/pages/Login.svelte diff --git a/package.json b/package.json index f2767b6..6f90a1a 100644 --- a/package.json +++ b/package.json @@ -30,4 +30,4 @@ "sirv-cli": "^2.0.2", "svelte-frappe-charts": "^1.10.0" } -} +} \ No newline at end of file diff --git a/src/App.svelte b/src/App.svelte index 926d765..4b6b14a 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -7,6 +7,9 @@ */ //6+49 кб 09/06/2023 + //6+51 кб 02/09/2023 + //6+64 кб 02/10/2023 + axios + //6+53 кб 03/10/2023 + fetch //******************************************************import section*********************************************************/ //*****************************************************************************************************************************/ @@ -24,7 +27,8 @@ import ConnectionPage from "./pages/Connection.svelte"; import ListPage from "./pages/List.svelte"; import SystemPage from "./pages/System.svelte"; - import DevPage from "./pages/Dev.svelte"; + import Login from "./pages/Login.svelte"; + import { t, locale, locales } from "./i18n"; //import UtilitiesPage from "./pages/Utilities.svelte"; //import LogPage from "./pages/Log.svelte"; @@ -141,9 +145,9 @@ console.log("[i]", "user on page:", currentPageName); //не нужно очищать переменные когда переходим на страницу разработчика - if (currentPageName != "/dev|") { - clearData(); - } + // if (currentPageName != "/dev|") { + clearData(); + //} //если мы на странице dashboard то рассылаем всем устройствам запрос данных if (currentPageName === "/|") { @@ -593,12 +597,6 @@ if (debug) console.log("✔✔", "system page parced"); pageReady.system = true; } - - if (currentPageName === "/dev|" && parsed.errorsJson && parsed.settingsJson && parsed.configJson && parsed.itemsJson) { - clearParcedFlags(); - if (debug) console.log("✔✔", "dev page parced"); - pageReady.dev = true; - } } async function initDevList() { @@ -1399,11 +1397,16 @@
  • {"Устройства"}
  • - {#if devMode} - - {/if} +
  • + {"Вход"} +
  • +
  • + +
  • @@ -1428,14 +1431,10 @@ saveSett()} rebootEsp={() => rebootEsp()} cleanLogs={() => cleanLogs()} cancelAlarm={(alarmKey) => cancelAlarm(alarmKey)} versionsList={versionsList} bind:choosingVersion={choosingVersion} startUpdate={(all) => startUpdate(all)} coreMessages={coreMessages} /> - {#if devMode} - - - - - {/if} + + + + {/if} diff --git a/src/i18n.js b/src/i18n.js new file mode 100644 index 0000000..0c81873 --- /dev/null +++ b/src/i18n.js @@ -0,0 +1,32 @@ +import { derived, writable } from "svelte/store"; +import translations from "./lang"; + +export const locale = writable("ru"); +export const locales = Object.keys(translations); + +function translate(locale, key, vars) { + // Let's throw some errors if we're trying to use keys/locales that don't exist. + // We could improve this by using Typescript and/or fallback values. + if (!key) throw new Error("no key provided to $t()"); + if (!locale) throw new Error(`no translation for key "${key}"`); + + // Grab the translation from the translations object. + let text = translations[locale][key]; + + if (!text) throw new Error(`no translation found for ${locale}.${key}`); + + // Replace any passed in variables in the translation string. + Object.keys(vars).map((k) => { + const regex = new RegExp(`{{${k}}}`, "g"); + text = text.replace(regex, vars[k]); + }); + + return text; +} + +export const t = derived( + locale, + ($locale) => + (key, vars = {}) => + translate($locale, key, vars) +); diff --git a/src/lang.js b/src/lang.js new file mode 100644 index 0000000..c453d61 --- /dev/null +++ b/src/lang.js @@ -0,0 +1,12 @@ +export default { + ru: { + "login.email": "Введите email", + "login.pass": "Введите пароль", + "login.login": "Вход", + }, + en: { + "login.email": "Email", + "login.pass": "Password", + "login.login": "Login", + }, +}; diff --git a/src/pages/Dev.svelte b/src/pages/Dev.svelte deleted file mode 100644 index 2ec8991..0000000 --- a/src/pages/Dev.svelte +++ /dev/null @@ -1,53 +0,0 @@ - - -{#if show} -
    -
    - - - - - - - - - - - - - - - - - - -
    -
    -{:else} - -{/if} diff --git a/src/pages/Login.svelte b/src/pages/Login.svelte new file mode 100644 index 0000000..5dec00a --- /dev/null +++ b/src/pages/Login.svelte @@ -0,0 +1,61 @@ + + +{#if show} +
    +
    +
    +
    + + +
    +
    + + +
    + {#each errors as e, i} +

    {e.msg}

    + {/each} + +
    +
    +
    +{:else} + +{/if}