Skip to content

🎨 Palette: [UX improvement] Add empty state message to custom Kodi list - #495

Draft
xbmc4lyfe wants to merge 1 commit into
mainfrom
palette-add-empty-state-15729391071377223608
Draft

🎨 Palette: [UX improvement] Add empty state message to custom Kodi list#495
xbmc4lyfe wants to merge 1 commit into
mainfrom
palette-add-empty-state-15729391071377223608

Conversation

@xbmc4lyfe

Copy link
Copy Markdown
Collaborator

πŸ’‘ What: Added an empty state label ("No results found") to the results list in results-dialog.xml using a visibility condition tied to the list's item count.
🎯 Why: To handle empty states in custom Kodi lists which otherwise result in a confusing blank screen.
πŸ“Έ Before/After: Before, a blank screen; After, a "No results found" message centered on screen.
β™Ώ Accessibility: Improves user understanding by providing clear visual feedback when no items are present.


PR created automatically by Jules for task 15729391071377223608 started by @xbmc4lyfe

Co-authored-by: xbmc4lyfe <273732874+xbmc4lyfe@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

πŸ‘‹ Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a πŸ‘€ emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@github-actions github-actions Bot added the addon label Aug 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Dependency Review

βœ… No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

πŸ“ Walkthrough

Summary by CodeRabbit

  • New Features
    • Added a centered β€œNo results found” message when the results list is empty.

Walkthrough

The results dialog now shows a centered β€œNo results found” label when results list 50 contains zero items.

Changes

Results empty state

Layer / File(s) Summary
Add empty-state label
repo/plugin.video.nzbdav/resources/skins/Default/1080i/results-dialog.xml
Adds a centered label over the results area. The label appears when Container(50).NumItems equals zero.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: ponchopig

Poem

A bunny checks the empty screen,
No results hide where lists have been.
A centered note now softly says,
β€œNo results found” through quiet days.
Hop, hopβ€”the dialog stays clear!

πŸš₯ Pre-merge checks | βœ… 5
βœ… Passed checks (5 passed)
Check name Status Explanation
Title check βœ… Passed The title clearly describes the main change: adding an empty-state message to a custom Kodi list.
Description check βœ… Passed The description accurately explains the empty-state label, its visibility condition, and its purpose.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check βœ… Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check βœ… Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch palette-add-empty-state-15729391071377223608
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch palette-add-empty-state-15729391071377223608

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai
coderabbitai Bot requested a review from PonchoPig August 11, 2026 00:28
@codacy-production

Copy link
Copy Markdown
Contributor

Up to standards βœ…

🟒 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@github-code-quality

Copy link
Copy Markdown

Code Coverage Overview

Languages: Python

Python / code-coverage/pytest

The overall coverage in commit 35fa29b in the palette-add-empty-st... branch remains at 88%, unchanged from commit c8dfe60 in the main branch.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

πŸ€– Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@repo/plugin.video.nzbdav/resources/skins/Default/1080i/results-dialog.xml`:
- Line 269: Replace the hardcoded β€œNo results found” label in the results dialog
with a dedicated localized add-on string reference. Add the corresponding string
entry using a new unique ID, and do not reuse `#30087` because it requires a
format argument.
πŸͺ„ Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
βš™οΈ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 463fb950-1c34-458d-8346-c791c7c52195

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between c8dfe60 and 35fa29b.

πŸ“’ Files selected for processing (1)
  • repo/plugin.video.nzbdav/resources/skins/Default/1080i/results-dialog.xml
πŸ“œ Review details
⏰ Context from checks skipped due to timeout. (7)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Analyze (python)
  • GitHub Check: lint
  • GitHub Check: test
  • GitHub Check: Scan
  • GitHub Check: coverage
  • GitHub Check: Analyze (python)

<!-- Empty state message -->
<control type="label">
<left>0</left><top>60</top><width>1920</width><height>975</height>
<label>No results found</label>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟑 Minor | ⚑ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

fd -t f 'strings\.po|strings\.xml' repo/plugin.video.nzbdav
rg -n 'LOCALIZE|ADDON\[|No results found' repo/plugin.video.nzbdav

Repository: Appz4Fun/nzbdavkodi

Length of output: 671


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- localization entries ---'
sed -n '330,375p' repo/plugin.video.nzbdav/resources/language/resource.language.en_gb/strings.po
printf '%s\n' '--- localization usage in skin XML ---'
rg -n -C 2 '\$LOCALIZE|\$ADDON\[|<label>[^<]*[A-Za-z][^<$]*</label>' repo/plugin.video.nzbdav/resources/skins repo/plugin.video.nzbdav
printf '%s\n' '--- related dialog and i18n code ---'
sed -n '235,285p' repo/plugin.video.nzbdav/resources/skins/Default/1080i/results-dialog.xml
sed -n '1,45p' repo/plugin.video.nzbdav/resources/lib/i18n.py
printf '%s\n' '--- numeric localization IDs ---'
awk '/^msgctxt / || /^msgid / || /^msgstr / {print NR ":" $0}' repo/plugin.video.nzbdav/resources/language/resource.language.en_gb/strings.po | tail -80

Repository: Appz4Fun/nzbdavkodi

Length of output: 50375


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- add-on ID ---'
rg -n '<addon ' repo/plugin.video.nzbdav/addon.xml

printf '%s\n' '--- localized-label syntax in repository ---'
rg -n --glob '*.xml' '\$LOCALIZE\[|\$ADDON\[' . || true

printf '%s\n' '--- exact empty-state localization entries and usages ---'
rg -n -C 1 'No results found($| for \{\})|30087|30089' \
  repo/plugin.video.nzbdav/resources/language \
  repo/plugin.video.nzbdav/resources/lib \
  repo/plugin.video.nzbdav/resources/skins

printf '%s\n' '--- i18n helper implementation ---'
rg -n -A 12 -B 4 'def (get_localized|localize)|getLocalizedString|get_localized' \
  repo/plugin.video.nzbdav/resources/lib/i18n.py

Repository: Appz4Fun/nzbdavkodi

Length of output: 3642


Localize the empty-state label.

Add a dedicated entry for No results found and reference it with the plugin.video.nzbdav add-on string ID. Do not reuse #30087; that entry requires a {} argument.

πŸ€– Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@repo/plugin.video.nzbdav/resources/skins/Default/1080i/results-dialog.xml` at
line 269, Replace the hardcoded β€œNo results found” label in the results dialog
with a dedicated localized add-on string reference. Add the corresponding string
entry using a new unique ID, and do not reuse `#30087` because it requires a
format argument.

Source: MCP tools

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant