diff --git a/src/hooks/useDetailedCharacterInfo.ts b/src/hooks/useDetailedCharacterInfo.ts index d7b837d6e..a444008e4 100644 --- a/src/hooks/useDetailedCharacterInfo.ts +++ b/src/hooks/useDetailedCharacterInfo.ts @@ -1,6 +1,5 @@ -import { useStaticQuery, graphql } from "gatsby" +import { graphql, useStaticQuery } from "gatsby" import { IGatsbyImageData } from "gatsby-plugin-image" -import { useCharacterInfo } from "./useCharacterInfo" import goki01 from "../audios/dormitory/goki-01.wav" import goki02 from "../audios/dormitory/goki-02.wav" import goki03 from "../audios/dormitory/goki-03.wav" @@ -61,10 +60,11 @@ import zundamon03 from "../audios/dormitory/zundamon-03.wav" import zundamon04 from "../audios/dormitory/zundamon-04.wav" import zundamon05 from "../audios/dormitory/zundamon-05.wav" import { - CharacterKey, CharacterInfo, + CharacterKey, Generation, } from "../types/dormitoryCharacter" +import { useCharacterInfo } from "./useCharacterInfo" export const useDetailedCharacterInfo = () => { const query: { @@ -102,6 +102,19 @@ export const useDetailedCharacterInfo = () => { } } } + ogp: allFile(filter: { absolutePath: { regex: "/bustup/" } }) { + nodes { + name + childImageSharp { + # バストアップ画像のトップ部分から1200x630をクロップ + gatsbyImageData( + width: 1200 + height: 630 + transformOptions: { cropFocus: NORTH } + ) + } + } + } } `) @@ -120,6 +133,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-metan" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-metan")! + .childImageSharp.gatsbyImageData, color: "#DF4C94", lightColor: "#E3ADD5", description: @@ -166,6 +181,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-zundamon" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-zundamon")! + .childImageSharp.gatsbyImageData, color: "#33A65E", lightColor: "#CCEBC5", description: @@ -216,6 +233,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-tsumugi" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-tsumugi")! + .childImageSharp.gatsbyImageData, color: "#FF9914", lightColor: "#FEE6AA", description: @@ -259,6 +278,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-hau" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-hau")! + .childImageSharp.gatsbyImageData, color: "#1D86AE", lightColor: "#B3D7DD", description: "現役看護師です!
看護師のあれこれお伝えします!", @@ -302,6 +323,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-ritsu" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-ritsu")! + .childImageSharp.gatsbyImageData, color: "#FC4E32", lightColor: "#FDCDB7", description: @@ -345,6 +368,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-takehiro" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-takehiro")! + .childImageSharp.gatsbyImageData, color: "#1AA18E", lightColor: "#B3E2D8", description: "サッパリした青年。
やや短気だが面倒見は良い。", @@ -387,6 +412,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-kotarou" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-kotarou")! + .childImageSharp.gatsbyImageData, color: "#99D02B", lightColor: "#E6F5B0", description: @@ -430,6 +457,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-ryusei" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-ryusei")! + .childImageSharp.gatsbyImageData, color: "#386CB0", lightColor: "#B3CDE3", description: "とにかく大柄で無骨な青年。
寡黙で冷静なストッパー枠。", @@ -471,6 +500,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-himari" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-himari")! + .childImageSharp.gatsbyImageData, color: "#A45AAA", lightColor: "#CAB2D6", description: "冥界から来た死神。
可愛いものに目がない。", @@ -514,6 +545,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-sora" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-sora")! + .childImageSharp.gatsbyImageData, color: "#6964AD", lightColor: "#B2B6D8", description: @@ -568,6 +601,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-kyoko" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-kyoko")! + .childImageSharp.gatsbyImageData, color: "#1D86AE", lightColor: "#B3D7DD", description: @@ -616,6 +651,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-mesuo" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-mesuo")! + .childImageSharp.gatsbyImageData, color: "#33A65E", lightColor: "#CCEBC5", description: @@ -665,6 +702,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-white" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-white")! + .childImageSharp.gatsbyImageData, color: "#1D86AE", lightColor: "#B3D7DD", description: @@ -713,6 +752,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-goki" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-goki")! + .childImageSharp.gatsbyImageData, color: "#386CB0", lightColor: "#B3CDE3", description: @@ -759,6 +800,8 @@ export const useDetailedCharacterInfo = () => { portraitImage: query.portrait.nodes.find( node => node.name === "portrait-seven" )!.childImageSharp.gatsbyImageData, + ogpImage: query.ogp.nodes.find(node => node.name === "bustup-seven")! + .childImageSharp.gatsbyImageData, color: "#A45AAA", lightColor: "#CAB2D6", description: diff --git a/src/images/bustup-metan.png b/src/images/bustup-metan.png index a67a415d0..d00e4f7c5 100644 Binary files a/src/images/bustup-metan.png and b/src/images/bustup-metan.png differ diff --git a/src/pages/dormitory/{Character.characterId}.tsx b/src/pages/dormitory/{Character.characterId}.tsx index eb94c6733..966e602fa 100644 --- a/src/pages/dormitory/{Character.characterId}.tsx +++ b/src/pages/dormitory/{Character.characterId}.tsx @@ -1,10 +1,10 @@ +import { navigate, PageProps } from "gatsby" import React from "react" import DormitoryCharacterModal from "../../components/dormitoryCharacterModal" import Seo from "../../components/seo" import { characterKeys } from "../../constants" import { useDetailedCharacterInfo } from "../../hooks/useDetailedCharacterInfo" import { CharacterKey } from "../../types/dormitoryCharacter" -import { navigate, PageProps } from "gatsby" export default ({ location, @@ -35,7 +35,7 @@ export default ({