From 975fb37717fe1fbf4e158b0ab7a818764412d1f7 Mon Sep 17 00:00:00 2001 From: Kakabay Date: Sun, 25 Dec 2022 17:03:11 +0500 Subject: [PATCH] documents on nomative added --- src/assets/styles/_subPageStyles.scss | 6 ++++ src/components/DocumentSection.jsx | 40 +++++++++++++++++++++++++++ src/pages/Normative.jsx | 39 +++++++++++++------------- 3 files changed, 66 insertions(+), 19 deletions(-) create mode 100644 src/components/DocumentSection.jsx diff --git a/src/assets/styles/_subPageStyles.scss b/src/assets/styles/_subPageStyles.scss index 6a3e70e..85035f0 100644 --- a/src/assets/styles/_subPageStyles.scss +++ b/src/assets/styles/_subPageStyles.scss @@ -99,6 +99,12 @@ padding-left: 2.4rem; } +.sub-page-file-title { + font-weight: 500; + color: $base-blue; + font-size: 1.8rem; +} + .sub-page-list-item-list-item { font-size: 1.8rem; color: $base-black; diff --git a/src/components/DocumentSection.jsx b/src/components/DocumentSection.jsx new file mode 100644 index 0000000..b553de1 --- /dev/null +++ b/src/components/DocumentSection.jsx @@ -0,0 +1,40 @@ +import React from 'react'; +import { useState, useEffect } from 'react'; +import { v4 as uuidv4 } from 'uuid'; +import DocumentLink from '../components/DocumentLink'; +import { Api } from '../helpers/api'; + +const DocumentSection = ({ lang, id, title }) => { + const [docsFileData, setDocsFileData] = useState(); + + useEffect(() => { + // Documents fetch + const DocumentsFileApi = new Api( + `http://tmex.gov.tm:8765/api/documents?category=${id}`, + docsFileData, + setDocsFileData, + ).get({ 'X-Localization': lang }); + + // Scroll to top + window.scrollTo(0, 0); + }, [lang]); + + return ( +
+

{title}

+
+ { + docsFileData + ? docsFileData.data.map((doc) => { + return doc.page === 'Нормативная база' && doc.title != '-' ? ( + + ) : null; + }) + : '' //loader + } +
+
+ ); +}; + +export default DocumentSection; diff --git a/src/pages/Normative.jsx b/src/pages/Normative.jsx index 0d5f1d2..bead0ff 100644 --- a/src/pages/Normative.jsx +++ b/src/pages/Normative.jsx @@ -1,20 +1,22 @@ // Modules import { useState, useEffect } from 'react'; +import { v4 as uuidv4 } from 'uuid'; + // Functions import { Api } from '../helpers/api'; // Components import SectionTitle from '../components/SectionTitle'; -import DocumentLink from '../components/DocumentLink'; +import DocumentSection from '../components/DocumentSection'; export const Normative = ({ lang }) => { - const [docsData, setDocsData] = useState(); + const [docsCategoryData, setDocsCategoryData] = useState(); useEffect(() => { // Documents fetch - const DocumentsApi = new Api( - 'http://tmex.gov.tm:8765/api/documents', - docsData, - setDocsData, + const DocumentsCategotyApi = new Api( + 'http://tmex.gov.tm:8765/api/document/categories', + docsCategoryData, + setDocsCategoryData, ).get({ 'X-Localization': lang }); // Scroll to top @@ -248,19 +250,18 @@ export const Normative = ({ lang }) => { ? 'Documents for download' : null} -
-
- { - docsData - ? docsData.data.map((doc) => { - return doc.page === 'Нормативная база' && doc.title != '-' ? ( - - ) : null; - }) - : '' //loader - } -
-
+ {docsCategoryData + ? docsCategoryData.data.map((category) => { + return ( + + ); + }) + : null}