Compare commits
4 Commits
7a1dfa3165
...
d72ff726a5
| Author | SHA1 | Date | |
|---|---|---|---|
|
d72ff726a5
|
|||
|
b53c8c532e
|
|||
|
4f30021a99
|
|||
|
05c948fd16
|
@@ -1,3 +1,3 @@
|
|||||||
localhost {
|
{$DOMAIN} {
|
||||||
reverse_proxy app:3000
|
reverse_proxy app:3000
|
||||||
}
|
}
|
||||||
@@ -19,6 +19,8 @@ services:
|
|||||||
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
|
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
|
||||||
networks:
|
networks:
|
||||||
- web
|
- web
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
web:
|
web:
|
||||||
@@ -5,6 +5,7 @@ utils = require("../lib/utils");
|
|||||||
exports.getTeams = async (req, res, next) => {
|
exports.getTeams = async (req, res, next) => {
|
||||||
const {layout} = req
|
const {layout} = req
|
||||||
const {user_id} = req.params
|
const {user_id} = req.params
|
||||||
|
req.session.current_team_id = null
|
||||||
promise = teamsnap.loadTeams({'userId':user_id},
|
promise = teamsnap.loadTeams({'userId':user_id},
|
||||||
(err, items) =>{
|
(err, items) =>{
|
||||||
teamsnapCallback(err,items);
|
teamsnapCallback(err,items);
|
||||||
|
|||||||
@@ -149,4 +149,11 @@ router.get('/auth/teamsnap/session_storage', (req,res)=>{
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
router.post('/logout', function(req, res, next){
|
||||||
|
req.logout(function(err) {
|
||||||
|
if (err) { return next(err); }
|
||||||
|
res.redirect('/');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
module.exports = {router, ensureLoggedIn};
|
module.exports = {router, ensureLoggedIn};
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ const membersController = require("../controllers/member");
|
|||||||
router.use("/", ensureLoggedIn, (req,res,next) => {req.layout="layouts/main";req.promises=[];next();})
|
router.use("/", ensureLoggedIn, (req,res,next) => {req.layout="layouts/main";req.promises=[];next();})
|
||||||
|
|
||||||
router.get("/", (req,res,next) => {
|
router.get("/", (req,res,next) => {
|
||||||
if (!req.session.current_team){
|
if (!req.session.current_team_id){
|
||||||
res.redirect(`/user/${req.session.passport.user.id}/teams`)
|
res.redirect(`/user/${req.session.passport.user.id}/teams`)
|
||||||
next();
|
next();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
res.redirect(`/${req.session.current_team}/home`)
|
res.redirect(`/${req.session.current_team_id}/home`)
|
||||||
next();
|
next();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
html
|
|
||||||
head
|
|
||||||
block meta
|
|
||||||
meta(charset='utf-8')
|
|
||||||
meta(name='viewport' content='width=device-width, initial-scale=1')
|
|
||||||
title BenchCoach - #{title}
|
|
||||||
block styles
|
|
||||||
link(rel='stylesheet' href='/css/bootstrap.min.css')
|
|
||||||
link(rel='stylesheet' href='/font/bootstrap-icons.min.css')
|
|
||||||
link(rel='stylesheet' href='/css/teamsnap-ui.css')
|
|
||||||
link(rel='stylesheet' href='/css/project.css')
|
|
||||||
block pre-scripts
|
|
||||||
script(type='text/javascript', src='/js/Sortable.js')
|
|
||||||
|
|
||||||
body.bg-light
|
|
||||||
block navbar
|
|
||||||
include navbar.pug
|
|
||||||
|
|
||||||
.u-spaceSm.u-md-spaceLg
|
|
||||||
block content
|
|
||||||
.Panel
|
|
||||||
.Panel-header
|
|
||||||
h2.Panel-title Panel
|
|
||||||
.Panel-body
|
|
||||||
.Panel-row Panel Row
|
|
||||||
.Panel-row Roster
|
|
||||||
.Panel-row Opponents
|
|
||||||
|
|
||||||
block footer
|
|
||||||
.u-padMd.u-borderTop
|
|
||||||
.u-max1200.u-flexExpandSides.Grid
|
|
||||||
.Grid-cell.u-md-size1of2
|
|
||||||
p.u-textCenter.u-md-textLeft
|
|
||||||
| Copyright © 2023 BenchCoach. BenchCoach is not affiliated with TeamSnap, inc.
|
|
||||||
.Grid-cell.u-md-size1of2
|
|
||||||
p.u-textCenter.u-md-textRight
|
|
||||||
|
|
||||||
block scripts
|
|
||||||
|
|
||||||
@@ -17,7 +17,17 @@
|
|||||||
<h6 class="h6 title u-textNoWrap u-fontSizeSm u-textSemiBold">{{user.first_name}} {{user.last_name}}</h6>
|
<h6 class="h6 title u-textNoWrap u-fontSizeSm u-textSemiBold">{{user.first_name}} {{user.last_name}}</h6>
|
||||||
<div class="u-textNoWrap u-fontSizeSm">{{user.email}}</div>
|
<div class="u-textNoWrap u-fontSizeSm">{{user.email}}</div>
|
||||||
<hr class="Divider u-spaceEndsNone">
|
<hr class="Divider u-spaceEndsNone">
|
||||||
<a href="/logout">Logout</a>
|
<div class="u-padBottomSm u-padTopSm">
|
||||||
|
<a href="/user/{{user.id}}/teams" class="u-spaceBottomSm Button Button--small">
|
||||||
|
<span>{{{embeddedSvgFromPath "/teamsnap-ui/assets/icons/team.svg"}}}</span>
|
||||||
|
Teams
|
||||||
|
</a>
|
||||||
|
<form method="post" action="/logout">
|
||||||
|
<button type="submit" name="logout" class="u-spaceBottomSm Button Button--small">
|
||||||
|
Logout
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
header.Header
|
|
||||||
.Header-container.Grid.u-flexAlignItemsCenter
|
|
||||||
.Grid-cell.u-sizeFill
|
|
||||||
.Header-banner.Grid.u-flexAlignItemsCenter
|
|
||||||
a.Grid-cell.u-sizeFit.u-flexInline.u-flexAlignItemsCenter.u-textDecorationNone href=url_for(root_path)
|
|
||||||
div.Header-bannerLogo
|
|
||||||
img(class='logo' src='/media/benchcoach.svg' alt='BenchCoach Logo')
|
|
||||||
span
|
|
||||||
- if defined?(team)
|
|
||||||
h1.Header-bannerTitle #{team.name}
|
|
||||||
- else
|
|
||||||
h1.Header-bannerTitle BenchCoach
|
|
||||||
.Grid-cell.u-flexInline.u-flexJustifyEnd.u-sizeFill.u-padSidesSm
|
|
||||||
- if @user
|
|
||||||
.Popup
|
|
||||||
.Button.Button--small.Popup-toggle onclick="this.closest('.Popup').querySelector('.Popup-container').classList.toggle('is-open')"
|
|
||||||
| Account
|
|
||||||
.Popup-container.Popup-container--down.Popup-container--right.u-sizeFit
|
|
||||||
.Popup-content.u-padXs.u-sizeFit.u-fontSizeSm
|
|
||||||
h6.title.u-textNoWrap.u-fontSizeSm.u-textSemiBold="#{@user['first_name']} #{@user['last_name']}"
|
|
||||||
.u-textNoWrap.u-fontSizeSm="#{@user['email']}"
|
|
||||||
hr.Divider.u-spaceEndsNone
|
|
||||||
a href=url_for(logout_path) Logout
|
|
||||||
|
|
||||||
.Grid-cell.u-sizeFit
|
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class=" Grid-cell u-sizeFit">
|
<div class=" Grid-cell u-sizeFit u-padTopSm u-padBottomSm">
|
||||||
<div class=" u-flex u-flexAlignItemsCenter u-flexJustifyEnd">
|
<div class=" u-flex u-flexAlignItemsCenter u-flexJustifyEnd">
|
||||||
<div class="ButtonGroup">
|
<div class="ButtonGroup">
|
||||||
<a class="Button" href="schedule">
|
<a class="Button" href="schedule">
|
||||||
|
|||||||
Reference in New Issue
Block a user