sass compiling, added spotify and footer logo, sending currently playing on load
This commit is contained in:
parent
cfcb5ece97
commit
83bb76a5eb
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,7 +4,6 @@
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
appsettings.Development.json
|
||||
wwwroot
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
|
5
Selector.Web/CSS/index.scss
Normal file
5
Selector.Web/CSS/index.scss
Normal file
@ -0,0 +1,5 @@
|
||||
@import "now.scss";
|
||||
|
||||
body {
|
||||
background-color: #c6c6c6;
|
||||
}
|
@ -1,8 +1,21 @@
|
||||
|
||||
.card {
|
||||
background-color: grey;
|
||||
color: white;
|
||||
|
||||
box-shadow: 4px 4px 2px #5e5e5e;
|
||||
}
|
||||
|
||||
.now-playing-card {
|
||||
max-width: 400px;
|
||||
// max-width: 300px;
|
||||
|
||||
text-shadow: 2px 2px 2px #5e5e5e;
|
||||
|
||||
.cover-art {
|
||||
box-shadow: 4px 4px 2px #5e5e5e;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 15px;
|
||||
}
|
||||
}
|
@ -23,6 +23,11 @@ namespace Selector.Web.Hubs
|
||||
Cache = cache;
|
||||
}
|
||||
|
||||
public async Task OnConnected()
|
||||
{
|
||||
await SendNewPlaying();
|
||||
}
|
||||
|
||||
public async Task SendNewPlaying()
|
||||
{
|
||||
var nowPlaying = await Cache.StringGetAsync(Key.CurrentlyPlaying(Context.UserIdentifier));
|
||||
|
@ -6,9 +6,8 @@
|
||||
|
||||
<div class="text-center">
|
||||
<h1 class="display-4">Now</h1>
|
||||
<div id="app">
|
||||
<h1>{{ count }}</h1>
|
||||
<now-playing-card :track="currentlyPlaying.track"></now-playing-card>
|
||||
<div id="app" class="col-12">
|
||||
<now-playing-card :track="currentlyPlaying.track" class="col-md-3"></now-playing-card>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -5,27 +5,22 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>@ViewData["Title"] - Selector</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
|
||||
<link href="~/css/index.min.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" asp-area="" asp-page="/Index">Selector.Web</a>
|
||||
<a class="navbar-brand" asp-area="" asp-page="/Index">Selector</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
|
||||
aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
||||
<ul class="navbar-nav flex-grow-1">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-page="/Index">Home</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-page="/Now">Now</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-page="/Privacy">Privacy</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<partial name="_LoginPartial" />
|
||||
@ -42,6 +37,13 @@
|
||||
<div class="container">
|
||||
© 2021 - Selector.Web - <a asp-area="" asp-page="/Privacy">Privacy</a>
|
||||
</div>
|
||||
<img src="/andy.png"
|
||||
alt="AP"
|
||||
width="120px"
|
||||
style="display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding: 8px">
|
||||
</footer>
|
||||
|
||||
@await RenderSectionAsync("Scripts", required: false)
|
||||
|
3355
Selector.Web/package-lock.json
generated
3355
Selector.Web/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -25,8 +25,10 @@
|
||||
"vue": "^3.2.21"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/compiler-sfc": "^3.2.21",
|
||||
"clean-webpack-plugin": "^4.0.0",
|
||||
"file-loader": "^6.2.0",
|
||||
"node-sass": "^6.0.1",
|
||||
"sass-loader": "^12.3.0",
|
||||
"ts-loader": "^9.2.6",
|
||||
"typescript": "^4.4.4",
|
||||
"vue-loader": "^15.9.8",
|
||||
|
@ -1,19 +1,24 @@
|
||||
import * as Vue from "vue";
|
||||
import { FullTrack } from "./HubInterfaces";
|
||||
|
||||
let component: Vue.Component = {
|
||||
props: ['track'],
|
||||
template:
|
||||
`
|
||||
<div class="card now-playing-card" >
|
||||
<img :src="track.album.images[0].url">
|
||||
<img :src="track.album.images[0].url" class="cover-art">
|
||||
<h4>{{ track.name }}</h4>
|
||||
<h6>
|
||||
{{ track.album.name }}
|
||||
</h6>
|
||||
<h6>
|
||||
<template v-for="(artist, index) in track.artists">
|
||||
<template v-if="index > 0">,</template>
|
||||
<template v-if="index > 0">, </template>
|
||||
<span>{{ artist.name }}</span>
|
||||
</template>
|
||||
</h6>
|
||||
<a :href="track.externalUrls.spotify" style="width: 21px">
|
||||
<img src="/Spotify_Icon_RGB_White.png" style="width: 21px">
|
||||
</a>
|
||||
</div>
|
||||
`
|
||||
}
|
||||
|
@ -7,7 +7,11 @@ const connection = new signalR.HubConnectionBuilder()
|
||||
.withUrl("/hub")
|
||||
.build();
|
||||
|
||||
connection.start().catch(err => console.error(err));
|
||||
connection.start()
|
||||
.then(val => {
|
||||
connection.invoke("OnConnected");
|
||||
})
|
||||
.catch(err => console.error(err));
|
||||
|
||||
interface NowPlaying {
|
||||
currentlyPlaying?: CurrentlyPlayingDTO
|
||||
@ -31,7 +35,8 @@ const app = Vue.createApp({
|
||||
{
|
||||
name: ""
|
||||
}
|
||||
]
|
||||
],
|
||||
externalUrls: {}
|
||||
}
|
||||
}
|
||||
} as NowPlaying
|
||||
|
@ -19,7 +19,6 @@
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"scripts/**/*",
|
||||
"vue-file-import.d.ts"
|
||||
"scripts/**/*"
|
||||
]
|
||||
}
|
@ -4,6 +4,7 @@ const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
||||
module.exports = {
|
||||
entry: {
|
||||
now: './scripts/now.ts',
|
||||
nowCss: './CSS/index.scss',
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
@ -18,6 +19,17 @@ module.exports = {
|
||||
{
|
||||
test: /\.vue$/,
|
||||
loader: 'vue-loader',
|
||||
},
|
||||
{
|
||||
test: /\.scss$/,
|
||||
exclude: /node_modules/,
|
||||
use: [
|
||||
{
|
||||
loader: 'file-loader',
|
||||
options: { outputPath: '../css', name: '[name].min.css'}
|
||||
},
|
||||
'sass-loader'
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
2
Selector.Web/wwwroot/.gitignore
vendored
Normal file
2
Selector.Web/wwwroot/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
css
|
||||
js
|
BIN
Selector.Web/wwwroot/Spotify_Icon_RGB_White.png
Normal file
BIN
Selector.Web/wwwroot/Spotify_Icon_RGB_White.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
Selector.Web/wwwroot/andy.png
Normal file
BIN
Selector.Web/wwwroot/andy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
Loading…
Reference in New Issue
Block a user