added api translate

This commit is contained in:
gerchek 2022-01-19 14:49:32 +05:00
parent 9ca137b819
commit 89d8fcd467
39 changed files with 934 additions and 342 deletions

View File

@ -1,23 +1,22 @@
{
"files": {
"main.css": "/static/css/main.cf150dc9.chunk.css",
"main.js": "/static/js/main.b94f9cbe.chunk.js",
"main.js.map": "/static/js/main.b94f9cbe.chunk.js.map",
"runtime-main.js": "/static/js/runtime-main.3dce0fb3.js",
"runtime-main.js.map": "/static/js/runtime-main.3dce0fb3.js.map",
"main.css": "/static/css/main.5d6483a7.chunk.css",
"main.js": "/static/js/main.e1f69784.chunk.js",
"main.js.map": "/static/js/main.e1f69784.chunk.js.map",
"runtime-main.js": "/static/js/runtime-main.80c04ae7.js",
"runtime-main.js.map": "/static/js/runtime-main.80c04ae7.js.map",
"static/css/2.d555f809.chunk.css": "/static/css/2.d555f809.chunk.css",
"static/js/2.04e38610.chunk.js": "/static/js/2.04e38610.chunk.js",
"static/js/2.04e38610.chunk.js.map": "/static/js/2.04e38610.chunk.js.map",
"static/js/3.3bfbe3a5.chunk.js": "/static/js/3.3bfbe3a5.chunk.js",
"static/js/3.3bfbe3a5.chunk.js.map": "/static/js/3.3bfbe3a5.chunk.js.map",
"static/js/2.0380cb5b.chunk.js": "/static/js/2.0380cb5b.chunk.js",
"static/js/2.0380cb5b.chunk.js.map": "/static/js/2.0380cb5b.chunk.js.map",
"static/js/3.6828d12d.chunk.js": "/static/js/3.6828d12d.chunk.js",
"static/js/3.6828d12d.chunk.js.map": "/static/js/3.6828d12d.chunk.js.map",
"index.html": "/index.html",
"static/css/2.d555f809.chunk.css.map": "/static/css/2.d555f809.chunk.css.map",
"static/css/main.cf150dc9.chunk.css.map": "/static/css/main.cf150dc9.chunk.css.map",
"static/js/2.04e38610.chunk.js.LICENSE.txt": "/static/js/2.04e38610.chunk.js.LICENSE.txt",
"static/css/main.5d6483a7.chunk.css.map": "/static/css/main.5d6483a7.chunk.css.map",
"static/js/2.0380cb5b.chunk.js.LICENSE.txt": "/static/js/2.0380cb5b.chunk.js.LICENSE.txt",
"static/media/airport.9ca79b5c.jpg": "/static/media/airport.9ca79b5c.jpg",
"static/media/downArrow.0bea9b11.svg": "/static/media/downArrow.0bea9b11.svg",
"static/media/emblemLogo.80dd243c.svg": "/static/media/emblemLogo.80dd243c.svg",
"static/media/etalonImg.2f331caa.jpg": "/static/media/etalonImg.2f331caa.jpg",
"static/media/flagOfRussia.27852e17.svg": "/static/media/flagOfRussia.27852e17.svg",
"static/media/flagOfTkm.76247a50.svg": "/static/media/flagOfTkm.76247a50.svg",
"static/media/flagOfUK.fd46970f.svg": "/static/media/flagOfUK.fd46970f.svg",
@ -54,10 +53,10 @@
"static/media/turkmenTv.7810c539.jpg": "/static/media/turkmenTv.7810c539.jpg"
},
"entrypoints": [
"static/js/runtime-main.3dce0fb3.js",
"static/js/runtime-main.80c04ae7.js",
"static/css/2.d555f809.chunk.css",
"static/js/2.04e38610.chunk.js",
"static/css/main.cf150dc9.chunk.css",
"static/js/main.b94f9cbe.chunk.js"
"static/js/2.0380cb5b.chunk.js",
"static/css/main.5d6483a7.chunk.css",
"static/js/main.e1f69784.chunk.js"
]
}

View File

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" rel="stylesheet"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>Etalon</title><link href="/static/css/2.d555f809.chunk.css" rel="stylesheet"><link href="/static/css/main.cf150dc9.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);p.length;)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"3bfbe3a5"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpreact-etalon"]=this["webpackJsonpreact-etalon"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([])</script><script src="/static/js/2.04e38610.chunk.js"></script><script src="/static/js/main.b94f9cbe.chunk.js"></script></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" rel="stylesheet"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>Etalon</title><link href="/static/css/2.d555f809.chunk.css" rel="stylesheet"><link href="/static/css/main.5d6483a7.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);p.length;)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"6828d12d"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpreact-etalon"]=this["webpackJsonpreact-etalon"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([])</script><script src="/static/js/2.0380cb5b.chunk.js"></script><script src="/static/js/main.e1f69784.chunk.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
(this["webpackJsonpreact-etalon"]=this["webpackJsonpreact-etalon"]||[]).push([[3],{68:function(t,e,n){"use strict";n.r(e),n.d(e,"getCLS",(function(){return d})),n.d(e,"getFCP",(function(){return S})),n.d(e,"getFID",(function(){return F})),n.d(e,"getLCP",(function(){return k})),n.d(e,"getTTFB",(function(){return C}));var i,a,r,o,u=function(t,e){return{name:t,value:void 0===e?-1:e,delta:0,entries:[],id:"v1-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(t,e){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){if("first-input"===t&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(t){return t.getEntries().map(e)}));return n.observe({type:t,buffered:!0}),n}}catch(t){}},f=function(t,e){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(t(i),e&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(t){addEventListener("pageshow",(function(e){e.persisted&&t(e)}),!0)},m="function"==typeof WeakSet?new WeakSet:new Set,p=function(t,e,n){var i;return function(){e.value>=0&&(n||m.has(e)||"hidden"===document.visibilityState)&&(e.delta=e.value-(i||0),(e.delta||void 0===i)&&(i=e.value,t(e)))}},d=function(t,e){var n,i=u("CLS",0),a=function(t){t.hadRecentInput||(i.value+=t.value,i.entries.push(t),n())},r=c("layout-shift",a);r&&(n=p(t,i,e),f((function(){r.takeRecords().map(a),n()})),s((function(){i=u("CLS",0),n=p(t,i,e)})))},v=-1,l=function(){return"hidden"===document.visibilityState?0:1/0},h=function(){f((function(t){var e=t.timeStamp;v=e}),!0)},g=function(){return v<0&&(v=l(),h(),s((function(){setTimeout((function(){v=l(),h()}),0)}))),{get timeStamp(){return v}}},S=function(t,e){var n,i=g(),a=u("FCP"),r=function(t){"first-contentful-paint"===t.name&&(f&&f.disconnect(),t.startTime<i.timeStamp&&(a.value=t.startTime,a.entries.push(t),m.add(a),n()))},o=performance.getEntriesByName("first-contentful-paint")[0],f=o?null:c("paint",r);(o||f)&&(n=p(t,a,e),o&&r(o),s((function(i){a=u("FCP"),n=p(t,a,e),requestAnimationFrame((function(){requestAnimationFrame((function(){a.value=performance.now()-i.timeStamp,m.add(a),n()}))}))})))},y={passive:!0,capture:!0},E=new Date,w=function(t,e){i||(i=e,a=t,r=new Date,b(removeEventListener),L())},L=function(){if(a>=0&&a<r-E){var t={entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+a};o.forEach((function(e){e(t)})),o=[]}},T=function(t){if(t.cancelable){var e=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,e){var n=function(){w(t,e),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,y),removeEventListener("pointercancel",i,y)};addEventListener("pointerup",n,y),addEventListener("pointercancel",i,y)}(e,t):w(e,t)}},b=function(t){["mousedown","keydown","touchstart","pointerdown"].forEach((function(e){return t(e,T,y)}))},F=function(t,e){var n,r=g(),d=u("FID"),v=function(t){t.startTime<r.timeStamp&&(d.value=t.processingStart-t.startTime,d.entries.push(t),m.add(d),n())},l=c("first-input",v);n=p(t,d,e),l&&f((function(){l.takeRecords().map(v),l.disconnect()}),!0),l&&s((function(){var r;d=u("FID"),n=p(t,d,e),o=[],a=-1,i=null,b(addEventListener),r=v,o.push(r),L()}))},k=function(t,e){var n,i=g(),a=u("LCP"),r=function(t){var e=t.startTime;e<i.timeStamp&&(a.value=e,a.entries.push(t)),n()},o=c("largest-contentful-paint",r);if(o){n=p(t,a,e);var d=function(){m.has(a)||(o.takeRecords().map(r),o.disconnect(),m.add(a),n())};["keydown","click"].forEach((function(t){addEventListener(t,d,{once:!0,capture:!0})})),f(d,!0),s((function(i){a=u("LCP"),n=p(t,a,e),requestAnimationFrame((function(){requestAnimationFrame((function(){a.value=performance.now()-i.timeStamp,m.add(a),n()}))}))}))}},C=function(t){var e,n=u("TTFB");e=function(){try{var e=performance.getEntriesByType("navigation")[0]||function(){var t=performance.timing,e={entryType:"navigation",startTime:0};for(var n in t)"navigationStart"!==n&&"toJSON"!==n&&(e[n]=Math.max(t[n]-t.navigationStart,0));return e}();if(n.value=n.delta=e.responseStart,n.value<0)return;n.entries=[e],t(n)}catch(t){}},"complete"===document.readyState?setTimeout(e,0):addEventListener("pageshow",e)}}}]);
//# sourceMappingURL=3.3bfbe3a5.chunk.js.map
(this["webpackJsonpreact-etalon"]=this["webpackJsonpreact-etalon"]||[]).push([[3],{85:function(t,e,n){"use strict";n.r(e),n.d(e,"getCLS",(function(){return d})),n.d(e,"getFCP",(function(){return S})),n.d(e,"getFID",(function(){return F})),n.d(e,"getLCP",(function(){return k})),n.d(e,"getTTFB",(function(){return C}));var i,a,r,o,u=function(t,e){return{name:t,value:void 0===e?-1:e,delta:0,entries:[],id:"v1-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(t,e){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){if("first-input"===t&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(t){return t.getEntries().map(e)}));return n.observe({type:t,buffered:!0}),n}}catch(t){}},f=function(t,e){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(t(i),e&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(t){addEventListener("pageshow",(function(e){e.persisted&&t(e)}),!0)},m="function"==typeof WeakSet?new WeakSet:new Set,p=function(t,e,n){var i;return function(){e.value>=0&&(n||m.has(e)||"hidden"===document.visibilityState)&&(e.delta=e.value-(i||0),(e.delta||void 0===i)&&(i=e.value,t(e)))}},d=function(t,e){var n,i=u("CLS",0),a=function(t){t.hadRecentInput||(i.value+=t.value,i.entries.push(t),n())},r=c("layout-shift",a);r&&(n=p(t,i,e),f((function(){r.takeRecords().map(a),n()})),s((function(){i=u("CLS",0),n=p(t,i,e)})))},v=-1,l=function(){return"hidden"===document.visibilityState?0:1/0},h=function(){f((function(t){var e=t.timeStamp;v=e}),!0)},g=function(){return v<0&&(v=l(),h(),s((function(){setTimeout((function(){v=l(),h()}),0)}))),{get timeStamp(){return v}}},S=function(t,e){var n,i=g(),a=u("FCP"),r=function(t){"first-contentful-paint"===t.name&&(f&&f.disconnect(),t.startTime<i.timeStamp&&(a.value=t.startTime,a.entries.push(t),m.add(a),n()))},o=performance.getEntriesByName("first-contentful-paint")[0],f=o?null:c("paint",r);(o||f)&&(n=p(t,a,e),o&&r(o),s((function(i){a=u("FCP"),n=p(t,a,e),requestAnimationFrame((function(){requestAnimationFrame((function(){a.value=performance.now()-i.timeStamp,m.add(a),n()}))}))})))},y={passive:!0,capture:!0},E=new Date,w=function(t,e){i||(i=e,a=t,r=new Date,b(removeEventListener),L())},L=function(){if(a>=0&&a<r-E){var t={entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+a};o.forEach((function(e){e(t)})),o=[]}},T=function(t){if(t.cancelable){var e=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,e){var n=function(){w(t,e),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,y),removeEventListener("pointercancel",i,y)};addEventListener("pointerup",n,y),addEventListener("pointercancel",i,y)}(e,t):w(e,t)}},b=function(t){["mousedown","keydown","touchstart","pointerdown"].forEach((function(e){return t(e,T,y)}))},F=function(t,e){var n,r=g(),d=u("FID"),v=function(t){t.startTime<r.timeStamp&&(d.value=t.processingStart-t.startTime,d.entries.push(t),m.add(d),n())},l=c("first-input",v);n=p(t,d,e),l&&f((function(){l.takeRecords().map(v),l.disconnect()}),!0),l&&s((function(){var r;d=u("FID"),n=p(t,d,e),o=[],a=-1,i=null,b(addEventListener),r=v,o.push(r),L()}))},k=function(t,e){var n,i=g(),a=u("LCP"),r=function(t){var e=t.startTime;e<i.timeStamp&&(a.value=e,a.entries.push(t)),n()},o=c("largest-contentful-paint",r);if(o){n=p(t,a,e);var d=function(){m.has(a)||(o.takeRecords().map(r),o.disconnect(),m.add(a),n())};["keydown","click"].forEach((function(t){addEventListener(t,d,{once:!0,capture:!0})})),f(d,!0),s((function(i){a=u("LCP"),n=p(t,a,e),requestAnimationFrame((function(){requestAnimationFrame((function(){a.value=performance.now()-i.timeStamp,m.add(a),n()}))}))}))}},C=function(t){var e,n=u("TTFB");e=function(){try{var e=performance.getEntriesByType("navigation")[0]||function(){var t=performance.timing,e={entryType:"navigation",startTime:0};for(var n in t)"navigationStart"!==n&&"toJSON"!==n&&(e[n]=Math.max(t[n]-t.navigationStart,0));return e}();if(n.value=n.delta=e.responseStart,n.value<0)return;n.entries=[e],t(n)}catch(t){}},"complete"===document.readyState?setTimeout(e,0):addEventListener("pageshow",e)}}}]);
//# sourceMappingURL=3.6828d12d.chunk.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);p.length;)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"3bfbe3a5"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpreact-etalon"]=this["webpackJsonpreact-etalon"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([]);
//# sourceMappingURL=runtime-main.3dce0fb3.js.map
!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);p.length;)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"6828d12d"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpreact-etalon"]=this["webpackJsonpreact-etalon"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([]);
//# sourceMappingURL=runtime-main.80c04ae7.js.map

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 KiB

146
package-lock.json generated
View File

@ -12,6 +12,7 @@
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"html-react-parser": "^1.4.5",
"i18next": "^21.6.6",
"node-sass": "^6.0.1",
"react": "^17.0.2",
@ -25,8 +26,7 @@
"uuid": "^8.3.2",
"uuidv4": "^6.2.12",
"web-vitals": "^1.1.2"
},
"devDependencies": {}
}
},
"node_modules/@babel/code-frame": {
"version": "7.16.7",
@ -9368,6 +9368,44 @@
"resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
"integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg="
},
"node_modules/html-dom-parser": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-1.0.4.tgz",
"integrity": "sha512-ThM/vK/18R5/cVB9UsqhNqbJU7LE2BmSA7C/FjYV88wIDW75GSUpvSE/JxE4mJ8bOuU6Kp15/I1giM2JbD+ieA==",
"dependencies": {
"domhandler": "4.3.0",
"htmlparser2": "7.2.0"
}
},
"node_modules/html-dom-parser/node_modules/entities": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
"integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/html-dom-parser/node_modules/htmlparser2": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
"integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
"funding": [
"https://github.com/fb55/htmlparser2?sponsor=1",
{
"type": "github",
"url": "https://github.com/sponsors/fb55"
}
],
"dependencies": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.2",
"domutils": "^2.8.0",
"entities": "^3.0.1"
}
},
"node_modules/html-encoding-sniffer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
@ -9417,6 +9455,20 @@
"void-elements": "3.1.0"
}
},
"node_modules/html-react-parser": {
"version": "1.4.5",
"resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-1.4.5.tgz",
"integrity": "sha512-dxo0z1G9b3mS1VGmcVw4cUGwVsEwkJZZ7r29pOSdE69JukJyFTCL1I6TXSEp2p1LAHvuO6ZBiEVp2M5lXqKLAg==",
"dependencies": {
"domhandler": "4.3.0",
"html-dom-parser": "1.0.4",
"react-property": "2.0.0",
"style-to-js": "1.1.0"
},
"peerDependencies": {
"react": "0.14 || 15 || 16 || 17"
}
},
"node_modules/html-webpack-plugin": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz",
@ -9915,6 +9967,11 @@
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
},
"node_modules/inline-style-parser": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
},
"node_modules/internal-ip": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
@ -15242,6 +15299,11 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"node_modules/react-property": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.0.tgz",
"integrity": "sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw=="
},
"node_modules/react-redux": {
"version": "7.2.6",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.6.tgz",
@ -18010,6 +18072,22 @@
"webpack": "^4.0.0 || ^5.0.0"
}
},
"node_modules/style-to-js": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.0.tgz",
"integrity": "sha512-1OqefPDxGrlMwcbfpsTVRyzwdhr4W0uxYQzeA2F1CBc8WG04udg2+ybRnvh3XYL4TdHQrCahLtax2jc8xaE6rA==",
"dependencies": {
"style-to-object": "0.3.0"
}
},
"node_modules/style-to-object": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
"integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
"dependencies": {
"inline-style-parser": "0.1.1"
}
},
"node_modules/stylehacks": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
@ -28287,6 +28365,33 @@
"resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
"integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg="
},
"html-dom-parser": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-1.0.4.tgz",
"integrity": "sha512-ThM/vK/18R5/cVB9UsqhNqbJU7LE2BmSA7C/FjYV88wIDW75GSUpvSE/JxE4mJ8bOuU6Kp15/I1giM2JbD+ieA==",
"requires": {
"domhandler": "4.3.0",
"htmlparser2": "7.2.0"
},
"dependencies": {
"entities": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
"integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q=="
},
"htmlparser2": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
"integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.2",
"domutils": "^2.8.0",
"entities": "^3.0.1"
}
}
}
},
"html-encoding-sniffer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
@ -28327,6 +28432,17 @@
"void-elements": "3.1.0"
}
},
"html-react-parser": {
"version": "1.4.5",
"resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-1.4.5.tgz",
"integrity": "sha512-dxo0z1G9b3mS1VGmcVw4cUGwVsEwkJZZ7r29pOSdE69JukJyFTCL1I6TXSEp2p1LAHvuO6ZBiEVp2M5lXqKLAg==",
"requires": {
"domhandler": "4.3.0",
"html-dom-parser": "1.0.4",
"react-property": "2.0.0",
"style-to-js": "1.1.0"
}
},
"html-webpack-plugin": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz",
@ -28707,6 +28823,11 @@
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
},
"inline-style-parser": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
},
"internal-ip": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
@ -32870,6 +32991,11 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"react-property": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.0.tgz",
"integrity": "sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw=="
},
"react-redux": {
"version": "7.2.6",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.6.tgz",
@ -35064,6 +35190,22 @@
"schema-utils": "^2.7.0"
}
},
"style-to-js": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.0.tgz",
"integrity": "sha512-1OqefPDxGrlMwcbfpsTVRyzwdhr4W0uxYQzeA2F1CBc8WG04udg2+ybRnvh3XYL4TdHQrCahLtax2jc8xaE6rA==",
"requires": {
"style-to-object": "0.3.0"
}
},
"style-to-object": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
"integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
"requires": {
"inline-style-parser": "0.1.1"
}
},
"stylehacks": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",

View File

@ -6,6 +6,7 @@
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"html-react-parser": "^1.4.5",
"i18next": "^21.6.6",
"node-sass": "^6.0.1",
"react": "^17.0.2",

View File

@ -22,6 +22,7 @@ import CalibrateInstruments from "./pages/CalibrateInstruments";
import CalibrateThermo from "./pages/CalibrateThermo";
import Regulations from "./pages/Regulations";
import Service from "./pages/Service";
import Post from "./pages/Post";
// IMPORT STYLES
import "./styles/app.scss";
@ -40,11 +41,14 @@ function App() {
<Route path="/news/:slug" component={Novelty} exact>
{/* <Novelty /> */}
</Route>
<Route path="/prices/meteorology/:slug" component={Post} exact>
{/* <Post /> */}
</Route>
<Route path="/etalons" exact>
<Etalons />
</Route>
<Route path="/etalons/1">
<Etalon />
<Route path="/etalons/:slug" component={Etalon} exact>
{/* <Etalon /> */}
</Route>
<Route path="/legislation">
<Legislation />

View File

@ -2,6 +2,8 @@
import React, { useRef } from "react";
import { Link } from "react-router-dom";
import i18n from '../../i18n';
import { withTranslation } from 'react-i18next';
// IMPORT IMAGES
import MainLogo from "../../svg/mainLogo.svg";
@ -11,7 +13,8 @@ import flagOfRussia from "../../svg/flagOfRussia.svg";
import flagOfUK from "../../svg/flagOfUK.svg";
import flagOfTkm from "../../svg/flagOfTkm.svg";
function Nav ({ t }) {
function Nav (props) {
const {t} = props;
const changeLanguage = (lng) => {
i18n.changeLanguage(lng);
console.log(lng);
@ -37,23 +40,23 @@ function Nav ({ t }) {
<div className="nav-right">
<ul className="nav-link">
<li className="nav-link">
<Link to="/news">Новости</Link>
<Link to="/news">{t('Новости')}</Link>
</li>
<li className="nav-link">
<Link to="/etalons">Эталоны</Link>
<Link to="/etalons">{t('Эталоны')}</Link>
</li>
<li className="nav-link nav-select">
<div className="nav-dropdown">
<ul className="nav-dropdown-content">
<li className="dropdown-content">
<Link to="/service">Информация об услугах</Link>
<Link to="/service">{t('Информация об услугах')}</Link>
</li>
<li className="dropdown-content">
<Link to="/prices">Стоимость</Link>
<Link to="/prices">{t('Стоимость')}</Link>
</li>
</ul>
</div>
<h3>Услуги</h3>
<h3>{t('Услуги')}</h3>
<img
className="nav-downarrow"
src={downArrow}
@ -64,11 +67,11 @@ function Nav ({ t }) {
<div className="nav-dropdown">
<ul className="nav-dropdown-content">
<li className="dropdown-content">
<Link to="/legislation">Законодательная база</Link>
<Link to="/legislation">{t('Законодательная база')}</Link>
</li>
</ul>
</div>
<h3>Нормативная база</h3>
<h3>{t('Нормативная база')}</h3>
<img
className="nav-downarrow"
src={downArrow}
@ -80,17 +83,17 @@ function Nav ({ t }) {
<ul className="nav-dropdown-content">
<li className="dropdown-content">
<Link to="/measuring_register">
Гос. реестр средств измерений
{t('Гос. реестр средств измерений')}
</Link>
</li>
<li className="dropdown-content">
<Link to="/measuring_regulations">
Реестр нормативной документации
{t('Реестр нормативной документации')}
</Link>
</li>
</ul>
</div>
<h3>Реестры</h3>
<h3>{t('Реестры')}</h3>
<img
className="nav-downarrow"
src={downArrow}
@ -101,14 +104,14 @@ function Nav ({ t }) {
<div className="nav-dropdown">
<ul className="nav-dropdown-content">
<li className="dropdown-content">
<Link to="/history">История центра</Link>
<Link to="/history">{t('История центра')}</Link>
</li>
<li className="dropdown-content">
<Link to="/structure">Структура центра</Link>
<Link to="/structure">{t('Структура центра')}</Link>
</li>
</ul>
</div>
<h3>О центре</h3>
<h3>{t('О центре')}</h3>
<img
className="nav-downarrow"
src={downArrow}
@ -351,4 +354,5 @@ function Nav ({ t }) {
);
};
export default Nav;
// export default Nav;
export default withTranslation()(Nav);

View File

@ -1,3 +1,17 @@
{
"test":"test_en"
"test":"test_en",
"Новости":"All news",
"Эталоны":"Etalons",
"Услуги":"Services",
"Нормативная база":"Normative Base",
"Законодательная база":"Legislative Base",
"Информация об услугах":"Information on services",
"Стоимость":"Tariffs",
"Реестры":"Registers",
"Гос. реестр средств измерений":"State register of measuring tools",
"Реестр нормативной документации":"Register of normative documentation",
"О центре":"About Center",
"История центра":"History of Center",
"Структура центра":"Structure of Center"
}

View File

@ -1,3 +1,16 @@
{
"test":"test_ru"
"test":"test_ru",
"Новости":"Новости",
"Эталоны":"Эталоны",
"Услуги":"Услуги",
"Нормативная база":"Нормативная база",
"Законодательная база":"Законодательная база",
"Информация об услугах":"Информация об услугах",
"Стоимость":"Стоимость",
"Реестры":"Реестры",
"Гос. реестр средств измерений":"Гос. реестр средств измерений",
"Реестр нормативной документации":"Реестр нормативной документации",
"О центре":"О центре",
"История центра":"История центра",
"Структура центра":"Структура центра"
}

View File

@ -1,14 +1,84 @@
// IMPORT MODULES
import React, { useEffect } from "react";
import React from "react";
import { Link } from "react-router-dom";
import i18n from '../i18n';
import { withTranslation } from 'react-i18next';
// IMPORT COMPONENTS
import Breadcrumb from "../components/Global/Breadcrumb";
const CalibrateInstruments = () => {
useEffect(() => {
window.scrollTo(0, 0);
}, []);
// const CalibrateInstruments = () => {
// useEffect(() => {
// window.scrollTo(0, 0);
// }, []);
class CalibrateInstruments extends React.Component {
constructor(props) {
super(props);
this.state = {
items: [],
DataisLoaded: false,
error: null
};
}
componentDidMount() {
this._mounted = true
this.makeRemoteRequest();
}
componentWillUnmount() {
this._mounted = false
}
makeRemoteRequest = () => {
const url = `http://217.174.238.204:8888/api/v1/categories/8`
if (this._mounted) {
this.setState({ DataisLoaded: true });
}
setTimeout(() => {
fetch(url, {
method: 'GET',
})
.then(res => res.json())
.then(res => {
if (this._mounted) {
this.setState({
items: res.data[0]['posts'],
error: res.message || null,
DataisLoaded: true,
})
console.log(res.data)
}
})
.catch(error => {
if (this._mounted) {
this.setState({ error, DataisLoaded: false});
}
});
}, 1500);
};
render() {
// const [pageIndex, setPageIndex] = useState(1);
var {DataisLoaded, items} = this.state;
if(!DataisLoaded){
return <div>Loading ....</div>
}else{
return (
<section className="calibrate-inst">
<Breadcrumb
@ -27,36 +97,38 @@ const CalibrateInstruments = () => {
</div>
<div className="plans-content">
<div className="plans-card-wrapper">
<Link to="/prices/calibrate_instruments/1" className="planscard">
<h4>Измерения геометрических величин</h4>
</Link>
<Link to="/prices/calibrate_instruments/2" className="planscard">
<h4>Измерения механических величин</h4>
</Link>
<Link to="/prices/calibrate_instruments/3" className="planscard">
<h4>Измерения давления и вакуума</h4>
</Link>
<Link to="/prices/calibrate_instruments/4" className="planscard">
<h4>Измерения уровня расхода, воды и...</h4>
</Link>
<Link to="/prices/calibrate_instruments/5" className="planscard">
<h4>Измерения физико-химических и оп...</h4>
</Link>
<Link to="/prices/calibrate_instruments/6" className="planscard">
<h4>Тепло-физичекие и температурные...</h4>
</Link>
<Link to="/prices/calibrate_instruments/7" className="planscard">
<h4>Измерение времени и частоты</h4>
</Link>
<Link to="/prices/calibrate_instruments/8" className="planscard">
<h4>Измерения электрических и магнит...</h4>
{items.map(item=>(
<Link to={`/prices/meteorology/${item.slug}`} className="planscard" key={item.id}>
<h4>{(() => {
if(i18n.language === 'en') {
return (
JSON.parse(item['translations'][0]['attribute_data']).title
)
} else if (i18n.language === 'ru') {
return (
item.title
)
} else {
return (
JSON.parse(item['translations'][1]['attribute_data']).title
)
}
})()
}</h4>
</Link>
))}
</div>
</div>
</div>
</div>
</section>
);
}
}
};
export default CalibrateInstruments;
// export default CalibrateInstruments;
export default withTranslation()(CalibrateInstruments);

View File

@ -1,103 +1,139 @@
// IMPORT MODULES
import React, { useEffect } from "react";
import React from "react";
import i18n from '../i18n';
import { withTranslation } from 'react-i18next';
// IMPORT COMPONENTS
import Breadcrumb from "../components/Global/Breadcrumb";
// IMPORT IMAGES
import EtalonImg from "../img/etalonImg.jpg";
// import EtalonImg from "../img/etalonImg.jpg";
// const Etalon = () => {
// useEffect(() => {
// window.scrollTo(0, 0);
// }, []);
class Etalon extends React.Component {
constructor(props) {
super(props);
this.state = {
items: [],
DataisLoaded: false,
error: null
};
}
componentDidMount() {
this._mounted = true
this.makeRemoteRequest();
}
componentWillUnmount() {
this._mounted = false
}
makeRemoteRequest = () => {
const url = `http://217.174.238.204:8888/api/v1/posts/`+this.props.match.params.slug;
if (this._mounted) {
this.setState({ DataisLoaded: true });
}
setTimeout(() => {
fetch(url, {
method: 'GET',
})
.then(res => res.json())
.then(res => {
if (this._mounted) {
this.setState({
items: res.data,
error: res.message || null,
DataisLoaded: true,
})
// console.log(this.state.items[0][0]['content'])
console.log(this.state.items[0][0]['translations'][0]['attribute_data']);
}
})
.catch(error => {
if (this._mounted) {
this.setState({ error, DataisLoaded: false});
}
});
}, 1500);
};
render() {
// const [pageIndex, setPageIndex] = useState(1);
var {DataisLoaded, items} = this.state;
if(!DataisLoaded){
return <div>Loading ....</div>
}else{
const Etalon = () => {
useEffect(() => {
window.scrollTo(0, 0);
}, []);
return (
<section className="etalon">
<Breadcrumb
path_1="Государственные эталоны"
link_1="/etalons"
path_2="Государственный эталон единицы массы"
path_2={this.props.match.params.slug}
currentUrl="../etalons/1"
/>
<div className="container">
<div className="etalon-inner">
{items.map(item=>(
<div className="etalon-inner" key={item[0]['id']}>
<div className="novelty-head">
<div className="novelty-img">
<img src={EtalonImg} alt="Etalon" />
<img src={item[0]['featured_images'][0]['path']} alt="Etalon" />
</div>
<h4 className="novelty-title">
Государственный эталон единицы массы
{ i18n.language === 'en' &&
JSON.parse(item[0]['translations'][0]['attribute_data']).title
}
{ i18n.language === 'ru' &&
item[0]['title']
}
{ i18n.language === 'tm' &&
JSON.parse(item[0]['translations'][1]['attribute_data']).title
}
</h4>
</div>
<div className="novelty-text">
<span>
<span className="pgraph">
Государственный эталон массы служит для воспроизведения,
хранения и передачи размера единицы массы в диапазоне от 1 мг до
1 кг. передача размера единицы массы гирям классом точности E2
осуществляется сличением при помощи компараторов. Работу с
гирями проводят в перчатках с микрофибры и пинцетом. Область
измерения массы является наиболее обширной. Метрологическое
обеспечение единства измерений массы используется во всех
областях науки и производственной деятельности.
</span>
<span className="pgraph">
<h6>Состав государственного эталона:</h6>
<ul>
<li>
Набор гирь с номинальным значением массы от 1 мг до 1 кг,
класса точности Е1 производства «Hafner Gewichte GmbH»
Германия;
</li>
<li>
Микровесы - масскомпаратор XP26С, НПВ 22г, d =1 мкг,
производства «MettlerToledo» Швейцария;
</li>
<li>
Масс-компаратор AX106, НПВ 111г, d =1 мкг, производства
«Mettler Тoledo» Швейцария;
</li>
<li>
Масс-компаратор AX1004 НПВ, 1109 г, d=0,1 мг, производства
«Mettler Тoledo» Швейцария;
</li>
<li>
Прибор для измерения магнитной восприимчивости Susceptometer
YSZ02C;
</li>
<li>Эталон восприимчивости YSZ01RSC-HE210-1;</li>
<li>
Прибор для контроля магнитной проницаемости материала гирь
µ=1,01-1,9; 5,0;
</li>
<li>
Система измерений и регистрации климатических условий
окружающей среды Micromec MultisensMLm 1624n.
</li>
</ul>
</span>
<span className="pgraph">
<h6>Метрологические характеристики:</h6>
<p>
В основу эталона положен метод воспроизведения единицы массы
государственным эталоном, размер которой в соответствии с
государственной поверочной схемой передается средствам
измерений массы. Передача размера единицы массы гирям 1
разряда (класса точности Е2) осуществляется сличением при
помощи компараторов. Эталон (Гири класса точности Е1)
обеспечивает воспроизведение, хранение и передачу единицы
массы в диапазоне от 1 мг до 1 кг с расширенной
неопределенностью значения которой не превышают от 0,003 мг
(для гирь номинальной массой 1 мг) до 0,5 мг (для гирь
номинальной массой 1 кг).
</p>
</span>
</span>
{/* {item[0]['content']} */}
{ i18n.language === 'en' &&
JSON.parse(item[0]['translations'][0]['attribute_data']).content
}
{ i18n.language === 'ru' &&
item[0]['content']
}
{ i18n.language === 'tm' &&
JSON.parse(item[0]['translations'][1]['attribute_data']).content
}
</div>
</div>
))}
</div>
</section>
);
}
}
};
export default Etalon;
// export default Etalon;
export default withTranslation()(Etalon);

View File

@ -1,6 +1,6 @@
// IMPORT MODULES
import React from "react";
// import i18n from '../i18n';
import i18n from '../i18n';
import { withTranslation } from 'react-i18next';
// IMPORT COMPONENTS
@ -116,12 +116,46 @@ class Etalons extends React.Component {
<EtalonsCard
key={item.id}
img={ item['featured_images'][0]['path'] }
title="Государственный эталон единицы массы"
link="../etalons/1"
title={
(() => {
if(i18n.language === 'en') {
return (
JSON.parse(item['translations'][0]['attribute_data']).title
)
} else if (i18n.language === 'ru') {
return (
item.title
)
} else {
return (
JSON.parse(item['translations'][1]['attribute_data']).title
)
}
})()
}
link={`/etalons/${item.slug}`}
/>
))}
{/* {
(() => {
if(i18n.language === 'en') {
return (
<p>Hi</p>
)
} else if (i18n.language === 'ru') {
return (
<p>Hello</p>
)
} else {
return (
<p>Bye</p>
)
}
})()
} */}
</div>
</div>
</div>

View File

@ -88,7 +88,7 @@ class Legislation extends React.Component {
// console.log('salam-ruru');
// }
const { t } = this.props;
// const { t } = this.props;
var {DataisLoaded, items} = this.state;
if(!DataisLoaded){

View File

@ -1,13 +1,80 @@
// // IMPORT MODULES
import React, { useEffect } from "react";
import React from "react";
// IMPORT COMPONENTS
import Breadcrumb from "../components/Global/Breadcrumb";
const MeasuringRegister = () => {
useEffect(() => {
window.scrollTo(0, 0);
}, []);
// const MeasuringRegister = () => {
// useEffect(() => {
// window.scrollTo(0, 0);
// }, []);
class MeasuringRegister extends React.Component {
constructor(props) {
super(props);
this.state = {
items: [],
DataisLoaded: false,
error: null
};
}
componentDidMount() {
this._mounted = true
this.makeRemoteRequest();
}
componentWillUnmount() {
this._mounted = false
}
makeRemoteRequest = () => {
const url = `http://217.174.238.204:8888/api/v1/reestr`
if (this._mounted) {
this.setState({ DataisLoaded: true });
}
setTimeout(() => {
fetch(url, {
method: 'GET',
})
.then(res => res.json())
.then(res => {
if (this._mounted) {
this.setState({
items: res.data,
error: res.message || null,
DataisLoaded: true,
})
console.log(res.data)
}
})
.catch(error => {
if (this._mounted) {
this.setState({ error, DataisLoaded: false});
}
});
}, 1500);
};
render() {
const { t } = this.props;
var {DataisLoaded, items} = this.state;
if(!DataisLoaded){
return <div>Loading ....</div>
}else{
return (
<section className="measuring-register">
@ -29,6 +96,9 @@ const MeasuringRegister = () => {
<div className="mr-table">
<table className="structure-table">
<tbody>
<tr className="table-head">
<th>
<span> серт.</span>
@ -46,74 +116,29 @@ const MeasuringRegister = () => {
<span>Срок действия</span>
</th>
</tr>
<tr>
{items.map(item=>(
<tr key={item.id}>
<td>
<span>0001</span>
<span>{ item.id }</span>
</td>
<td>
<span>001-97</span>
<span>{ item.certificate_no }</span>
</td>
<td>
<span>Многофункциональный счетчикэлектроэнергии АЛЬФА</span>
<span>{ item.reestr_no }</span>
</td>
<td>
<span> «АВВ ВЭИ» Метроникаг. Москва</span>
<span>{ item.reestr_name }</span>
</td>
<td>
<span>-</span>
</td>
</tr>
<tr>
<td>
<span>0002</span>
</td>
<td>
<span>002-97</span>
</td>
<td>
<span>Весы электронные D1-10 D1-20 Avengen</span>
</td>
<td>
<span>Teraoka Weight system PTE г . Сингапур</span>
</td>
<td>
<span>-</span>
</td>
</tr>
<tr>
<td>
<span>0003</span>
</td>
<td>
<span>003-98</span>
</td>
<td>
<span>Счетчики горячей и холодной PICOFLUX</span>
</td>
<td>
<span>Фирма ABB Kent Messteсhnik СmbhГермания</span>
</td>
<td>
<span>01.05.2002 г.</span>
</td>
</tr>
<tr>
<td>
<span>0004</span>
</td>
<td>
<span>004-98</span>
</td>
<td>
<span>Счетчики горячей и холодной MAM, MNR,MPR, MT-R</span>
</td>
<td>
<span>Фирма ABB Kent Messteсhnik СmbhГермания</span>
</td>
<td>
<span>-</span>
<span>{ item.manufacture }</span>
</td>
</tr>
))}
</tbody>
</table>
</div>
@ -121,6 +146,8 @@ const MeasuringRegister = () => {
</div>
</section>
);
}
}
};
export default MeasuringRegister;

View File

@ -1,6 +1,8 @@
// // IMPORT MODULES
import React from "react";
import { Link } from "react-router-dom";
import i18n from '../i18n';
import { withTranslation } from 'react-i18next';
// IMPORT COMPONENTS
import Breadcrumb from "../components/Global/Breadcrumb";
@ -98,8 +100,24 @@ class Meteorology extends React.Component {
{items.map(item=>(
<Link to={`/prices/meteorology/${item.slug}`} className="planscard">
<h4>{item.title}</h4>
<Link to={`/prices/meteorology/${item.slug}`} className="planscard" key={item.id}>
<h4>{
(() => {
if(i18n.language === 'en') {
return (
JSON.parse(item['translations'][0]['attribute_data']).title
)
} else if (i18n.language === 'ru') {
return (
item.title
)
} else {
return (
JSON.parse(item['translations'][1]['attribute_data']).title
)
}
})()
}</h4>
</Link>
))}
@ -114,4 +132,5 @@ class Meteorology extends React.Component {
}
};
export default Meteorology;
// export default Meteorology;
export default withTranslation()(Meteorology);

View File

@ -1,8 +1,8 @@
// IMPORT MODULES
import React from "react";
import { Link } from "react-router-dom";
// import i18n from '../i18n';
// import { withTranslation } from 'react-i18next';
import i18n from '../i18n';
import { withTranslation } from 'react-i18next';
// IMPORT COMPONENTS
import Breadcrumb from "../components/Global/Breadcrumb";
@ -111,8 +111,15 @@ class News extends React.Component {
<div className="tab-bottom">
<span className="tab-date">30.05.2021</span>
<h2 className="tab-name">
Состоялись мероприятия, приуроченные к Празднику
туркменского ковра
{ i18n.language === 'en' &&
JSON.parse(item['translations'][0]['attribute_data']).title
}
{ i18n.language === 'ru' &&
item.title
}
{ i18n.language === 'tm' &&
JSON.parse(item['translations'][1]['attribute_data']).title
}
</h2>
<div className="tab-header-link tab-link">
@ -164,4 +171,5 @@ class News extends React.Component {
}
};
export default News;
// export default News;
export default withTranslation()(News);

View File

@ -1,6 +1,6 @@
// IMPORT MODULES
import React from "react";
// import i18n from '../i18n';
import i18n from '../i18n';
import { withTranslation } from 'react-i18next';
// IMPORT COMPONENTS
@ -102,12 +102,29 @@ class Novelty extends React.Component {
<img src={item[0]['featured_images'][0]['path']} alt="Novelty" />
</div>
<h4 className="novelty-title">
Очередная видеовстреча с зарубежными партнёрами
{ i18n.language === 'en' &&
JSON.parse(item[0]['translations'][0]['attribute_data']).title
}
{ i18n.language === 'ru' &&
item[0]['title']
}
{ i18n.language === 'tm' &&
JSON.parse(item[0]['translations'][1]['attribute_data']).title
}
</h4>
</div>
<div className="novelty-text">
{item[0]['content']}
{/* {item[0]['content']} */}
{ i18n.language === 'en' &&
JSON.parse(item[0]['translations'][0]['attribute_data']).content
}
{ i18n.language === 'ru' &&
item[0]['content']
}
{ i18n.language === 'tm' &&
JSON.parse(item[0]['translations'][1]['attribute_data']).content
}
</div>
</div>

196
src/pages/Post.js Normal file
View File

@ -0,0 +1,196 @@
// IMPORT MODULES
import React from "react";
import parse from 'html-react-parser';
import i18n from '../i18n';
import { withTranslation } from 'react-i18next';
// IMPORT COMPONENTS
import Breadcrumb from "../components/Global/Breadcrumb";
// IMPORT IMAGES
// import Img from "../img/pricesImg_3-large.jpg";
// const Post = () => {
// useEffect(() => {
// window.scrollTo(0, 0);
// }, []);
class Post extends React.Component {
constructor(props) {
super(props);
this.state = {
items: [],
DataisLoaded: false,
error: null
};
}
componentDidMount() {
this._mounted = true
this.makeRemoteRequest();
// this.translate();
// console.log(this.state.items);
}
componentWillUnmount() {
this._mounted = false
}
makeRemoteRequest = () => {
const url = `http://217.174.238.204:8888/api/v1/posts/`+this.props.match.params.slug;
if (this._mounted) {
this.setState({ DataisLoaded: true });
}
setTimeout(() => {
fetch(url, {
method: 'GET',
})
.then(res => res.json())
.then(res => {
if (this._mounted) {
this.setState({
items: res.data,
error: res.message || null,
DataisLoaded: true,
})
// console.log(this.state.items[0][0]['content_html'])
//
// let elem = document.querySelector('.calibrate-thermo-table structure-employees');
// elem.innerHTML= this.state.items[0][0]['content_html'];
// elem.innerHTML = 'salam';
// console.log(elem);
// if(i18n.language == 'ru')
// {
// elem.innerHTML= this.state.items['data'][0][0]['content'];
// this._isMounted = false;
// }
// else if(i18n.language == 'en')
// {
// elem.innerHTML= JSON.parse(this.state.items['data'][0][0]['translations'][0]['attribute_data']).content;
// this._isMounted = false;
// }
// else
// {
// elem.innerHTML= JSON.parse(this.state.items['data'][0][0]['translations'][1]['attribute_data']).content;
// this._isMounted = false;
// }
//
}
})
.catch(error => {
if (this._mounted) {
this.setState({ error, DataisLoaded: false});
console.log(error);
}
});
}, 1500);
// console.log(this.state.items);
};
// translate = () => {
// // console.log('salam');
// // let elem = document.querySelector('.calibrate-thermo-table structure-employees');
// // elem.innerHTML= this.state.items[0][0]['content'];
// console.log(this.state.items[0][0]['content'])
// }
render() {
// console.log(this.state.items);
// let elem = document.querySelector('.calibrate-thermo-table structure-employees');
// console.log(elem);
// const [pageIndex, setPageIndex] = useState(1);
// let elem = document.querySelector('.calibrate-thermo-table structure-employees');
// elem.innerHTML= this.state.items[0][0]['content'];
var {DataisLoaded, items} = this.state;
if(!DataisLoaded){
return <div>Loading ....</div>
}else{
return (
<section className="calibrate-thermo">
<Breadcrumb
path_1="Стоимость"
path_2="Стоимость калибровки термометров сопротивления в калибровки в аккредитованной области"
link_1="/prices"
currentUrl="/prices/calibrate_thermo"
/>
<div className="container">
{items.map(item=>(
<div className="calibrate-thermo-inner" key={item[0]['id']}>
<div className="tab-header">
<h4 className="tab-header-text" id="tab-header-text">
Тарифы
</h4>
<div className="tab-header-line"></div>
</div>
<div className="calibrate-thermo-content">
<div className="novelty-head">
<div className="novelty-img">
<img src={item[0]['featured_images'][0]['path']} alt="Calibration" />
</div>
<h4 className="novelty-title">
{ i18n.language === 'en' &&
JSON.parse(item[0]['translations'][0]['attribute_data']).title
}
{ i18n.language === 'ru' &&
item[0]['title']
}
{ i18n.language === 'tm' &&
JSON.parse(item[0]['translations'][1]['attribute_data']).title
}
</h4>
</div>
<div className="calibrate-thermo-table structure-employees">
{ i18n.language === 'en' &&
parse(JSON.parse(item[0]['translations'][0]['attribute_data']).content )
}
{ i18n.language === 'ru' &&
parse(item[0]['content'])
}
{ i18n.language === 'tm' &&
parse(JSON.parse(item[0]['translations'][1]['attribute_data']).content )
}
{/* {
let elem = document.querySelector('.calibrate-thermo-table structure-employees');
console.log(elem);
} */}
</div>
</div>
</div>
))}
</div>
</section>
);
}
}
};
// export default Post;
export default withTranslation()(Post);

View File

@ -1,5 +1,5 @@
// IMPORT MODULES
import React, { useEffect } from "react";
import React from "react";
// IMPORT COMPONENTS
import Breadcrumb from "../components/Global/Breadcrumb";
@ -110,7 +110,7 @@ class Structure extends React.Component {
</tr>
{items.map(item=>(
<tr>
<tr key={item.id}>
<td>
<span className="name">
{item.name}

View File

@ -23,7 +23,7 @@
p {
font-size: 1.8rem;
word-spacing: 0.1rem;
line-height: 3rem;
line-height: 3.5rem;
}
}

View File

@ -145,12 +145,12 @@
.tab-top {
div {
max-width: 40rem;
max-height: 26rem;
height: 26rem;
img {
width: 100%;
height: 100%;
object-fit: contain;
object-fit: cover;
}
}
}
@ -312,12 +312,13 @@
display: flex;
align-items: center;
justify-content: center;
// max-width: 37.6rem;
// img {
// width: 100%;
// height: 100%;
// object-fit: contain;
// }
img {
width: 100%;
height: 100%;
object-fit: contain;
}
}
// THIRD TAB SECTION
@ -359,6 +360,7 @@
}
@media screen and (max-width: 1360px) {
.slider {
padding-bottom: 6rem;
}
@ -371,6 +373,8 @@
.dept {
max-width: unset;
max-height: unset;
height: 100%;
}
.sites-wrapper .site {

View File

@ -20,7 +20,8 @@
.novelty-img {
max-width: 100rem;
max-height: 56.6rem;
// max-height: 56.6rem;
height: 70.6rem;
img {
width: 100%;
@ -38,6 +39,7 @@
.novelty-text {
font-size: 1.8rem;
text-align: left;
line-height: 3.5rem;
}
.pgraph {