Skip to content
Snippets Groups Projects
Commit 0ca3102c authored by Damien Nguyen's avatar Damien Nguyen
Browse files

Update

parent 4861117d
No related branches found
No related tags found
No related merge requests found
Pipeline #10367 passed
import { Fragment } from "react"
import { useEffect } from "react"
import { useEffect, Fragment } from "react"
import { useNavigate } from "react-router-dom"
export const Default = () => {
......
......@@ -5,9 +5,9 @@ import plus from "../assets/icons-plus.svg"
export const Songs = ({ songsState, dispatch }) => {
const songs = songsState.songs
const grid = songs?.map((song, index) => {
const grid = songs?.map((song) => {
return (
<Song key={index} song={song} dispatch={dispatch}></Song>)
<Song key={song.uuid} song={song} dispatch={dispatch}></Song>)
})
return (
......
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
<title>SongJS</title>
<link rel="icon" type="image/x-icon" href="data:image/png;base64,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">
</head>
<body>
<div id="root"></div>
......
......@@ -8,7 +8,7 @@ export const EnumToast = {
export const toast = (enumToast, message) => {
switch (enumToast) {
case EnumToast.success:
reactToast.success(message, {autoClose: 500000})
reactToast.success(message, {autoClose: 5000})
break
case EnumToast.error:
reactToast.error(`An error occured\n${message}`)
......
......@@ -2,7 +2,8 @@
<html>
<head>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
<title>SongJS</title>
<link rel="icon" type="image/x-icon" href="data:image/png;base64,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">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<style>
.svg-filter-hide {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment