added kg text, removed image from about, added links in descriptions of posts

This commit is contained in:
ariari04 2024-05-29 15:27:00 +06:00
parent aa4bf468cd
commit 545285f1c3
7 changed files with 3719 additions and 123 deletions

View File

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

View File

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

View File

@ -38,6 +38,12 @@ const ReportInformation: React.FC<IReportInformationProps> = async ({
5: t("repaired"), 5: t("repaired"),
6: t("fixed_local_defects"), 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 ( return (
<div className="report-information"> <div className="report-information">
<RoadType color={ROAD_TYPES_COLORS[category]}> <RoadType color={ROAD_TYPES_COLORS[category]}>
@ -58,7 +64,7 @@ const ReportInformation: React.FC<IReportInformationProps> = async ({
<ReportLike count={total_likes} report_id={id} /> <ReportLike count={total_likes} report_id={id} />
</div> </div>
<p className="report-information__description">{description}</p> <p className="report-information__description" dangerouslySetInnerHTML={{ __html: renderDescriptionWithLinks(description) }} />
<p className="report-information__author"> <p className="report-information__author">
Автор обращения:{" "} Автор обращения:{" "}

View File

@ -21,10 +21,9 @@
tr { tr {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: grid; display: grid;
grid-template-columns: 100px 320px 210px 213px 222px 92px; grid-template-columns: 80px 300px 300px 200px 180px 200px 150px;
align-items: center;
td { td {
display: flex; display: flex;
@ -52,7 +51,7 @@
padding: 0 20px; padding: 0 20px;
tr { tr {
display: grid; display: grid;
grid-template-columns: 100px 320px 210px 213px 222px 92px; grid-template-columns: 80px 300px 300px 200px 180px 200px 180px;
align-items: center; align-items: center;
width: 100%; width: 100%;
height: 80px; height: 80px;
@ -64,6 +63,7 @@
line-height: 20px; line-height: 20px;
} }
#volunteers-user-cell { #volunteers-user-cell {
color: rgb(72, 159, 225); color: rgb(72, 159, 225);
} }

View File

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