Skip to content
Snippets Groups Projects
Commit e92704f6 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Merge branch '17-improve-layout' into 'master'

Resolve "Improve layout"

Closes #17

See merge request !12
parents 8a753580 f015f0dd
No related branches found
No related tags found
1 merge request!12Resolve "Improve layout"
......@@ -40,6 +40,9 @@ $_SESSION['refreshToken'] = $session->getRefreshToken();
$user = $api->me();
$topArtistsCount = 48;
$playlistsCount = 24;
$templateData = [
'user' => $user,
'playlists' => [],
......@@ -165,8 +168,8 @@ if ($generatePlaylistFromPlaylist) {
$playlistLink = '<a href="'.$newPlaylist->external_urls->spotify.'">'.$newPlaylistName.'</a>';
$templateData['infos'][] = 'Ok created new playlist with '.count($pickedTrackIds).' tracks: '.$playlistLink;
} else {
$templateData['topArtists'] = $api->getMyTop('artists', ['limit' => 24, 'time_range' => 'short_term'])->items;
$templateData['playlists'] = $api->getUserPlaylists($user->id, ['limit' => 24])->items;
$templateData['topArtists'] = $api->getMyTop('artists', ['limit' => $topArtistsCount, 'time_range' => 'short_term'])->items;
$templateData['playlists'] = $api->getUserPlaylists($user->id, ['limit' => $playlistsCount])->items;
}
require '../template.php';
......@@ -2,6 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Spotify playlist generator</title>
<link rel="icon" type="image/png" href="img/favicon.png"/>
......@@ -11,28 +13,33 @@
<script src="js/scripts.js"></script>
</head>
<body class="container mt-2">
<body>
<div class="row">
<div class="col-2">
<div class="card">
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container-fluid">
<a class="navbar-brand" href="playlist-generator">
<?php if (count($templateData['user']->images)) { ?>
<img src="<?php echo $templateData['user']->images[0]->url; ?>" class="card-img-top" alt="<?php echo $templateData['user']->display_name; ?>">
<img src="<?php echo $templateData['user']->images[0]->url; ?>" alt="" class="rounded border" alt="<?php echo $templateData['user']->display_name; ?>" style="max-height: 2rem;">
<?php } ?>
<div class="card-body">
<h5 class="card-title"><?php echo $templateData['user']->display_name; ?></h5>
<a href="<?php echo $templateData['user']->external_urls->spotify; ?>" class="btn btn-primary">View profile</a>
</div>
<div class="card-footer">
<a href="playlist-generator" class="card-link">refresh</a>
<br/>
<a href="?logout" class="card-link">disconnect</a>
<?php echo $templateData['user']->display_name; ?>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="<?php echo $templateData['user']->external_urls->spotify; ?>">Profile</a>
</li>
<li class="nav-item">
<a class="nav-link" href="?logout">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
</div>
<div class="col-10">
<div class="container-fluid mb-5">
<?php if (count($templateData['errors'])) { ?>
<?php foreach ($templateData['errors'] as $message) { ?>
......@@ -49,7 +56,7 @@
<?php if (count($templateData['topArtists'])) { ?>
<form class="clearfix">
<legend>Generate playlist from artists:</legend>
<ul class="list-unstyled row row-cols-4">
<ul class="list-unstyled row row-cols-md-4 row-cols-2">
<?php foreach ($templateData['topArtists'] as $artist) { ?>
<li class="col">
<div class="custom-control custom-checkbox">
......@@ -62,7 +69,7 @@
>
<label class="custom-control-label" for="check-top-artist-<?php echo $artist->id; ?>">
<?php if (count($artist->images)) { ?>
<img src="<?php echo $artist->images[count($artist->images) - 1]->url; ?>" style="max-height: 1rem;" />
<img src="<?php echo $artist->images[count($artist->images) - 1]->url; ?>" style="max-height: 1rem; max-width: 1rem;" />
<?php } ?>
<?php echo $artist->name; ?>
</label>
......@@ -71,7 +78,7 @@
<?php } ?>
</ul>
<div class="row">
<div class="col-8">
<div class="col-md-8 col-sm-12">
<input
type="checkbox"
class="custom-control-input"
......@@ -84,7 +91,7 @@
Allow only selected artists in recommendations
</label>
</div>
<div class="col-4">
<div class="col-md-4 col-sm-12">
<button name="generate-playlist-top-artists" type="submit" class="btn btn-secondary float-end">🎶 Generate!</button>
</div>
</div>
......@@ -94,7 +101,7 @@
<?php if (count($templateData['playlists'])) { ?>
<form class="clearfix">
<legend>Generate playlist from tracks in existing playlist:</legend>
<ul class="list-unstyled row row-cols-2">
<ul class="list-unstyled row row-cols-md-2 row-cols-1">
<?php foreach ($templateData['playlists'] as $playlist) { ?>
<li class="col">
<div class="custom-control custom-checkbox">
......@@ -107,7 +114,7 @@
>
<label class="custom-control-label" for="check-playlist-<?php echo $playlist->id; ?>">
<?php if (count($playlist->images)) { ?>
<img src="<?php echo $playlist->images[count($playlist->images) - 1]->url; ?>" style="max-height: 1rem;" />
<img src="<?php echo $playlist->images[count($playlist->images) - 1]->url; ?>" style="max-height: 1rem; max-width: 1rem;" />
<?php } ?>
<?php echo $playlist->name; ?>
</label>
......@@ -116,7 +123,7 @@
<?php } ?>
</ul>
<div class="row">
<div class="col-8">
<div class="col-md-8 col-sm-12">
<input
type="checkbox"
class="custom-control-input"
......@@ -129,7 +136,7 @@
Allow only artists in selected playlists in recommendations
</label>
</div>
<div class="col-4">
<div class="col-md-4 col-sm-12">
<button name="generate-playlist-from-playlist" type="submit" class="btn btn-secondary float-end">🎶 Generate!</button>
</div>
</div>
......@@ -137,7 +144,6 @@
<?php } ?>
</div>
</div>
</body>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment