forked from Transparency/kgroad-frontend2
resolved
This commit is contained in:
commit
e2db27b56f
27 files changed
+952
-429
No files matched your search
@@ -7,7 +7,7 @@ import { Metadata } from "next";
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | О нас",
|
||||
description:
|
||||
'Страница "О Нас" Kyrgyzstan Transperency International',
|
||||
'Страница "О Нас" KG ROAD',
|
||||
};
|
||||
|
||||
const AboutUs = () => {
|
||||
@@ -16,53 +16,19 @@ const AboutUs = () => {
|
||||
<Typography element="h2">О нас</Typography>
|
||||
|
||||
<Image src={header} alt="Header Image" />
|
||||
|
||||
<h3>Don’t wait. The purpose of our lives is to be happy!</h3>
|
||||
|
||||
<div className="about-us__descriptions">
|
||||
<p>
|
||||
arrival, your senses will be rewarded with the pleasant
|
||||
scent of lemongrass oil used to clean the natural wood found
|
||||
throughout the room, creating a relaxing atmosphere within
|
||||
the space. A wonderful serenity has taken possession of my
|
||||
entire soul, like these sweet mornings of spring which I
|
||||
enjoy with my whole heart. I am alone, and feel the charm of
|
||||
existence in this spot, which was created for the bliss of
|
||||
souls like mine. I am so happy, my dear friend, so absorbed
|
||||
in the exquisite.
|
||||
</p>
|
||||
<p>
|
||||
When you are ready to indulge your sense of excitement,
|
||||
check out the range of water- sports opportunities at the
|
||||
resort’s on-site water-sports center. Want to leave your
|
||||
stress on the water? The resort has kayaks, paddleboards, or
|
||||
the low-key pedal boats. Snorkeling equipment is available
|
||||
as well, so you can experience the ever-changing undersea
|
||||
environment. Not only do visitors to a bed and breakfast get
|
||||
a unique perspective on the place they are visiting, they
|
||||
have options for special packages not available in other
|
||||
hotel settings.{" "}
|
||||
</p>
|
||||
<p>
|
||||
Bed and breakfasts can partner easily with local businesses
|
||||
for a smoothly organized and highly personalized vacation
|
||||
experience. The Fife and Drum Inn offers options such as the
|
||||
Historic Triangle Package that includes three nights at the
|
||||
Inn, breakfasts, and admissions to historic Williamsburg,
|
||||
Jamestown, and Yorktown. Bed and breakfasts also lend
|
||||
themselves to romance.
|
||||
</p>
|
||||
<p>
|
||||
Part of the charm of a bed and breakfast is the uniqueness;
|
||||
art, décor, and food are integrated to create a complete
|
||||
experience. For example, the Fife and Drum retains the
|
||||
colonial feel of the area in all its guest rooms. Special
|
||||
features include antique furnishings, elegant four poster
|
||||
beds in some guest rooms, as well folk art and artifacts
|
||||
from the restoration period of the historic area available
|
||||
for guests to enjoy.
|
||||
</p>
|
||||
<p>Transparency International-Кыргызстан - филиал международной организации Transparency International в Кыргызской Республике.</p>
|
||||
<h4>Миссия ТИ-Кыргызстан</h4>
|
||||
<p>Продвижение эффективной общественной политики и надлежащего управления в целях предотвращения коррупции и усиления демократии в стране. </p>
|
||||
<h4>Цели и приоритеты ТИ-Кыргызстан:</h4>
|
||||
<ul>
|
||||
<li> - антикоррупционное просвещение населения, повышение общественного осознания значимости и важности борьбы с коррупцией в Кыргызстане;</li>
|
||||
<li> - организация изучения практики и теории борьбы с коррупцией и участия в ней структур гражданского общества в Кыргызстане и других странах;</li>
|
||||
<li> - содействие гражданам и организациям в реализации их конституционных прав и свобод;</li>
|
||||
<li> - преимущественная ориентация на международный опыт уменьшения коррупции, освоение его технологий, ресурсов, а также включение структур гражданского общества в международный диалог борьбы с коррупцией.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p>Photo By Mzximvs VdB from Brussels, belgium - Road to Issyk-Kul (south shore), CC BY-SA 2.0</p>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Metadata } from "next";
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Написать обращение",
|
||||
description:
|
||||
"Написать обращение Kyrgyzstan Transperency International",
|
||||
"Написать обращение KG ROAD",
|
||||
};
|
||||
|
||||
const DynamicForm = dynamic(
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Metadata } from "next";
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Новости",
|
||||
description:
|
||||
"Страница новостей Kyrgyzstan Transperency International",
|
||||
"Страница новостей KG ROAD",
|
||||
};
|
||||
|
||||
const News = ({
|
||||
|
||||
@@ -8,7 +8,7 @@ import { Metadata } from "next";
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Главная",
|
||||
description:
|
||||
"Главная страница Kyrgyzstan Transperency International",
|
||||
"Главная страница KG ROAD",
|
||||
};
|
||||
|
||||
const Home = async ({
|
||||
|
||||
@@ -11,7 +11,7 @@ import { Metadata } from "next";
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Профиль",
|
||||
description:
|
||||
"Страница профиля Kyrgyzstan Transperency International",
|
||||
"Страница профиля KG ROAD",
|
||||
};
|
||||
|
||||
const Profile = async ({
|
||||
|
||||
@@ -7,7 +7,7 @@ import { Link } from "@/shared/config/navigation";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Вход",
|
||||
description: "Страница входа Kyrgyzstan Transperency International",
|
||||
description: "Страница входа KG ROAD",
|
||||
};
|
||||
|
||||
const SignIn = () => {
|
||||
|
||||
@@ -8,7 +8,7 @@ import { Link } from "@/shared/config/navigation";
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Регистрация",
|
||||
description:
|
||||
"Страница регистрации Kyrgyzstan Transperency International",
|
||||
"Страница регистрации KG ROAD",
|
||||
};
|
||||
|
||||
const SignUp = () => {
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Metadata } from "next";
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Статистика",
|
||||
description:
|
||||
"Страница статистики Kyrgyzstan Transperency International",
|
||||
"Страница статистики KG ROAD",
|
||||
};
|
||||
|
||||
const Statistics = ({
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Metadata } from "next";
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Волонтеры",
|
||||
description:
|
||||
"Страница волонтеров Kyrgyzstan Transperency International",
|
||||
"Страница волонтеров KG ROAD",
|
||||
};
|
||||
|
||||
const Volunteers = () => {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<<<<<<< HEAD
|
||||
import { ReactNode } from "react";
|
||||
|
||||
type Props = {
|
||||
@@ -6,4 +7,40 @@ type Props = {
|
||||
|
||||
export default function RootLayout({ children }: Props) {
|
||||
return children;
|
||||
=======
|
||||
import type { Metadata } from "next";
|
||||
import "./globals.scss";
|
||||
import "./App.scss";
|
||||
// import "@/shared/fonts/fonts.scss";
|
||||
import { Providers } from "./Providers";
|
||||
import Navbar from "@/widgets/Navbar/Navbar";
|
||||
import Footer from "@/widgets/Footer/Footer";
|
||||
import { GoogleAnalytics } from '@next/third-parties/google'
|
||||
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<Providers>
|
||||
<Navbar />
|
||||
<div className="app">{children}</div>
|
||||
<Footer />
|
||||
</Providers>
|
||||
</body>
|
||||
|
||||
{/*
|
||||
|
||||
Disable google analytics in uat
|
||||
<GoogleAnalytics gaId={process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS || ""} />
|
||||
*/}
|
||||
</html>
|
||||
);
|
||||
>>>>>>> d1440f3907ca91b29db2977f043e44f54993aeb1
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
import "./ReportDetails.scss";
|
||||
import Image from "next/image";
|
||||
import RoadType from "@/entities/RoadType/RoadType";
|
||||
import ReportLike from "@/features/ReportLike/ReportLike";
|
||||
import { apiInstance } from "@/shared/config/apiConfig";
|
||||
import { IReport } from "@/shared/types/report-type";
|
||||
import {
|
||||
ROAD_TYPES,
|
||||
ROAD_TYPES_COLORS,
|
||||
} from "@/shared/variables/road-types";
|
||||
import calendar from "./icons/calendar.svg";
|
||||
import map_pin from "./icons/map-pin.svg";
|
||||
import def_image from "./icons/def_image.svg";
|
||||
import ReviewSection from "@/widgets/ReviewSection/ReviewSection";
|
||||
import { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "KG ROAD | Обращение",
|
||||
description:
|
||||
"Страница обращения KG ROAD",
|
||||
};
|
||||
|
||||
const ReportDetails = async ({
|
||||
params,
|
||||
}: {
|
||||
params: { id: string };
|
||||
}) => {
|
||||
const getReportDetails = async () => {
|
||||
const res = await fetch(
|
||||
`${process.env.NEXT_PUBLIC_BASE_API}/report/${params.id}/`,
|
||||
{ cache: "no-store" }
|
||||
);
|
||||
|
||||
return res.json();
|
||||
};
|
||||
const report: IReport = await getReportDetails();
|
||||
|
||||
const months: Record<string, string> = {
|
||||
"01": "Январь",
|
||||
"02": "Февраль",
|
||||
"03": "Март",
|
||||
"04": "Апрель",
|
||||
"05": "Май",
|
||||
"06": "Июнь",
|
||||
"07": "Июль",
|
||||
"08": "Август",
|
||||
"09": "Сентябрь",
|
||||
"10": "Октябрь",
|
||||
"11": "Ноябрь",
|
||||
"12": "Декабрь",
|
||||
};
|
||||
|
||||
const showImages = () => {
|
||||
const images = [];
|
||||
|
||||
for (let i = 0; i < 5; i++) {
|
||||
if (report.image[i]) {
|
||||
const image = (
|
||||
<img
|
||||
className={`report-images__exist report-images__item${
|
||||
i + 1
|
||||
}`}
|
||||
key={i}
|
||||
src={report.image[i].image}
|
||||
alt="Report Image"
|
||||
/>
|
||||
);
|
||||
images.push(image);
|
||||
} else {
|
||||
const defImage = (
|
||||
<div
|
||||
className={`report-images__default report-images__item${
|
||||
i + 1
|
||||
}`}
|
||||
key={i}
|
||||
>
|
||||
<Image src={def_image} alt="Default Image" />
|
||||
</div>
|
||||
);
|
||||
images.push(defImage);
|
||||
}
|
||||
}
|
||||
|
||||
return images;
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="report-details page-padding">
|
||||
<div className="report-details__container">
|
||||
<div className="report-information">
|
||||
<RoadType color={ROAD_TYPES_COLORS[report.category]}>
|
||||
{ROAD_TYPES[report.category]}
|
||||
</RoadType>
|
||||
<h2>{report.location[0].address}</h2>
|
||||
<div className="report-information__date-and-like">
|
||||
<div className="report-information__date">
|
||||
<Image src={calendar} alt="Calendar Icon" />
|
||||
<p>
|
||||
{months[report.created_at.slice(5, 7)]}{" "}
|
||||
{report.created_at.slice(5, 7).slice(0, 1) === "0"
|
||||
? report.created_at.slice(6, 7)
|
||||
: report.created_at.slice(5, 7)}
|
||||
, {report.created_at.slice(0, 4)}
|
||||
</p>
|
||||
</div>
|
||||
<ReportLike
|
||||
count={report.total_likes}
|
||||
report_id={report.id}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<p className="report-information__description">
|
||||
{report.description}
|
||||
</p>
|
||||
|
||||
<p className="report-information__author">
|
||||
Автор обращения:{" "}
|
||||
<span>
|
||||
{report.author.first_name}{" "}
|
||||
{report.author.last_name.slice(0, 1)}.
|
||||
</span>
|
||||
</p>
|
||||
<button className="report-information__show-map">
|
||||
<Image src={map_pin} alt="Map Pin Icon" />
|
||||
Показать на карте
|
||||
</button>
|
||||
</div>
|
||||
<div className="report-images">
|
||||
{showImages().map((image) => image)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ReviewSection endpoint="report" id={+params.id} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ReportDetails;
|
||||
Reference in new issue
Block a user