Add support for adsense fluid format for in-feed (#89)

This commit is contained in:
Lawrence Thorpe 2020-08-21 14:53:34 +01:00 committed by GitHub
parent 501ad7878e
commit 50788a876e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -11,6 +11,9 @@ function parseAdWidth(value) {
if (value === "responsive") {
return "auto";
}
if (value.startsWith("fluid")) {
return "fluid";
}
const w = parseInt(value.substring(0, 3).trim(), 10);
if (isNaN(w)) {
return "auto";
@ -23,6 +26,9 @@ function parseAdHeight(value) {
if (value === "responsive") {
return "auto";
}
if (value.startsWith("fluid")) {
return "fluid";
}
const h = parseInt(value.substring(4, 7).trim(), 10);
if (isNaN(h)) {
return "auto";
@ -172,7 +178,12 @@ export default AdComponent.extend({
@discourseComputed("ad_width")
isResponsive(adWidth) {
return adWidth === "auto";
return ["auto", "fluid"].includes(adWidth);
},
@discourseComputed("ad_width")
isFluid(adWidth) {
return adWidth === "fluid";
},
@discourseComputed("placement", "showAd")
@ -182,7 +193,7 @@ export default AdComponent.extend({
@discourseComputed("isResponsive")
autoAdFormat(isResponsive) {
return isResponsive ? "auto".htmlSafe() : false;
return isResponsive ? (isFluid ? "fluid".htmlSafe() : "auto".htmlSafe()) : false;
},
@discourseComputed("ad_width", "ad_height", "isResponsive")

View File

@ -55,6 +55,7 @@ adsense_plugin:
type: list
choices: &adsense_choices
- responsive
- fluid - for in-feed ad units
- 728*90 - leaderboard
- 336*280 - large rectangle
- 300*250 - medium rectangle