parent
73249cd6a7
commit
34169cc0d8
Binary file not shown.
Binary file not shown.
@ -0,0 +1,46 @@
|
|||||||
|
import React from 'react'
|
||||||
|
import { Text } from '@react-three/drei'
|
||||||
|
|
||||||
|
interface IObraData {
|
||||||
|
full_name: string
|
||||||
|
alumne_url: string
|
||||||
|
obra_url: string
|
||||||
|
guest: boolean
|
||||||
|
obra_titulo: string
|
||||||
|
obra_descripcion: string
|
||||||
|
}
|
||||||
|
|
||||||
|
type ArtworkProps = {
|
||||||
|
position: number[]
|
||||||
|
rotation: number[]
|
||||||
|
model: JSX.Element | null
|
||||||
|
obraData: IObraData
|
||||||
|
}
|
||||||
|
|
||||||
|
const Artwork: React.FC<ArtworkProps & JSX.IntrinsicElements['group']> = ({
|
||||||
|
position,
|
||||||
|
rotation,
|
||||||
|
model,
|
||||||
|
obraData,
|
||||||
|
...rest
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<group rotation={rotation}>
|
||||||
|
<group position={position} {...rest}>
|
||||||
|
<Text
|
||||||
|
position={[0, 8.2, 1.5]}
|
||||||
|
color="white"
|
||||||
|
fontSize={0.7}
|
||||||
|
font="https://fonts.gstatic.com/s/raleway/v14/1Ptrg8zYS_SKggPNwK4vaqI.woff"
|
||||||
|
anchorX="center"
|
||||||
|
anchorY="middle"
|
||||||
|
>
|
||||||
|
{obraData.obra_titulo}
|
||||||
|
</Text>
|
||||||
|
{model ?? null}
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Artwork
|
@ -0,0 +1,26 @@
|
|||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
import Artwork from './Artwork'
|
||||||
|
import data from '../data/obras.json'
|
||||||
|
|
||||||
|
function ArtworkCollection(props: JSX.IntrinsicElements['group']) {
|
||||||
|
return (
|
||||||
|
<group {...props}>
|
||||||
|
{data.map((obra, index) => {
|
||||||
|
let rotation = Math.PI / 8 + (index * Math.PI) / 8
|
||||||
|
if (index > 6) rotation += Math.PI / 8
|
||||||
|
return (
|
||||||
|
<Artwork
|
||||||
|
model={null}
|
||||||
|
key={obra.obra_url}
|
||||||
|
rotation={[0, rotation, 0]}
|
||||||
|
position={[0, 0, -37.8632]}
|
||||||
|
obraData={obra}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</group>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ArtworkCollection
|
Loading…
Reference in new issue