11 Commits
Author SHA1 Message Date
Vladislav Khorev 49cb64a368 fixing minor issues 2024-09-10 17:35:22 +00:00
Vladislav Khorev 922d8386c6 Merge 2024-09-08 14:16:41 +00:00
Vladislav Khorev dcac729914 merge 2024-09-08 14:15:44 +00:00
Vladislav Khorev ecd3848ec3 package lock added 2024-09-08 14:14:22 +00:00
Vladislav Khorev 32761ce479 Merge 2024-09-08 14:14:05 +00:00
anime 54ec09afe0 Fix description for news 2024-09-03 11:35:13 +06:00
anime ea58e4f2d1 fix dates of news 2024-09-03 10:58:38 +06:00
Vladislav Khorev c3697c9e55 Update readme 2024-07-28 21:01:16 +00:00
anime b85d1e8f30 fixing navbar 2024-07-09 09:41:47 +06:00
Vladislav Khorev 1363519e75 fixing translations 2024-07-03 17:52:47 +00:00
altynai bea7ec82c2 Merge pull request 'updated navbar, fixed map' (#3) from kg-road-fix into ali
Reviewed-on: http://gitea.fishrungames.com/Transparency/kgroad-frontend2/pulls/3
2024-06-13 11:41:41 +00:00
14 changed files with 6266 additions and 946 deletions

No files matched your search

+9
View File
@@ -1,3 +1,12 @@
## TL;DR
```
git pull
yarn install
yarn build
yarn start
```
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
## Getting Started
+5
View File
@@ -220,5 +220,10 @@
"p17": "Users have the right to send their requests to the Operator, including requests regarding the use of their personal data, sending a withdrawal of consent to the processing of personal data in writing to the address specified in the General Provisions section of this regulation, or in the form of an electronic document sent via the feedback form. The Operator undertakes to review and send a response to the User's request within 30 days from the date of receipt of the request.",
"p18":"OTHER",
"p19":"A visitor to the Organization's website who provides his personal data and information thereby agrees to the provisions of this Privacy Policy. We reserve the right to make any changes to the Policy at any time at our discretion in order to further improve the system of protection against unauthorized access to personal data reported by Users without the User's consent. When we make significant changes to the Privacy Policy, a corresponding notification is posted on our website along with the updated version of the Privacy Policy.This Policy does not apply to the actions and Internet resources of third parties."
},
"AboutUs" : {
"p1" : "Transparency International ̶ это глобальная независимая организация по изучению и борьбе с коррупцией как в международном масштабе, так и в масштабе отдельных стран, одна из целей которой добиться большей прозрачности и подотчетности власти.",
"p2" : "Команда Трансперенси Интернешнл Кыргызстан разработала платформу для мониторинга строительства и ремонта дорог, содержащая интерактивную карту по обеспечению доступа к информации о дорогах и улицах, отремонтированных за последние годы, включая стоимость работ, данные организации-подрядчика, гарантийные сроки, ссылки на закупочную документацию и другую информация о работах, а также обобщенная статистика по дорожным работам (например, дорожные работы, выполненные одним и тем же подрядчиком). Платформа также предоставит пользователям возможность оперативно сообщать о дефектах на дорогах и необходимости их устранения, голосовать за приоритетность ремонта дорог и предоставлять обратную связь в удобном формате, которые позволят гражданам самостоятельно анализировать и контролировать использование исполнения государственных дорожных контрактов. Информация по дорожным строительствам и ремонтам собирается из открытых данных портала госзакупок и Минюста. ",
"p3" : "Помимо веб-платформы имеются два мобильных приложения для платформ iOS и Android с функциями, аналогичными веб-сайту."
}
}
+118 -113
View File
@@ -1,44 +1,44 @@
{
"general": {
"date": "Дата",
"date": "Күн",
"address": "Дарек",
"status": "Статус",
"description": "Сүрөттөмө ",
"reviews": "Пикир",
"description": "Көйгөй",
"reviews": "Комментарийлер",
"rating": "Рейтинг",
"review": "Пикир",
"write_comment": "Пикир жазыңыз",
"review": "Комментарий",
"write_comment": "Комментарий жазуу",
"search": "Издөө",
"search_for": "Издөө",
"city": "Шаар",
"added_roads": "Кошулган жолдор",
"added_roads": "Белгилөөлөр",
"broken_roads": "Бузулган жолдор",
"accident_hotspots": "Кырсык очоктору",
"local_defects": "Жердик кемчиликтер",
"repair_plans": "Оңдоо пландарында",
"repaired": "Оңдолду",
"fixed_local_defects": "Жердик кемчиликтер оңдолду",
"accident_hotspots": "Авариялык абалда",
"local_defects": "Жергиликтүү кемчиликтер",
"repair_plans": "Ремонттоо планында",
"repaired": "Ремонттолгон",
"fixed_local_defects": "Жергиликтүү оңдолгон жолдор",
"news": "Жаңылыктар",
"details": "Кеңирирээк",
"details": "Кененирээк маалымат",
"navigation": "Навигация",
"contacts": "Байланыш",
"download_our_app": "Биздин тиркемени жүктөп алыңыз",
"download_our_app": "Биздин колдонмону жүктөңүз",
"back": "Артка",
"save": "Сактоо",
"saving": "Сакталат",
"cancel": "Жокко чыгаруу",
"cancellation": "Жокко чыгаруу",
"save_changes": "Өзгөрүүлөрдү сактоо",
"send": "Жөнөтүү",
"save_changes": "Өзгөртүүлөрдү сактоо",
"send": "Жиберүү",
"receive": "Алуу",
"delete": "Жок кылуу",
"show_on_map": "Картада көрсөтүү",
"author_of_appeal": "Кайрылуунун автору",
"enter_city": "Шаарды киргизиңиз",
"page_not_found": "Бет табылган жок (404)",
"incorrect_address_or_nonexistent_page": "Дарек туура эмес терилген же андай бет жок",
"author_of_appeal": "Өтүнүчтүн автору",
"enter_city": "Жерликти киргизиңиз",
"page_not_found": "Барак табылган жок (404)",
"incorrect_address_or_nonexistent_page": "Дарек туура эмес же баракча жок",
"home": "Башкы бет",
"first_name": "Аты",
"first_name": "Аты-жөнү",
"last_name": "Фамилия",
"email": "Электрондук почта"
},
@@ -56,134 +56,134 @@
"home": {
"title": "Кыргызстандын жолдору",
"subtitle": "Жолдорду коопсуз кылалы!",
"info": "Жолдордун жаңы күйү",
"info": "Жолдун абалы боюнча акыркы маалымат",
"report_broken_road": "Бузулган жолду белгилөө",
"road_map": "Жол картасы",
"latest_news": "Жол кыймылы, курулуш жана иш-чаралары жөнүндө маалым болуңуз!",
"latest_news": "Жол кыймылы, жасалып жатканы ж.б. тууралуу акыркы жаңылыктардан кабардар болуңуз!",
"enter_location": "Шаар, айыл же аймакты киргизиңиз",
"broken_roads": "Бузулган жол",
"accident_hotspots": "Кырсык очогу",
"local_defects": "Жердик кемчилик",
"repair_plans": "Оңдоо планында",
"repaired": "Оңдолду",
"fixed_local_defects": "Жердик кемчилик оңдолду",
"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": "Транспаренттыктык Интернационал-Кыргызстан",
"description": "Транспаренттыктык Интернационалдын Кыргызстан Республикасы бөлүмү.",
"mission": "Коррупциянын ыкмасы менен демократияны күтүтүп, эффективдүү жамааттык саясат жана жакшы мамлекеттүү башкаруунун бириктирилүү үчүн.",
"name": "Транспаренси Интернешнл-Кыргызстан",
"description": "Transparency International эл аралык уюмунун Кыргыз Республикасындагы бөлүмү.",
"mission": "Коррупциянын алдын алуу жана өлкөдө демократияны чыңдоо үчүн эффективдүү мамлекеттик саясатты жана ак ниет башкарууну алдыга жылдыруу.",
"goals_and_priorities": {
"anti-corruption_education": "Коррупция менен борбордук бийикти ашуу, Кыргызстанда коррупцияга каршы болгондоо маанилүүдүн жана азаттыктардын маанилүүлүгү үчүн жалпы айткынуу;",
"study_of_corruption_practices": "Коррупцияга каршы борбордукты тартуу жана учуруу теориясы менен, Кыргызстан менен башка өлкөлердеги кызмат көрсөтүүсү үчүн азаттыктыктын долбоорлорун жана каттоого жаткантыруу;",
"supporting_citizens_and_organizations": "Граждандар менен биздин же компаниялардын конституциялык башкаруу менен жандуулаткануу;",
"international_experience": "Коррупциянын аздоого чейинки жыйынтыкты башкаруу үчүн көздөр тартуу, улуттуктары менен биргелеп, коррупцияга каршы көрсөткүчтөрдү мамлекеттик диалогга киргизүү."
"anti-corruption_education": "Кыргызстандын калкын коррупцияга каршы күрөштүн мааниси жана зарылчылыгы жөнүндө коомчулуктун маалымдуулугун жогорулатуу;",
"study_of_corruption_practices": "Кыргызстанда жана башка өлкөлөрдө коррупция менен күрөшүүнүн тажрыйбасы жана теориясын изилдөөнү уюштуруу жана ага жарандык коом структураларынын катышуусу;",
"supporting_citizens_and_organizations": "Жарандарга жана уюмдарга алардын конституциялык укуктарын жана эркиндиктерин ишке ашырууга жардам көрсөтүү;",
"international_experience": "Коррупцияны азайтуу боюнча эл аралык тажрыйбага, анын технологияларын, ресурстарын колдонууга, ошондой эле коррупцияга каршы эл аралык диалогго жарандык коомдун түзүмдөрүн кошууга басымдуулук кылуу."
}
},
"volunteers": {
"activists": "Активисттер",
"received_votes": "Алган добуштары",
"left_votes": "Калтырган добуштары",
"received_votes": "Алынган добуштар",
"left_votes": "Калтырылган добуштар",
"rating": "Рейтинг"
},
"profile": {
"personal_cabinet": "Жеке кеңсе",
"personal_data": "Жеке маалыматтар",
"personal_cabinet": "Жеке кабинет",
"personal_data": "Жеке маалымат",
"my_appeals": "Менин кайрылууларым",
"logout": "Чыгуу",
"write_appeal": "Кайрылуу жазыңыз",
"profile_photo": "Профиль сүрөтү",
"others_identification": "Профилиңиздин сүрөтү боюнча, башка адамдар сизди тааный алышат жана сиз кайсы аккаунтка киргениңизди аныктоо оңой болот.",
"add_profile_photo": "Профиль сүрөтү кошуңуз",
"profile_photo_updated": "Профиль сүрөтү жаңырды",
"write_appeal": "Кайрылуу",
"profile_photo": "Сүрөт",
"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": "Кирүү",
"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": "Аккаунтуңуз али жокпу? Катталыңыз",
"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": "Электрондук почтаңызды киргизиңиз, биз сизге сырсөздү калыбына келтирүү кодун жөнөтөбүз",
"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": "Кодду active1User@mail.com дарегине жөнөттүк",
"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_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": "Сиздин кайрылууңуз үчүн рахмат. Азыркуу учурда ал модерацияда.",
"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": "Сырсөздөр дал келбейт.",
"required_field_not_filled": "Милдеттүү талаа толтурулган жок.",
"exceeded_maximum_length": "Максималдуу талаа узундугу ашты.",
"login_required_before_commenting": "Пикир калтыруудан мурун аккаунтуңузга кириңиз.",
"login_required_before_like": "Жакты койгондон мурун аккаунтуңузга кириңиз."
"invalid_email_format": "Электрондук почтанын форматы туура эмес.",
"passwords_do_not_match": "Сыр сөздөрү туура келбейт.",
"required_field_not_filled": "Талап кылынган жер толтурулган эмес.",
"exceeded_maximum_length": "Тамгалардын максималдуу узундугу ашып кетти.",
"login_required_before_commenting": "Комментарий калтырыш үчүн жеке кабинетиңизге кириңиз же каттоодон өтүңүз.",
"login_required_before_like": "Лайк коюш үчүн жеке кабинетиңизге кириңиз же каттоодон өтүңүз."
},
"server_errors": {
"invalid_email_or_password": "Жараксыз электрондук почта же сырсөз.",
"server_error_auth_attempt": "Сервер тарапта ката.",
"login_failed": "Кирүүгө мүмкүн болгон эмес. Негизги нече кайталап уруксат бериңиз.",
"account_already_exists": "Бул колдонуучу мурунтан эле бар.",
"invalid_email_or_password": "Почта же сыр сөз туура эмес.",
"server_error_auth_attempt": "Авторизация аракетинде сервердеги ката.",
"login_failed": "Кирүүгө мүмкүн эмес. Кийинчирээк кайталап көрүңүз.",
"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": "Бул веб-сайт Европа Биримдиги тарабынан каржыланат. Анын мазмуну үчүн Трансперенси Интернешнл Кыргызстан гана жоопкерчиликтүү жана ал Европа Биримдигинин көз карашын сөзсүз түрдө чагылдырбайт."
@@ -200,8 +200,8 @@
"title4": "Жеке маалыматтарды өткөрүп берүү",
"title5": "Жеке маалыматтарды жок кылуу",
"title6": "Жеке маалыматтарды коргоо",
"title7": "Колдонуучунун суроо-талаптары",
"p1":"Бул Купуялык саясаты боюунча жобо ",
"title7": "Колдонуучунун кайрылуулары",
"p1":"Бул Купуялык саясатынын билдирүүсү почта тизмесин, сайттын пикир формасын жана домендик аталышта жайгашкан электрондук почта даректерин колдонгон жеке адамдар (мындан ары - Колдонуучулар) жөнүндө маалыматты иштеп чыгуу жана коргоо тартибин аныктайт.",
"p1o":" (мындан ары Сайт деп аталат) домендик аталышта жайгашкан почталык таркатма, сайттын пикир билдирүү формасын жана электрондук почта даректерин колдонгон жеке адамдар (мындан ары - Колдонуучулар) жөнүндө маалыматты колдонуу жана коргоо тартибин аныктайт. Биз жеке маалыматтарды кантип иштетээрибизди сүрөттөгөн Купуялык саясатын иштеп чыктык - автоматташтыруу куралдарын колдонуу менен же мындай куралдарды колдонбостон аткарылган ар кандай аракеттер (операциялар) же аракеттердин (операциялардын) жыйындысы, анын ичинде жеке маалыматтарды чогултуу, жазып алуу, системалаштыруу, топтоо, сактоо, тактоо (жаңыртуу, өзгөртүү),  чыгаруу, пайдалануу, берүү (тараттуу,  көрсөтүү, жетүү),  өздүксүздөндүрүү,  жаап коюу,  өчүрүү, жок кылуу. Жеке маалыматтарды жана Сайттын колдонуучулары жөнүндө маалыматтарды иштетүүгө байланышкан мамилелер ушул Жобо менен жөнгө салынат. Бул Купуялык саясаты Сайттын колдонуучулары болуп саналган адамдар жөнүндө персоналдык маалыматтарды жана жеке мүнөздөгү маалыматтарды ( өздүктү тактаганга мүмкүндүк берген каалаган маалымат жана ага байланыштуу каалаган башка маалымат) иштетүүнүн бардык түрүн жөнгө салат. Бул Саясат дүйнөнүн каалаган жеринде жайгашкан адамдардан Интернет аркылуу да, аны колдонбостон да активдүү жана пассивдүү ар кандай каражаттар менен чогултулган жеке, персоналдык маалыматтарды иштетүүгө карата колдонулат.",
"p2":"Жеке маалыматтарды  иштетүүнүн максаты Оператор тарабынан Сайтты жана анын кызматтарын пайдалануу боюнча Колдонуучулардын алдындагы милдеттерин аткаруу болуп саналат. Колдонуучунун жеке маалыматтарын иштетүү жеке маалыматтар субъектинин анын жеке маалыматтарын иштетүүгө макулдугу менен жүзөгө ашырылат. Жеке маалыматтар  деп, аныкталган же аныкталуучу адамга (жеке маалыматтар субъектисине) түздөн-түз же кыйыр түрдө тиешелүү жана аныкталган адамды идентификациялоо же аны менен байланыштыруу үчүн колдонулушу мүмкүн болгон  каалаган  маалымат. Сиздин макулдугуңуз менен сизди почталык таркатмага киргизүү, ошондой эле Сайттагы пикир билдирүү формасы аркылуу биз менен байланышсаңыз, сизге жооп берүү үчүн атыңызды, фамилияңызды, атаңыздын атыңыздын жана электрондук почта дарегиңизди сурашыбыз мүмкүн.",
"p3": "Колдонуучулардын жеке маалыматтары электрондук алып жүрүүчүлөрдө гана сакталат жана автоматташтырылган системалардын жардамы менен иштетилет.",
@@ -221,6 +221,11 @@
"p17":"Колдонуучулар Операторго өздөрүнүн суроо-талаптарын, анын ичинде алардын жеке маалыматтарын колдонууга, жеке маалыматтарды иштетүүгө макулдукту жокко чыгарууга байланыштуу суроо-талаптарды ушул жобонун Жалпы жоболор бөлүмүндө көрсөтүлгөн дарек боюнча жазуу жүзүндө же пикир билдирүү формасы аркылуу жөнөтүлгөн электрондук документ формасында жөнөтүүгө укуктуу. Оператор суроо-талапты алган күндөн тартып 30 күндүн ичинде Колдонуучунун суроо-талабын карап чыгууга жана ага жооп жөнөтүүгө милдеттенет.",
"p18":"БАШКАЛАР",
"p19":"Уюмдун веб-сайтына өзүнүн жеке маалыматтарын жана маалыматын берген конок ушул Купуялык саясатынын жоболоруна макул болот. Колдонуучунун макулдугусуз Колдонуучулар тарабынан билдирилген жеке маалыматтарга уруксатсыз кирүүдөн коргоо тутумун андан ары өркүндөтүү максатында, биз каалаган убакта ушул Саясатка өзгөртүүлөрдү киргизүү укугун сактайбыз. Купуялык саясатыбызга олуттуу өзгөртүүлөрдү киргизгенде, биз Купуялык саясатыбыздын жаңыртылган версиясы менен бирге веб-сайтыбызга билдирүү жарыялайбыз. Бул Саясат үчүнчү жактардын аракеттерине жана интернет-ресурстарына жайылтылбайт."
},
"AboutUs" : {
"p1" : "Transparency International ̶ это глобальная независимая организация по изучению и борьбе с коррупцией как в международном масштабе, так и в масштабе отдельных стран, одна из целей которой добиться большей прозрачности и подотчетности власти.",
"p2" : "Команда Трансперенси Интернешнл Кыргызстан разработала платформу для мониторинга строительства и ремонта дорог, содержащая интерактивную карту по обеспечению доступа к информации о дорогах и улицах, отремонтированных за последние годы, включая стоимость работ, данные организации-подрядчика, гарантийные сроки, ссылки на закупочную документацию и другую информация о работах, а также обобщенная статистика по дорожным работам (например, дорожные работы, выполненные одним и тем же подрядчиком). Платформа также предоставит пользователям возможность оперативно сообщать о дефектах на дорогах и необходимости их устранения, голосовать за приоритетность ремонта дорог и предоставлять обратную связь в удобном формате, которые позволят гражданам самостоятельно анализировать и контролировать использование исполнения государственных дорожных контрактов. Информация по дорожным строительствам и ремонтам собирается из открытых данных портала госзакупок и Минюста. ",
"p3" : "Помимо веб-платформы имеются два мобильных приложения для платформ iOS и Android с функциями, аналогичными веб-сайту."
}
}
+5
View File
@@ -220,5 +220,10 @@
"p17":"Пользователи вправе направлять Оператору свои запросы, в том числе запросы относительно использования их персональных данных, направления отзыва согласия на обработку персональных данных в письменной форме по адресу, указанному в разделе Общие положения настоящего положения, или в форме электронного документа, отправленного посредством формы обратной связи. Оператор обязуется рассмотреть и направить ответ на поступивший запрос Пользователя в течение 30 дней с момента поступления обращения.",
"p18":"ДРУГОЕ",
"p19": "Посетитель сайта Организации, предоставляющий свои персональные данные и информацию, тем самым соглашается с положениями данной Политики Конфиденциальности. Мы оставляем за собой право вносить любые изменения в Политику в любое время по своему усмотрению с целью дальнейшего совершенствования системы защиты от несанкционированного доступа к сообщаемым Пользователями персональным данным без согласия Пользователя. Когда мы вносим существенные изменения в Политику Конфиденциальности, на нашем сайте размещается соответствующее уведомление вместе с обновлённой версией Политики Конфиденциальности. Действие настоящей Политики не распространяется на действия и интернет-ресурсы третьих лиц."
},
"AboutUs" : {
"p1" : "Transparency International ̶ это глобальная независимая организация по изучению и борьбе с коррупцией как в международном масштабе, так и в масштабе отдельных стран, одна из целей которой добиться большей прозрачности и подотчетности власти.",
"p2" : "Команда Трансперенси Интернешнл Кыргызстан разработала платформу для мониторинга строительства и ремонта дорог, содержащая интерактивную карту по обеспечению доступа к информации о дорогах и улицах, отремонтированных за последние годы, включая стоимость работ, данные организации-подрядчика, гарантийные сроки, ссылки на закупочную документацию и другую информация о работах, а также обобщенная статистика по дорожным работам (например, дорожные работы, выполненные одним и тем же подрядчиком). Платформа также предоставит пользователям возможность оперативно сообщать о дефектах на дорогах и необходимости их устранения, голосовать за приоритетность ремонта дорог и предоставлять обратную связь в удобном формате, которые позволят гражданам самостоятельно анализировать и контролировать использование исполнения государственных дорожных контрактов. Информация по дорожным строительствам и ремонтам собирается из открытых данных портала госзакупок и Минюста. ",
"p3" : "Помимо веб-платформы имеются два мобильных приложения для платформ iOS и Android с функциями, аналогичными веб-сайту."
}
}
+5171
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -3,7 +3,7 @@
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"dev": "next dev -p 8003",
"build": "next build",
"start": "next start -p 8003",
"lint": "next lint"
+8 -8
View File
@@ -1,9 +1,9 @@
.app {
padding-top: 78px;
}
// .app {
// padding-top: 78px;
// }
@media screen and (max-width: 768px) {
.app {
padding-top: 72px;
}
}
// @media screen and (max-width: 768px) {
// .app {
// padding-top: 72px;
// }
// }
+8 -38
View File
@@ -4,8 +4,10 @@ import { Metadata } from "next";
import BreadCrumbs from "@/features/BreadCrumbs/BreadCrumbs";
import { apiInstance } from "@/shared/config/apiConfig";
import { IMetatag } from "@/shared/types/metatag-type";
import { useTranslations } from "next-intl";
export async function generateMetadata(): Promise<Metadata> {
const data = await apiInstance
.get<IMetatag[]>("/metatags/")
.then((res) => res.data)
@@ -50,51 +52,19 @@ export async function generateMetadata(): Promise<Metadata> {
}
const AboutUs = () => {
const tAboutUs = useTranslations("AboutUs");
return (
<div className="about-us page-padding">
<BreadCrumbs homeRequired />
<Typography element="h2">О нас</Typography>
<div className="about-us__descriptions">
<h3>
Transparency International-Кыргызстан - филиал международной
организации Transparency International в Кыргызской
Республике.
</h3>
<h3>Миссия ТИ-Кыргызстан</h3>
<p>
Продвижение эффективной общественной политики и надлежащего
управления в целях предотвращения коррупции и усиления
демократии в стране.{" "}
</p>
<h3>Цели и приоритеты ТИ-Кыргызстан:</h3>
<ul>
<li>
- антикоррупционное просвещение населения, повышение
общественного осознания значимости и важности борьбы с
коррупцией в Кыргызстане;
</li>
<li>
- организация изучения практики и теории борьбы с
коррупцией и участия в ней структур гражданского общества
в Кыргызстане и других странах;
</li>
<li>
- содействие гражданам и организациям в реализации их
конституционных прав и свобод;
</li>
<li>
- преимущественная ориентация на международный опыт
уменьшения коррупции, освоение его технологий, ресурсов, а
также включение структур гражданского общества в
международный диалог борьбы с коррупцией.
</li>
</ul>
<p>{tAboutUs("p1")}</p>
<p>{tAboutUs("p2")}</p>
<p>{tAboutUs("p3")}</p>
</div>
<p className="about-us__author">
Photo By Mzximvs VdB from Brussels, belgium - Road to
Issyk-Kul (south shore), CC BY-SA 2.0
</p>
</div>
);
};
+2
View File
@@ -5,6 +5,7 @@ import Navbar from "@/widgets/Navbar/Navbar";
import Footer from "@/widgets/Footer/Footer";
import { NextIntlClientProvider, useMessages } from "next-intl";
import { Providers } from "./Providers";
import { GoogleAnalytics } from '@next/third-parties/google'
export default function LocaleLayout({
children,
@@ -25,6 +26,7 @@ export default function LocaleLayout({
</Providers>
</NextIntlClientProvider>
</body>
{<GoogleAnalytics gaId={process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS || ""} />}
</html>
);
}
+18 -11
View File
@@ -14,9 +14,7 @@ export async function generateMetadata({
}: {
params: { id: string };
}): Promise<Metadata> {
const response = await apiInstance.get<INews>(
`/news/${params.id}/`
);
const response = await apiInstance.get<INews>(`/news/${params.id}/`);
return {
title: response.data.title,
@@ -28,17 +26,21 @@ export async function generateMetadata({
},
};
}
const formatDescription = (text: string) => {
return text.replace(/(\r\n|\n|\r)/g, "<br />");
};
//<<<<<<< HEAD:src/app/[locale]/news/[id]/page.tsx
const NewsDetails = async ({
params,
}: {
params: { id: string; новость: string };
}) => {
//=======
//const NewsDetails = async ({ params }: { params: { id: string } }) => {
//>>>>>>> master:src/app/news/[id]/page.tsx
const getNewsById = async () => {
const response = await apiInstance.get<INews>(
`/news/${params.id}/`
);
const response = await apiInstance.get<INews>(`/news/${params.id}/`);
return response.data;
};
@@ -71,9 +73,9 @@ const NewsDetails = async ({
<Image src={calendar} alt="Calendar Icon" />
<p>
{months[data.created_at.slice(5, 7)]}{" "}
{data.created_at.slice(5, 7).slice(0, 1) === "0"
? data.created_at.slice(6, 7)
: data.created_at.slice(5, 7)}
{data.created_at.slice(8, 10) === "0"
? data.created_at.slice(9, 10)
: data.created_at.slice(8, 10)}
, {data.created_at.slice(0, 4)}
</p>
</div>
@@ -87,7 +89,12 @@ const NewsDetails = async ({
<div className="news-details__text">
<h3>{data.title}</h3>
<p>{data.description}</p>
<div
className="news-details__description"
dangerouslySetInnerHTML={{
__html: formatDescription(data.description),
}}
/>
</div>
<ReviewSection endpoint="news" id={data.id} />
+6
View File
@@ -10,11 +10,14 @@ import play_market_btn from "./icons/play-market-btn.svg";
import { Link } from "@/shared/config/navigation";
import { useTranslations } from "next-intl";
import NetKgTracker from "@/widgets/NetKgTracker/NetKgTracker";
import GoogleAnalyticsWidget from "@/widgets/GoogleAnalyticsWidget/GoogleAnalyticsWidget";
const Footer = () => {
const t = useTranslations("general");
const tDisclaimer = useTranslations("disclaimer");
const tRights = useTranslations("rights");
return (
<footer className="footer">
<div className="footer__logo">
@@ -36,6 +39,9 @@ const Footer = () => {
))}
</ul>
<NetKgTracker />
<div className="footer__logo">
<GoogleAnalyticsWidget />
</div>
</div>
<div className="footer__contacts">
@@ -0,0 +1,44 @@
'use client'
import React, { useEffect, useState, useCallback } from 'react';
import { apiInstance } from "@/shared/config/apiConfig";
import { AxiosError } from "axios";
const GoogleAnalyticsWidget = () => {
const [visitors, setVisitors] = useState<string>("");
/* const getAnalytics = async () => {
try {
const response = await apiInstance.get("/report/google_analytics/");
return response.data;
} catch (error: unknown) {
if (error instanceof AxiosError) console.log(error.message);
}
};*/
//const data = await getAnalytics();
const fetchMyAPI = useCallback(async () => {
const getAnalytics = async () => {
try {
const response = await apiInstance.get("/report/google_analytics/");
return response.data;
} catch (error: unknown) {
if (error instanceof AxiosError) console.log(error.message);
}
};
const data = await getAnalytics();
setVisitors(data.visitors);
}, [visitors])
useEffect(() => {
fetchMyAPI();
}, []);
return (
<div><p>Total cummulative visitors: {visitors}</p></div>
)
};
export default GoogleAnalyticsWidget;
-5
View File
@@ -2,17 +2,12 @@
.navbar {
padding: 15px 90px;
// padding: 15px;
width: 100%;
// height: 78px;
position: fixed;
z-index: 10005;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #fff;
box-shadow: 0 4px 6px #0000001a;
margin-bottom: 40px;
&__logo {
display: flex;
+871 -770
View File
File diff suppressed because it is too large. Load diff