From ac0e5e20de5a4c0adac679832d16a3b012797968 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 4 Jun 2026 21:22:47 +0300 Subject: [PATCH] fix(subdirectory): star-rating ratings widget assets under subpath Backport of the star-rating half of countly-platform#420 to 24.05: - countly.views.js: prefix the ratings empty-state image with countlyGlobal.path (was root-absolute "/star-rating/...", 404s under a subdirectory deploy). - ratings.scss: make the rating-preview emoji/thumb/star background-image URLs relative (../images/...) instead of root-absolute, so they resolve under both root and subdirectory deploys. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../public/javascripts/countly.views.js | 2 +- .../frontend/public/stylesheets/ratings.scss | 32 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/plugins/star-rating/frontend/public/javascripts/countly.views.js b/plugins/star-rating/frontend/public/javascripts/countly.views.js index 1441a9671d8..741fa23b596 100644 --- a/plugins/star-rating/frontend/public/javascripts/countly.views.js +++ b/plugins/star-rating/frontend/public/javascripts/countly.views.js @@ -815,7 +815,7 @@ empty: { title: CV.i18n("ratings.empty.title"), body: CV.i18n("ratings.empty.body"), - image: "/star-rating/images/star-rating/ratings-empty.svg" + image: countlyGlobal.path + "/star-rating/images/star-rating/ratings-empty.svg" }, widgets: [], drawerSettings: { diff --git a/plugins/star-rating/frontend/public/stylesheets/ratings.scss b/plugins/star-rating/frontend/public/stylesheets/ratings.scss index f7bbed66d95..91c461eb7e9 100644 --- a/plugins/star-rating/frontend/public/stylesheets/ratings.scss +++ b/plugins/star-rating/frontend/public/stylesheets/ratings.scss @@ -252,7 +252,7 @@ width: 50px; background-repeat: no-repeat; margin: 0px 5px 0px 5px; - background-image: url("/star-rating/images/star-rating/emoji.svg"); + background-image: url("../images/star-rating/emoji.svg"); } &__rp-ratings-item__emoji1 { @@ -261,7 +261,7 @@ width: 50px; background-repeat: no-repeat; margin: 0px 5px 0px 5px; - background-image: url("/star-rating/images/star-rating/emoji_1.svg"); + background-image: url("../images/star-rating/emoji_1.svg"); } &__rp-ratings-item__emoji2 { @@ -270,7 +270,7 @@ width: 50px; background-repeat: no-repeat; margin: 0px 5px 0px 5px; - background-image: url("/star-rating/images/star-rating/emoji_2.svg"); + background-image: url("../images/star-rating/emoji_2.svg"); } &__rp-ratings-item__emoji3 { @@ -279,7 +279,7 @@ width: 50px; background-repeat: no-repeat; margin: 0px 5px 0px 5px; - background-image: url("/star-rating/images/star-rating/emoji_3.svg"); + background-image: url("../images/star-rating/emoji_3.svg"); } &__rp-ratings-item__emoji4 { @@ -288,7 +288,7 @@ width: 50px; background-repeat: no-repeat; margin: 0px 5px 0px 5px; - background-image: url("/star-rating/images/star-rating/emoji_4.svg"); + background-image: url("../images/star-rating/emoji_4.svg"); } &__rp-ratings-item__emoji5 { @@ -297,31 +297,31 @@ width: 50px; background-repeat: no-repeat; margin: 0px 5px 0px 5px; - background-image: url("/star-rating/images/star-rating/emoji_5.svg"); + background-image: url("../images/star-rating/emoji_5.svg"); } &__rp-ratings-active-item__emojis { - background-image: url("/star-rating/images/star-rating/emoji_filled.svg"); + background-image: url("../images/star-rating/emoji_filled.svg"); } &__rp-ratings-active-item__emoji1 { - background-image: url("/star-rating/images/star-rating/emoji_filled_1.svg"); + background-image: url("../images/star-rating/emoji_filled_1.svg"); } &__rp-ratings-active-item__emoji2 { - background-image: url("/star-rating/images/star-rating/emoji_filled_2.svg"); + background-image: url("../images/star-rating/emoji_filled_2.svg"); } &__rp-ratings-active-item__emoji3 { - background-image: url("/star-rating/images/star-rating/emoji_filled_3.svg"); + background-image: url("../images/star-rating/emoji_filled_3.svg"); } &__rp-ratings-active-item__emoji4 { - background-image: url("/star-rating/images/star-rating/emoji_filled_4.svg"); + background-image: url("../images/star-rating/emoji_filled_4.svg"); } &__rp-ratings-active-item__emoji5 { - background-image: url("/star-rating/images/star-rating/emoji_filled_5.svg"); + background-image: url("../images/star-rating/emoji_filled_5.svg"); } &__rp-ratings-item__thumbs { @@ -330,11 +330,11 @@ width: 50px; background-repeat: no-repeat; margin: 0px 5px 0px 5px; - background-image: url("/star-rating/images/star-rating/thumbs.svg"); + background-image: url("../images/star-rating/thumbs.svg"); } &__rp-ratings-active-item__thumbs { - background-image: url("/star-rating/images/star-rating/thumbs_filled.svg"); + background-image: url("../images/star-rating/thumbs_filled.svg"); } &__rp-ratings-item__stars { @@ -343,11 +343,11 @@ width: 50px; background-repeat: no-repeat; margin: 0px 5px 0px 5px; - background-image: url("/star-rating/images/star-rating/stars.svg"); + background-image: url("../images/star-rating/stars.svg"); } &__rp-ratings-active-item__stars { - background-image: url("/star-rating/images/star-rating/stars_filled.svg"); + background-image: url("../images/star-rating/stars_filled.svg"); } &__rp-question-area {