@@ -225,6 +225,9 @@ def get_init_scripts(self) -> List[str]:
225225 "registerGsftMainLoaded()" ,
226226 self ._get_disable_add_to_cart_script (),
227227 self ._get_remove_top_items_panel_script (),
228+ self ._get_remove_add_content_button_script (),
229+ self ._get_remove_header_decorations_script (),
230+ self ._get_remove_more_options_buttons_script (),
228231 ]
229232
230233 def _get_disable_add_to_cart_script (self ):
@@ -276,6 +279,60 @@ def _get_remove_top_items_panel_script(self):
276279 """
277280 return script
278281
282+ def _get_remove_add_content_button_script (self ):
283+ """
284+ Removes the 'Add content' button from the service catalog page.
285+ """
286+ script = """
287+ function removeAddContentButton() {
288+ waLog('Searching for Add content button...', 'removeAddContentButton');
289+ let button = document.querySelector('button[aria-label="Add content"]');
290+ if (button) {
291+ button.remove();
292+ waLog('Removed Add content button', 'removeAddContentButton');
293+ }
294+ }
295+
296+ runInGsftMainOnlyAndProtectByURL(removeAddContentButton, 'catalog_home');
297+ """
298+ return script
299+
300+ def _get_remove_header_decorations_script (self ):
301+ """
302+ Removes all header decoration panels (edit/settings/close buttons) from the service catalog page.
303+ """
304+ script = """
305+ function removeHeaderDecorations() {
306+ waLog('Searching for header decoration panels...', 'removeHeaderDecorations');
307+ let panels = document.querySelectorAll('div.header_decorations');
308+ panels.forEach((panel) => {
309+ panel.remove();
310+ });
311+ waLog('Removed ' + panels.length + ' header decoration panels', 'removeHeaderDecorations');
312+ }
313+
314+ runInGsftMainOnlyAndProtectByURL(removeHeaderDecorations, 'catalog_home');
315+ """
316+ return script
317+
318+ def _get_remove_more_options_buttons_script (self ):
319+ """
320+ Removes all 'More Options' buttons from the service catalog page.
321+ """
322+ script = """
323+ function removeMoreOptionsButtons() {
324+ waLog('Searching for More Options buttons...', 'removeMoreOptionsButtons');
325+ let buttons = document.querySelectorAll('button.btn.btn-icon.icon-ellipsis');
326+ buttons.forEach((button) => {
327+ button.remove();
328+ });
329+ waLog('Removed ' + buttons.length + ' More Options buttons', 'removeMoreOptionsButtons');
330+ }
331+
332+ runInGsftMainOnlyAndProtectByURL(removeMoreOptionsButtons, 'com.glideapp.servicecatalog');
333+ """
334+ return script
335+
279336 def setup_goal (self , page : Page ) -> tuple [str , dict ]:
280337 super ().setup_goal (page = page )
281338
0 commit comments