From dce37df4f6c45e07d240346627541e62076a48e1 Mon Sep 17 00:00:00 2001 From: VividTruthKeeper Date: Tue, 31 Jan 2023 17:16:58 +0500 Subject: [PATCH] category page --- src/App.tsx | 22 ++++----- src/components/category/MainImg.tsx | 33 +++++++++++++ src/pages/Category.tsx | 27 +++++++++++ src/styles/_category.scss | 72 +++++++++++++++++++++++++++++ src/styles/style.scss | 33 ++++++------- 5 files changed, 160 insertions(+), 27 deletions(-) create mode 100644 src/components/category/MainImg.tsx create mode 100644 src/pages/Category.tsx create mode 100644 src/styles/_category.scss diff --git a/src/App.tsx b/src/App.tsx index f7e23c8..1100489 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,19 +1,20 @@ // Modules -import { Routes, Route } from 'react-router-dom'; +import { Routes, Route } from "react-router-dom"; // Styles -import 'react-lazy-load-image-component/src/effects/blur.css'; -import 'react-calendar/dist/Calendar.css'; -import './styles/style.scss'; +import "react-lazy-load-image-component/src/effects/blur.css"; +import "react-calendar/dist/Calendar.css"; +import "./styles/style.scss"; // Pages -import Main from './pages/Main'; -import NewsArticle from './pages/NewsArticle'; +import Main from "./pages/Main"; +import NewsArticle from "./pages/NewsArticle"; +import Category from "./pages/Category"; // Components -import Header from './components/header/Header'; -import Videos from './components/videos/Videos'; -import Footer from './components/footer/Footer'; +import Header from "./components/header/Header"; +import Videos from "./components/videos/Videos"; +import Footer from "./components/footer/Footer"; const App = () => { return ( @@ -21,8 +22,7 @@ const App = () => {
} /> - - + } /> } /> diff --git a/src/components/category/MainImg.tsx b/src/components/category/MainImg.tsx new file mode 100644 index 0000000..f57feac --- /dev/null +++ b/src/components/category/MainImg.tsx @@ -0,0 +1,33 @@ +// Modules +import { LazyLoadImage } from "react-lazy-load-image-component"; +import { Link } from "react-router-dom"; + +interface IProps { + img: string; +} + +const MainImg = ({ img }: IProps) => { + return ( + + + +
+

+ Полезная информация для поступающих на программы подготовки научных + кадров в Туркменистане +

+

+ Политика + 12.01.2023 +

+
+ + ); +}; + +export default MainImg; diff --git a/src/pages/Category.tsx b/src/pages/Category.tsx new file mode 100644 index 0000000..99b482e --- /dev/null +++ b/src/pages/Category.tsx @@ -0,0 +1,27 @@ +// Components +import Aside from "../components/aside/Aside"; +import NewsScroll from "../components/global/NewsScroll"; +import MainImg from "../components/category/MainImg"; + +// Images +import Placeholder from "../assets/images/placeholder3.png"; + +const Category = () => { + return ( +
+
+
+
+ + +
+
+
+
+
+
+ ); +}; + +export default Category; diff --git a/src/styles/_category.scss b/src/styles/_category.scss new file mode 100644 index 0000000..d81843e --- /dev/null +++ b/src/styles/_category.scss @@ -0,0 +1,72 @@ +.main-img { + position: relative; + width: 100%; + height: 100%; + max-height: 40rem; +} + +.main-img-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient( + 180deg, + rgba(0, 0, 0, 0) 50%, + rgba(0, 0, 0, 0.7) 100% + ); + z-index: 2; + pointer-events: none; + display: flex; + flex-direction: column; + justify-content: flex-end; + gap: 2.4rem; + padding: 2.4rem; + color: $white; + + h2 { + font-size: 2.4rem; + } + + p { + display: flex; + align-items: center; + justify-content: space-between; + gap: 2.4rem; + font-size: 1.2rem; + span { + &:first-child { + text-align: left; + } + &:last-child { + text-align: right; + } + } + } +} + +.category-inner { + padding: 5.6rem 0; + display: grid; + grid-template-columns: 2fr 1fr; + gap: 2.4rem; +} + +.main-img { + border-radius: 0.5rem; + overflow: hidden; + + span, + img { + width: 100%; + height: 100%; + border-radius: 0.5rem; + } +} + +.category-left { + display: flex; + flex-direction: column; + gap: 2.4rem; +} diff --git a/src/styles/style.scss b/src/styles/style.scss index 00d213f..ab49410 100644 --- a/src/styles/style.scss +++ b/src/styles/style.scss @@ -1,16 +1,17 @@ -@import './variables'; -@import './mixins'; -@import './general'; -@import './nav'; -@import './main'; -@import './videos'; -@import './section-title'; -@import './footer'; -@import './news'; -@import './newsCategory'; -@import './newsDate'; -@import './newsScroll'; -@import './asideNews'; -@import './aside'; -@import './news-section'; -@import './news-article'; +@import "./variables"; +@import "./mixins"; +@import "./general"; +@import "./nav"; +@import "./main"; +@import "./videos"; +@import "./section-title"; +@import "./footer"; +@import "./news"; +@import "./newsCategory"; +@import "./newsDate"; +@import "./newsScroll"; +@import "./asideNews"; +@import "./aside"; +@import "./news-section"; +@import "./news-article"; +@import "./category";