2022-06-01 12:37:01 -04:00
|
|
|
import { htmlSafe } from "@ember/template";
|
2023-11-07 12:07:33 -05:00
|
|
|
import discourseComputed from "discourse-common/utils/decorators";
|
|
|
|
import AdComponent from "discourse/plugins/discourse-adplugin/discourse/components/ad-component";
|
2019-04-06 21:14:27 -04:00
|
|
|
|
2024-11-29 05:11:21 -05:00
|
|
|
export default class CarbonadsAd extends AdComponent {
|
|
|
|
serve_id = null;
|
|
|
|
placement = null;
|
2021-09-21 14:27:10 -04:00
|
|
|
|
2019-04-18 14:10:56 -04:00
|
|
|
init() {
|
2021-09-21 14:27:10 -04:00
|
|
|
this.set("serve_id", this.siteSettings.carbonads_serve_id);
|
|
|
|
this.set("placement", this.siteSettings.carbonads_placement);
|
2024-11-29 05:11:21 -05:00
|
|
|
super.init();
|
|
|
|
}
|
2019-04-06 21:14:27 -04:00
|
|
|
|
2021-09-21 14:27:10 -04:00
|
|
|
@discourseComputed("serve_id", "placement")
|
|
|
|
url(serveId, placement) {
|
2022-06-01 12:37:01 -04:00
|
|
|
return htmlSafe(
|
|
|
|
`//cdn.carbonads.com/carbon.js?serve=${serveId}&placement=${placement}`
|
|
|
|
);
|
2024-11-29 05:11:21 -05:00
|
|
|
}
|
2019-04-12 08:10:55 -04:00
|
|
|
|
2024-01-31 13:04:24 -05:00
|
|
|
@discourseComputed
|
2024-02-08 21:42:40 -05:00
|
|
|
showCarbonAds() {
|
2024-01-31 13:04:24 -05:00
|
|
|
if (!this.currentUser) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
return this.currentUser.show_carbon_ads;
|
2024-11-29 05:11:21 -05:00
|
|
|
}
|
2019-04-06 21:14:27 -04:00
|
|
|
|
2021-09-21 14:27:10 -04:00
|
|
|
@discourseComputed(
|
|
|
|
"placement",
|
|
|
|
"serve_id",
|
2024-02-08 21:42:40 -05:00
|
|
|
"showCarbonAds",
|
2021-09-21 14:27:10 -04:00
|
|
|
"showToGroups",
|
|
|
|
"showOnCurrentPage"
|
|
|
|
)
|
2024-02-08 21:42:40 -05:00
|
|
|
showAd(placement, serveId, showCarbonAds, showToGroups, showOnCurrentPage) {
|
2019-06-05 15:52:52 -04:00
|
|
|
return (
|
2024-02-08 21:42:40 -05:00
|
|
|
placement && serveId && showCarbonAds && showToGroups && showOnCurrentPage
|
2019-06-05 15:52:52 -04:00
|
|
|
);
|
2024-11-29 05:11:21 -05:00
|
|
|
}
|
|
|
|
}
|