generated from vivid-lapin/ts
-
Notifications
You must be signed in to change notification settings - Fork 6
/
ProgramTitleManager.tsx
27 lines (23 loc) · 974 Bytes
/
ProgramTitleManager.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import React, { useEffect } from "react"
import { useRecoilValue, useSetRecoilState } from "recoil"
import { contentPlayerTitleAtom } from "../../atoms/contentPlayer"
import {
contentPlayerProgramSelector,
contentPlayerServiceSelector,
} from "../../atoms/contentPlayerSelectors"
import { convertVariationSelectedClosed } from "../../utils/enclosed"
export const CoiledProgramTitleManager: React.VFC<{}> = () => {
const service = useRecoilValue(contentPlayerServiceSelector)
const program = useRecoilValue(contentPlayerProgramSelector)
const setTitle = useSetRecoilState(contentPlayerTitleAtom)
useEffect(() => {
const title = [program?.name, service?.name].filter((s) => s).join(" - ")
const variationSelected = convertVariationSelectedClosed(title).trim()
setTitle(variationSelected || null)
}, [program, service])
useEffect(() => {
if (!program) return
console.info("放送中の番組:", program)
}, [program])
return <></>
}