github.com/ngocphuongnb/tetua@v0.0.7-alpha/app/themes/default/views/pages/manage/manage-post-index.jade (about)

     1  extends ../../partials/layout.jade
     2  include ../../partials/common.jade
     3  
     4  block footer
     5    !=asset.JsFile('js/main.js')
     6    !=asset.JsFile('js/manage.js')
     7    script listenDeleteNodeEvents('post', '/posts', function(e,rs){e.target.closest('li').remove()})
     8  
     9  block content
    10    :go:func ManagePostIndex(data *entities.Paginate[entities.Post], topics []*entities.Topic, topicIDs []int, search, publish, approve string)
    11    .container
    12      .layout.two-left
    13        .left
    14          .box.fixed-sidebar
    15            +manageMenu()
    16        .main
    17          .box
    18            +Messages(meta.Messages)
    19            form.search-form(method='get' action='' accept-charset='UTF-8' style="width: 100%;overflow:initial;")
    20              input.search-input(type='text' name='q' placeholder='Search posts...' value=search style="width: auto;flex-grow: 1;")
    21              +topicSelectSingle('topic', topics, topicIDs)
    22              select(name='publish' style='width:120px')
    23                option(value='') With draft
    24                if publish == "draft"
    25                  option(value='draft' selected='') Draft only
    26                else
    27                  option(value='draft') Draft only
    28                if publish == "published"
    29                  option(value='published' selected='') Published
    30                else
    31                  option(value='published') Published
    32              select(name='approve' style='width:120px')
    33                option(value='') All status
    34                if approve == "approved"
    35                  option(value='approved' selected='') Approved
    36                else
    37                  option(value='approved') Approved
    38                if approve == "pending"
    39                  option(value='pending' selected='') Pending
    40                else
    41                  option(value='pending') Pending
    42              button.search-btn(type='submit' aria-label='Search posts')
    43                svg(style='width:24px;height:24px' viewBox='0 0 24 24')
    44                  path(fill='currentColor' d='M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z')
    45  
    46            h1 Posts
    47            ul.nodes-list
    48              each post in data.Data
    49                li
    50                  .name
    51                    if post.Draft
    52                      span.status.error Draft
    53                      |  
    54                    if !post.Approved
    55                      span.status.error Pending
    56                      |  
    57                    h4(style='display:inline')
    58                      a(href=post.Url() target='_blank')=post.Name
    59                    div.date=post.CreatedAt.Format("2006-01-02 15:04:05")
    60                  .info
    61                    div.author=post.User.Username
    62                    div
    63                      - var postEditUrl = utils.Url(fmt.Sprintf("/posts/%d", post.ID))
    64                      a(href=postEditUrl) Edit
    65                      |   
    66                      a.delete-post(data-id=post.ID href="#") Delete
    67                      |   
    68                      a.approve-post(data-id=post.ID href="#") Approve
    69            - var links = data.Links()
    70            ul.paginate
    71              each link in links
    72                li
    73                  a(href=link.Link class=link.Class)=link.Label