diff options
Diffstat (limited to 'playlist.lisp')
-rw-r--r-- | playlist.lisp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/playlist.lisp b/playlist.lisp index f676936..f7f0b04 100644 --- a/playlist.lisp +++ b/playlist.lisp @@ -13,7 +13,8 @@ (np-title np-artist np-thumb np-dur np-time np-play :std nil :doc "Now Playing Elements") (pl-title pl-tracks pl-dur - :std nil :doc "Playlist Elements")) + :std nil :doc "Playlist Elements") + (zipped :std nil :doc "Path to the zipped playlist, if it exists.")) (:documentation "Holds the complete state for this session's viewing of a particular playlist.")) (defclass/std track-ctl () @@ -438,11 +439,20 @@ (div (:class "row") (div () + (button (:content "Create Playlist Zip" :bind download)) + (a (:link (zipped ctl) :content "Download" :bind dl-link))) + (div () (new-track-form (pl)) (editor-managment (pl))))) + (set-on-click download (thunk* + (setf (zipped ctl) (zip-playlist pl) + (link dl-link) (zipped ctl) + (display dl-link) "inline"))) + (setf (pl-title ctl) title-elem (pl-dur ctl) dur-elem (display input) "none" + (display dl-link) "none" (display title-elem) "inline") (when (playlist-editors pl) @@ -453,7 +463,7 @@ do (format out "<a href='/user/~a'>~a</a>" (key u) (user-name u)) when more do (princ ", " out))))) - + (when (editorp ctl) (setf (attribute title-elem "title") "Click to edit the title." (text edit-indicator) "(click the title to edit it)") |