feat(folders): gamemode logos as folder icons - #176
Conversation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
Comments Outside DiffThese findings sit on lines the diff does not cover, so they could not be posted inline. Each one leaves this list once its file changes.
|
|
Re Greptile's "Web picker layout fails" ( It fires in the framework's focus/semantics notification during app load, before any dialog is opened, and is the same on |
Summary
Adds Valorant gamemode logos as folder icons, so a folder for Competitive or Premier strats can carry the mode's symbol instead of a generic glyph.
FolderIconCategory.gamemodewith stable ids 2000–2006: Competitive, Premier, Unrated, Deathmatch, Team Deathmatch, Spike Rush, Escalation.folderIconRegistryVersionstays at 97; unknown ids still fall back to the default icon.FolderIconDefinition.assetnow requirescategory(the agent-role entries sayFolderIconCategory.roleexplicitly) so a new asset can't silently land in the wrong tab.FolderIconRegistry.pickerEntriesFor(FolderIconCategory.gamemode).assets/gamemodes/*.webp(registered inpubspec.yaml), flattened to white silhouettes with alpha kept soFolderIconView'sBlendMode.srcIntint works the same as the role icons.assets/gamemodes/README.mdrecords sources (Valorant wiki; Valorant-API for Unrated) and processing.Decisions worth a look:
Tests: stable-signature map extended with the seven new assets, unknown-id checks moved from 2000 to 9999, and a category assertion for the Modes tab.
Verified with
fvm flutter analyze --no-fatal-infos(only pre-existing infos),fvm flutter test test/folder_icon_registry_test.dart,fvm flutter build linux --debug, and in the running Linux app:Side note (not in this PR): on Linux,
main()throwsMissingPluginExceptionfromcustom_mouse_cursor(the path package only ships a macOS implementation) beforerunApp, so the window stays black. I bypassed it locally to capture the screenshot.Link to Devin session: https://app.devin.ai/sessions/229a226d1db4497ebf0ed86aa193346a
Open in Devin Desktop: https://app.devin.ai/desktop/session/229a226d1db4497ebf0ed86aa193346a?variant=devin
Requested by: @SunkenInTime
The asset bundle, stored-ID fallback, and category filtering behave as expected, but the release web runtime encountered a Flutter layout failure before the folder icon picker could be visually verified.
What we checked:
Summary
This change adds seven Valorant gamemode logos as selectable folder icons: Competitive, Premier, Unrated, Deathmatch, Team Deathmatch, Spike Rush, and Escalation.
The registry safely falls back to the default icon for unknown stored IDs, the release web build includes all seven assets, and the Modes filter returns the intended gamemode IDs. However, the recorded release-web run logged a
RenderBox was not laid outerror while loading the Flutter surface, so the folder-icon experience has not been shown to render reliably in the built web app. Do not merge until that layout failure is reproduced with an actionable stack and resolved.Reviews (1) · Last reviewed commit: "feat(folders): gamemode logos as folder ..."