Костыли с кнопкой....

This commit is contained in:
devil_1nc 2024-09-18 01:30:37 +04:00
parent c6819a2511
commit 9442dd84a2
6 changed files with 16 additions and 17 deletions

2
.env
View File

@ -1 +1 @@
REACT_APP_LOCALHOST='http://localhost:5000/' REACT_APP_DATABASE='http://localhost:3000/'

View File

@ -502,7 +502,7 @@
{ {
"id": "1", "id": "1",
"name": "Advert 1", "name": "Advert 1",
"photo": "./src/september.png" "photo": "https://sun9-15.userapi.com/impg/5IS2PMmTs9YGUuo2CGNDm3KxKbe6T7205_PT6A/-VHlhuPWlGk.jpg?size=1640x856&quality=95&sign=77953363d2f78b014aff77f540f7bfa0&type=album"
} }
] ]

View File

@ -1,7 +1,7 @@
import axios from "axios"; import axios from "axios";
import { IAdvertisement, IGenre, IPlaylist, ISong } from "../models/IModels"; import { IAdvertisement, IGenre, IPlaylist, ISong } from "../models/IModels";
const localhost = process.env.REACT_APP_LOCALHOST || 'http://localhost:3000'; const localhost = process.env.REACT_APP_DATABASE;
export function getPlaylistsByGenre(genre: string, playlists: IPlaylist[]) { export function getPlaylistsByGenre(genre: string, playlists: IPlaylist[]) {
return playlists.filter((playlist: IPlaylist) => playlist.genres.includes(genre)); return playlists.filter((playlist: IPlaylist) => playlist.genres.includes(genre));
@ -21,24 +21,24 @@ export async function getPlaylist(id: string) {
export async function getSongs() { export async function getSongs() {
return await axios.get<ISong[]>('http://localhost:3000/songs'); return await axios.get<ISong[]>(`${localhost}songs`);
} }
export async function getSong(id: string) { export async function getSong(id: string) {
return await axios.get<IPlaylist[]>('http://localhost:3000/songs/' + id); return await axios.get<IPlaylist[]>(`${localhost}songs/` + id);
} }
export async function getGenres() { export async function getGenres() {
return await axios.get<IGenre[]>('http://localhost:3000/genres'); return await axios.get<IGenre[]>(`${localhost}genres`);
} }
export async function getAds() { export async function getAds() {
return await axios.get<IAdvertisement[]>('http://localhost:3000/ads'); return await axios.get<IAdvertisement[]>(`${localhost}advertisements`);
} }

View File

@ -118,17 +118,20 @@
.play-song-button:after { .play-song-button:after {
content: attr(data-content); content: attr(data-content);
font-size: 40px; font-size: 28px;
text-align: center; display: flex;
display: block; align-items: center;
flex-wrap: wrap;
align-content: center;
justify-content: center;
color: #fff; color: #fff;
position: absolute; position: absolute;
width: 100%; height:100%; width: 100%; height:100%;
top:0; left:0; top:0; left:0;
background:rgba(0,0,0,0.6); background:rgba(0,0,0,0.6);
opacity: 0; opacity: 0;
transition: all 0.25s; transition: all 0.15s;
-webkit-transition: all 1s; -webkit-transition: all 0.5s;
} }
.play-song-button:hover:after { .play-song-button:hover:after {

View File

@ -26,8 +26,6 @@ function App() {
async function fetchData() { async function fetchData() {
const responseSongs = getSongs(); const responseSongs = getSongs();
// const responseAlbums = await axios.get<IAlbum[]>('http://localhost:3000/albums'); // const responseAlbums = await axios.get<IAlbum[]>('http://localhost:3000/albums');
const responseGenres = getGenres(); const responseGenres = getGenres();

View File

@ -17,9 +17,7 @@ export function SongsBlock({songs}: {songs: ISong[]}) {
width: 100, width: 100,
render: (text: string, song: ISong) => ( render: (text: string, song: ISong) => (
<Button data-content={ <Button data-content="▷" className='play-song-button rounded' style={{background: 'transparent', display: 'contents'}}>
<PlayCircleFilled />
} className='play-song-button rounded' style={{background: 'transparent', display: 'contents'}}>
<img <img
className="rounded" className="rounded"
src={song.cover} src={song.cover}