From c992c6a94fd32bf5b17461c11b1483fd6f284e79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=B0=D1=85=D0=B8=D1=80=D0=B5=D0=B2?= Date: Sun, 5 May 2024 11:54:25 +0300 Subject: [PATCH] update --- README.md | 2 ++ build/index.html | 2 +- documents/DE.md | 5 ++- documents/EN.md | 5 ++- documents/ES.md | 5 ++- documents/FR.md | 5 ++- documents/JA.md | 5 ++- documents/PT.md | 5 ++- documents/RU.md | 5 ++- documents/ZH.md | 5 ++- documents/src/lib/JsonToMd/custom.js | 7 +++- .../src/lib/JsonToMd/getMarkdownFromJson.js | 8 +++-- src/index.tsx | 4 ++- .../helpers/DataGrip/components/extension.ts | 6 ++-- src/ts/helpers/Parser/file_info.ts | 5 +-- src/ts/helpers/Parser/files.ts | 10 ++++-- src/ts/helpers/Parser/index.ts | 1 + src/ts/helpers/RPC.ts | 4 ++- src/ts/interfaces/FileInfo.ts | 7 ++-- .../PageWrapper/components/sidebar/Logo.tsx | 22 ++++++++++--- .../pages/PageWrapper/styles/logo.module.scss | 6 ++++ src/ts/pages/Team/components/Tree.tsx | 33 ++++++++++++++++++- src/ts/store/ThemeSettings.ts | 29 ++++++++++++++++ 23 files changed, 157 insertions(+), 29 deletions(-) create mode 100644 src/ts/store/ThemeSettings.ts 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 ( + getDate(item?.file?.firstCommit?.timestamp)} + width={130} + /> + item?.file?.firstCommit?.author || ''} + width={150} + /> + getDate(item?.file?.lastCommit?.timestamp)} + width={130} + /> + item?.file?.lastCommit?.author || ''} + width={150} + /> (