From 87fc9dbdc2478e255966a0567c704151e41ab9e4 Mon Sep 17 00:00:00 2001 From: Denis Prokhorchik Date: Sun, 2 Jan 2022 20:28:08 +0300 Subject: [PATCH 1/2] feat(issue-102): update front views for pfr-centr.com --- src/WebApps/pfr-app/pfr-app/package-lock.json | 141 ++++++ src/WebApps/pfr-app/pfr-app/package.json | 2 + src/WebApps/pfr-app/pfr-app/public/index.html | 355 +------------- src/WebApps/pfr-app/pfr-app/src/App.js | 97 ++-- .../pfr-app/pfr-app/src/Components/Footer.jsx | 39 +- .../pfr-app/pfr-app/src/Components/Header.jsx | 72 +++ .../pfr-app/src/Components/SpecialistItem.jsx | 64 +++ .../pfr-app/src/Components/SpecialistList.jsx | 21 + .../pfr-app/pfr-app/src/Data/specialists.js | 23 + .../pfr-app/pfr-app/src/pages/About.jsx | 13 + .../pfr-app/src/pages/AboutAdvertising.jsx | 13 + .../pfr-app/pfr-app/src/pages/Home.jsx | 435 ++++++++++++++++++ .../pfr-app/src/pages/PrivacyStatement.jsx | 28 ++ .../pfr-app/pfr-app/src/pages/SiteMap.jsx | 13 + .../pfr-app/pfr-app/src/pages/Specialists.jsx | 17 + .../pfr-app/pfr-app/src/pages/TermsOfUse.jsx | 18 + .../pfr-app/pfr-app/src/pages/Trademarks.jsx | 13 + 17 files changed, 943 insertions(+), 421 deletions(-) create mode 100644 src/WebApps/pfr-app/pfr-app/src/Components/Header.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/Components/SpecialistItem.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/Components/SpecialistList.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/Data/specialists.js create mode 100644 src/WebApps/pfr-app/pfr-app/src/pages/About.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/pages/AboutAdvertising.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/pages/PrivacyStatement.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/pages/SiteMap.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/pages/Specialists.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/pages/TermsOfUse.jsx create mode 100644 src/WebApps/pfr-app/pfr-app/src/pages/Trademarks.jsx diff --git a/src/WebApps/pfr-app/pfr-app/package-lock.json b/src/WebApps/pfr-app/pfr-app/package-lock.json index 30e715f3..9693ec13 100644 --- a/src/WebApps/pfr-app/pfr-app/package-lock.json +++ b/src/WebApps/pfr-app/pfr-app/package-lock.json @@ -7212,6 +7212,19 @@ "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -7222,6 +7235,14 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, "hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -10091,6 +10112,15 @@ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, + "mini-create-react-context": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", + "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", + "requires": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + } + }, "mini-css-extract-plugin": { "version": "0.11.3", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz", @@ -12553,6 +12583,97 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" }, + "react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "react-router-dom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + }, + "react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + } + } + }, "react-scripts": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz", @@ -12979,6 +13100,11 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -14555,6 +14681,16 @@ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, + "tiny-invariant": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz", + "integrity": "sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, "tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -15015,6 +15151,11 @@ "spdx-expression-parse": "^3.0.0" } }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", diff --git a/src/WebApps/pfr-app/pfr-app/package.json b/src/WebApps/pfr-app/pfr-app/package.json index a755ab8f..73f38328 100644 --- a/src/WebApps/pfr-app/pfr-app/package.json +++ b/src/WebApps/pfr-app/pfr-app/package.json @@ -9,6 +9,8 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "react-icons": "^4.3.1", + "react-router": "^5.2.0", + "react-router-dom": "^5.2.0", "react-scripts": "4.0.3", "react-snowfall": "^1.1.1", "web-vitals": "^1.1.2" diff --git a/src/WebApps/pfr-app/pfr-app/public/index.html b/src/WebApps/pfr-app/pfr-app/public/index.html index 30d19cd1..85324016 100644 --- a/src/WebApps/pfr-app/pfr-app/public/index.html +++ b/src/WebApps/pfr-app/pfr-app/public/index.html @@ -46,361 +46,8 @@ -
- -
-
-
-
    -
  • -
    -
    - - - - -

    I feel like an idiot for not using Tailwind CSS until now.

    -
    -
    - -
    Ryan Florence -
    Remix & - React - Training -
    - -
    -
    -
  • -
  • -
    -
    - - - - -

    If I had to recommend a way of getting into programming today, it would be HTML + - CSS with - Tailwind CSS.

    -
    -
    - -
    Guillermo Rauch -
    Vercel -
    - -
    -
    -
  • -
  • -
    -
    - - - - -

    Новые функциональные возможности и яркий внешний дизайн.

    -
    -
    - -
    Мы сделали редизайн всего приложения
    Удобный - интерфейс
    -
    -
    -
  • -
  • -
    -
    - - - - -

    Доступ через приложение мобильного телефона iOS | Android. А также возможность доступа через приложение - на компьютере Mac или Windows.

    -
    -
    - -
    Скачивайте приложение в магазине приложенией
    - Быстрый и удобный способ загрузить приложение - -
    - -
    -
    -
  • -
  • -
    -
    - - - - -

    Простой способ оповещать всех клиентов.

    -
    -
    - -
    Новая система быстрого оповещения
    - Все виды оповещений в одной системе
    - -
    -
    -
  • -
  • -
    -
    - - - - -

    Система чатов и видео-конференций. -

    -
    -
    - -
    Система коммуникаций
    - Видео-чат, аудио-чат -
    - -
    -
    -
  • -
  • -
    -
    - - - - -

    There’s one thing that sucks about @tailwindcss - once you’ve used it on a - handful of - projects it is a real pain in the ass to write normal CSS again.

    -
    -
    - -
    Graeme Houston
    JavaScript - Developer -
    -
    -
    -
  • -
  • -
    -
    - - - - -

    Okay, I’m officially *all* in on the @tailwindcss hype train. Never thought - building websites - could be so ridiculously fast and flexible.

    -
    -
    - -
    Aaron Bushnell
    Programmer @ - TrendyMinds
    - -
    -
    -
  • -
  • -
    -
    - - - - -

    Have been working with CSS for over ten years and Tailwind just makes my life - easier. It is - still CSS and you use flex, grid, etc. but just quicker to write and maintain. -

    -
    -
    - -
    Debbie O'Brien
    Head of - Learning @ - Nuxt.js
    -
    -
    -
  • -
  • -
    -
    - - - - -

    Okay, @tailwindcss just clicked for me and now I feel like a #!@%&$% idiot. -

    -
    -
    - -
    Ken Wheeler
    React - Engineer
    - -
    -
    -
  • -
  • -
    -
    - - - - -

    I've been using @tailwindcss the past few months and it's amazing. I already used - some - utility classes before, but going utility-first... this is the way.

    -
    -
    - -
    Jad Limcaco
    Designer -
    - - - - -
    -
    -
  • -
  • -
    -
    - - - - -

    After finally getting to use @tailwindcss on a real client project in the last - two weeks I - never want to write CSS by hand again. I was a skeptic, but the hype is real. -

    -
    -
    -
    - -
    -
    Luke Redpath
    Ruby & iOS - Developer
    - - - - -
    -
    -
  • -
  • -
    -
    - - - - -

    I didn't think I was going to like @tailwindcss... spent a day using it for a - POC, love it! I - wish this had been around when we started our company design system, seriously - considering a - complete rebuild

    -
    -
    - -
    Jon Bloomer
    Front-End - Developer -
    - - - - -
    -
    -
  • -
  • -
    -
    - - - - -

    @tailwindcss looked unpleasant at first, but now I’m hooked on it.

    -
    -
    - -
    Andrew Gilliland
    Front-End - Developer
    - - - - -
    -
    -
  • -
-
- +
- - diff --git a/src/WebApps/pfr-app/pfr-app/src/App.js b/src/WebApps/pfr-app/pfr-app/src/App.js index 82d48980..71a09a93 100644 --- a/src/WebApps/pfr-app/pfr-app/src/App.js +++ b/src/WebApps/pfr-app/pfr-app/src/App.js @@ -1,44 +1,69 @@ -import logo from "./pfr-logo.svg"; import "./App.css"; +import {BrowserRouter, Route} from "react-router-dom"; +import Home from "./pages/Home"; +import Specialists from "./pages/Specialists"; +import About from "./pages/About"; import Snowfall from "react-snowfall"; +import React from "react"; import Footer from "./Components/Footer"; +import Header from "./Components/Header"; +import AboutAdvertising from "./pages/AboutAdvertising"; +import Trademarks from "./pages/Trademarks"; +import TermsOfUse from "./pages/TermsOfUse"; +import PrivacyStatement from "./pages/PrivacyStatement"; +import SiteMap from "./pages/SiteMap"; function App() { - return ( -
- -
-
-
- logo -
{" "} -
-

- #PF_R СООБЩЕСТВО -

-
-
- Мы запускаем сообщество... -
{" "} -
- Запущен процесс обновления системы... -
{" "} -
-
- {" "} -
{" "} -
{" "} -
{" "} -
-
{" "} -
- ); + return ( +
+ +
+ + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + {" "} + +
+
+ ); } export default App; diff --git a/src/WebApps/pfr-app/pfr-app/src/Components/Footer.jsx b/src/WebApps/pfr-app/pfr-app/src/Components/Footer.jsx index 11d5102b..8adccd69 100644 --- a/src/WebApps/pfr-app/pfr-app/src/Components/Footer.jsx +++ b/src/WebApps/pfr-app/pfr-app/src/Components/Footer.jsx @@ -1,32 +1,10 @@ import React, {useState} from 'react'; import {FaGlobe} from "react-icons/all"; -import footer from "../Data/footer"; +import {Link} from "react-router-dom"; const Footer = () => { const [links, setLinks] = useState('') return ( -
- {/*
- {links.map((link) => { - const { id, title, hrefs } = link - return ( -
-
-

{title}

- - {hrefs.map((hr) => { - return ( -
  • - {hr} -
  • - ) - })} -
    -
    - ) - })} -
    */} -
    @@ -35,18 +13,17 @@ const Footer = () => {
      -
    • Карта сайта
    • -
    • Контакты O2 Bionics LLC
    • -
    • Конфедециальность
    • -
    • Условия использования
    • -
    • Товарные знаки
    • +
    • Карта сайта
    • +
    • Контакты O2 Bionics LLC
    • +
    • Конфедециальность
    • +
    • Условия использования
    • +
    • Товарные знаки
    • {/*
    • Safety & eco
    • */} -
    • О нашей рекламе
    • -
    • ©O2 Bionics LLC {(new Date().getFullYear())}
    • +
    • О нашей рекламе
    • +
    • ©O2 Bionics LLC {(new Date().getFullYear())}
    -
    ); }; diff --git a/src/WebApps/pfr-app/pfr-app/src/Components/Header.jsx b/src/WebApps/pfr-app/pfr-app/src/Components/Header.jsx new file mode 100644 index 00000000..e19e2dca --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/Components/Header.jsx @@ -0,0 +1,72 @@ +import {FaBars, FaSearch, FaShoppingCart, FaUserPlus} from 'react-icons/fa' +import {Link} from "react-router-dom"; +import logo from "../pfr-logo.svg"; + +const Header = () => { + return ( +
    + {/*
    */} + {/*
    */} + {/* */} + {/*
    */} + {/*
    */} + {/* */} + {/*
    */} + {/*
    */} + + {/*
    */} + {/*
    */} + {/* */} + {/* PF_R Community*/} + {/* */} + {/*
    */} + + {/*
      */} + {/*
    • */} + {/* Microsoft 365*/} + {/*
    • */} + {/*
    • */} + {/* Office*/} + {/*
    • */} + {/*
    • Windows
    • */} + {/*
    • Surface
    • */} + {/*
    • Xbox
    • */} + {/*
    • Deals
    • */} + {/*
    • Support
    • */} + {/*
    */} + {/*
    */} +
    +
      +
    • + Home +
    • +
    • + Specialists +
    • +
    • + About +
    • +
    +
    + {/*
    */} + {/*
    */} + {/* */} + {/*
    */} + {/*
    */} + {/* */} + {/*
    */} + {/*
    */} + + {/*
    */} + {/*
      */} + {/*
    • All Microsoft
    • */} + {/*
    • Search
    • */} + {/*
    • Cart
    • */} + {/*
    • Sign In
    • */} + {/*
    */} + {/*
    */} +
    + ) +} + +export default Header \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/Components/SpecialistItem.jsx b/src/WebApps/pfr-app/pfr-app/src/Components/SpecialistItem.jsx new file mode 100644 index 00000000..698e5b5b --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/Components/SpecialistItem.jsx @@ -0,0 +1,64 @@ +import React from 'react'; + +const SpecialistItem = (props) => { + return ( +
    +
    + +
    + + +
    +
    {props.specialist.fio}
    +
    {props.specialist.specialnost}
    + + {/*
    */} + {/* */} + {/*
    */} + + {/*{props.specialist.id}*/} +
    + {/*
    */} + {/*
    */} + + {/*
    */} + {/* */} + {/* Практикующий психолог*/} + {/*
    */} + {/* May Lam*/} + {/*
    */} + {/* */} + {/*
    */} + {/*
    */} + {/*
    */} + {/*
    */} + {/*
    */} + + {/*
    */} + {/* */} + {/* Практикующий психолог*/} + {/*
    */} + {/* May Lam*/} + {/*
    */} + {/* */} + {/*
    */} + {/*
    */} + {/*
    */} + {/*
    */} + {/*
    */} + + {/*
    */} + {/* */} + {/* Практикующий психолог*/} + {/*
    */} + {/* May Lam*/} + {/*
    */} + {/* */} + {/*
    */} + {/*
    */} + {/*
    */} +
    + ); +}; + +export default SpecialistItem; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/Components/SpecialistList.jsx b/src/WebApps/pfr-app/pfr-app/src/Components/SpecialistList.jsx new file mode 100644 index 00000000..79018886 --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/Components/SpecialistList.jsx @@ -0,0 +1,21 @@ +import React, {useState} from 'react'; +import SpecialistItem from "./SpecialistItem"; + +const SpecialistList = (props) => { + + return ( + <> +
    +

    {props.title}

    +
    + {props.specialists.map((specialist) => + + )} + +
    +
    + + ); +}; + +export default SpecialistList; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/Data/specialists.js b/src/WebApps/pfr-app/pfr-app/src/Data/specialists.js new file mode 100644 index 00000000..ce186a8a --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/Data/specialists.js @@ -0,0 +1,23 @@ +export const specialists = [ + { + id: 1, fio: 'Paul Mart', + specialnost: 'specialist #PF_R', + avatar: 'https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8OXx8dXNlciUyMHByb2ZpbGV8ZW58MHx8MHx8&auto=format&fit=crop&w=300&q=60' + }, + { + id: 2, fio: 'Marina Oi', + specialnost: 'specialist #PF_R', + avatar: 'https://images.unsplash.com/photo-1522228115018-d838bcce5c3a?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=60' + }, + { + id: 3, fio: 'Paul Mart', + specialnost: 'specialist #PF_R', + avatar: 'https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8OXx8dXNlciUyMHByb2ZpbGV8ZW58MHx8MHx8&auto=format&fit=crop&w=300&q=60' + }, + { + id: 4, fio: 'Paul Mart', + specialnost: 'specialist #PF_R', + avatar: 'https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8OXx8dXNlciUyMHByb2ZpbGV8ZW58MHx8MHx8&auto=format&fit=crop&w=300&q=60' + } +] +export default specialists; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/About.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/About.jsx new file mode 100644 index 00000000..a709d0a4 --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/pages/About.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import Header from "../Components/Header"; + +const About = () => { + return ( +
    +
    +

    About

    +
    + ); +}; + +export default About; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/AboutAdvertising.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/AboutAdvertising.jsx new file mode 100644 index 00000000..2f035cdf --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/pages/AboutAdvertising.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import Header from "../Components/Header"; + +const AboutAdvertising = () => { + return ( +
    +
    + О нашей рекламе +
    + ); +}; + +export default AboutAdvertising; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx new file mode 100644 index 00000000..10f39c8b --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx @@ -0,0 +1,435 @@ +import React from 'react'; +import Snowfall from "react-snowfall"; +import logo from "../pfr-logo.svg"; +import Footer from "../Components/Footer"; + +const Home = () => { + return ( +
    + +
    + {/*
    */} + {/*
    */} + {/*
      */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      I feel like an idiot for not using Tailwind CSS until now.

      */} + {/* */} + {/* */} + + {/*
      Denis Prokhorchik*/} + {/*
      Remix &*/} + {/* React*/} + {/* Training*/} + {/*
      */} + + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      If I had to recommend a way of getting into programming today, it would be HTML +*/} + {/* CSS with*/} + {/* Tailwind CSS.

      */} + {/* */} + {/* */} + + {/*
      Denis Prokhorchik*/} + {/*
      Vercel*/} + {/*
      */} + + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      Новые функциональные возможности и яркий внешний дизайн.

      */} + {/* */} + {/* */} + + {/*
      Мы сделали редизайн всего приложения
      Удобный*/} + {/* интерфейс
      */} + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      Доступ через приложение мобильного телефона iOS | Android. А также возможность*/} + {/* доступа через приложение*/} + {/* на компьютере Mac или Windows.

      */} + {/* */} + {/* */} + + {/*
      Скачивайте приложение в магазине приложенией
      */} + {/* Быстрый и удобный способ загрузить приложение*/} + {/* */} + {/*
      */} + + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      Простой способ оповещать всех клиентов.

      */} + {/* */} + {/* */} + + {/*
      Новая система быстрого оповещения
      */} + {/* Все виды оповещений в одной системе
      */} + + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      Система чатов и видео-конференций.*/} + {/*

      */} + {/* */} + {/* */} + + {/*
      Система коммуникаций
      */} + {/* Видео-чат, аудио-чат*/} + {/*
      */} + + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      There’s one thing that sucks about @tailwindcss - once you’ve used it on a*/} + {/* handful of*/} + {/* projects it is a real pain in the ass to write normal CSS again.

      */} + {/* */} + {/* */} + + {/*
      Graeme Houston
      JavaScript*/} + {/* Developer*/} + {/*
      */} + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      Okay, I’m officially *all* in on the @tailwindcss hype train. Never thought*/} + {/* building websites*/} + {/* could be so ridiculously fast and flexible.

      */} + {/* */} + {/* */} + + {/*
      Aaron Bushnell
      Programmer @*/} + {/* TrendyMinds
      */} + + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      Have been working with CSS for over ten years and Tailwind just makes my life*/} + {/* easier. It is*/} + {/* still CSS and you use flex, grid, etc. but just quicker to write and maintain.*/} + {/*

      */} + {/* */} + {/* */} + + {/*
      Debbie O'Brien
      Head of*/} + {/* Learning @*/} + {/* Nuxt.js
      */} + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      Okay, @tailwindcss just clicked for me and now I feel like a #!@%&$% idiot.*/} + {/*

      */} + {/* */} + {/* */} + + {/*
      Ken Wheeler
      React*/} + {/* Engineer
      */} + + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      I've been using @tailwindcss the past few months and it's amazing. I already used*/} + {/* some*/} + {/* utility classes before, but going utility-first... this is the way.

      */} + {/* */} + {/* */} + + {/*
      Jad Limcaco
      Designer*/} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*
      */} + {/*
    • */} + {/*
    • */} + {/*
      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

      After finally getting to use @tailwindcss on a real client project in the last*/} + {/* two weeks I*/} + {/* never want to write CSS by hand again. I was a skeptic, but the hype is real.*/} + {/*

      */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*
    */} + {/*
    Luke Redpath
    Ruby & iOS*/} + {/* Developer
    */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*
  • */} + {/*
    */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

    I didn't think I was going to like @tailwindcss... spent a day using it for a*/} + {/* POC, love it! I*/} + {/* wish this had been around when we started our company design system, seriously*/} + {/* considering a*/} + {/* complete rebuild

    */} + {/* */} + {/* */} + + {/*
    Jon Bloomer
    Front-End*/} + {/* Developer*/} + {/*
    */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*
    */} + {/*
  • */} + {/*
  • */} + {/*
    */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*

    @tailwindcss looked unpleasant at first, but now I’m hooked on it.

    */} + {/* */} + {/* */} + + {/*
    Andrew Gilliland
    Front-End*/} + {/* Developer
    */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/*
    */} + {/*
  • */} + {/* */} + {/*
    */} +
    +
    +
    + logo +
    + {" "} +
    +

    + #PF_R СООБЩЕСТВО +

    +
    +
    + Мы запускаем сообщество... +
    + {" "} +
    + Запущен процесс обновления системы... +
    + {" "} +
    +
    + {" "} +
    + {" "} +
    + {" "} +
    +
    + ); +}; + +export default Home; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/PrivacyStatement.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/PrivacyStatement.jsx new file mode 100644 index 00000000..6391c8c8 --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/pages/PrivacyStatement.jsx @@ -0,0 +1,28 @@ +import React from 'react'; +import Header from "../Components/Header"; + +const PrivacyStatement = () => { + return ( +
    +
    +
    +

    O2 Bionics Privacy Statement

    + Last Updated: December 2021 What's new? +

    + Your privacy is important to us. This privacy statement explains the personal data O2 Bionics + processes, how O2 Bionics processes it, and for what purposes. + O2 Bionics offers a wide range of products, including server products used to help operate + enterprises worldwide, devices you use in your home, software that students use at school, and + services developers use to create and host what’s next. References to O2 Bionics products in this + statement include O2 Bionics services, websites, apps, software, servers, and devices. + Please read the product-specific details in this privacy statement, which provide additional + relevant information. This statement applies to the interactions O2 Bionics has with you and the O2 + Bionics products listed below, as well as other O2 Bionics products that display this statement. + Young people may prefer starting with the Privacy for young people page. That page highlights + information that may be helpful for young people. +

    +
    + ); +}; + +export default PrivacyStatement; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/SiteMap.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/SiteMap.jsx new file mode 100644 index 00000000..662a2f0f --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/pages/SiteMap.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import Header from "../Components/Header"; + +const SiteMap = () => { + return ( +
    +
    + SiteMap +
    + ); +}; + +export default SiteMap; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/Specialists.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/Specialists.jsx new file mode 100644 index 00000000..de670650 --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/pages/Specialists.jsx @@ -0,0 +1,17 @@ +import React from 'react'; +import SpecialistList from "../Components/SpecialistList"; +import specialists from "../Data/specialists"; +import Header from "../Components/Header"; + +const Specialists = () => { + return ( +
    +
    +
    + +
    +
    + ); +}; + +export default Specialists; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/TermsOfUse.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/TermsOfUse.jsx new file mode 100644 index 00000000..15e34125 --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/pages/TermsOfUse.jsx @@ -0,0 +1,18 @@ +import React from 'react'; +import Header from "../Components/Header"; + +const TermsOfUse = () => { + return ( +
    +
    +
    +

    Microsoft Terms of Use

    + Last Updated: June 24, 2015 + +

    Acceptance of Terms

    +
    +
    +); +}; + +export default TermsOfUse; \ No newline at end of file diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/Trademarks.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/Trademarks.jsx new file mode 100644 index 00000000..f814c3a8 --- /dev/null +++ b/src/WebApps/pfr-app/pfr-app/src/pages/Trademarks.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import Header from "../Components/Header"; + +const Trademarks = () => { + return ( +
    +
    + trademarks +
    + ); +}; + +export default Trademarks; \ No newline at end of file From aaefb7714f2ffa73ced8fb76b149c05be3d33cfe Mon Sep 17 00:00:00 2001 From: Denis Prokhorchik Date: Tue, 4 Jan 2022 18:51:20 +0300 Subject: [PATCH 2/2] feat(issue-102): update home page --- src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx b/src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx index 10f39c8b..587f4071 100644 --- a/src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx +++ b/src/WebApps/pfr-app/pfr-app/src/pages/Home.jsx @@ -5,7 +5,7 @@ import Footer from "../Components/Footer"; const Home = () => { return ( -
    +
    {/*
    { {/* */} {/*
    */}
    +
    logo