diff options
Diffstat (limited to 'views')
| -rw-r--r-- | views/partials/footer.ejs | 3 | ||||
| -rw-r--r-- | views/projects/list-projects.ejs | 2 | ||||
| -rw-r--r-- | views/staff.ejs | 26 | ||||
| -rw-r--r-- | views/staff/_footer.ejs | 16 | ||||
| -rw-r--r-- | views/staff/_header.ejs | 15 | ||||
| -rw-r--r-- | views/staff/_media.ejs | 37 | ||||
| -rw-r--r-- | views/staff/_pagination.ejs | 17 | ||||
| -rw-r--r-- | views/staff/_projects.ejs | 24 | ||||
| -rw-r--r-- | views/staff/_stats.ejs | 17 | ||||
| -rw-r--r-- | views/staff/_users.ejs | 21 | ||||
| -rw-r--r-- | views/staff/_users_recent.ejs | 26 | ||||
| -rw-r--r-- | views/staff/index.ejs | 16 | ||||
| -rw-r--r-- | views/staff/media/index.ejs | 18 | ||||
| -rw-r--r-- | views/staff/media/show.ejs | 45 | ||||
| -rw-r--r-- | views/staff/media/show_404.ejs | 14 | ||||
| -rw-r--r-- | views/staff/projects/index.ejs | 18 | ||||
| -rw-r--r-- | views/staff/projects/show.ejs | 73 | ||||
| -rw-r--r-- | views/staff/projects/show_404.ejs | 14 | ||||
| -rw-r--r-- | views/staff/users/index.ejs | 18 | ||||
| -rw-r--r-- | views/staff/users/media.ejs | 18 | ||||
| -rw-r--r-- | views/staff/users/show.ejs | 103 | ||||
| -rw-r--r-- | views/staff/users/show_404.ejs | 13 |
22 files changed, 527 insertions, 27 deletions
diff --git a/views/partials/footer.ejs b/views/partials/footer.ejs index 685aec1..3f816f0 100644 --- a/views/partials/footer.ejs +++ b/views/partials/footer.ejs @@ -13,6 +13,9 @@ <span> you are signed in as → <a href="/profile/[[- user.username ]]">[[- user.displayName ]]</a> + [[ if (user.isStaff) { ]] + <a href="/staff">Staff Area</a> + [[ } ]] <a href="/logout" class="topLink">Sign Out?</a> </span> [[ } ]] diff --git a/views/projects/list-projects.ejs b/views/projects/list-projects.ejs index c78bf9f..c41ae07 100644 --- a/views/projects/list-projects.ejs +++ b/views/projects/list-projects.ejs @@ -1,6 +1,6 @@ [[ if (projects.length) { ]] - <table id="projectList"> + <table class="projectList"> <tr> [[ projects.forEach(function(project, i) { ]] diff --git a/views/staff.ejs b/views/staff.ejs deleted file mode 100644 index 0db8ebc..0000000 --- a/views/staff.ejs +++ /dev/null @@ -1,26 +0,0 @@ -<!doctype html> -<html> -<head> - <title>vvalls</title> - [[ include partials/meta ]] -</head> -<body class="loading"> -<div class="rapper page"> - [[ include partials/header ]] - - <br clear="all"> - <h1>Staff Area</h1> - <!-- - - recent users - - rooms list - - projects list - --> - - [[ include partials/confirm-modal ]] - [[ include partials/footer ]] -</div> - - -</body> -[[ include partials/scripts ]] -</html> diff --git a/views/staff/_footer.ejs b/views/staff/_footer.ejs new file mode 100644 index 0000000..839db4a --- /dev/null +++ b/views/staff/_footer.ejs @@ -0,0 +1,16 @@ + </div> + [[ include ../partials/confirm-modal ]] + [[ include ../partials/footer ]] +</div> + +</body> +[[ include ../partials/scripts ]] +<script type="text/javascript" src="/assets/javascripts/vendor/bower_components/jquery-jsonview/dist/jquery.jsonview.js"></script> +<script type="text/javascript" src="/assets/javascripts/ui/site/StaffView.js"></script> +<script> +$(function(){ + var staffView = new StaffView () + staffView.load() +}) +</script> +</html> diff --git a/views/staff/_header.ejs b/views/staff/_header.ejs new file mode 100644 index 0000000..3bbf4f1 --- /dev/null +++ b/views/staff/_header.ejs @@ -0,0 +1,15 @@ +<!doctype html> +<html> +<head> + <title>vvalls | staff</title> + [[ include ../partials/meta ]] + <link rel="stylesheet" href="/assets/javascripts/vendor/bower_components/jquery-jsonview/dist/jquery.jsonview.css"></script> + <link rel="stylesheet" href="/assets/stylesheets/staff.css"></script> + <input type="hidden" id="_csrf" name="_csrf" value="[[- token ]]"> +</head> +<body class="loading"> +<div class="rapper page staff"> + [[ include ../partials/header ]] + + <br clear="all"> + <div class="body"> diff --git a/views/staff/_media.ejs b/views/staff/_media.ejs new file mode 100644 index 0000000..19e9d0b --- /dev/null +++ b/views/staff/_media.ejs @@ -0,0 +1,37 @@ +<table id="users"> +[[ media.forEach(function(media){ ]] + <tr> + <td class="editLinks"> + <a href="/staff/media/[[- media._id ]]">[view]</a> + </td> + <td> + <a href="/staff/users/[[- media.user.username ]]">[[- media.user.username ]]</a> + </td> + <td> + [[- media.date ]] + </td> + <td> + [[- media.width ]]x[[- media.height ]] + </td> + <td> + [[- media.type ]] + </td> + <td> + [[- media.token ]] + </td> + <td> + <a class="medialink" href="[[- media.url ]]" target="_blank">[[- media.shortUrl ]]</a> + </td> + </tr> +[[ }) ]] +</table> + +<style> +.medialink { + max-width: 30vw; + display: inline-block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +</style>
\ No newline at end of file diff --git a/views/staff/_pagination.ejs b/views/staff/_pagination.ejs new file mode 100644 index 0000000..6c3bfb1 --- /dev/null +++ b/views/staff/_pagination.ejs @@ -0,0 +1,17 @@ +[[ if (pagination.prev_page !== -1 && pagination.next_page !== -1) { ]] + <div id="pagination"> + + [[ if (pagination.prev_page !== -1) { ]] + <a href="?[[- pagination.query ]]&offset=[[- pagination.prev_page ]]">←</a> + [[ } else { ]] + ← + [[ } ]] + | + [[ if (pagination.next_page !== -1) { ]] + <a href="?[[- pagination.query ]]&offset=[[- pagination.next_page ]]">Next page →</a> + [[ } else { ]] + → + [[ } ]] + + </div> +[[ } ]]
\ No newline at end of file diff --git a/views/staff/_projects.ejs b/views/staff/_projects.ejs new file mode 100644 index 0000000..9e37a6c --- /dev/null +++ b/views/staff/_projects.ejs @@ -0,0 +1,24 @@ +<table id="users"> +[[ projects.forEach(function(project){ ]] + <tr> + <td> + <a href="/staff/projects/[[- project.slug ]]">[[- project.name ]]</a> + </td> + <td class="editLinks"> + <a href="/project/[[- project.slug ]]">[view]</a> + <a href="/project/[[- project.slug ]]/edit">[edit]</a> + </td> + [[ if (project.user) { ]] + <td> + <a href="/staff/users/[[- project.user.username ]]">[[- project.user.username ]]</a> + </td> + [[ } ]] + <td> + [[- project.date ]] + </td> + <td> + [[- project.privacy ? "private" : "" ]] + </td> + </tr> +[[ }) ]] +</table> diff --git a/views/staff/_stats.ejs b/views/staff/_stats.ejs new file mode 100644 index 0000000..d1ad96f --- /dev/null +++ b/views/staff/_stats.ejs @@ -0,0 +1,17 @@ +<table> + <tr> + <th>stats</th> + </tr> + <tr> + <td><a href="/staff/users">users</a></td> + <td>[[- userCount ]]</td> + </tr> + <tr> + <td><a href="/staff/projects">projects</a></td> + <td>[[- projectCount ]]</td> + </tr> + <tr> + <td><a href="/staff/media">media</a></td> + <td>[[- mediaCount ]]</td> + </tr> +</table> diff --git a/views/staff/_users.ejs b/views/staff/_users.ejs new file mode 100644 index 0000000..d46058f --- /dev/null +++ b/views/staff/_users.ejs @@ -0,0 +1,21 @@ +<table id="users"> +[[ users.forEach(function(user){ ]] + <tr> + <td> + <a href="/staff/users/[[- user.username ]]"><div style="background-image:url([[- user.photo ]])" class="avatar"></div></a> + </td> + <td> + <a href="/staff/users/[[- user.username ]]">[[- user.username ]]</a> + </td> + <td> + [[- user.displayName ]] + </td> + <td class="editLinks"> + <a href="/profile/[[- user.username ]]">[view profile]</a> + </td> + <td> + [[- user.last_seen ]] + </td> + </tr> +[[ }) ]] +</table> diff --git a/views/staff/_users_recent.ejs b/views/staff/_users_recent.ejs new file mode 100644 index 0000000..b452c08 --- /dev/null +++ b/views/staff/_users_recent.ejs @@ -0,0 +1,26 @@ +<table id="users"> + <tr> + <th colspan="4"> + recent users + </th> + </tr> +[[ users.forEach(function(user){ ]] + <tr> + <td> + <a href="/staff/users/[[- user.username ]]"><div style="background-image:url([[- user.photo || '/assets/img/profile.png' ]])" class="avatar"></div></a> + </td> + <td> + <a href="/staff/users/[[- user.username ]]">[[- user.username ]]</a> + </td> + <td class="editLinks"> + <a href="/profile/[[- user.username ]]">[view profile]</a> + </td> + <td> + [[- user.displayName ]] + </td> + <td> + [[- user.last_seen ]] + </td> + </tr> +[[ }) ]] +</table> diff --git a/views/staff/index.ejs b/views/staff/index.ejs new file mode 100644 index 0000000..5ca7269 --- /dev/null +++ b/views/staff/index.ejs @@ -0,0 +1,16 @@ +[[ include _header ]] + + <h1>Staff Area</h1> + + <nav> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + + [[ include _users_recent ]] + [[ include _stats ]] + +[[ include _footer ]]
\ No newline at end of file diff --git a/views/staff/media/index.ejs b/views/staff/media/index.ejs new file mode 100644 index 0000000..516af2d --- /dev/null +++ b/views/staff/media/index.ejs @@ -0,0 +1,18 @@ +[[ include ../_header ]] + + <h1>Media</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + +[[ include ../_pagination ]] +[[ include ../_media ]] +[[ include ../_pagination ]] + +[[ include ../_footer ]] diff --git a/views/staff/media/show.ejs b/views/staff/media/show.ejs new file mode 100644 index 0000000..76dcd32 --- /dev/null +++ b/views/staff/media/show.ejs @@ -0,0 +1,45 @@ +[[ include ../_header ]] + + <h1>Media: [[- media.type ]]</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + + <center> + <div id="media-embed" data-type="[[- media.type ]]" data-token="[[- media.token ]]" data-url="[[- media.url ]]" data-width="[[- media.width ]]" data-height="[[- media.height ]]" style="width: [[- media.width ]]px; height: [[- media.height ]]px"> + </div> + </center> + + <table> + <tr> + <td> + uploaded by + </td> + <td> + [[ if (media.user.photo) { ]] + <a href="/staff/users/[[- media.user.username ]]"><div style="background-image:url([[- media.user.photo ]])" class="avatar"></div></a> + [[ } ]] + </td> + <td> + <a href="/staff/users/[[- media.user.username ]]">[[- media.user.username ]]</a> + </td> + <td> + [[- media.user.displayName ]] + </td> + <td class="editLinks"> + <a href="/profile/[[- media.user.username ]]">[view profile]</a> + </td> + </tr> + </table> + + <div class="json"> + [[- mediaJSON ]] + </div> + +[[ include ../_footer ]] diff --git a/views/staff/media/show_404.ejs b/views/staff/media/show_404.ejs new file mode 100644 index 0000000..f07cef2 --- /dev/null +++ b/views/staff/media/show_404.ejs @@ -0,0 +1,14 @@ +[[ include ../_header ]] + + <h1>Media not found</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + +[[ include ../_footer ]] diff --git a/views/staff/projects/index.ejs b/views/staff/projects/index.ejs new file mode 100644 index 0000000..482ea25 --- /dev/null +++ b/views/staff/projects/index.ejs @@ -0,0 +1,18 @@ +[[ include ../_header ]] + + <h1>Projects</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + +[[ include ../_pagination ]] +[[ include ../_projects ]] +[[ include ../_pagination ]] + +[[ include ../_footer ]] diff --git a/views/staff/projects/show.ejs b/views/staff/projects/show.ejs new file mode 100644 index 0000000..0fdb00b --- /dev/null +++ b/views/staff/projects/show.ejs @@ -0,0 +1,73 @@ +[[ include ../_header ]] + + <h1>[[- project.name ]]</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + + <table> + <tr> + <td> + <a href="/staff/projects/[[- project.slug ]]">[[- project.name ]]</a> + </td> + <td class="editLinks"> + <a href="/project/[[- project.slug ]]">[view]</a> + <a href="/project/[[- project.slug ]]/edit">[edit]</a> + </td> + <td> + [[- project.date ]] + </td> + <td> + [[- project.privacy ? "private" : "" ]] + </td> + </tr> + <tr> + <td> + [[ if (projectUser.photo) { ]] + <a href="/staff/users/[[- projectUser.username ]]"><div style="background-image:url([[- projectUser.photo ]])" class="avatar"></div></a> + [[ } ]] + <a href="/staff/users/[[- projectUser.username ]]">[[- projectUser.username ]]</a> + </td> + </tr> + <tr> + <td colspan="999" class="description"> + "[[- project.description ]]" + </td> + </tr> + </table> + + <br> + <br> + <table id="iframe-embed" class="projectList"> + <tr> + <td class="border"> + <iframe src="/project/fafafa/view?noui=1&mute=1" class="embed"></iframe> + </td> + </tr> + </table> + <br> + <br> + + <div class="json"> + [[- projectJSON ]] + </div> + + <h2>Author</h2> + + <div class="json"> + [[- projectUserJSON ]] + </div> + + <h2>Collaborators</h2> + + <div class="json"> + [[- collaborators.length ? collaboratorsJSON : '"no collaborators"' ]] + </div> + +[[ include ../_footer ]] diff --git a/views/staff/projects/show_404.ejs b/views/staff/projects/show_404.ejs new file mode 100644 index 0000000..70320c0 --- /dev/null +++ b/views/staff/projects/show_404.ejs @@ -0,0 +1,14 @@ +[[ include ../_header ]] + + <h1>Project not found</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + +[[ include ../_footer ]] diff --git a/views/staff/users/index.ejs b/views/staff/users/index.ejs new file mode 100644 index 0000000..f14d666 --- /dev/null +++ b/views/staff/users/index.ejs @@ -0,0 +1,18 @@ +[[ include ../_header ]] + + <h1>Users</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + +[[ include ../_pagination ]] +[[ include ../_users ]] +[[ include ../_pagination ]] + +[[ include ../_footer ]] diff --git a/views/staff/users/media.ejs b/views/staff/users/media.ejs new file mode 100644 index 0000000..b13e5fb --- /dev/null +++ b/views/staff/users/media.ejs @@ -0,0 +1,18 @@ +[[ include ../_header ]] + + <h1>Users</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + +[[ include ../_pagination ]] +[[ include ../_media ]] +[[ include ../_pagination ]] + +[[ include ../_footer ]] diff --git a/views/staff/users/show.ejs b/views/staff/users/show.ejs new file mode 100644 index 0000000..8e9b447 --- /dev/null +++ b/views/staff/users/show.ejs @@ -0,0 +1,103 @@ +[[ include ../_header ]] + <h1>User: [[- profile.username ]]</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + + <table id="users"> + <tr> + <td rowspan="999" valign="top"> + <a href="/staff/users/[[- profile.username ]]"><div style="background-image:url([[- profile.photo ]])" class="avatar"></div></a> + </td> + <td> + <a href="/staff/users/[[- profile.username ]]">[[- profile.username ]]</a> + </td> + <td> + [[- profile.displayName ]] + </td> + <td class="editLinks"> + <a href="/profile/[[- profile.username ]]">[view profile]</a> + <a href="/staff/users/[[- profile.username ]]/media">[view media]</a> + </td> + </tr> + </table> + + <h2>Profile</h2> + + <table> + <tr> + <th> + location + </th> + <td> + [[- profile.location ]] + </td> + </tr> + <tr> + <th> + last seen + </th> + <td> + [[- profile.last_seen ]] + </td> + </tr> + <tr> + <th> + projects + </th> + <td> + [[- profile.projectCount ]] + </td> + </tr> + <tr> + <th> + media + </th> + <td> + [[- profile.mediaCount ]] <a href="/staff/users/[[- profile.username ]]/media">[show]</a> + </td> + </tr> + <tr> + <th> + ip addresses + </th> + <td> + [[- profile.created_ip ]] + [[- profile.last_ip ]] + </td> + </tr> + <tr> + <th> + is admin? + </th> + <td id="is-staff"> + [[- profile.isStaff ? "yes" : "no" ]] + </td> + </tr> + </table> + + <br><br> + <div id="actions"> + [[ if (String(user._id) != String(profile._id)) { ]] + <button id="toggle-staff" data-isStaff="[[- !! profile.isStaff ]]">Make Staff</button> + [[ } ]] + </div> + + <h2>Projects</h2> + + [[- include ../_projects ]] + + <br> + <br> + + <div class="json"> + [[- profileJSON ]] + </div> + +[[ include ../_footer ]] diff --git a/views/staff/users/show_404.ejs b/views/staff/users/show_404.ejs new file mode 100644 index 0000000..bcd0271 --- /dev/null +++ b/views/staff/users/show_404.ejs @@ -0,0 +1,13 @@ +[[ include ../_header ]] + <h1>User not found</h1> + + <nav> + <a href="/staff">home</a> + <a href="/staff/users">users</a> + <a href="/staff/projects">projects</a> + <a href="/staff/media">media</a> + </nav> + + <hr> + +[[ include ../_footer ]] |
