DEV: Remove mobile-specific template for categories-only (#29509)

We are moving away from the mobile-specific template pattern in favor of logical `{{#if}}` statements. This brings us closer to a standard Ember app, makes testing easier, and reduces duplicate code.
This commit is contained in:
David Taylor 2024-10-31 16:11:37 +00:00 committed by GitHub
parent 95cdb8224f
commit a2fe8ed206
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 78 additions and 84 deletions

View File

@ -4,29 +4,45 @@
>
{{#if this.categories}}
{{#if this.filteredCategories}}
<table class="category-list {{if this.showTopics 'with-topics'}}">
<thead>
<tr>
<th class="category"><span
role="heading"
aria-level="2"
id="categories-only-category"
>{{i18n "categories.category"}}</span></th>
<th class="topics">{{i18n "categories.topics"}}</th>
{{#if this.showTopics}}
<th class="latest">{{i18n "categories.latest"}}</th>
{{/if}}
</tr>
</thead>
<tbody aria-labelledby="categories-only-category">
{{#each this.categories as |category|}}
<ParentCategoryRow
@category={{category}}
@showTopics={{this.showTopics}}
/>
{{/each}}
</tbody>
</table>
{{#if this.site.mobileView}}
<div class="category-list {{if this.showTopics 'with-topics'}}">
<PluginOutlet
@name="mobile-categories"
@outletArgs={{hash categories=this.filteredCategories}}
>
{{#each this.filteredCategories as |c|}}
<ParentCategoryRow
@category={{c}}
@showTopics={{this.showTopics}}
/>
{{/each}}
</PluginOutlet>
</div>
{{else}}
<table class="category-list {{if this.showTopics 'with-topics'}}">
<thead>
<tr>
<th class="category"><span
role="heading"
aria-level="2"
id="categories-only-category"
>{{i18n "categories.category"}}</span></th>
<th class="topics">{{i18n "categories.topics"}}</th>
{{#if this.showTopics}}
<th class="latest">{{i18n "categories.latest"}}</th>
{{/if}}
</tr>
</thead>
<tbody aria-labelledby="categories-only-category">
{{#each this.categories as |category|}}
<ParentCategoryRow
@category={{category}}
@showTopics={{this.showTopics}}
/>
{{/each}}
</tbody>
</table>
{{/if}}
{{/if}}
{{#if this.mutedCategories}}
@ -41,34 +57,50 @@
{{d-icon this.mutedToggleIcon}}
{{/if}}
</a>
<table
class="category-list
{{if this.showTopics 'with-topics'}}
{{unless this.showMutedCategories 'hidden'}}"
>
<thead>
<tr>
<th class="category"><span
role="heading"
aria-level="2"
id="categories-only-category-muted"
>{{i18n "categories.category"}}</span></th>
<th class="topics">{{i18n "categories.topics"}}</th>
{{#if this.showTopics}}
<th class="latest">{{i18n "categories.latest"}}</th>
{{/if}}
</tr>
</thead>
<tbody aria-labelledby="categories-only-category-muted">
{{#each this.categories as |category|}}
{{#if this.site.mobileView}}
<div
class="category-list
{{if this.showTopics 'with-topics'}}
{{unless this.showMutedCategories 'hidden'}}"
>
{{#each this.mutedCategories as |c|}}
<ParentCategoryRow
@category={{category}}
@category={{c}}
@showTopics={{this.showTopics}}
@listType="muted"
/>
{{/each}}
</tbody>
</table>
</div>
{{else}}
<table
class="category-list
{{if this.showTopics 'with-topics'}}
{{unless this.showMutedCategories 'hidden'}}"
>
<thead>
<tr>
<th class="category"><span
role="heading"
aria-level="2"
id="categories-only-category-muted"
>{{i18n "categories.category"}}</span></th>
<th class="topics">{{i18n "categories.topics"}}</th>
{{#if this.showTopics}}
<th class="latest">{{i18n "categories.latest"}}</th>
{{/if}}
</tr>
</thead>
<tbody aria-labelledby="categories-only-category-muted">
{{#each this.categories as |category|}}
<ParentCategoryRow
@category={{category}}
@showTopics={{this.showTopics}}
@listType="muted"
/>
{{/each}}
</tbody>
</table>
{{/if}}
</div>
{{/if}}
{{/if}}

View File

@ -1,38 +0,0 @@
{{#if this.categories}}
{{#if this.filteredCategories}}
<div class="category-list {{if this.showTopics 'with-topics'}}">
<PluginOutlet
@name="mobile-categories"
@outletArgs={{hash categories=this.filteredCategories}}
>
{{#each this.filteredCategories as |c|}}
<ParentCategoryRow @category={{c}} @showTopics={{this.showTopics}} />
{{/each}}
</PluginOutlet>
</div>
{{/if}}
{{#if this.mutedCategories}}
<div class="muted-categories">
<a href class="muted-categories-link" {{on "click" this.toggleShowMuted}}>
<h3 class="muted-categories-heading">{{i18n "categories.muted"}}</h3>
{{#if this.mutedToggleIcon}}
{{d-icon this.mutedToggleIcon}}
{{/if}}
</a>
<div
class="category-list
{{if this.showTopics 'with-topics'}}
{{unless this.showMutedCategories 'hidden'}}"
>
{{#each this.mutedCategories as |c|}}
<ParentCategoryRow
@category={{c}}
@showTopics={{this.showTopics}}
@listType="muted"
/>
{{/each}}
</div>
</div>
{{/if}}
{{/if}}