Refactor, improve UX of side panels and introduce component management
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3561018. -->
Reported by: [jessebaker](https://www.drupal.org/user/3546546)
Related to !380 !379
>>>
<h3 id="overview">Overview</h3>
<p>Trying to get from the current state of play to something more coherent onto which we can build out the manage components feature.</p>
<p>This is going to be a fairly large MR that tries to find a sensible point between refactoring and implementing new features without (hopefully) biting off more than I can chew.</p>
<h3 id="proposed-resolution">Proposed resolution</h3>
<p>The MR !380 does the following</p>
<ol>
<li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3540578" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3540578</a></span> - It builds on/replaces the work done by @bnjmnm in the MR here
</li><li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3548710" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3548710</a></span> - It solves this @todo
</li><li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3543533" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3543533</a></span> - It mostly solves this (but hovering code components in the Code panel doesn't show a preview)
</li><li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-17"><a href="https://www.drupal.org/project/canvas/issues/3561967" title="Status: Closed (outdated)">#3561967: Opening Manage Library fetches each js_component individually</a></span> - It fixes this
</li><li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3554752" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3554752</a></span> - It removes the confusion that lead to this issue being raised
</li><li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3552468" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3552468</a></span> - It removes the confusion that lead to this issue being raised
</li><li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3557228" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3557228</a></span> - It removes the confusion that lead to this issue being raised
</li><li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3554754" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3554754</a></span> - It potentially makes things clearer making this issue obsolete
</li></ol>
<p>It</p>
<ol>
<li>Moves Code to own panel with a new button on the Side Menu
</li><li>Remove "Manage Library" from the side menu
</li><li>Implements component categorisation straight into the regular Library tab
</li></ol>
<h3 id="ui-changes">User interface changes</h3>
<p>Please have a watch of this quick video that summarises the changes I've made and briefly goes into why. <a href="https://drive.google.com/file/d/1G6LQiCzSRitFNKMf6urJxcIn4xWL__7Q/view?usp=sharing">https://drive.google.com/file/d/1G6LQiCzSRitFNKMf6urJxcIn4xWL__7Q/view?usp=sharing</a></p>
> Related issue: [Issue #3562657](https://www.drupal.org/node/3562657)
> Related issue: [Issue #3540578](https://www.drupal.org/node/3540578)
> Related issue: [Issue #3548710](https://www.drupal.org/node/3548710)
> Related issue: [Issue #3543533](https://www.drupal.org/node/3543533)
> Related issue: [Issue #3561967](https://www.drupal.org/node/3561967)
> Related issue: [Issue #3554752](https://www.drupal.org/node/3554752)
> Related issue: [Issue #3552468](https://www.drupal.org/node/3552468)
> Related issue: [Issue #3557228](https://www.drupal.org/node/3557228)
> Related issue: [Issue #3554754](https://www.drupal.org/node/3554754)
issue