diff --git a/reactapp/src/HomeStyle.scss b/reactapp/src/HomeStyle.scss index 5950fed..6b83e86 100644 --- a/reactapp/src/HomeStyle.scss +++ b/reactapp/src/HomeStyle.scss @@ -2,7 +2,7 @@ $background-color: #252422; $main-color: #CCC5B9; $accent-color: #EB5E28; -.home-section { +.home-page { width: 96%; min-height: 100%; display: flex; diff --git a/reactapp/src/InfoPageStyle.scss b/reactapp/src/InfoPageStyle.scss new file mode 100644 index 0000000..29cfd13 --- /dev/null +++ b/reactapp/src/InfoPageStyle.scss @@ -0,0 +1,74 @@ +$background-color: #252422; +$main-color: #CCC5B9; +$accent-color: #EB5E28; + +.info-page { + width: 96%; + min-height: 100%; + display: flex; + align-items: center; + justify-content: space-around; + + .info-page__dev-card { + width: 300px; + height: 400px; + perspective: 1000px; + border-radius: 15px; + + .dev-card__inner { + position: relative; + border-radius: 15px; + width: 100%; + height: 100%; + text-align: center; + transition: transform 0.6s; + transform-style: preserve-3d; + box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.25); + + .dev-card__front, .dev-card__back { + position: absolute; + border-radius: 15px; + width: 100%; + height: 100%; + backface-visibility: hidden; + } + + .dev-card__front { + .dev-card__avatar { + width: 100%; + height: 100%; + border-radius: 15px; + } + } + + .dev-card__back { + background-color: $background-color; + color: white; + box-sizing: border-box; + padding: 20px; + transform: rotateY(180deg); + display: flex; + flex-direction: column; + justify-content: space-between; + + .dev-card__name { + font-size: 24px; + } + + .dev-card__info { + color: $main-color; + } + + .dev-card__url { + font-size: 18px; + color: white; + text-decoration: underline; + } + } + } + } + + .info-page__dev-card:hover .dev-card__inner { + transform: rotateY(180deg); + } +} \ No newline at end of file diff --git a/reactapp/src/assets/img/info-page__no-kesspen-avatar.png b/reactapp/src/assets/img/info-page__no-kesspen-avatar.png new file mode 100644 index 0000000..27904d1 Binary files /dev/null and b/reactapp/src/assets/img/info-page__no-kesspen-avatar.png differ diff --git a/reactapp/src/assets/img/info-page__railth-avatar.png b/reactapp/src/assets/img/info-page__railth-avatar.png new file mode 100644 index 0000000..37a0cf6 Binary files /dev/null and b/reactapp/src/assets/img/info-page__railth-avatar.png differ diff --git a/reactapp/src/components/DevCard.tsx b/reactapp/src/components/DevCard.tsx new file mode 100644 index 0000000..29a407e --- /dev/null +++ b/reactapp/src/components/DevCard.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +interface DeveloperCardProps { + avatar: string; + name: string; + info: string; + url: string; +} + +export default function DevCard({ avatar, name, info, url }: DeveloperCardProps) { + return ( +
+
+
+ {name} +
+
+
+

{name}

+

{info}

+
+ GitHub +
+
+
+ ); +} \ No newline at end of file diff --git a/reactapp/src/components/Header.tsx b/reactapp/src/components/Header.tsx index 8f17301..65cb5bb 100644 --- a/reactapp/src/components/Header.tsx +++ b/reactapp/src/components/Header.tsx @@ -138,7 +138,7 @@ export default function Header({ togglePopupMap, onSelectCategory, onSearchChang {/* Код для svg */} { + setIsLoginMode(!isLoginMode); + } + return( <>
@@ -16,7 +22,7 @@ export default function LoginMenu({ toggleLoginMenu }: LoginMenuProps): JSX.Elem SusMarket ID

- Войдите с SusMarket ID + {isLoginMode ? 'Войдите с SusMarket ID' : 'Зарегистрируйтесь с SusMarket ID'}

@@ -25,15 +31,16 @@ export default function LoginMenu({ toggleLoginMenu }: LoginMenuProps): JSX.Elem
-

- У вас нет аккаунта? Зарегестрироваться +

+ {isLoginMode ? 'У вас нет аккаунта? ' : 'У вас есть аккаунт? '} + {isLoginMode ? 'Зарегистрироваться' : 'Войти'}

- Войти + {isLoginMode ? 'Войти' : 'Зарегистрироваться'}
diff --git a/reactapp/src/index.scss b/reactapp/src/index.scss index bd4e12b..aebe4c8 100644 --- a/reactapp/src/index.scss +++ b/reactapp/src/index.scss @@ -515,13 +515,17 @@ body { flex-direction: column; gap: 20px; - .popup-menu__prompt-url { + .popup-login__prompt-url { color: $main-color; font-size: 16px; font-weight: 600; line-height: 20px; letter-spacing: 0px; text-align: left; + + u { + cursor: pointer; + } } .popup-login__login-button { diff --git a/reactapp/src/pages/HomePage.tsx b/reactapp/src/pages/HomePage.tsx index 8ed2728..dd93a78 100644 --- a/reactapp/src/pages/HomePage.tsx +++ b/reactapp/src/pages/HomePage.tsx @@ -11,7 +11,7 @@ interface HomePageProps { export default function HomePage({ products, selectedCategory }: HomePageProps) { return( -
+
{products.map(product => ( diff --git a/reactapp/src/pages/InfoPage.tsx b/reactapp/src/pages/InfoPage.tsx index e9fca75..b5157b5 100644 --- a/reactapp/src/pages/InfoPage.tsx +++ b/reactapp/src/pages/InfoPage.tsx @@ -1,7 +1,24 @@ import React from "react"; +import DevCard from "../components/DevCard"; +import "../InfoPageStyle.scss"; +import RailTHAvatar from "../assets/img/info-page__railth-avatar.png" +import NoKesspenAvatar from "../assets/img/info-page__no-kesspen-avatar.png" + export default function InfoPage() { return( - <> - +
+ + +
) } \ No newline at end of file