<view class="attachment-preview {{appearanceClass}}">
  <view wx:if="{{status === 'loading'}}" class="attachment-preview__state">
    <loading-dots />
    <text>{{loadingLabel}}</text>
  </view>

  <view wx:elif="{{status === 'error'}}" class="attachment-preview__state attachment-preview__state--error">
    <text>{{errorMsg || failedLabel}}</text>
    <button class="attachment-preview__retry" bindtap="onRetry">{{retryLabel}}</button>
  </view>

  <view wx:elif="{{status === 'oversize'}}" class="attachment-preview__state">
    <text>{{oversizeLabel}}</text>
  </view>

  <block wx:else>
    <view class="attachment-preview__header">
      <text class="attachment-preview__title">{{filename}}</text>
      <view class="attachment-preview__copy" bindtap="onCopy">{{copyLabel}}</view>
    </view>
    <scroll-view
      scroll-y
      class="attachment-preview__scroll {{kind === 'markdown' ? 'attachment-preview__scroll--markdown' : ''}}"
    >
      <markdown-content
        wx:if="{{kind === 'markdown'}}"
        class="attachment-preview__markdown"
        content="{{content}}"
        disable-collapse
      />
      <text wx:else class="attachment-preview__text" user-select space="emsp">{{content}}</text>
    </scroll-view>
  </block>
</view>
