- Replace plugin outlet connectors with modern .gjs Glimmer component - Use api.renderInOutlet() instead of connector templates (official pattern) - Add service injection (@service router, @service site) - Implement lifecycle hooks with didInsert/willDestroy modifiers - Use native SearchMenu component integration - Remove old connector directory structure - Update CSS to target outlet wrapper classes - Simplify API initializer to 10 lines (from 112 lines) - Add route-based display logic with router service - Direct settings access without this.theme wrapper This follows the official discourse-search-banner implementation pattern. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
10 lines
336 B
JavaScript
10 lines
336 B
JavaScript
import { apiInitializer } from "discourse/lib/api";
|
|
import WelcomeBanner from "../components/welcome-banner";
|
|
|
|
export default apiInitializer("1.8.0", (api) => {
|
|
const outletName = settings.banner_position === "below_header"
|
|
? "below-site-header"
|
|
: "above-main-container";
|
|
|
|
api.renderInOutlet(outletName, WelcomeBanner);
|
|
});
|