Compare commits

...

4 Commits

9 changed files with 25 additions and 69 deletions

View File

@@ -1,3 +1,3 @@
localhost { {$DOMAIN} {
reverse_proxy app:3000 reverse_proxy app:3000
} }

View File

@@ -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:

View File

@@ -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);

View File

@@ -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};

View File

@@ -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();
} }
}); });

View File

@@ -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

View File

@@ -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>

View File

@@ -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

View File

@@ -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">