From 5e9a32cb4b4d9e92c851a857410efacda5e7f494 Mon Sep 17 00:00:00 2001 From: Valentin Briukhanov Date: Mon, 31 Mar 2025 15:45:11 +0200 Subject: [PATCH 1/5] Enhance anonymous classroom signup conditions in CampaignView - Added a check to exclude Catalyst users from the anonymous classroom signup prompt, improving user experience and targeting. --- app/views/play/CampaignView.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/play/CampaignView.js b/app/views/play/CampaignView.js index fc961eede8..16e8e3cf14 100644 --- a/app/views/play/CampaignView.js +++ b/app/views/play/CampaignView.js @@ -2174,7 +2174,9 @@ class CampaignView extends RootView { } if (what === 'anonymous-classroom-signup') { - return me.isAnonymous() && (me.level() < 8) && me.promptForClassroomSignup() && !this.editorMode && this.terrain !== 'junior' && !storage.load('hid-anonymous-classroom-signup-dialog') + return me.isAnonymous() && !this.isCatalyst && + (me.level() < 8) && me.promptForClassroomSignup() && + !this.editorMode && this.terrain !== 'junior' && !storage.load('hid-anonymous-classroom-signup-dialog') } if (what === 'amazon-campaign') { From b172d5db97e41503f61c60b33fb7056b7283274a Mon Sep 17 00:00:00 2001 From: Valentin Briukhanov Date: Mon, 31 Mar 2025 16:18:20 +0200 Subject: [PATCH 2/5] Update anonymous classroom signup conditions in CampaignView - Added a condition to exclude Catalyst users from the anonymous classroom signup prompt, enhancing user targeting and experience. --- app/views/play/CampaignView.js | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/play/CampaignView.js b/app/views/play/CampaignView.js index 16e8e3cf14..f3786b831f 100644 --- a/app/views/play/CampaignView.js +++ b/app/views/play/CampaignView.js @@ -1997,6 +1997,7 @@ class CampaignView extends RootView { if (application.getHocCampaign()) { return false } if (me.isInHourOfCode()) { return false } if (userUtils.isInLibraryNetwork() || userUtils.libraryName()) { return false } + if (this.isCatalyst) { return false } const latest = window.serverConfig.latestAnnouncement const myLatest = me.get('lastAnnouncementSeen') if (typeof latest !== 'number') { return } From 30b1de774835f68f07ffa72b39be3d63e4ad1aa6 Mon Sep 17 00:00:00 2001 From: Valentin Briukhanov Date: Mon, 31 Mar 2025 16:42:41 +0200 Subject: [PATCH 3/5] Update styles and template for campaign view to enhance layout and user experience - Increased font size and height for better visibility in the campaign view styles. - Adjusted margins and display properties for user status elements to improve alignment and responsiveness. - Simplified the Pug template by removing unnecessary wrapper elements, streamlining the structure. --- app/styles/play/campaign-view.sass | 47 ++++++++++++++++------------ app/templates/play/campaign-view.pug | 5 ++- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/app/styles/play/campaign-view.sass b/app/styles/play/campaign-view.sass index e515bda513..f115146855 100644 --- a/app/styles/play/campaign-view.sass +++ b/app/styles/play/campaign-view.sass @@ -925,24 +925,26 @@ $gameControlMargin: 30px top: 10px right: 30px text-align: right - font-size: 24px + font-size: 26px color: white text-shadow: 0px 2px 1px black, 0px -2px 1px black, -2px 0px 1px black, 2px 0px 1px black - height: 33px - line-height: 33px + height: 40px + line-height: 40px - .stats-row margin-bottom: 10px margin-top: 10px .user-status-line position: relative + display: flex + align-items: center + justify-content: flex-end .btn.btn-illustrated margin-left: 10px min-width: 90px - height: 33px + height: 40px color: white option @@ -953,18 +955,24 @@ $gameControlMargin: 30px margin-right: 10px .gem, .player-hero-icon - position: absolute - top: 1px + position: relative + top: auto #gems-count - margin-left: 40px + margin-left: 5px + display: inline-flex + align-items: center .player-level margin-left: 5px + display: inline-flex + align-items: center .player-name - margin-left: 45px + margin-left: 5px margin-right: 10px + display: inline-flex + align-items: center a color: white @@ -981,15 +989,9 @@ $gameControlMargin: 30px display: inline-block width: 30px height: 30px - margin: 0px 2px - - .level-indicator - margin-left: 15px - color: white - display: inline-block - margin: 0 2px - - .player-hero-icon + margin: 0px 4px + transform: scale(1.33) // Scale up by 1.33 to get from 30px to ~40px + transform-origin: center center margin-left: 10px background-position: (-4 * $spriteSheetSize) 0 @@ -1009,8 +1011,13 @@ $gameControlMargin: 30px background-position: (-11 * $spriteSheetSize) 0 &.sorcerer background-position: (-12 * $spriteSheetSize) 0 - - + + .level-indicator + margin-left: 15px + color: white + display: inline-block + margin: 0 2px + .campaign-control-button position: absolute diff --git a/app/templates/play/campaign-view.pug b/app/templates/play/campaign-view.pug index 515f18b390..2c958bd925 100644 --- a/app/templates/play/campaign-view.pug +++ b/app/templates/play/campaign-view.pug @@ -549,9 +549,8 @@ if showGameDevAlert span.gem.gem-30 span#gems-count.spr= me.gems() if view.shouldShow('level') - .rtl-allowed - span.star.star-30 - span.player-level.spr= me.level() + span.star.star-30 + span.player-level.spr= me.level() if me.get('anonymous') button.btn.btn-illustrated.login-button.btn-warning(data-i18n="login.log_in") button.btn.btn-illustrated.signup-button.btn-danger(data-i18n="signup.sign_up") From 21117b79c6be078cee6ec1a04ba2b36d9b0c266e Mon Sep 17 00:00:00 2001 From: Valentin Briukhanov Date: Tue, 1 Apr 2025 12:57:54 +0200 Subject: [PATCH 4/5] Updated star icons in style files to distinguish them --- app/styles/common/common.sass | 10 +++++----- app/styles/play/campaign-view.sass | 2 +- app/templates/play/campaign-view.pug | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/styles/common/common.sass b/app/styles/common/common.sass index 5133179818..eea8ee5c48 100644 --- a/app/styles/common/common.sass +++ b/app/styles/common/common.sass @@ -223,7 +223,7 @@ kbd width: 60px height: 60px -.star +.achievements-star display: inline-block background: transparent url(/images/achievements/star.png) no-repeat center background-size: contain @@ -231,19 +231,19 @@ kbd height: 80px margin: 0px 2px - &.star-20 + &.achievements-star-20 width: 20px height: 20px - &.star-30 + &.achievements-star-30 width: 30px height: 30px - &.star-40 + &.achievements-star-40 width: 40px height: 40px - &.star-50 + &.achievements-star-50 width: 50px height: 50px .popover diff --git a/app/styles/play/campaign-view.sass b/app/styles/play/campaign-view.sass index f115146855..3e82975e1a 100644 --- a/app/styles/play/campaign-view.sass +++ b/app/styles/play/campaign-view.sass @@ -194,7 +194,7 @@ $gameControlMargin: 30px width: 170% left: -35% - img.star + img.level-star width: 100% bottom: 4% position: absolute diff --git a/app/templates/play/campaign-view.pug b/app/templates/play/campaign-view.pug index 2c958bd925..dab87a8a5c 100644 --- a/app/templates/play/campaign-view.pug +++ b/app/templates/play/campaign-view.pug @@ -142,7 +142,7 @@ if showGameDevAlert img.hero-portrait(src="/file/db/thang.type/" + level.unlocksHero + "/portrait.png") a(href=level.type == 'hero' ? '#' : level.disabled ? "/play" : "/play/" + (level.levelPath || 'level') + "/" + level.slug, disabled=level.disabled, data-level-slug=level.slug, data-level-path=level.levelPath || 'level', data-level-name=level.name) if levelStatus === 'complete' - img.star(src="/images/pages/play/star.png") + img.level-star(src="/images/pages/play/star.png") if editorMode - var kindKey = ((level.kind && level.kind[0]) || "").toUpperCase(); //if kindKey @@ -549,7 +549,7 @@ if showGameDevAlert span.gem.gem-30 span#gems-count.spr= me.gems() if view.shouldShow('level') - span.star.star-30 + span.achievements-star.achievements-star-30 span.player-level.spr= me.level() if me.get('anonymous') button.btn.btn-illustrated.login-button.btn-warning(data-i18n="login.log_in") From fcdae072e5648344ae0d9b83e77cc501ede83781 Mon Sep 17 00:00:00 2001 From: Valentin Briukhanov Date: Tue, 1 Apr 2025 14:13:53 +0200 Subject: [PATCH 5/5] Moved utils panel to bottom right --- app/styles/play/campaign-view.sass | 2 +- app/templates/play/campaign-view.pug | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/styles/play/campaign-view.sass b/app/styles/play/campaign-view.sass index 3e82975e1a..307bce1349 100644 --- a/app/styles/play/campaign-view.sass +++ b/app/styles/play/campaign-view.sass @@ -1698,7 +1698,7 @@ body[lang^="en"] #campaign-view .user-status-catalyst .user-status-line .languag .utility-controls-catalyst position: absolute - left: 20px + right: 20px bottom: 20px z-index: 10 display: flex diff --git a/app/templates/play/campaign-view.pug b/app/templates/play/campaign-view.pug index dab87a8a5c..5b82e8bb7c 100644 --- a/app/templates/play/campaign-view.pug +++ b/app/templates/play/campaign-view.pug @@ -567,11 +567,11 @@ if showGameDevAlert span.m7-off(data-i18n="play.beta_levels_turn_off") .utility-controls-catalyst.header-font.picoctf-hide + select.language-dropdown.btn.btn-inverse#language-button(data-i18n="[title]play_level.language", title="Languages") button.btn.btn-lg.btn-inverse.picoctf-hide#volume-button(data-i18n="[title]play.adjust_volume", title="Adjust volume") .glyphicon.glyphicon-volume-off .glyphicon.glyphicon-volume-down .glyphicon.glyphicon-volume-up - select.language-dropdown.btn.btn-inverse#language-button(data-i18n="[title]play_level.language", title="Languages") else .user-status.header-font.picoctf-hide .user-status-line