{{#if (eq this.layout "table")}}
    <Layout::Resource::Tabular
        @resource="part"
        @title={{t "resource.parts"}}
        @searchQuery={{this.query}}
        @onSearch={{perform this.partActions.controllerSearchTask this}}
        @data={{@model}}
        @columns={{this.columns}}
        @page={{this.page}}
        @onPageChange={{fn (mut this.page)}}
        @setupTable={{fn (mut this.table)}}
        @actionButtons={{this.actionButtons}}
        @bulkActions={{this.bulkActions}}
        @controller={{this}}
        @emptyStateComponent={{component
            "table/empty-state"
            icon="gears"
            title="Add your first part"
            description="Parts keep replacement inventory and compatibility details ready for maintenance work."
            filteredTitle="No parts match your filters"
            filteredDescription="Adjust the search or filters to find another part."
            primaryText="New part"
            primaryIcon="plus"
            primaryAction=this.partActions.transition.create
            secondaryText="Import"
            secondaryIcon="upload"
            secondaryAction=this.partActions.import
            docsSlug="fleet-ops/maintenance/parts/overview"
            docsTitle="Parts guide"
            docsText="Parts guide"
            docsSource="fleet-ops-empty-parts"
        }}
    />
{{else}}
    <Layout::Section::Header @title={{t "resource.parts"}} @actionsWrapperClass="space-x-1">
        <Layout::Resource::TabularActions
            @searchQuery={{this.query}}
            @onSearch={{perform this.partActions.controllerSearchTask this}}
            @columns={{this.columns}}
            @page={{this.page}}
            @onPageChange={{fn (mut this.page)}}
            @setupTable={{fn (mut this.table)}}
            @actionButtons={{this.actionButtons}}
            @bulkActions={{this.bulkActions}}
            @controller={{this}}
            @hideColumnsPicker={{true}}
        />
    </Layout::Section::Header>
    <Layout::Section::Body class="overflow-y-scroll-i h-full">
        <Layout::Resource::CardsGrid
            @resource="part"
            @data={{@model}}
            @gap="sm"
            @columns="4"
            @showPagination={{true}}
            @page={{this.page}}
            @onPageChange={{fn (mut this.page)}}
            @paginationMeta={{@model.meta}}
            @containerClass="p-4"
            class="h-full"
            as |Item|
        >
            <Part::Card @resource={{Item.model}} />
        </Layout::Resource::CardsGrid>
    </Layout::Section::Body>
{{/if}}
{{outlet}}
