{localization.get('page.welcome.step2') === 'page.welcome.step2'
? ''
diff --git a/src/ts/pages/Welcome/styles/index.module.scss b/src/ts/pages/Welcome/styles/index.module.scss
index 0988383..83f7f5a 100644
--- a/src/ts/pages/Welcome/styles/index.module.scss
+++ b/src/ts/pages/Welcome/styles/index.module.scss
@@ -23,34 +23,23 @@
}
&_warning {
- font-weight: 100;
- font-size: var(--font-s);
width: 100%;
margin: 0 auto;
padding: 6px;
box-sizing: border-box;
-
- line-height: 1.5;
- text-align: center;
border-bottom: 3px solid red;
background-color: #FCDADA;
- &_bold {
- font-weight: bold;
- color: red;
+ &_text {
+ text-align: center;
+ color: #B50404;
}
&_link {
- text-decoration: underline;
color: var(--color-button);
-
- &:hover {
- text-decoration: none;
- }
}
}
- &_link,
&_description {
font-size: var(--font-xs);
@@ -66,12 +55,6 @@
color: #878FA1;
}
- &_link {
- display: inline;
- margin: 16px 4px 0 4px;
- text-decoration: underline;
- }
-
&_first_title,
&_last_title {
font-size: 42px;
diff --git a/src/ts/store/ViewSettings.ts b/src/ts/store/ViewSettings.ts
new file mode 100644
index 0000000..be02d7d
--- /dev/null
+++ b/src/ts/store/ViewSettings.ts
@@ -0,0 +1,69 @@
+import { observable, action, makeObservable } from 'mobx';
+
+class ViewSettingsStore {
+ key: string = 'view_settings';
+
+ version: number = 1;
+
+ settings: any = {};
+
+ constructor() {
+ this.load();
+ makeObservable(this, {
+ settings: observable,
+ load: action,
+ setItem: action,
+ });
+ }
+
+ load() {
+ const settings = JSON.parse(localStorage.getItem(this.key) || '{}') || {};
+ if (settings.version === this.version) {
+ this.settings = settings.settings;
+ }
+ }
+
+ save() {
+ if (Object.keys(this.settings).length === 0) {
+ localStorage.removeItem(this.key);
+ return;
+ }
+
+ localStorage.setItem(this.key, JSON.stringify({
+ version: this.version,
+ settings: this.settings,
+ }));
+ }
+
+ #getPath(path: any): string {
+ if (!path) return '';
+ if (Array.isArray(path)) {
+ return path.join('.');
+ } else if (typeof path === 'object') {
+ return [path.type, path.page].join('.');
+ }
+ return path;
+ }
+
+ setItem(path: any, value: any, defaultValue?: any) {
+ const formattedPath = this.#getPath(path);
+ if (!formattedPath) return;
+
+ if (!value || value === defaultValue) {
+ delete this.settings[formattedPath];
+ } else {
+ this.settings[formattedPath] = value;
+ }
+
+ this.save();
+ }
+
+ getItem(path: any, defaultValue?: any): any {
+ const formattedPath = this.#getPath(path);
+ return this.settings?.[formattedPath] || defaultValue;
+ }
+}
+
+const viewSettings = new ViewSettingsStore();
+
+export default viewSettings;
diff --git a/src/ts/translations/en/common.ts b/src/ts/translations/en/common.ts
index 2858ac5..3aed18e 100644
--- a/src/ts/translations/en/common.ts
+++ b/src/ts/translations/en/common.ts
@@ -1,5 +1,6 @@
export default `
-§ uiKit.console: Copy
+§ uiKit.console.button: Copy
+§ uiKit.console.notification: Text was copied
§ uiKit.dataLoader.page: Page
§ uiKit.dataLoader.size: Displayed
§ uiKit.dataLoader.from: out of
@@ -22,6 +23,7 @@ The work of employees with such status on this project can be neglected as their
Therefore, the system does not calculate a number of indicators for him.
If this is an error and this employee needs to be calculated as usual, go to the “Settings” section and change his type.
+§ common.title: Git statistics
§ common.filters: Filters
§ common.notifications.save: The changes have been saved
§ common.notifications.setting: The settings have been saved
diff --git a/src/ts/translations/en/pages.ts b/src/ts/translations/en/pages.ts
index 7a453e8..83e5c9a 100644
--- a/src/ts/translations/en/pages.ts
+++ b/src/ts/translations/en/pages.ts
@@ -1,11 +1,9 @@
export default `
§ page.welcome.step1: Execute the command in the root of your project.
-§ page.welcome.step3: Drag and Drop.
+§ page.welcome.step3: Drag and drop
§ page.welcome.step4: the log.txt file onto this page.
-§ page.welcome.description1: Git will create a log.txt file. It contains data for report generation. Or use git shortlog -s -n -e if you don't need a report. Create a file.
-§ page.welcome.description2: [Create a .mailmap file|https://git-scm.com/docs/gitmailmap] in the root of the project to consolidate employee statistics.
-§ page.welcome.description: Git will create a log.txt file. It contains data for report generation. Or use git shortlog -s -n -e if you don't need a report. Create a [.mailmap file|https://git-scm.com/docs/gitmailmap] in the root of the project to consolidate employee statistics.
-§ page.welcome.warning1: The service *DOES NOT STORE* and *DOES NOT TRANSFER* your data. All calculations are performed locally in your browser on your machine.
+§ page.welcome.description: Git will create a log.txt file. It contains data for report generation. Or use git shortlog -s -n -e if you don't need a report. Create a [.mailmap|https://git-scm.com/docs/gitmailmap] file in the root of the project to consolidate employee statistics.
+§ page.welcome.warning1: The service *DOES NOT SAVE* and *DOES NOT TRANSFER* your data. All calculations are performed locally in your browser on your machine.
§ page.welcome.warning2: The service *DOES NOT COLLECT STATISTICS* on projects. You can disconnect the internet, check traffic, and even build a local version from the [source|https://github.com/bakhirev/assayo].
§ page.common.words.title: Word Statistics.
§ page.common.words.description: the most popular word. Occurs $1 times.
diff --git a/src/ts/translations/ru/common.ts b/src/ts/translations/ru/common.ts
index 04eabdc..923847e 100644
--- a/src/ts/translations/ru/common.ts
+++ b/src/ts/translations/ru/common.ts
@@ -1,5 +1,6 @@
export default `
-§ uiKit.console: Копировать
+§ uiKit.console.button: Копировать
+§ uiKit.console.notification: Текст скопирован
§ uiKit.dataLoader.page: Страница
§ uiKit.dataLoader.size: Отображается по
§ uiKit.dataLoader.from: из
@@ -22,6 +23,7 @@ export default `
Поэтому система не рассчитывает для него ряд показателей.
Если это ошибка и данного сотрудника нужно рассчитать как обычного, перейдите в раздел «Настройки» и измените его тип.
+§ common.title: Git статистика
§ common.filters: Фильтры
§ common.notifications.save: Изменения сохранены
§ common.notifications.setting: Настройки сохранены
diff --git a/src/ts/translations/ru/pages.ts b/src/ts/translations/ru/pages.ts
index 1f08674..f22f4ef 100644
--- a/src/ts/translations/ru/pages.ts
+++ b/src/ts/translations/ru/pages.ts
@@ -2,8 +2,6 @@ export default `
§ page.welcome.step1: Выполните команду в корне вашего проекта
§ page.welcome.step3: Перетащите
§ page.welcome.step4: файл log.txt на эту страницу
-§ page.welcome.description1: Git создаст файл log.txt. Он содержит данные для построения отчёта. Или git shortlog -s -n -e если отчёт вам не нужен. Создайте файл
-§ page.welcome.description2: [.mailmap|https://git-scm.com/docs/gitmailmap] в корне проекта, чтобы объединить статистику по сотрудникам.
§ page.welcome.description: Git создаст файл log.txt. Он содержит данные для построения отчёта. Или git shortlog -s -n -e если отчёт вам не нужен. Создайте файл [.mailmap|https://git-scm.com/docs/gitmailmap] в корне проекта, чтобы объединить статистику по сотрудникам.
§ page.welcome.warning1: Сервис *НЕ ХРАНИТ* и *НЕ ПЕРЕДАЁТ* ваши данные. Все расчёты выполняются локально в вашем браузере прямо на вашей машине.
§ page.welcome.warning2: Сервис *НЕ СОБИРАЕТ СТАТИСТИКУ* по проектам. Вы можете отключить интернет, проверить трафик и даже собрать локальный билд из [исходников|https://github.com/bakhirev/assayo].