Skip to content

Conversation

@sarafarajnasardi
Copy link

@sarafarajnasardi sarafarajnasardi commented Dec 10, 2025

Description

This PR fixes a UI inconsistency in the Video Sidebar where the "Stages" creation button (+) was missing a tooltip.

The "Channels" and "Direct Messages" buttons already display tooltips when hovered. This change adds the missing tooltip "Create Stage" to the Stages button to ensure a consistent user experience.

Fixes:#1457

Before
Screenshot From 2025-12-10 18-59-21
After
Screenshot From 2025-12-10 19-16-09

Summary by Sourcery

Bug Fixes:

  • Add the missing 'Create Stage' tooltip to the stages creation button to match other sidebar controls.

@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Dec 10, 2025

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Adds a missing tooltip to the Stages creation button in the video sidebar to align its behavior with the Channels and Direct Messages creation buttons.

File-Level Changes

Change Details Files
Add a tooltip to the Stages creation (+) button in the Rooms sidebar for consistency and accessibility.
  • Attach a static tooltip label "Create Stage" to the stages creation bunt-icon-button
  • Enable fixed positioning for the tooltip via the tooltip-fixed binding to match existing sidebar button behavior
app/eventyay/webapp/src/components/RoomsSidebar.vue

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there - I've reviewed your changes - here's some feedback:

  • The tooltip label is hardcoded as "Create Stage" while surrounding labels use $t(...); consider introducing a translation key for this tooltip to keep localization consistent.
  • If other sidebar creation buttons (e.g., Channels, Direct Messages) use specific tooltip props (like different tooltip-fixed settings or delay), aligning this button’s configuration with them would help maintain consistent behavior.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The tooltip label is hardcoded as "Create Stage" while surrounding labels use `$t(...)`; consider introducing a translation key for this tooltip to keep localization consistent.
- If other sidebar creation buttons (e.g., Channels, Direct Messages) use specific tooltip props (like different `tooltip-fixed` settings or delay), aligning this button’s configuration with them would help maintain consistent behavior.

## Individual Comments

### Comment 1
<location> `app/eventyay/webapp/src/components/RoomsSidebar.vue:14` </location>
<code_context>
 			.group-title#stages-title(v-if="roomsByType.stage.length || hasPermission('world:rooms.create.stage')")
 				span {{ $t('RoomsSidebar:stages-headline:text') }}
-				bunt-icon-button(v-if="hasPermission('world:rooms.create.stage')", @click="showStageCreationPrompt = true") plus
+				bunt-icon-button(v-if="hasPermission('world:rooms.create.stage')", tooltip="Create Stage", :tooltip-fixed="true", @click="showStageCreationPrompt = true") plus
 			.stages(role="group", aria-describedby="stages-title")
 				router-link.stage(v-for="stage of roomsByType.stage", :to="stage.room === rooms[0] ? {name: 'home'} : {name: 'room', params: {roomId: stage.room.id}}", :class="{active: stage.room.id === $route.params.roomId, session: stage.session, live: stage.session && stage.room.schedule_data, 'has-image': stage.image, 'starts-with-emoji': startsWithEmoji(stage.room.name)}")
</code_context>

<issue_to_address>
**suggestion:** Localize the tooltip string instead of hardcoding English text.

This component already uses `$t(...)` for other labels, but the new tooltip is a hardcoded English string. Please localize it, e.g. `:tooltip="$t('RoomsSidebar:create-stage:tooltip')"` (or a key consistent with your i18n scheme), to avoid introducing an untranslated UI string.

Suggested implementation:

```
				bunt-icon-button(v-if="hasPermission('world:rooms.create.stage')", :tooltip="$t('RoomsSidebar:create-stage:tooltip')", :tooltip-fixed="true", @click="showStageCreationPrompt = true") plus

```

You will also need to add the `RoomsSidebar:create-stage:tooltip` key (and translations) to your i18n resource files (e.g. en.json and other locales), with an appropriate localized string such as `"RoomsSidebar:create-stage:tooltip": "Create Stage"`.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

sarafarajnasardi and others added 3 commits December 10, 2025 19:18
The '+' button for Stages was missing a tooltip. Added 'Create Stage' tooltip to maintain consistency with Channels and Direct Messages.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a UI inconsistency by adding a missing tooltip to the Stages creation button in the Video Sidebar. The change ensures consistent user experience across all sidebar creation buttons (Channels, Direct Messages, and Stages).

Key Changes:

  • Added "Create Stage" tooltip to the stages creation button using proper i18n translation
  • Cleaned up duplicate translation key entries in the locale file

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
app/eventyay/webapp/src/locales/en.json Added new translation key RoomsSidebar:create-stage:tooltip for the stages button tooltip and removed duplicate PosterHall:filter:field-tag entries
app/eventyay/webapp/src/components/RoomsSidebar.vue Added tooltip attributes (:tooltip and :tooltip-fixed) to the stages creation button to display "Create Stage" on hover

The implementation correctly follows Vue's internationalization patterns and maintains consistency with the existing tooltip implementation style. The bonus cleanup of duplicate translation keys in the locale file improves code quality.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant