From 1cc3e79db98c035bba47fd46ca68fdc8aa1a7ad9 Mon Sep 17 00:00:00 2001 From: Mikhail Koltsov <misha@koltsov.su> Date: Wed, 19 Mar 2014 01:21:11 +0400 Subject: [PATCH 1/8] fixed thang editor appearance: components view was overlapping with tabs. Now looks neat, but still unclickable. --- app/styles/editor/components/main.sass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/styles/editor/components/main.sass b/app/styles/editor/components/main.sass index d1c678e18..7efde9cfd 100644 --- a/app/styles/editor/components/main.sass +++ b/app/styles/editor/components/main.sass @@ -7,7 +7,7 @@ .column position: absolute - top: 0 + top: 70px bottom: 0 padding: 5px box-sizing: border-box @@ -20,7 +20,7 @@ .treema position: absolute - top: 70px + top: 100px left: 0 right: 10px bottom: 0 @@ -32,7 +32,7 @@ .treema position: absolute - top: 70px + top: 100px left: 10px right: 0px bottom: 0 From 62a170106303f8fc12e88e7e690b095f4acc4595 Mon Sep 17 00:00:00 2001 From: Mikhail Koltsov <misha@koltsov.su> Date: Wed, 19 Mar 2014 01:26:41 +0400 Subject: [PATCH 2/8] even better positioning --- app/styles/editor/components/main.sass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/styles/editor/components/main.sass b/app/styles/editor/components/main.sass index 7efde9cfd..a01df7bd5 100644 --- a/app/styles/editor/components/main.sass +++ b/app/styles/editor/components/main.sass @@ -20,7 +20,7 @@ .treema position: absolute - top: 100px + top: 80px left: 0 right: 10px bottom: 0 @@ -32,7 +32,7 @@ .treema position: absolute - top: 100px + top: 80px left: 10px right: 0px bottom: 0 From c9a08a0b257e36d6e0c73acc9e7416eb644a05c2 Mon Sep 17 00:00:00 2001 From: Mikhail Koltsov <misha@koltsov.su> Date: Wed, 19 Mar 2014 01:43:27 +0400 Subject: [PATCH 3/8] thang editor: added i18n binding to 'Save' button --- app/styles/editor/components/main.sass | 2 +- app/templates/editor/thang/edit.jade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/styles/editor/components/main.sass b/app/styles/editor/components/main.sass index a01df7bd5..53c082bfb 100644 --- a/app/styles/editor/components/main.sass +++ b/app/styles/editor/components/main.sass @@ -1,6 +1,6 @@ #thang-components-edit-view position: absolute - top: 40px + top: 100px bottom: 0 left: 0 right: 0 diff --git a/app/templates/editor/thang/edit.jade b/app/templates/editor/thang/edit.jade index 650f3843f..09326f99c 100644 --- a/app/templates/editor/thang/edit.jade +++ b/app/templates/editor/thang/edit.jade @@ -13,7 +13,7 @@ block content img#portrait.img-thumbnail button.btn.btn-secondary#history-button(data-i18n="general.history") History - button.btn.btn-primary#save-button(data-toggle="coco-modal", data-target="modal/save_version", disabled=authorized === true ? undefined : "true") Save + button.btn.btn-primary#save-button(data-toggle="coco-modal", data-target="modal/save_version", data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save button.btn.btn-primary#revert-button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true") Revert h3 Edit Thang Type: "#{thangType.attributes.name}" From dfe5cd8f415c325af62bfa7ebc40f55fd50f927e Mon Sep 17 00:00:00 2001 From: Mikhail Koltsov <misha@koltsov.su> Date: Wed, 19 Mar 2014 03:29:53 +0400 Subject: [PATCH 4/8] Polished ru.coffee a bit --- app/locale/ru.coffee | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index b1cafeea7..2839363bb 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -315,26 +315,26 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi hard: "Сложно" about: - who_is_codecombat: "Кто есть CodeCombat?" + who_is_codecombat: "Кто стоит за CodeCombat?" why_codecombat: "Почему CodeCombat?" - who_description_prefix: "вместе начали CodeCombat in 2013. Также мы создали " - who_description_suffix: "в 2008, вывели его на первую строчку среди web и iOS приложений для обучения письму китайскими и японскими иероглифами." + who_description_prefix: "вместе начали CodeCombat в 2013 году. Также мы создали " + who_description_suffix: "в 2008 году, вывели его на первую строчку среди web и iOS приложений для обучения письму китайскими и японскими иероглифами." who_description_ending: "Теперь пришло время научить людей написанию кода." - why_paragraph_1: "При создании Skritter, Джордж не знал, как программировать и постоянно расстраивался из-за того, что не мог реализовать свои идеи. После этого он пытался учиться, но уроки были слишком медленными. Его сосед по дому, желая переквалифицироваться и прекратить преподавать, пробовал Codecademy, но \"наскучивало.\" Каждую неделю другой друг начинал Codecademy, затем бросал. Мы поняли, что это была та же проблема, которую мы решали со Skritter: люди получают навык через медленные, интенсивные уроки, когда то, что им нужно - быстрая, обширная практика. Мы знаем, как это исправить." + why_paragraph_1: "При создании Skritter, Джордж не знал, как программировать и постоянно расстраивался из-за того, что не мог реализовать свои идеи. После этого он пытался учиться, но уроки были слишком медленными. Его сосед, желая переквалифицироваться и прекратить преподавать, пробовал Codecademy, но \"потерял интерес.\" Каждую неделю очередной товарищ начинал Codecademy, затем бросал. Мы поняли, что это была та же проблема, которую мы решили со Skritter: люди получают навык через медленные, интенсивные уроки, в то время как то, что им нужно - быстрая, обширная практика. Мы знаем, как это исправить." why_paragraph_2: "Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и прекрасно провести время, делая это." - why_paragraph_3_prefix: "Вот, о чём программирование. Это должно быть весело. Не вроде" + why_paragraph_3_prefix: "Вот где программирование. Это должно быть весело. Не забавно, вроде" why_paragraph_3_italic: "вау, значок," why_paragraph_3_center: "а" why_paragraph_3_italic_caps: "НЕТ, МАМ, Я ДОЛЖЕН ПРОЙТИ УРОВЕНЬ!" - why_paragraph_3_suffix: "Вот, почему CodeCombat - мультиплеерная игра, а не курс уроков в игровой форме. Мы не остановимся, пока вы не сможете остановиться--в данном случае, это хорошо." + why_paragraph_3_suffix: "Вот, почему CodeCombat - мультиплеерная игра, а не курс уроков в игровой форме. Мы не остановимся, пока вы не потеряете голову - в данном случае, это хорошо." why_paragraph_4: "Если вы собираетесь увлечься какой-нибудь игрой, увлекитесь этой и станьте одним из волшебников века информационных технологий." - why_ending: "Эй, это бесплатно. " + why_ending: "И да, это бесплатно. " why_ending_url: "Начни волшебство сейчас!" - george_description: "Генеральный директор, бизнес-парень, веб-дизайнер, геймдизайнер, и чемпион начинающих программистов во всём мире." - scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник, и мастер финансов. Скотт является разумным." - nick_description: "Маг программирования, эксцентрично мотивированный волшебник, и экспериментатор вверх ногами. Ник может делать всё и хочет построить CodeCombat." + george_description: "Генеральный директор, бизнес-парень, веб-дизайнер, геймдизайнер и чемпион начинающих программистов во всём мире." + scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник и мастер финансов. Скотт рассудителен." + nick_description: "Маг программирования, мудрец эксцентричного мотивирования и чудаковатый экспериментатор. Ник может всё и хочет построить CodeCombat." jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми." - michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы онлайн." + michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы в доступности." legal: page_title: "Юридическая информация" @@ -342,26 +342,26 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi opensource_description_prefix: "Посмотрите " github_url: "наш GitHub" opensource_description_center: "и посодействуйте, если вам понравилось! CodeCombat построен на десятках проектов с открытым кодом, и мы любим их. Загляните в " - archmage_wiki_url: "нашу вики Архимагов" + archmage_wiki_url: "наш вики-портал для Архимагов" opensource_description_suffix: ", чтобы увидеть список программного обеспечения, делающего игру возможной." - practices_title: "Лучшие уважаемые практики" - practices_description: "Это наши обещания тебе, игрок, менее юридическим языком." + practices_title: "Почтительные лучшие практики" + practices_description: "Это наши обещания тебе, игроку, менее юридическим языком." privacy_title: "Конфиденциальность" privacy_description: "Мы не будем продавать какой-либо личной информации. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия." security_title: "Безопасность" - security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт в свободном доступе для всех для пересмотра и совершенствования систем безопасности." + security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт открыт для всех в вопросах пересмотра и совершенствования систем безопасности." email_title: "Email" email_description_prefix: "Мы не наводним вас спамом. Через" email_settings_url: "ваши email настройки" email_description_suffix: "или через ссылки в email-ах, которые мы отправляем, вы можете изменить предпочтения и легко отписаться в любой момент." cost_title: "Стоимость" - cost_description: "В настоящее время, CodeCombat 100% бесплатен! Одной из наших главных целей является сохранить его таким, так, чтобы как можно больше людей могли играть, независимо от места в жизни. Если небо потемнеет, мы, возможно, введём подписки, возможно, только на некоторый контент, но нам не хотелось бы. Если повезёт, мы сможем поддерживать компанию, используя" + cost_description: "В настоящее время, CodeCombat 100% бесплатен! Одной из наших главных целей является сохранить его таким, чтобы как можно больше людей могли играть, независимо от места в жизни. Если небо потемнеет, мы, возможно, введём подписки, возможно, только на некоторый контент, но нам не хотелось бы. Если повезёт, мы сможем поддерживать компанию, используя" recruitment_title: "Рекрутинг" recruitment_description_prefix: "Здесь, в CodeCombat, вы собираетесь стать могущественным волшебником не только в игре, но и в реальной жизни." url_hire_programmers: "Никто не может нанять программистов достаточно быстро" recruitment_description_suffix: "поэтому, как только вы улучшите свои навыки и будете согласны, мы начнём демонстрировать ваши лучшие программистские достижения тысячам работодателей, пускающих слюни на возможность нанять вас. Они платят нам немного, они платят вам" recruitment_description_italic: "много" - recruitment_description_ending: ", сайт остаётся бесплатным и все счастливы. Таков план." + recruitment_description_ending: "сайт остаётся бесплатным и все счастливы. Таков план." copyrights_title: "Авторские права и лицензии" contributor_title: "Лицензионное соглашение соавторов" contributor_description_prefix: "Все вклады, как на сайте, так и на нашем репозитории GitHub, подпадают под наше" @@ -394,7 +394,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi rights_media: "Медиа (звуки, музыка) и любой другой творческий контент, созданный специально для этого уровня и не являющийся общедоступным при создании уровней." rights_clarification: "Чтобы уточнить, всё, что становится доступным в Редакторе уровней для целей создания уровней под CC, в то время как контент, созданный с помощью Редактора уровней или загруженный в ходе создания уровней - нет." nutshell_title: "В двух словах" - nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если это то, что в конечном итоге происходит." + nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если до этого дойдёт." canonical: "Английская версия этого документа является определяющей и канонической. Если есть какие-либо расхождения между переводами, документ на английском имеет приоритет." contribute: From 0ece400a180c5a138deca3a6071201b3fa608041 Mon Sep 17 00:00:00 2001 From: Mikhail Koltsov <misha@koltsov.su> Date: Fri, 21 Mar 2014 11:54:55 +0400 Subject: [PATCH 5/8] Level editor: selecting a thang now moves the scroll in existant-thang list --- app/locale/ru.coffee | 4 ---- app/views/editor/level/thangs_tab_view.coffee | 4 +++- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 52fc935d1..39e6055ee 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -334,12 +334,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник и мастер финансов. Скотт рассудителен." nick_description: "Маг программирования, мудрец эксцентричного мотивирования и чудаковатый экспериментатор. Ник может всё и хочет построить CodeCombat." jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми." -<<<<<<< HEAD michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы в доступности." -======= - michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы онлайн." glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки действительно значащих вещей. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!" ->>>>>>> 034a18c960c7fc14478ea285c9130c57645a3631 legal: page_title: "Юридическая информация" diff --git a/app/views/editor/level/thangs_tab_view.coffee b/app/views/editor/level/thangs_tab_view.coffee index fd0633877..4baf833d6 100644 --- a/app/views/editor/level/thangs_tab_view.coffee +++ b/app/views/editor/level/thangs_tab_view.coffee @@ -228,7 +228,9 @@ module.exports = class ThangsTabView extends View @selectedExtantThangClickTime = new Date() treemaThang = _.find @thangsTreema.childrenTreemas, (treema) => treema.data.id is @selectedExtantThang.id if treemaThang - treemaThang.select() unless treemaThang.isSelected() + if not treemaThang.isSelected() + treemaThang.select() + @thangsTreema.$el.scrollTop(treemaThang.$el.scrollTop()) else if @addThangSprite # We clicked on the background when we had an add Thang selected, so add it @addThang @addThangType, @addThangSprite.thang.pos From 45b87ed38ec0ef4299c7bd9476923d2cd531dc26 Mon Sep 17 00:00:00 2001 From: Mikhail Koltsov <misha@koltsov.su> Date: Fri, 21 Mar 2014 13:45:56 +0400 Subject: [PATCH 6/8] finally got it right --- app/views/editor/level/thangs_tab_view.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/editor/level/thangs_tab_view.coffee b/app/views/editor/level/thangs_tab_view.coffee index 4baf833d6..cd4614f3b 100644 --- a/app/views/editor/level/thangs_tab_view.coffee +++ b/app/views/editor/level/thangs_tab_view.coffee @@ -230,7 +230,7 @@ module.exports = class ThangsTabView extends View if treemaThang if not treemaThang.isSelected() treemaThang.select() - @thangsTreema.$el.scrollTop(treemaThang.$el.scrollTop()) + @thangsTreema.$el.scrollTop(@thangsTreema.$el.find('.treema-children .treema-selected')[0].offsetTop) else if @addThangSprite # We clicked on the background when we had an add Thang selected, so add it @addThang @addThangType, @addThangSprite.thang.pos From af18e7a27e081bc009a77105b725e8a841721f8d Mon Sep 17 00:00:00 2001 From: Mikhail Koltsov <misha@koltsov.su> Date: Fri, 21 Mar 2014 15:40:32 +0400 Subject: [PATCH 7/8] Thang editor: components tab finally looks good and does not overlay other tabs --- app/styles/editor/components/main.sass | 6 +++--- app/styles/editor/thang/edit.sass | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/styles/editor/components/main.sass b/app/styles/editor/components/main.sass index 53c082bfb..148943844 100644 --- a/app/styles/editor/components/main.sass +++ b/app/styles/editor/components/main.sass @@ -1,13 +1,13 @@ #thang-components-edit-view position: absolute - top: 100px + top: 40px bottom: 0 left: 0 right: 0 .column position: absolute - top: 70px + top: 0 bottom: 0 padding: 5px box-sizing: border-box @@ -32,7 +32,7 @@ .treema position: absolute - top: 80px + top: 70px left: 10px right: 0px bottom: 0 diff --git a/app/styles/editor/thang/edit.sass b/app/styles/editor/thang/edit.sass index 304dd1a59..871cab229 100644 --- a/app/styles/editor/thang/edit.sass +++ b/app/styles/editor/thang/edit.sass @@ -59,7 +59,7 @@ #thang-components-edit-view position: absolute - top: 130px + top: 200px bottom: 0 .treema-root From 096c59b6cfe173d1620c16cd6fe003fb1431bcf0 Mon Sep 17 00:00:00 2001 From: Mikhail Koltsov <misha@koltsov.su> Date: Fri, 21 Mar 2014 15:42:29 +0400 Subject: [PATCH 8/8] fix some assymetry --- app/styles/editor/components/main.sass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/editor/components/main.sass b/app/styles/editor/components/main.sass index 148943844..bb8e437d6 100644 --- a/app/styles/editor/components/main.sass +++ b/app/styles/editor/components/main.sass @@ -32,7 +32,7 @@ .treema position: absolute - top: 70px + top: 75px left: 10px right: 0px bottom: 0