Merge pull request 'fix' (#1) from fix into ali

Reviewed-on: Transparency/kgroad-frontend2#1
This commit is contained in:
vladislav.khorev 2024-05-30 10:34:32 +00:00
commit 981c5863ee
8 changed files with 3724 additions and 123 deletions

View File

@ -1,42 +1,42 @@
{
"general": {
"date": "Күн",
"date": "Дата",
"address": "Дарек",
"status": "Статус",
"description": "Сүрөт",
"reviews": "Комментарийлер",
"description": "Сүрөттөмө ",
"reviews": "Пикир",
"rating": "Рейтинг",
"review": "Комментарий",
"write_comment": "Комментарий жазуу",
"review": "Пикир",
"write_comment": "Пикир жазыңыз",
"search": "Издөө",
"search_for": "Издөө",
"city": "Шаар",
"added_roads": "Кошулган жолдор",
"broken_roads": "Тас тастаган жолдор",
"accident_hotspots": "Авариялуу жерлер",
"local_defects": "Жерги дефекттер",
"repair_plans": "Түзөө планттары",
"repaired": "Түзөлгөн",
"fixed_local_defects": "Жерги дефекттерди түзөлгөн",
"broken_roads": "Бузулган жолдор",
"accident_hotspots": "Кырсык очоктору",
"local_defects": "Жердик кемчиликтер",
"repair_plans": "Оңдоо пландарында",
"repaired": "Оңдолду",
"fixed_local_defects": "Жердик кемчиликтер оңдолду",
"news": "Жаңылыктар",
"details": "Эчти маалымат",
"details": "Кеңирирээк",
"navigation": "Навигация",
"contacts": "Контакттар",
"download_our_app": "Биздин приложениямызды жүктөп алыңыз",
"back": "Кайтуу",
"contacts": "Байланыш",
"download_our_app": "Биздин тиркемени жүктөп алыңыз",
"back": "Артка",
"save": "Сактоо",
"saving": "Сакталат",
"cancel": "Жокко чыгаруу",
"cancellation": "Жокко чыгаруу",
"save_changes": "Өзгөртүүлөрдү сактоо",
"send": иберүү",
"save_changes": "Өзгөрүүлөрдү сактоо",
"send": өнөтүү",
"receive": "Алуу",
"delete": "Жок кылуу",
"show_on_map": "Картада көрсөтүү",
"author_of_appeal": "Өтүнчүнүн автору",
"author_of_appeal": "Кайрылуунун автору",
"enter_city": "Шаарды киргизиңиз",
"page_not_found": "Бет табылган эмес (404)",
"incorrect_address_or_nonexistent_page": "Туура эмес дарек же бет жок",
"page_not_found": "Бет табылган жок (404)",
"incorrect_address_or_nonexistent_page": "Дарек туура эмес терилген же андай бет жок",
"home": "Башкы бет",
"first_name": "Аты",
"last_name": "Фамилия",
@ -55,22 +55,22 @@
},
"home": {
"title": "Кыргызстандын жолдору",
"subtitle": "Жолдорду бекемделүү жасаңыз!",
"subtitle": "Жолдорду коопсуз кылалы!",
"info": "Жолдордун жаңы күйү",
"report_broken_road": "Тас тастаган жолду турганды таратуу",
"report_broken_road": "Бузулган жолду белгилөө",
"road_map": "Жол картасы",
"latest_news": "Трафик, өндүрүү жана тапшыруудагы соңгосу турган жаңылыктардан кабардар болуңуз!",
"enter_location": "Шаар, айыл жана регионду киргизиңиз",
"broken_roads": "Жол кирпич",
"accident_hotspots": "Авариянын жатактоо жерлери",
"local_defects": "Жерги дефект",
"repair_plans": "Тозгоондоо жатактоо планында",
"repaired": "Тозотулду",
"fixed_local_defects": "Тозотулган жерги дефект",
"latest_news": "Жол кыймылы, курулуш жана иш-чаралары жөнүндө маалым болуңуз!",
"enter_location": "Шаар, айыл же аймакты киргизиңиз",
"broken_roads": "Бузулган жол",
"accident_hotspots": "Кырсык очогу",
"local_defects": "Жердик кемчилик",
"repair_plans": "Оңдоо планында",
"repaired": "Оңдолду",
"fixed_local_defects": "Жердик кемчилик оңдолду",
"rating": "Рейтинг",
"road_discussions": "Жолдорду талкуулоо: рейтинг, тажрыйба, жолдоо боюнча комфорт!",
"road_discussions": "Жолдорду талкуулайбыз: рейтинг, тажрыйба, жолдо жайлуулук!",
"enter_address": "Даректи киргизиңиз",
"read_more": "Көбүрөөк окуу"
"read_more": "Кеңирирээк"
},
"transparency_international_kyrgyzstan": {
"name": "Транспаренттыктык Интернационал-Кыргызстан",
@ -85,105 +85,105 @@
},
"volunteers": {
"activists": "Активисттер",
"received_votes": "Алынган баллдар",
"left_votes": "Калган баллдар",
"received_votes": "Алган добуштары",
"left_votes": "Калтырган добуштары",
"rating": "Рейтинг"
},
"profile": {
"personal_cabinet": "Жеке кабинет",
"personal_data": "Жеке дайындар",
"my_appeals": "Менин жардам кылган жалпылыгым",
"personal_cabinet": "Жеке кеңсе",
"personal_data": "Жеке маалыматтар",
"my_appeals": "Менин кайрылууларым",
"logout": "Чыгуу",
"write_appeal": "Жардам кылуу",
"write_appeal": "Кайрылуу жазыңыз",
"profile_photo": "Профиль сүрөтү",
"others_identification": "Профиль сүрөтү аркылуу башка адамдар сизди танышат, жана сизге кирген аккаунтту тандашуу өттүрүлгөн болот.",
"add_profile_photo": "Профиль сүрөтү кошуу",
"profile_photo_updated": "Профиль сүрөтү жаңыртылды",
"others_identification": "Профилиңиздин сүрөтү боюнча, башка адамдар сизди тааный алышат жана сиз кайсы аккаунтка киргениңизди аныктоо оңой болот.",
"add_profile_photo": "Профиль сүрөтү кошуңуз",
"profile_photo_updated": "Профиль сүрөтү жаңырды",
"delete": "Жок кылуу",
"change": "Өзгөртүү"
"change": "Алмаштыруу"
},
"authorization": {
"change_password": "Сыр сөздү өзгөртүү",
"old_password": "Эски сыр сөз",
"enter_old_password": "Эски сыр сөздү киргизиңиз",
"new_password": "Жаңы сыр сөз",
"enter_new_password": "Жаңы сыр сөздү киргизиңиз",
"confirm_new_password": "Жаңы сыр сөздү растоо",
"confirm_new_password_prompt": "Жаңы сыр сөздү растоо, аны кайра чалыңыз",
"password": "Сыр сөз",
"forgot_password": "Сыр сөздү унуттуңузбу?",
"login": "Кириш",
"register": "Тизмеге кирүү",
"sign_in_account": "Аккаунтка кириңиз",
"enter_credentials": "Киргизген дайындарыңызды киргизиңиз",
"login_via_google": "Google аркылуу кириңиз",
"enter_password": "Сыр сөздү киргизиңиз",
"password_requirements": "Минимум 8 белги, 1 башкы буюк тамга жана 1 сандар",
"no_account_yet": "Өйткені, аккаунт жоок? Тизмеге кирүү",
"registration": "Тизмеге кирүү",
"register_now": "Азыр тизмеге кирүү",
"already_have_account": "Аккаунт бар болсо, кириңиз",
"enter_email": "Электрондук почтаны киргизиңиз",
"enter_email_for_code": "Электрондук почта киргизиңиз, биз сизге сыр сөздү калыпта тапшыруу үчүн код жөнөтөт",
"change_password": "Сырсөздү алмаштыруу",
"old_password": "Эски сырсөз",
"enter_old_password": "Эски сырсөз киргизиңиз",
"new_password": "Жаңы сырсөз",
"enter_new_password": "Жаңы сырсөз киргизиңиз",
"confirm_new_password": "Жаңы сырсөзүңүздү ырастаңыз",
"confirm_new_password_prompt": "Жаңы сырсөзүңүздү ырастаңыз",
"password": "Сырсөз",
"forgot_password": "Сырсөзүңүздү унуттуңузбу?",
"login": "Кирүү",
"register": "Каттоо",
"sign_in_account": "Аккаунтуңузга кириңиз",
"enter_credentials": "Маалыматыңызды киргизиңиз",
"login_via_google": "Google менен кирүү",
"enter_password": "Сырсөздү киргизиңиз",
"password_requirements": "Сырсөз кеминде 8 белгиден, 1 баш тамгадан жана сандан турушу керек",
"no_account_yet": "Аккаунтуңуз али жокпу? Катталыңыз",
"registration": "Каттоо",
"register_now": "Азыр катталыңыз",
"already_have_account": "Аккаунтуңуз барбы? Аккаунтуңузга кириңиз",
"enter_email": "Электрондук почтаңызды киргизиңиз",
"enter_email_for_code": "Электрондук почтаңызды киргизиңиз, биз сизге сырсөздү калыбына келтирүү кодун жөнөтөбүз",
"send_code": "Код жөнөтүү",
"confirm_code": "Кодду растоо",
"enter_code": "Кодду киргизиңиз",
"enter_reset_code": "Сыр сөздү өзгөртүп жаңыртуу үчүн кодду киргизиңиз",
"reset_code": "Сыр сөздү өзгөртүү коду",
"reset_password": "Сыр сөздү өзгөртүү",
"check_email": "Почтаны текшериңиз",
"code_sent_to": "Биз кодду name@gmail.com почтасына жөнөттүк",
"confirmation_code": "Тастыгы код",
"confirm": "Растоо",
"resend_code_in": "Кодду кайталап жөнөтүү",
"resend_code": "Кодду кайталап жөнөтүү"
"confirm_code": "Кодду ырастоо",
"enter_code": "Код киргизиңиз",
"enter_reset_code": "Сырсөзүңүздү жаңылоо жана калыбына келтирүү үчүн кодду киргизиңиз",
"reset_code": "Сырсөздүн жаңылоо коду",
"reset_password": "Сырсөздү жаңылоо",
"check_email": "Почтаңызды текшериңиз",
"code_sent_to": "Кодду active1User@mail.com дарегине жөнөттүк",
"confirmation_code": "Ырастоо коду",
"confirm": "Ырастоо",
"resend_code_in": "Кодду кайра жөнөтүү ... кийин",
"resend_code": "Кодду кайра жөнөтүү"
},
"send_report": {
"how_to_mark_road_section": "Жол бөлүмүн белгилөө үчүн",
"mark_road_instructions": "Чек салып, жол бөлүмүн белгилөөгө ээсиңиз (ал булактардан турат).",
"remove_segment_instruction": "Жол бөлүмүн каттоо үчүн бир маандын жакшысына басыңыз.",
"add_problem_description": "Проблеманын сүрөтүн кошуңуз",
"enter_description": "Сүрөттөмөнү киргизиңиз",
"add_photos": "Фотографияларды кошуңуз",
"upload_photos_instructions": "Жолдун байланышты 5 фотосун жүктөп алыңыз, анткени жататат жана туура түшүнүүдү макул болот.",
"attach_file": "Файлды тиштөө (5 МБга чейин)",
"submit_for_moderation": "Модерацияга жиберүү",
"appeal_submitted": "Сиздин жалпылыгыңыз жиберилди",
"thanks_for_appeal": "Сиздин жалпылыгыңуз үчүн рахмат. Азырынча аны модерацияда.",
"view_my_appeals": "Менин жалпылыгымдарымды көрүү"
"how_to_mark_road_section": "Жолдун бир бөлүгүн кантип белгилөө керек?",
"mark_road_instructions": "Төөгөнү коюп, жолдун бир бөлүгүн тарта баштаңыз (ал каалаган сандагы сынык сызыктардан турушу мүмкүн)",
"remove_segment_instruction": "Кесиндини жок кылуу үчүн, чекиттерди кайра басыңыз.",
"add_problem_description": "Көйгөйдүн сүрөттөмөсүн кошуңуз",
"enter_description": "Сүрөттөмө киргизиңиз",
"add_photos": "Сүрөттөрдү кошуңуз",
"upload_photos_instructions": "Белгилегиңиз келген жолго тиешелүү 5 сүрөткө чейин жүктөңүз. Сүрөттөр көйгөйдү жакшыраак түшүнүүгө жардам берет.",
"attach_file": "Файлды тиркөө (5 МБ чейин)",
"submit_for_moderation": "Модерацияга жөнөтүү",
"appeal_submitted": "Сиздин кайрылууңуз жөнөттүү",
"thanks_for_appeal": "Сиздин кайрылууңуз үчүн рахмат. Азыркуу учурда ал модерацияда.",
"view_my_appeals": "Менин кайрылууларымды көрүү"
},
"months": {
"january": "Жанварь",
"february": "Февраль",
"march": "Март",
"april": "Апрель",
"may": "Май",
"june": "Июнь",
"july": "Июль",
"august": "Август",
"september": "Сентябрь",
"october": "Октябрь",
"november": "Ноябрь",
"december": "Декабрь"
"january": "Үчтүн Айы (январь)",
"february": "Бирдин Айы (февраль)",
"march": "Жалган Куран (март)",
"april": "Чын Куран (апрель)",
"may": "Бугу (май)",
"june": "Кулжа (июнь)",
"july": "Теке (июль)",
"august": "Баш Оона (август)",
"september": "Аяк Оона (сентябрь)",
"october": "Тогуздун Айы (октябрь)",
"november": "Жетинин Айы (ноябрь)",
"december": "Бештин Айы (декабрь)"
},
"validation_errors": {
"invalid_email_format": "Туура эмес электрондук почта форматы.",
"passwords_do_not_match": "Сыр сөздөрдүн туура келмейт.",
"invalid_email_format": "Жараксыз электрондук почта же сырсөз форматы",
"passwords_do_not_match": "Сырсөздөр дал келбейт.",
"required_field_not_filled": "Милдеттүү талаа толтурулган жок.",
"exceeded_maximum_length": "Талаанын эң ылдам узундугу өткөнчү болду.",
"login_required_before_commenting": "Комментарий бир ар каайыпты таштоо алганда, ал кайталап киргизиңиз же тизмеге киргизиңиз.",
"login_required_before_like": "Лайк койгондо, кайталап киргизиңиз же тизмеге киргизиңиз керек."
"exceeded_maximum_length": "Максималдуу талаа узундугу ашты.",
"login_required_before_commenting": "Пикир калтыруудан мурун аккаунтуңузга кириңиз.",
"login_required_before_like": "Жакты койгондон мурун аккаунтуңузга кириңиз."
},
"server_errors": {
"invalid_email_or_password": "Туура эмес почта же сыр сөз.",
"server_error_auth_attempt": "Авторизация учуруу учурастыктан кайталап сервердеги ката.",
"invalid_email_or_password": "Жараксыз электрондук почта же сырсөз.",
"server_error_auth_attempt": "Сервер тарапта ката.",
"login_failed": "Кирүүгө мүмкүн болгон эмес. Негизги нече кайталап уруксат бериңиз.",
"account_already_exists": "Бул почтага ар бир аккаунт бар.",
"account_already_exists": "Бул колдонуучу мурунтан эле бар.",
"account_not_found": "Аккаунт табылган жок.",
"invalid_activation_code": "Четке калган иштеш коду.",
"invalid_activation_code_reset": "Сыр сөздү калыпта тапшыруу үчүн четке калган иштеш коду.",
"invalid_password_reset_code": "Сыр сөздү өзгөртүү коду четке калган эмес.",
"invalid_code": "Четке калган иштеш коду."
"invalid_activation_code": "Код жараксыз",
"invalid_activation_code_reset": "Активдештирүү коду жарактуу",
"invalid_password_reset_code": "Сырсөздү кайра коюу коду жараксыз",
"invalid_code": "Код туура эмес"
},
"disclaimer": {
"text": "Бул веб-сайт Европа Биримдиги тарабынан каржыланат. Анын мазмуну үчүн Трансперенси Интернешнл Кыргызстан гана жоопкерчиликтүү жана ал Европа Биримдигинин көз карашын сөзсүз түрдө чагылдырбайт."

3589
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,5 @@
import Typography from "@/shared/ui/components/Typography/Typography";
import "./AboutUs.scss";
import Image from "next/image";
import header from "./assets/header.svg";
import { Metadata } from "next";
import BreadCrumbs from "@/features/BreadCrumbs/BreadCrumbs";
import { apiInstance } from "@/shared/config/apiConfig";
@ -57,11 +55,6 @@ const AboutUs = () => {
<BreadCrumbs homeRequired />
<Typography element="h2">О нас</Typography>
<Image
className="about-us__image"
src={header}
alt="Header Image"
/>
<div className="about-us__descriptions">
<h3>
Transparency International-Кыргызстан - филиал международной

View File

@ -1,6 +1,8 @@
export interface IUserRatings {
user_id: number;
username: string;
first_name: string;
last_name: string;
report_count: number;
likes_given_count: number;
likes_received_count: number;

View File

@ -38,6 +38,12 @@
font-weight: 400;
line-height: 34px;
color: rgb(62, 50, 50);
a{
color: rgb(72, 159, 225);
font-size: 20px;
text-decoration: underline;
}
}
&__author {

View File

@ -38,6 +38,12 @@ const ReportInformation: React.FC<IReportInformationProps> = async ({
5: t("repaired"),
6: t("fixed_local_defects"),
};
const renderDescriptionWithLinks = (description: string) => {
const regex = /(?:https?|ftp):\/\/[\n\S]+/g;
return description.replace(regex, (match) => `<a href="${match}" target="_blank" rel="noopener noreferrer">${match}</a>`);
};
return (
<div className="report-information">
<RoadType color={ROAD_TYPES_COLORS[category]}>
@ -58,7 +64,7 @@ const ReportInformation: React.FC<IReportInformationProps> = async ({
<ReportLike count={total_likes} report_id={id} />
</div>
<p className="report-information__description">{description}</p>
<p className="report-information__description" dangerouslySetInnerHTML={{ __html: renderDescriptionWithLinks(description) }} />
<p className="report-information__author">
Автор обращения:{" "}

View File

@ -21,16 +21,15 @@
tr {
width: 100%;
height: 100%;
display: grid;
grid-template-columns: 100px 320px 210px 213px 222px 92px;
align-items: center;
grid-template-columns: 80px 300px 300px 200px 200px 200px 200px;
td {
display: flex;
align-items: center;
height: 100%;
background-color: rgb(244, 244, 244);
justify-content: center;
}
td,
@ -52,7 +51,7 @@
padding: 0 20px;
tr {
display: grid;
grid-template-columns: 100px 320px 210px 213px 222px 92px;
grid-template-columns: 80px 300px 300px 200px 180px 200px 180px;
align-items: center;
width: 100%;
height: 80px;
@ -62,7 +61,11 @@
font-size: 20px;
font-weight: 500;
line-height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
#volunteers-user-cell {
color: rgb(72, 159, 225);

View File

@ -16,6 +16,7 @@ const VolunteersTable = () => {
const params = [
{ param: "№" },
{ param: "Активист" },
{ param: "Имя Фамилия"},
{
param: "Добавлено дорог",
handleClick() {
@ -124,6 +125,7 @@ const VolunteersTable = () => {
<td id="volunteers-user-cell">
{hideEmail(user.username)}
</td>
<td>{user.first_name} {user.last_name}</td>
<td>{user.report_count}</td>
<td>{user.likes_received_count}</td>
<td>{user.likes_given_count}</td>