Skip to content

Commit

Permalink
save spotifyMusic on click "設定"
Browse files Browse the repository at this point in the history
  • Loading branch information
sora-ichigo committed Dec 16, 2022
1 parent 2a0bea8 commit 13e3031
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 3 deletions.
15 changes: 12 additions & 3 deletions src/project/spotifyMusic/SpotifyMusicPage.tsx
Original file line number Diff line number Diff line change
@@ -1,25 +1,34 @@
import { AnimatePresence, motion } from "framer-motion";
import { useRouter } from "next/router";
import React, { useState } from "react";

import { SpotifyMusicPlayground } from "../../common/spotifyMusic/components/SpotifyMusicPlayground";
import { useSearchSpotifyTrack } from "../../common/spotifyMusic/hooks/useSearchSpotifyTrack";
import { SpotifyMusic, Track } from "../../common/spotifyMusic/type";
import { styled } from "../../stitches.config";
import { registerProjectSpotifyMusic } from "../../utils/apis";
import { Headline } from "../common/Headline";
import { ProjectHeading3 } from "../common/ProjectHeading3";
import { ProjectParagraph } from "../common/ProjectParagraph";

export const SpotifyMusicPage: React.FC<{ spotifyMusic: SpotifyMusic }> = ({ spotifyMusic }) => {
const router = useRouter();
const { project_id } = router.query;
const [query, setQuery] = useState("");
const [currentSpotifyMusic, setCurrentSpotifyMusic] = useState<SpotifyMusic>(spotifyMusic);
const results = useSearchSpotifyTrack(query, 10);

const onClick = (track: Track) => {
const onClick = async (track: Track) => {
const prevSpotifyMusic = currentSpotifyMusic;
setCurrentSpotifyMusic({ uri: track.uri });
try {
await registerProjectSpotifyMusic(project_id as string, track.uri);
} catch (e) {
// NOTE: エラーが発生した場合は、前の曲に戻す
setCurrentSpotifyMusic(prevSpotifyMusic);
}
};

console.log("results", results);

return (
<div>
<Headline title="音楽を設定する" />
Expand Down
15 changes: 15 additions & 0 deletions src/utils/apis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,18 @@ export const createMessage = async (

return;
};

type RegisterProjectSpotifyMusicRequest = {
uri: string;
};

export const registerProjectSpotifyMusic = async (projectId: string, uri: string): Promise<void> => {
const body: RegisterProjectSpotifyMusicRequest = {
uri,
};

const { status } = await backendApiClient.post(`/api/projects/${projectId}/spotify_music/`, body);
if (status !== 200) throw new Error("failed to register spotify music");

return;
};

0 comments on commit 13e3031

Please sign in to comment.