diff --git a/src/cmdforge/gui/pages/tools_page.py b/src/cmdforge/gui/pages/tools_page.py index 6f21912..7763497 100644 --- a/src/cmdforge/gui/pages/tools_page.py +++ b/src/cmdforge/gui/pages/tools_page.py @@ -943,54 +943,43 @@ class ToolsPage(QWidget): self.main_window.show_status(f"Published '{tool_name}'") def _update_rate_button(self): - """Update the Rate button state based on current selection.""" + """Update the Rate button visibility and state based on current selection.""" if not self._current_tool: - self.btn_rate.setEnabled(False) - self.btn_rate.setText("Rate Tool") - self.btn_rate.setToolTip("Select a tool to rate") + self.btn_rate.setVisible(False) return tool_name = self._get_qualified_name() if not tool_name: - self.btn_rate.setEnabled(False) - self.btn_rate.setText("Rate Tool") - self.btn_rate.setToolTip("Select a tool to rate") + self.btn_rate.setVisible(False) return registry_info = get_tool_registry_info(tool_name) - if not registry_info: - self.btn_rate.setEnabled(False) - self.btn_rate.setText("Rate Tool") - self.btn_rate.setToolTip("Local tools can't be rated") + self.btn_rate.setVisible(False) return config = load_config() if not config.registry.token: - self.btn_rate.setEnabled(False) - self.btn_rate.setText("Rate Tool") - self.btn_rate.setToolTip("Sign in to rate") + self.btn_rate.setVisible(False) return owner, name = registry_info - # Check if this is the user's own tool + # Hide button entirely for your own tools if self._my_slug and owner == self._my_slug: - self.btn_rate.setEnabled(False) - self.btn_rate.setText("Rate Tool") - self.btn_rate.setToolTip("You can't rate your own tool") + self.btn_rate.setVisible(False) return - # Check if user has an existing review + # Show and enable for other registry tools + self.btn_rate.setVisible(True) + self.btn_rate.setEnabled(True) + cached = self._rating_cache.get(tool_name) if cached and cached.get("my_review"): self.btn_rate.setText("Edit Rating") else: self.btn_rate.setText("Rate Tool") - self.btn_rate.setEnabled(True) - self.btn_rate.setToolTip("") - def _fetch_my_slug(self): """Fetch and cache the current user's slug.""" if self._my_slug_fetched: