diff --git a/README.md b/README.md
index bf96959..5cd2132 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,8 @@ Visualization and analysis of your git repository data ([demo](https://assayo.on
+
+
##### 👨💻 Employee can evaluate new workplace
- work speed;
- number of extra hours worked;
diff --git a/build/index.html b/build/index.html
index 8ca7d52..7370ee0 100644
--- a/build/index.html
+++ b/build/index.html
@@ -1 +1 @@
-
Git Statistics
\ No newline at end of file
+Git Statistics
\ No newline at end of file
diff --git a/documents/DE.md b/documents/DE.md
index 6ef5241..57a61da 100644
--- a/documents/DE.md
+++ b/documents/DE.md
@@ -2,9 +2,12 @@
# [Assayo](https://assayo.online/?ref=github&lang=de)
+Visualisierung und analyse ihrer Git-datenbank ([demo](https://assayo.online/demo/?ref=github&lang=de&dump=./test.txt)).
+
-Visualisierung und analyse ihrer Git-datenbank ([demo](https://assayo.online/demo/?ref=github&lang=de&dump=./test.txt)).
+
+
##### 👨💻 Mitarbeiter können den neuen arbeitsplatz bewerten
- arbeitsgeschwindigkeit;
diff --git a/documents/EN.md b/documents/EN.md
index 3c4eb19..e327bdf 100644
--- a/documents/EN.md
+++ b/documents/EN.md
@@ -3,9 +3,12 @@
> The [main documentation](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) is in russian. This is a translation. It may contain errors. If you a native speaker, you can help improve this translation. Thanks!
# [Assayo](https://assayo.online/?ref=github&lang=en)
+Visualization and analysis of your git repository data ([demo](https://assayo.online/demo/?ref=github&lang=en&dump=./test.txt)).
+
-Visualization and analysis of your git repository data ([demo](https://assayo.online/demo/?ref=github&lang=en&dump=./test.txt)).
+
+
##### 👨💻 Employee can evaluate new workplace
- work speed;
diff --git a/documents/ES.md b/documents/ES.md
index 98d90ea..28793d8 100644
--- a/documents/ES.md
+++ b/documents/ES.md
@@ -3,9 +3,12 @@
> [Documentación básica](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) en ruso. Es una traducción. Puede contener errores. Si usted es un hablante nativo, puede ayudar a mejorar esta traducción. ¡Gracias!
# [Assayo](https://assayo.online/?ref=github&lang=es)
+Visualización y análisis de los datos de su repositorio git. ([демо](https://assayo.online/demo/?ref=github&lang=es&dump=./test.txt)).
+
-Visualización y análisis de los datos de su repositorio git. ([демо](https://assayo.online/demo/?ref=github&lang=es&dump=./test.txt)).
+
+
##### 👨💻 El empleado puede evaluar el nuevo lugar de trabajo
- El ritmo de trabajo;
diff --git a/documents/FR.md b/documents/FR.md
index 7a0d1db..3a0d642 100644
--- a/documents/FR.md
+++ b/documents/FR.md
@@ -3,9 +3,12 @@
> La [documentation principale](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) est en russe. C'est une traduction. Il peut contenir des erreurs. Si vous êtes un locuteur natif, vous pouvez aider à améliorer cette traduction. Merci!
# [Assayo](https://assayo.online/?ref=github&lang=fr)
+Visualisation et analyse des données de votre dépôt Git ([демо](https://assayo.online/demo/?ref=github&lang=fr&dump=./test.txt)).
+
-Visualisation et analyse des données de votre dépôt Git ([демо](https://assayo.online/demo/?ref=github&lang=fr&dump=./test.txt)).
+
+
##### 👨💻 Un employé peut évaluer un nouveau lieu de travail
- le rythme du travail;
diff --git a/documents/JA.md b/documents/JA.md
index 75203f5..cb63cac 100644
--- a/documents/JA.md
+++ b/documents/JA.md
@@ -3,9 +3,12 @@
> [主な文書はロシア語です。](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) これは翻訳です。 エラーが含まれている可能性があります。 あなたがネイティブスピーカーであれば、この翻訳を改善するのに役立ちます。 ありがとう!
# [Assayo](https://assayo.online/?ref=github&lang=ja)
+データの可視化とGitレポジトリの分析 ([デモ](https://assayo.online/demo/?ref=github&lang=ja&dump=./test.txt)).
+
-データの可視化とGitレポジトリの分析 ([デモ](https://assayo.online/demo/?ref=github&lang=ja&dump=./test.txt)).
+
+
##### 👨💻 従業員は新しい職場を評価することができます
- 働きのペース;
diff --git a/documents/PT.md b/documents/PT.md
index cd0695a..eaa289f 100644
--- a/documents/PT.md
+++ b/documents/PT.md
@@ -3,9 +3,12 @@
> [Documentação básica](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) em russo. É uma tradução. Pode conter erros. Se você é um falante nativo, você pode ajudar a melhorar esta tradução. Obrigado!
# [Assayo](https://assayo.online/?ref=github&lang=pt)
+Visualização e análise de dados do seu repositório git ([demonstração](https://assayo.online/demo/?ref=github&lang=pt&dump=./test.txt)).
+
-Visualização e análise de dados do seu repositório git ([demonstração](https://assayo.online/demo/?ref=github&lang=pt&dump=./test.txt)).
+
+
##### 👨💻 Funcionario de avaliar o novo local de trabalho
- ritmo de trabalho;
diff --git a/documents/RU.md b/documents/RU.md
index 79fa942..44351cc 100644
--- a/documents/RU.md
+++ b/documents/RU.md
@@ -2,9 +2,12 @@
# [Assayo](https://assayo.online/?ref=github&lang=ru)
+Визуализация и анализ данных вашего git-репозитория ([демо](https://assayo.online/demo/?ref=github&lang=ru&dump=./test.txt)).
+
-Визуализация и анализ данных вашего git-репозитория ([демо](https://assayo.online/demo/?ref=github&lang=ru&dump=./test.txt)).
+
+
##### 👨💻 Сотрудник может оценить новое место работы
- темп работы;
diff --git a/documents/ZH.md b/documents/ZH.md
index 459a353..bcff562 100644
--- a/documents/ZH.md
+++ b/documents/ZH.md
@@ -3,9 +3,12 @@
> [主要文件是俄文。](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) 这是一个翻译。 它可能包含错误。 如果您是母语人士,您可以帮助改进此翻译。 谢谢!
# [Assayo](https://assayo.online/?ref=github&lang=zh)
+对您的git仓库的数据进行可视化和分析 ([示范表现](https://assayo.online/demo/?ref=github&lang=zh&dump=./test.txt)).
+
-对您的git仓库的数据进行可视化和分析 ([示范表现](https://assayo.online/demo/?ref=github&lang=zh&dump=./test.txt)).
+
+
##### 👨💻 工作人员可以评估新工作场所
- 工作节奏;
diff --git a/documents/src/lib/JsonToMd/custom.js b/documents/src/lib/JsonToMd/custom.js
index fcc03db..a0926b6 100644
--- a/documents/src/lib/JsonToMd/custom.js
+++ b/documents/src/lib/JsonToMd/custom.js
@@ -27,7 +27,11 @@ function getLanguageLinks(languages, language) {
}
function getSocialLinks() {
- return '\n';
+ return '\n\n';
+}
+
+function getSreenshot() {
+ return '\n';
}
function getTitle(language) {
@@ -37,5 +41,6 @@ function getTitle(language) {
module.exports = {
getLanguageLinks,
getSocialLinks,
+ getSreenshot,
getTitle,
};
diff --git a/documents/src/lib/JsonToMd/getMarkdownFromJson.js b/documents/src/lib/JsonToMd/getMarkdownFromJson.js
index e877c47..3604c81 100644
--- a/documents/src/lib/JsonToMd/getMarkdownFromJson.js
+++ b/documents/src/lib/JsonToMd/getMarkdownFromJson.js
@@ -22,12 +22,16 @@ function getMarkdownFromJson(json, languages, language) {
custom.getLanguageLinks(languages, language),
firstTag ? `> ${firstTag.warning}\n` : '',
custom.getTitle(language),
- custom.getSocialLinks(),
];
- (json || []).forEach((tag) => {
+ (json || []).forEach((tag, index) => {
if (!tag) return;
+ if (index === 1) {
+ markdown.push(custom.getSocialLinks());
+ markdown.push(custom.getSreenshot());
+ }
+
if (tag.p) markdown.push(tag.p);
else if (tag.warning) markdown.push(`> ${tag.warning}\n`);
else if (tag.tableOfContent) markdown.push('tableOfContent');
diff --git a/src/index.tsx b/src/index.tsx
index b639e1f..64b805a 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { HashRouter } from 'react-router-dom';
import { render } from 'react-dom';
+import { HashRouter } from 'react-router-dom';
import localization from 'ts/helpers/Localization';
import de from 'ts/translations/de';
@@ -16,6 +16,7 @@ import initializationI18n from './ts/helpers/i18n';
import Authorization from 'ts/pages/Authorization';
import userSettings from 'ts/store/UserSettings';
+import themeSettings from 'ts/store/ThemeSettings';
import Notifications from 'ts/components/Notifications';
import printStore from 'ts/pages/PageWrapper/store/Print';
import applyUrlCommands from 'ts/helpers/RPC';
@@ -57,6 +58,7 @@ function renderReactApplication() {
applyUrlCommands((parameters: any) => {
initializationI18n(parameters.lang || parameters.language);
+ themeSettings.setUrlParameters(parameters);
userSettings.loadUserSettings().then(() => {
renderReactApplication();
});
diff --git a/src/ts/helpers/DataGrip/components/extension.ts b/src/ts/helpers/DataGrip/components/extension.ts
index 2575306..d3960f9 100644
--- a/src/ts/helpers/DataGrip/components/extension.ts
+++ b/src/ts/helpers/DataGrip/components/extension.ts
@@ -59,10 +59,10 @@ export default class DataGripByExtension {
#getNewExtension(file: IDirtyFile) {
return {
- extension: file.extension,
+ extension: file?.extension,
authors: {},
- task: file.created.task,
- path: file.name,
+ task: file?.firstCommit?.task,
+ path: file?.name,
current: {
files: {},
count: 0,
diff --git a/src/ts/helpers/Parser/file_info.ts b/src/ts/helpers/Parser/file_info.ts
index ab67bc1..a1ebdcf 100644
--- a/src/ts/helpers/Parser/file_info.ts
+++ b/src/ts/helpers/Parser/file_info.ts
@@ -27,9 +27,10 @@ export function getNewFileInfo(
firstName: nameParts.shift(),
suffixes: nameParts,
lines: addedLines,
- created: commit,
+ firstCommit: commit,
+ lastCommit: commit,
authors: {
[commit?.author || '']: getNewFileAuthor(addedLines, commit),
},
};
-}
\ No newline at end of file
+}
diff --git a/src/ts/helpers/Parser/files.ts b/src/ts/helpers/Parser/files.ts
index 57b8650..2a464c9 100644
--- a/src/ts/helpers/Parser/files.ts
+++ b/src/ts/helpers/Parser/files.ts
@@ -24,10 +24,12 @@ export function getNewFileName(fileName: string, allFiles: any) {
return newPath;
}
-function getFolder(name?: string): IFileTree {
+function getFolder(name: string, file: IDirtyFile): IFileTree {
return {
id: Math.random(),
name: name || '',
+ firstCommit: file?.firstCommit,
+ lastCommit: file?.firstCommit,
content: {},
};
}
@@ -37,7 +39,9 @@ function getFolderTree(fileTree: any, file: IDirtyFile) {
let fileName: string = file.path.pop() || '';
file.path.forEach((folder: any) => {
if (!prev[folder] || !prev[folder].content) {
- prev[folder] = getFolder(folder);
+ prev[folder] = getFolder(folder, file);
+ } else {
+ prev[folder].lastCommit = file?.lastCommit;
}
prev = prev[folder].content;
});
@@ -46,7 +50,7 @@ function getFolderTree(fileTree: any, file: IDirtyFile) {
export function getFileList(allFiles: IHashMap) {
- const fileList = Object.values(allFiles);
+ const fileList = Object.values(allFiles); // @ts-ignore
const fileTree: IFileTree = getFolder();
fileList.forEach((file: IDirtyFile) => {
diff --git a/src/ts/helpers/Parser/index.ts b/src/ts/helpers/Parser/index.ts
index cf8da60..3f3328a 100644
--- a/src/ts/helpers/Parser/index.ts
+++ b/src/ts/helpers/Parser/index.ts
@@ -37,6 +37,7 @@ export default function Parser(report: string[]) {
if (allFiles[fileName]) {
const fileInfo: IDirtyFile = allFiles[fileName];
+ fileInfo.lastCommit = prev;
fileInfo.lines += diff;
if (!fileInfo.authors[prev?.author || '']) {
fileInfo.authors[prev?.author || ''] = {
diff --git a/src/ts/helpers/RPC.ts b/src/ts/helpers/RPC.ts
index 8b52fa4..bf29a9b 100644
--- a/src/ts/helpers/RPC.ts
+++ b/src/ts/helpers/RPC.ts
@@ -10,10 +10,12 @@ function getParametersFromString(text: string): IHashMap {
}
function getParametersFromURL(): IHashMap {
- return {
+ const parameters = {
...getParametersFromString(location.search),
...getParametersFromString(location.hash),
};
+ delete parameters[''];
+ return parameters;
}
function loadJsLocal(url: string, callback: Function) {
diff --git a/src/ts/interfaces/FileInfo.ts b/src/ts/interfaces/FileInfo.ts
index b1c01f9..e914080 100644
--- a/src/ts/interfaces/FileInfo.ts
+++ b/src/ts/interfaces/FileInfo.ts
@@ -1,10 +1,11 @@
-import ICommit from './Commit';
+import ICommit, { ISystemCommit } from './Commit';
import IHashMap from './HashMap';
export interface IDirtyFile {
name: string; // ".gitignore",
lines: number; // 38, line in file for this moment
- created: ICommit,
+ firstCommit: ICommit | ISystemCommit | null,
+ lastCommit: ICommit | ISystemCommit | null,
path: string[],
extension: string,
firstName: string,
@@ -30,5 +31,7 @@ export interface IDirtyFile {
export interface IFileTree {
id?: number;
name?: string;
+ firstCommit: ICommit | ISystemCommit | null,
+ lastCommit: ICommit | ISystemCommit | null,
content: IHashMap,
}
diff --git a/src/ts/pages/PageWrapper/components/sidebar/Logo.tsx b/src/ts/pages/PageWrapper/components/sidebar/Logo.tsx
index 0ae4038..1d765fe 100644
--- a/src/ts/pages/PageWrapper/components/sidebar/Logo.tsx
+++ b/src/ts/pages/PageWrapper/components/sidebar/Logo.tsx
@@ -1,14 +1,28 @@
import React from 'react';
+import { Link } from 'react-router-dom';
+
+import themeSettings from 'ts/store/ThemeSettings';
import style from '../../styles/logo.module.scss';
function Logo() {
+ const {
+ icon, link, title, isOpenInNewTab,
+ } = themeSettings.getLogo();
+
return (
);
}
diff --git a/src/ts/pages/PageWrapper/styles/logo.module.scss b/src/ts/pages/PageWrapper/styles/logo.module.scss
index cebc853..079fadc 100644
--- a/src/ts/pages/PageWrapper/styles/logo.module.scss
+++ b/src/ts/pages/PageWrapper/styles/logo.module.scss
@@ -10,9 +10,15 @@
box-sizing: border-box;
border: none;
+ &_link {
+ display: inline-block;
+ text-decoration: none;
+ }
+
&_icon {
height: 20px;
margin: 0 auto;
+ text-decoration: none;
}
}
diff --git a/src/ts/pages/Team/components/Tree.tsx b/src/ts/pages/Team/components/Tree.tsx
index 02831f7..ba3992c 100644
--- a/src/ts/pages/Team/components/Tree.tsx
+++ b/src/ts/pages/Team/components/Tree.tsx
@@ -17,6 +17,8 @@ import LineChart from 'ts/components/LineChart';
import getOptions from 'ts/components/LineChart/helpers/getOptions';
import NothingFound from 'ts/components/NothingFound';
+import { getDate } from 'ts/helpers/formatter';
+
import TreeFilters from './TreeFilters';
import { getSubTreeByPath, getArrayFromTree } from '../helpers/tree';
import treeStore from '../store/Tree';
@@ -43,6 +45,7 @@ function TreeView({ response }: ITreeViewProps) {
'page.team.tree.lineRemove',
], suffix: 'page.team.tree.line' });
+ console.log(response.content);
return (