I’m so very close!
The only issue is that the component needs currentUser and I can’t figure out how to pass it. Here’s what doesn’t work.
import { hbs } from "ember-cli-htmlbars";
import { withPluginApi } from "discourse/lib/plugin-api";
import Site from "discourse/models/site";
import { registerWidgetShim } from "discourse/widgets/render-glimmer";
import Banner from "../components/banner";
export default {
name: "initialize-banner-widget",
initialize(container) {
registerWidgetShim(
"geo-banner-widget",
"div.widget-connector",
hbs`<Banner @currentUser={{currentUser}} />`
);
// withPluginApi("0.1", (api) => {
// console.log("doing plugin");
// api.decorateWidget("post:after", (helper) => {
// return helper.attach("geo-banner-widget", helper.widget.model);
// });
// });
withPluginApi("0.1", (api) => {
const currentUser = container.lookup("service:current-user");
api.decorateWidget("post:after", (helper) => {
console.log(`decorate widget ${currentUser.username}`, );
if(helper.widget.model.post_number === 1){
return helper.attach("geo-banner-widget", { currentUser });
}
});
});
},
};