Browse Source

more deck management

develop
Rob Colbert 2 years ago
parent
commit
c7e620bacd
  1. 2
      app/controllers/admin/deck.js
  2. 8
      app/views/admin/deck/editor.pug
  3. 18
      app/views/admin/deck/index.pug
  4. 8
      app/views/deck/components/deck.pug

2
app/controllers/admin/deck.js

@ -84,7 +84,7 @@ class DeckController extends SiteController {
}
async getDeckView (req, res) {
res.render('admin/deck/view');
res.render('admin/deck/editor');
}
async getDeckCreateForm (req, res) {

8
app/views/admin/deck/editor.pug

@ -6,18 +6,18 @@ block content
form(method="POST", action= actionUrl).uk-form
.uk-card.uk-card-default.uk-card-small
.uk-card-header
h1.uk-card-title Create New Deck
h1.uk-card-title= deck ? 'Edit Deck' : 'Create New Deck'
.uk-card-body
.uk-margin
label(for="name").uk-form-label Deck name
input(id="name", name="name", type="text", placeholder="Enter deck name").uk-input
input(id="name", name="name", type="text", placeholder="Enter deck name", value= deck ? deck.name : undefined).uk-input
.uk-margin
label(for="description").uk-form-label Description
textarea(id="description", name="description", rows="3", placeholder="Enter deck description").uk-textarea
textarea(id="description", name="description", rows="3", placeholder="Enter deck description").uk-textarea= deck ? deck.description : undefined
.uk-margin
label(for="tags").uk-form-label Tags
input(id="tags", name="tags", type="text", placeholder="Enter search tags").uk-input
input(id="tags", name="tags", type="text", placeholder="Enter search tags", value= deck ? deck.tags.join(', ') : undefined).uk-input
.uk-text-small.uk-text-muted Separate multiple tags with a comma
.uk-card-footer

18
app/views/admin/deck/index.pug

@ -1,6 +1,20 @@
extends ../layouts/main
block content
h1 Deck Index
include ../../deck/components/deck
pre= JSON.stringify(decks, null, 2)
h1 Deck Management
p
a(href="/admin/deck/create").uk-button.dtp-button-secondary
span.uk-margin-small-right
i.fas.fa-plus
span Create Deck
h2 Current Decks
if Array.isArray(decks) && (decks.length > 0)
ul.uk-list.uk-list-divided.uk-list-small
each deck in decks
li
+renderDeck(deck)
else
div There are no decks.

8
app/views/deck/components/deck.pug

@ -0,0 +1,8 @@
mixin renderDeck (deck)
.uk-margin-small
a(href=`/admin/deck/${deck._id}`)
h4.uk-margin-remove= deck.name
div= deck.description
.uk-text-small
each tag in deck.tags
span.uk-label.uk-margin-right= tag
Loading…
Cancel
Save