<?xml version="1.0"?>
<kanban create="false" can_open="0" default_order="state,sequence,name" js_class="theme_preview_kanban">
                    <field name="icon"/>
                    <field name="summary"/>
                    <field name="name"/>
                    <field name="state"/>
                    <field name="url"/>
                    <field name="image_ids"/>
                    <field name="category_id"/>
                    <field name="display_name"/>
                    <field name="is_installed_on_current_website"/>
                    <templates>
                        <div t-name="card" t-attf-class="o_theme_preview #{record.is_installed_on_current_website.raw_value? 'o_theme_installed' : ''}">
                            <t t-set="has_image" t-value="record.image_ids.raw_value.length &gt; 0"/>
                            <t t-set="has_screenshot" t-value="record.image_ids.raw_value.length &gt; 1"/>
                            <t t-set="image_url" t-value="has_image ? '/web/image/' + record.image_ids.raw_value[0] : record.icon.value"/>

                            <div class="o_theme_preview_top position-relative border rounded-3 transition-base">
                                <div t-attf-class="bg-gray-lighter #{has_screenshot? 'o_theme_screenshot' : (has_image ? 'o_theme_cover' : 'o_theme_logo')} rounded-3" t-attf-style="background-image: url(#{image_url});"/>
                                <div t-if="record.is_installed_on_current_website.raw_value or !record.url.value" class="o_button_area position-absolute top-50 start-50 translate-middle d-flex align-items-center justify-content-center w-100 h-100 bg-dark bg-opacity-50 rounded opacity-0 opacity-100-hover transition-fade">
                                    <div class="d-flex flex-column gap-2 w-50">
                                        <t t-if="record.is_installed_on_current_website.raw_value">
                                            <button type="object" name="button_refresh_theme" class="btn btn-primary">Update theme</button>
                                            <button type="object" name="button_remove_theme" class="btn btn-secondary">Remove theme</button>
                                        </t>
                                        <t t-else="">
                                            <button type="object" name="button_choose_theme" class="btn btn-primary">Use default theme</button>
                                        </t>
                                    </div>
                                </div>
                                <t t-else="">
                                    <button class="position-absolute top-0 start-0 h-100 w-100 opacity-0" role="button" type="open" t-if="record.url.value"/>
                                </t>
                            </div>
                            <div class="o_theme_preview_bottom mt-2 mb-3 px-2">
                                <small t-if="record.summary.value" class="text-uppercase text-muted">
                                    <b><t t-esc="record.summary.value.split(',')[0]"/></b>
                                </small>
                                <h3 t-if="record.display_name.value">
                                    <b><t t-esc="record.display_name.value.replace('Theme', '').replace('theme', '')"/></b>
                                </h3>
                            </div>
                        </div>
                    </templates>
                </kanban>
            