2024-06-23 20:41:02 +02:00
import './App.css'
import AdvancedBr from './components/comps.tsx'
2024-06-26 13:25:12 +02:00
import { createSignal , onMount } from 'solid-js' ;
2024-06-24 02:10:03 +02:00
import Reviews from './components/api.tsx' ;
2024-06-26 13:25:12 +02:00
import Music , { MusicEntry } from './components/music.tsx' ;
2024-08-07 07:55:55 +02:00
import { Bdpfp , Normalpfp } from './components/pfp.tsx' ;
2024-08-09 16:48:28 +02:00
import { InfoCard } from './components/middlecard.tsx' ;
2024-06-26 13:25:12 +02:00
export const [ shouldpopup , setpopup ] = createSignal ( false )
export const [ ishover , setishover ] = createSignal ( false )
2024-07-08 13:58:29 +02:00
2024-08-09 18:39:10 +02:00
let explodcount = 0
2024-08-07 07:31:25 +02:00
const isitmybd = ( ) = > new Date ( ) . toISOString ( ) . slice ( 5 , 10 ) === '08-22' ;
function getRandomVivsieWord() {
2024-07-08 13:58:29 +02:00
const words = [
"fuck" ,
"shit" ,
"pussy" ,
"penis" ,
"dick"
]
return words [ Math . floor ( Math . random ( ) * words . length ) ]
}
function vivsiepop() {
const blep = document . body . childNodes ;
function fuckshit ( node : ChildNode ) {
if ( node . nodeType === Node . TEXT_NODE ) {
node . textContent = getRandomVivsieWord ( ) ;
} else {
node . childNodes . forEach ( fuckshit ) ;
}
}
blep . forEach ( fuckshit )
}
2024-08-09 16:48:28 +02:00
function nyaboom() {
2024-08-09 18:39:10 +02:00
explodcount ++
2024-08-09 16:48:28 +02:00
const blep = document . body . childNodes ;
function fuckshit ( node : ChildNode ) {
if ( node . nodeType === Node . TEXT_NODE ) {
( node as Element ) . textContent = ''
node . parentElement ? . appendChild ( < img style = { {
width : "1.5em"
} } src = "./explod.gif" / > as Element )
} else if ( node instanceof HTMLImageElement ) {
node . src = "./explod.gif"
}
else {
node . childNodes . forEach ( fuckshit ) ;
}
}
blep . forEach ( fuckshit )
}
2024-07-08 13:58:29 +02:00
2024-06-23 20:41:02 +02:00
function App() {
2024-08-07 07:31:25 +02:00
2024-06-26 13:25:12 +02:00
const [ musicList , setMusicList ] = createSignal < string [ ] > ( [ ] ) ;
const [ isLoading , setIsLoading ] = createSignal ( true ) ;
2024-06-23 20:41:02 +02:00
const [ isAnimating , setIsAnimating ] = createSignal ( false ) ;
const [ animatedwoem , setanimatedwoem ] = createSignal ( false ) ;
2024-06-26 13:25:12 +02:00
onMount ( async ( ) = > {
try {
const response = await fetch ( "https://imtoolazytomakeaproperapi.exhq.dev/" ) ;
const data = await response . json ( ) ;
setMusicList ( data ) ;
} catch ( error ) {
console . error ( "Error fetching music data:" , error ) ;
} finally {
setIsLoading ( false ) ;
}
} ) ;
2024-06-23 20:41:02 +02:00
let gitgay = < img onClick = { ( ) = > {
setIsAnimating ( true )
setTimeout ( ( ) = > {
window . location . href = "https://git.gay/exhq"
} , 200 ) ;
gitgay . src = "/gaybackground.png"
} } classList = { { 'gitgayimg' : true , 'animate' : isAnimating ( ) , 'gaybackground' : isAnimating ( ) } } src = "https://git.gay/assets/img/logo.png" alt = "LMAO IMAGINE BEING BLIND" / > as HTMLImageElement
return (
< >
2024-08-07 07:31:25 +02:00
{ / * < d i v o n m o u s e e n t e r = { r e m o v } c l a s s = ' h e a d e r ' >
< div >
< Normalpfp / >
< / div >
2024-06-23 20:41:02 +02:00
< HoverComponent / >
2024-08-07 07:31:25 +02:00
< / div > * / }
2024-08-07 07:55:55 +02:00
{ isitmybd ( ) ? < Bdpfp / > : < Normalpfp / > }
2024-06-23 20:41:02 +02:00
< p style = { { display : "none" } } > AdvancedBr my beloved < / p >
< AdvancedBr count = { 6 } / >
< div class = 'parent' >
< div class = 'cardchild' >
< h1 > link tree < / h1 >
< div class = 'linktree' >
{ gitgay }
< img onClick = { ( ) = > {
setanimatedwoem ( true )
setTimeout ( ( ) = > {
2024-08-04 08:16:51 +02:00
window . location . href = "https://woem.men/@echo"
2024-06-23 20:41:02 +02:00
} , 200 ) ;
} } classList = { { 'woemimg' : true , 'animate' : animatedwoem ( ) } } src = "https://woem.men/files/356134d8-df3b-41dc-ac73-c4420442bf3a" alt = "LMAO IMAGINE BEING BLIND" / >
< / div >
< br / >
< div class = 'linktree' >
< span class = 'gitgaytext' > Git < / span >
< span class = 'woemtext' > Fedi < / span >
< / div >
< / div >
< div style = { {
opacity : isAnimating ( ) || animatedwoem ( ) ? "0%" : "100%"
} } class = 'cardchild' >
2024-08-09 16:48:28 +02:00
< InfoCard bd = { isitmybd ( ) } / >
2024-06-23 20:41:02 +02:00
< / div >
2024-06-25 16:14:17 +02:00
< div
2024-06-26 13:25:12 +02:00
onMouseEnter = { ( ) = > { setishover ( true ) } }
onmouseleave = { ( ) = > { setishover ( false ) } }
style = { {
opacity : isAnimating ( ) || animatedwoem ( ) ? "0%" : "100%"
} } class = 'cardchild' >
2024-06-25 16:14:17 +02:00
< Reviews / >
2024-06-23 20:41:02 +02:00
< / div >
< / div >
2024-06-26 13:25:12 +02:00
< AdvancedBr count = { 2 } / >
2024-06-25 16:14:17 +02:00
< div class = 'easteregg' >
2024-06-28 12:14:19 +02:00
< div class = "musicbutton" onclick = { ( ) = > { setpopup ( ! shouldpopup ( ) ) } } >
< p > typa shit ive been on < / p > < img style = { {
"margin-left" : "0.3em" ,
"max-width" : "1.5em"
2024-07-08 13:58:29 +02:00
} } src = "https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/72x72/1f525.png" / >
< / div >
< div class = "musicbutton" onclick = { vivsiepop } >
< p > echo if it was written by vivsiepop < / p >
2024-06-28 12:14:19 +02:00
< / div >
2024-08-09 16:48:28 +02:00
< div class = "musicbutton" onclick = { ( ) = > {
2024-08-09 18:39:10 +02:00
if ( explodcount > 5 ) {
document . body . innerHTML = ""
setTimeout ( ( ) = > { alert ( "sorry bud, you exploded so much that my document.body is gon" ) } , 500 )
} else {
new Audio ( "./explod.mp3" ) . play ( )
nyaboom ( )
}
2024-08-09 16:48:28 +02:00
} } >
< img style = { {
"margin-left" : "0.3em" ,
"max-width" : "1.5em"
} } src = "./nyaboom.webp" / >
< / div >
2024-06-25 16:14:17 +02:00
< / div >
< AdvancedBr count = { 3 } / >
2024-06-26 13:25:12 +02:00
< Music shouldpopup = { shouldpopup } >
< div class = 'musicdiv' >
< div class = 'innermusic' >
< div class = "music-close-button-div" >
< button class = "close-button" onClick = { ( ) = > { setpopup ( false ) } } > X < / button >
< / div >
< div class = 'musiclist' >
{ isLoading ( ) ? (
< p > Loading . . . < / p >
) : (
musicList ( ) . map ( ( link ) = > < MusicEntry spotifylink = { link } / > )
) }
< / div >
< / div >
< / div >
< / Music >
2024-08-07 07:55:55 +02:00
< div class = 'footer' > made with ♥ by echo . < a href = "https://git.gay/exhq/v2.exhq.dev" > this website is opensource < / a > < / div >
2024-06-23 20:41:02 +02:00
< / >
)
}
export default App