Changing views to creating date?

Hi Jakke,

Not sure if you still need this, but there we go!
You can replace the views column by overwriting the related templates (topic-list-header and topic-list-item).

Unfortunately, it has the caveat that you must copy-paste a lot of the original code, which may not work correctly depending on your theme/plugins/components. Also, you may have to update it if Discourse updates those parts.

Here is the code you can copy-paste into a component:

Head
<script type='text/x-handlebars' data-template-name='topic-list-header.raw'>
    {{~raw-plugin-outlet name="topic-list-header-before"~}}
    {{#if bulkSelectEnabled}}
      <th class="bulk-select topic-list-data">
        {{#if canBulkSelect}}
          {{raw "flat-button" class="bulk-select" icon="list" title="topics.bulk.toggle"}}
        {{/if}}
      </th>
    {{/if}}
    {{raw "topic-list-header-column" order='default' name=listTitle bulkSelectEnabled=bulkSelectEnabled showBulkToggle=toggleInTitle canBulkSelect=canBulkSelect canDoBulkActions=canDoBulkActions}}
    {{raw-plugin-outlet name="topic-list-header-after-main-link"}}
    {{#if showPosters}}
      {{raw "topic-list-header-column" order='posters' ariaLabel=(i18n "category.sort_options.posters")}}
    {{/if}}
    {{raw "topic-list-header-column" sortable=sortable number='true' order='posts' name='replies' ariaLabel=(i18n "sr_replies")}}
    {{#if showLikes}}
      {{raw "topic-list-header-column" sortable=sortable number='true' order='likes' name='likes' ariaLabel=(i18n "sr_likes")}}
    {{/if}}
    {{#if showOpLikes}}
      {{raw "topic-list-header-column" sortable=sortable number='true' order='op_likes' name='likes' ariaLabel=(i18n "sr_op_likes")}}
    {{/if}}
    {{raw "topic-list-header-column" sortable=sortable number='true' order='created' name='created' ariaLabel=(i18n "sr_created")}}
    {{raw "topic-list-header-column" sortable=sortable number='true' order='activity' name='activity' ariaLabel=(i18n "sr_activity")}}
    {{~raw-plugin-outlet name="topic-list-header-after"~}}
</script>

<script type='text/x-handlebars' data-template-name='list/topic-list-item.raw'>
    {{~raw-plugin-outlet name="topic-list-before-columns"}}
    
    {{#if bulkSelectEnabled}}
      <td class="bulk-select topic-list-data">
        <label for="bulk-select-{{topic.id}}">
          <input type="checkbox" class="bulk-select" id="bulk-select-{{topic.id}}">
        </label>
      </td>
    {{/if}}
    
    {{!--
      The `~` syntax strip spaces between the elements, making it produce
      `<a class=topic-post-badges>Some text</a><span class=topic-post-badges>`,
      with no space between them.
      This causes the topic-post-badge to be considered the same word as "text"
      at the end of the link, preventing it from line wrapping onto its own line.
    --}}
    <td class='main-link clearfix topic-list-data' colspan="1">
      {{~raw-plugin-outlet name="topic-list-before-link"}}
      <span class='link-top-line'>
        {{~raw-plugin-outlet name="topic-list-before-status"}}
        {{~raw "topic-status" topic=topic}}
        {{~topic-link topic class="raw-link raw-topic-link"}}
        {{~#if topic.featured_link}}
          {{~topic-featured-link topic}}
        {{~/if}}
        {{~raw-plugin-outlet name="topic-list-after-title"}}
        {{~raw "list/unread-indicator" includeUnreadIndicator=includeUnreadIndicator
                                       topicId=topic.id
                                       unreadClass=unreadClass~}}
        {{~#if showTopicPostBadges}}
          {{~raw "topic-post-badges" unreadPosts=topic.unread_posts unseen=topic.unseen url=topic.lastUnreadUrl newDotText=newDotText}}
        {{~/if}}
      </span>
      <div class="link-bottom-line">
        {{#unless hideCategory}}
          {{#unless topic.isPinnedUncategorized}}
            {{~raw-plugin-outlet name="topic-list-before-category"}}
            {{category-link topic.category}}
          {{/unless}}
        {{/unless}}
        {{discourse-tags topic mode="list" tagsForUser=tagsForUser}}
        {{raw "list/action-list" topic=topic postNumbers=topic.liked_post_numbers className="likes" icon="heart"}}
      </div>
      {{#if expandPinned}}
        {{raw "list/topic-excerpt" topic=topic}}
      {{/if}}
    
      {{~raw-plugin-outlet name="topic-list-main-link-bottom"}}
    </td>
    
    {{~raw-plugin-outlet name="topic-list-after-main-link"}}
    
    {{#if showPosters}}
      {{raw "list/posters-column" posters=topic.featuredUsers}}
    {{/if}}
    
    {{raw "list/posts-count-column" topic=topic}}
    
    {{#if showLikes}}
      <td class="num likes topic-list-data">
        {{#if hasLikes}}
          <a href='{{topic.summaryUrl}}'>
            {{number topic.like_count}} {{d-icon "heart"}}
          </a>
        {{/if}}
      </td>
    {{/if}}
    
    {{#if showOpLikes}}
      <td class="num likes">
        {{#if hasOpLikes}}
          <a href='{{topic.summaryUrl}}'>
            {{number topic.op_like_count}} {{d-icon "heart"}}
          </a>
        {{/if}}
      </td>
    {{/if}}

    <td class="num topic-list-data {{cold-age-class topic.createdAt startDate=topic.bumpedAt class=""}} activity" title="{{html-safe topic.bumpedAtTitle}}">
      <a class="post-activity" href="{{topic.url}}">
        {{~raw-plugin-outlet name="topic-list-before-relative-date"~}}
        {{~format-date topic.createdAt format="tiny" noTitle="true"~}}
      </a>
    </td>

    {{raw "list/activity-column" topic=topic class="num topic-list-data" tagName="td"}}
</script>

image

Note: It has the same title on hover as Activity, and clicking on the date redirects to the start of the topic.

1 Like