# extensions_ui: Move logic to render extension card details into \`ExtensionCard\` component \(\#61850\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/cdf3ccd036859e76169e74d1b7e9bb5aa1a079eb)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: cdf3ccd036859e76169e74d1b7e9bb5aa1a079eb

Requested commit: cdf3ccd036859e76169e74d1b7e9bb5aa1a079eb

Commit: cdf3ccd036859e76169e74d1b7e9bb5aa1a079eb

Tree: c57565cd69f5220b46939f36c51d67173b40171b

Author: Finn Evers

Committer: GitHub

## Message

```
extensions_ui: Move logic to render extension card details into `ExtensionCard` component (#61850)

This PR reworks the extension card component to take care of most the
rendering.

It no longer implements `ParentElement` and instead takes care of
rendering the details of the card now. This also allows us to finally
render the list of features for dev extensions amongst some other
cleanup whilst working with these.

## Why this change? 

This is in preparation for allowing to show extensions locally when the
fetch fails based on the information available. Currently, this would
require a lot of duplication and would be tedious to add. With this in,
we can much more easily just construct an extension card with the
upstream metadata missing, removing the need for duplication.

Lastly, this also adds a component preview for extensions cards so we
can play around more easily with other designs.

Release Notes:

- Installed dev extensions will now show the features they provide and
will also respect feature filters.
```

## Parents

- [a6a23c7b80a5cefa0487b7856335be89ace7e483](https://git.cafe/gitcafe/zed/commit/a6a23c7b80a5cefa0487b7856335be89ace7e483?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/cdf3ccd036859e76169e74d1b7e9bb5aa1a079eb?format=markdown)
