{"version":3,"sources":["components/Doing.tsx","components/SuccessiveType.tsx","components/Icons.tsx","assets/images/spotify-logo.svg","state/lanyard.ts","components/Nav.tsx","pages/PageWrapper.tsx","pages/Home.tsx","components/Co.tsx","assets/images/hiven-app-icon.png","components/Repo.tsx","pages/Where.tsx","components/Technology.tsx","pages/How.tsx","pages/Etc.tsx","pages/Presence.tsx","assets/images/mai.gif","pages/Sakurajima.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["Operation","EventType","Word","word","useState","filled","setFilled","useEffect","setTimeout","WordSC","Container","styled","div","span","SuccessiveType","words","userSkipped","speed","onEnd","useSound","play","index","setIndex","splitWords","useMemo","split","shownWords","slice","length","currentWord","Math","E","map","idx","GitHubLogo","props","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","ElixirLogo","version","id","fillRule","ReactLogo","cx","cy","r","rx","ry","transform","RustLogo","preserveAspectRatio","TypescriptLogo","ChevronsRight","points","ExternalLinkIcon","x1","y1","x2","y2","MenuIcon","XIcon","SakurajimaLogo","data-name","doingAtom","atom","Doing","ref","setActive","socket","setSocket","useAtom","doing","setDoing","send","op","JSON","stringify","onmessage","data","parse","t","Hello","setInterval","Heartbeat","heartbeat_interval","Initialize","subscribe_to_id","Event","eventName","console","log","logLanyardEvent","INIT_STATE","PRESENCE_UPDATE","includes","onclose","WebSocket","currentActivity","activities","filter","activity","type","listening_to_spotify","discord_status","to","LiveDot","ActivityRow","ActivityImageContainer","ActivityImage","src","spotify","album_art_url","ActivitySecondaryImage","SpotifyLogo","ActivityInfo","song","artist","assets","application_id","large_image","small_image","name","details","state","motion","Link","fadeInOut","keyframes","img","forwardRef","pathnameOffsets","aside","openOnMobile","MobileHeader","PageIndicator","Items","Row","Title","Page","a","active","Icons","Nav","history","useHistory","pathname","useLocation","playSwitchPageSound","dragYOffset","setDragYOffset","setOpenOnMobile","presenceActive","setPresenceActive","dragConstraintsRef","useRef","pageIndicatorOffset","pageIndicatorOffsetWithDecoration","onPageIndicatorDragEnd","useCallback","_event","info","goal","offset","y","closest","Object","entries","reduce","prevPath","prevOffset","curPath","curOffset","abs","velocity","push","toggleMobileMenu","onClick","whileHover","drag","onDragEnd","dragConstraints","animate","top","href","style","display","pageVariants","initial","opacity","in","out","pageTransition","ease","duration","PageWrapper","children","forceReadableWidth","exit","variants","transition","maxWidth","undefined","minWidth","paddingBottom","BIRTH","Date","Home","floor","now","getTime","calc","x","window","innerHeight","innerWidth","trans","s","A","animated","Header","Content","Co","url","iconReference","tagline","role","what","acquired","useSpring","xys","config","mass","tension","friction","set","target","rel","onMouseMove","clientX","clientY","onMouseLeave","interpolate","alt","draggable","Column","forceWidth","noBorder","LanguageColorBlip","color","Repo","primaryLanguage","description","CoWrapper","Where","Helmet","HivenAppIcon","Head","Technology","icon","useCase","How","Etc","Presence","MaiGifImg","h1","Sakurajima","Mai","shouldPlayIntro","location","Wrapper","SuccessiveTypeContainer","ProgressContainer","MainContent","ContentWrapper","App","introEnded","setIntroEnded","onKeyDown","e","keyCode","which","preventDefault","script","document","createElement","async","body","appendChild","addEventListener","onIntroEnd","localStorage","setItem","defaultTitle","titleTemplate","canvas","AnimatePresence","exact","path","component","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.61ecbfd2.chunk.js","sourcesContent":["import { motion } from 'framer-motion';\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport styled, { keyframes } from 'styled-components';\nimport { Presence } from '../types/lanyard';\nimport SpotifyLogo from '../assets/images/spotify-logo.svg';\nimport { useAtom } from 'jotai';\nimport { doingAtom } from '../state/lanyard';\n\n// Thanks to Tim (https://github.com/timcole/timcole.me/blob/%F0%9F%A6%84/components/lanyard.tsx) for the types\n\nenum Operation {\n Event,\n Hello,\n Initialize,\n Heartbeat,\n}\n\nenum EventType {\n INIT_STATE = 'INIT_STATE',\n PRESENCE_UPDATE = 'PRESENCE_UPDATE',\n}\n\ntype SocketEvent = {\n op: Operation;\n t?: EventType;\n d: Presence | unknown;\n};\n\nconst logLanyardEvent = (eventName: string, data: any) => {\n // eslint-disable-next-line no-console\n console.log(\n `%cLanyard%c <~ ${eventName} %o`,\n 'background-color: #d7bb87; border-radius: 5px; padding: 3px; color: #372910;',\n 'background: none; color: #d7bb87;',\n data\n );\n};\n\nconst discordId = '852798440680456212';\n\nconst Doing = (\n { setActive, ...props }: { setActive: (active: boolean) => void } & any,\n ref: any\n) => {\n const [socket, setSocket] = useState(null);\n const [doing, setDoing] = useAtom(doingAtom);\n\n const send = (op: Operation, d?: unknown): void => {\n if (socket !== null) socket.send(JSON.stringify({ op, d }));\n };\n\n useEffect(() => {\n if (socket === null) return () => {};\n\n socket.onmessage = function ({ data }: MessageEvent): void {\n const { op, t, d }: SocketEvent = JSON.parse(data);\n\n if (op === Operation.Hello) {\n setInterval(\n () => send(Operation.Heartbeat),\n (d as { heartbeat_interval: number }).heartbeat_interval\n );\n send(Operation.Initialize, { subscribe_to_id: discordId });\n } else if (op === Operation.Event && t) {\n logLanyardEvent(t, d);\n\n if ([EventType.INIT_STATE, EventType.PRESENCE_UPDATE].includes(t)) setDoing(d as Presence);\n }\n };\n\n socket.onclose = () => {\n setSocket(null);\n };\n }, [socket]);\n\n useEffect(() => {\n if (!socket) setSocket(new WebSocket('wss://api.lanyard.rest/socket'));\n }, [socket]);\n\n const currentActivity = useMemo(\n () => doing?.activities.filter((activity) => activity.type === 0)[0],\n [doing]\n );\n\n useEffect(() => {\n setActive(doing?.listening_to_spotify || currentActivity);\n }, [doing, currentActivity]);\n\n if (!doing || !doing?.discord_status) return null;\n\n return (\n <>\n {doing?.listening_to_spotify ? (\n \n
\n Listening to Spotify \n
\n <>\n \n \n \n \n \n\n \n
{doing.spotify.song}
\n

by {doing.spotify.artist}

\n
\n
\n \n
\n ) : null}\n {currentActivity ? (\n \n
Şuanda
\n \n {currentActivity.assets ? (\n \n \n \n \n ) : null}\n \n
{currentActivity.name}
\n {currentActivity.details ?

{currentActivity.details}

: null}\n {currentActivity.state ?

{currentActivity.state}

: null}\n
\n
\n
\n ) : null}\n \n );\n};\n\nconst Container = styled(motion(Link))`\n width: calc(100% + 2rem);\n margin-left: -2rem;\n background-color: transparent;\n color: #ccc;\n border-top: 1px solid #101010;\n padding: 1rem;\n cursor: pointer;\n\n &:hover {\n background-color: #101010;\n color: #fff;\n }\n\n h5 {\n margin: 0;\n margin-bottom: 10px;\n }\n`;\n\nconst fadeInOut = keyframes`\n 0% {\n opacity: 0;\n }\n\n 50% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0%;\n }\n`;\n\nconst LiveDot = styled.div`\n display: inline-block;\n margin-left: 4px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: #ff5252;\n animation: ${fadeInOut} 2s ease-in-out infinite;\n`;\n\nconst ActivityRow = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst ActivityImageContainer = styled.div`\n position: relative;\n height: 50px;\n`;\n\nconst ActivityImage = styled.img`\n height: 50px;\n width: 50px;\n border-radius: 10px;\n`;\n\nconst ActivitySecondaryImage = styled.img`\n position: absolute;\n bottom: -5px;\n right: -5px;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background-color: #000;\n border: 2px solid #000;\n`;\n\nconst ActivityInfo = styled.div`\n margin-left: 1rem;\n\n h5 {\n color: #fff;\n margin: 0;\n }\n\n p {\n margin: 0;\n font-size: 0.8rem;\n }\n`;\n\nexport default forwardRef(Doing);\n","import { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport useSound from 'use-sound';\n\nconst Word = ({ word }: { word: string }) => {\n const [filled, setFilled] = useState(false);\n\n useEffect(() => {\n setTimeout(() => {\n setFilled(true);\n }, 65);\n }, []);\n\n return {word};\n};\n\ninterface ISuccessiveTypeProps {\n words: string;\n speed: number;\n userSkipped?: boolean;\n onEnd?: () => void;\n}\n\nconst SuccessiveType = ({ words, speed, userSkipped, onEnd }: ISuccessiveTypeProps) => {\n const [play] = useSound('/p-static/sounds/type.ogg');\n\n const [index, setIndex] = useState(0);\n\n const splitWords: string[] = useMemo(() => words.split(' '), [words]);\n const shownWords: string[] = useMemo(() => splitWords.slice(0, index + 1), [splitWords, index]);\n\n useEffect(() => {\n if (index === splitWords.length - 1) {\n if (onEnd)\n setTimeout(() => {\n onEnd();\n }, 1800);\n\n return;\n }\n\n const currentWord = splitWords[index];\n\n setTimeout(() => {\n setIndex(index + 1);\n }, currentWord.length * (Math.E * 12.5) + (currentWord[currentWord.length - 1] === '.' ? 500 : 0));\n }, [index, splitWords]);\n\n useEffect(() => {\n if (!userSkipped) play();\n }, [index, play, userSkipped]);\n\n return (\n \n {shownWords.map((word: string, idx) => (\n \n ))}\n \n );\n};\n\nconst Container = styled.div`\n text-align: left;\n color: #fff;\n font-size: 20pt;\n`;\n\nconst WordSC = styled.span<{ filled: boolean }>`\n color: ${({ filled }) => (filled ? '#ccc' : '#fff')};\n margin-right: 4pt;\n transition: color 0.1s ease;\n display: inline-block;\n`;\n\nexport default SuccessiveType;\n","export const TwitterLogo = (props: any) => (\n \n \n \n);\n\nexport const GitHubLogo = (props: any) => (\n \n \n \n);\n\nexport const ElixirLogo = (props: any) => (\n \n \n \n \n \n);\n\nexport const ReactLogo = (props: any) => (\n \n \n \n \n \n \n \n \n);\n\nexport const RustLogo = (props: any) => (\n \n \n \n);\n\nexport const RabbitMQLogo = (props: any) => (\n \n \n \n);\n\nexport const TypescriptLogo = (props: any) => (\n \n \n \n \n);\n\nexport const SolidityLogo = (props: any) => (\n \n \n \n \n \n \n \n \n);\n\nexport const KeyIcon = (props: any) => (\n \n \n \n);\n\nexport const ChevronDown = (props: any) => (\n \n \n \n);\n\nexport const ChevronsRight = (props: any) => (\n \n \n \n \n);\n\nexport const ExternalLinkIcon = (props: any) => (\n \n \n \n \n \n);\n\nexport const CompassIcon = (props: any) => (\n \n \n \n \n);\n\nexport const MenuIcon = (props: any) => (\n \n \n \n \n \n);\n\nexport const XIcon = (props: any) => (\n \n \n \n \n);\n\nexport const NavigationIcon = (props: any) => (\n \n \n \n);\n\nexport const SakurajimaLogo = () => (\n \n \n \n \n \n \n \n);\n","export default __webpack_public_path__ + \"static/media/spotify-logo.d41c150b.svg\";","import { atom } from 'jotai';\nimport { Presence } from '../types/lanyard';\n\nexport const doingAtom = atom(null);\n","import { motion, PanInfo } from 'framer-motion';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useHistory, useLocation } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { GitHubLogo, KeyIcon, MenuIcon, NavigationIcon, TwitterLogo, XIcon } from './Icons';\nimport Doing from './Doing';\nimport useSound from 'use-sound';\nimport { useAtom } from 'jotai';\nimport { doingAtom } from '../state/lanyard';\nimport ContentLoader from 'react-content-loader';\n\nconst pathnameOffsets: { [key: string]: number } = {\n '/': 0,\n '/where': 39,\n '/how': 78,\n '/etc': 117,\n};\n\nconst Nav = () => {\n const history = useHistory();\n const { pathname } = useLocation();\n\n const [playSwitchPageSound] = useSound('/p-static/sounds/switch-page.mp3');\n\n const [dragYOffset, setDragYOffset] = useState(0);\n const [openOnMobile, setOpenOnMobile] = useState(false);\n const [presenceActive, setPresenceActive] = useState(false);\n\n const [doing] = useAtom(doingAtom);\n\n const dragConstraintsRef = useRef(null);\n\n useEffect(() => {\n if (openOnMobile) setOpenOnMobile(false);\n playSwitchPageSound();\n }, [pathname]);\n\n const pageIndicatorOffset = useMemo(\n () => (pathname ? pathnameOffsets[pathname] ?? -180 : 0),\n [pathname]\n );\n\n const pageIndicatorOffsetWithDecoration = useMemo(\n () => 71 + 33 + pageIndicatorOffset - dragYOffset,\n [pageIndicatorOffset, dragYOffset]\n );\n\n const onPageIndicatorDragEnd = useCallback(\n (_event, info: PanInfo) => {\n const goal = pageIndicatorOffset + info.offset.y;\n\n const closest = Object.entries(pathnameOffsets).reduce(\n ([prevPath, prevOffset], [curPath, curOffset]) => {\n return Math.abs(curOffset - goal) < Math.abs(prevOffset - goal)\n ? [curPath, curOffset]\n : [prevPath, prevOffset];\n }\n );\n\n if (closest[0] === pathname) return;\n\n setDragYOffset(dragYOffset + info.offset.y + info.velocity.y);\n history.push(closest[0]);\n },\n [history, pageIndicatorOffset, dragYOffset, pathname]\n );\n\n const toggleMobileMenu = useCallback(() => setOpenOnMobile(!openOnMobile), [openOnMobile]);\n\n return (\n <>\n \n Türker\n {openOnMobile ? (\n \n ) : (\n \n )}\n \n \n {!openOnMobile ? (\n \n ) : null}\n \n {!openOnMobile ? (\n \n Türker\n {/* \n \n */}\n \n ) : null}\n\n
\n \n Anasayfa\n \n \n Projeler\n \n \n Kullandığım Teknolojiler\n \n \n Daha fazlası\n \n
\n\n \n \n \n \n \n \n
\n
\n \n );\n};\n\nconst Container = styled.aside<{ openOnMobile: boolean }>`\n display: inline-block;\n box-sizing: border-box;\n flex-direction: column;\n padding: 2rem;\n position: fixed;\n top: 0;\n left: 0;\n width: 15rem;\n border-right: 1px solid #101010;\n height: 100vh;\n\n @media (max-width: 850px) {\n display: ${({ openOnMobile }) => (openOnMobile ? 'block' : 'none')};\n background-color: rgba(0, 0, 0, 0.8);\n backdrop-filter: blur(7px);\n z-index: 1;\n top: 65px;\n width: 100%;\n height: calc(100% - 65px);\n }\n`;\n\nconst MobileHeader = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n position: fixed;\n top: 0;\n display: flex;\n padding: 2rem;\n box-sizing: border-box;\n width: 100%;\n height: 65px;\n background-color: rgba(0, 0, 0, 0.8);\n backdrop-filter: blur(5px);\n border-bottom: 1px solid #101010;\n flex-shrink: 0;\n z-index: 1;\n\n svg {\n margin-left: auto;\n cursor: pointer;\n color: #ccc;\n }\n\n @media (min-width: 850px) {\n display: none;\n }\n`;\n\nconst PageIndicator = styled(motion.div)`\n width: 1px;\n height: 39px;\n background-color: #fff;\n position: absolute;\n right: -1px;\n cursor: pointer;\n`;\n\nconst Items = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n`;\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n`;\n\nconst Title = styled.div`\n font-weight: 600;\n padding: 10px 0px;\n`;\n\nconst Location = styled.a`\n width: 100%;\n display: flex;\n align-items: center;\n font-weight: 500;\n height: 19px;\n font-size: 14px;\n margin-bottom: 15px;\n user-select: none;\n\n color: white;\n\n &:hover {\n color: rgba(255, 255, 255, 0.8);\n }\n\n svg:first-child {\n height: 18px;\n width: 18px;\n margin-right: 10px;\n color: #ff65b2;\n }\n`;\n\nconst Page = styled(Link)<{ active: number }>`\n color: ${({ active }) => (active ? '#fff' : '#ccc')};\n padding: 10px 0px;\n display: flex;\n\n &:hover {\n /* background-color: #fff; */\n color: #fff;\n }\n`;\n\nconst Icons = styled.div`\n margin-top: auto;\n color: #ccc;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-evenly;\n padding: 1rem 0;\n\n svg {\n width: 20px;\n height: 20px;\n cursor: pointer;\n color: #ccc;\n\n &:hover {\n color: #fff;\n }\n }\n`;\n\nexport default Nav;\n","import { motion } from 'framer-motion';\nimport { ReactElement } from 'react';\n\nconst pageVariants = {\n initial: {\n opacity: 0,\n },\n in: {\n opacity: 1,\n },\n out: {\n opacity: 0,\n },\n};\n\nconst pageTransition = {\n type: 'tween',\n ease: 'anticipate',\n duration: 0.4,\n};\n\nconst PageWrapper = ({\n children,\n forceReadableWidth,\n}: {\n children: ReactElement | ReactElement[];\n forceReadableWidth?: boolean;\n}) => {\n return (\n \n {children}\n \n );\n};\n\nexport default PageWrapper;\n","import { useMemo } from 'react';\nimport { Tooltip } from 'react-tippy';\nimport PageWrapper from './PageWrapper';\n\nconst BIRTH = new Date('2008-12-28T10:15:00Z');\nconst YEAR_MILLIS = 31556952000;\n\nconst Home = () => {\n const age = useMemo(() => Math.floor((Date.now() - BIRTH.getTime()) / YEAR_MILLIS), []);\n\n return (\n \n

Hoş geldin!

\n

Websiteme hoş geldin!

\n

\n Yandaki butonlardan biraz bilgi alabilirsin!\n

\n
\n );\n};\n\nexport default Home;\n","import { animated, useSpring } from 'react-spring';\nimport styled from 'styled-components';\nimport { ExternalLinkIcon } from './Icons';\n\nconst calc = (x: number, y: number) => [\n -(y - window.innerHeight / 2) / 35,\n (x - window.innerWidth / 2) / 35,\n 1.05,\n];\nconst trans = (x: number, y: number, s: number): string =>\n `perspective(600px) rotateX(${x}deg) rotateY(${y}deg) scale(${s})`;\n\nconst Co = ({\n url,\n name,\n iconReference,\n tagline,\n role,\n what,\n acquired,\n}: {\n url: string;\n name: string;\n iconReference: string;\n tagline: string;\n role: string;\n what: string;\n acquired?: boolean;\n}) => {\n const [props, set] = useSpring(() => ({\n xys: [0, 0, 1],\n config: { mass: 2, tension: 350, friction: 40 },\n }));\n\n return (\n \n \n set({ xys: calc(x, y) })\n }\n onMouseLeave={() => set({ xys: [0, 0, 1] })}\n //@ts-ignore\n style={{ transform: props.xys.interpolate(trans) }}\n >\n
\n {`${name}\n
\n {acquired ? acquired : null}\n

\n {name} \n

\n {tagline}\n
\n
\n \n

Rol

\n

{role}

\n

Neden

\n

{what}

\n
\n \n
\n );\n};\n\nconst A = styled.a`\n text-decoration: none;\n color: inherit;\n\n &:hover {\n text-decoration: none !important;\n }\n`;\n\nconst Container = styled(animated.div)`\n border: 1px solid #101010;\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.1s ease;\n will-change: transform;\n\n &:hover {\n background-color: #101010;\n }\n`;\n\nconst Header = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 100px;\n border-bottom: 1px solid #101010;\n padding: 1rem;\n /* box-sizing: border-box; */\n\n img {\n width: 70px;\n height: 70px;\n border-radius: 25%;\n margin-right: 1rem;\n }\n\n div {\n sub {\n text-transform: uppercase;\n color: #ff65b2;\n letter-spacing: 2px;\n }\n\n h3 {\n margin: 0;\n }\n\n svg {\n width: 15px;\n height: 15px;\n color: #ccc;\n }\n\n span {\n color: #ccc;\n }\n }\n`;\n\nconst Content = styled.div`\n padding: 1rem;\n box-sizing: border-box;\n`;\n\nexport default Co;\n","export default __webpack_public_path__ + \"static/media/hiven-app-icon.8de1b80a.png\";","import styled from 'styled-components';\n\nconst Repo = ({\n url,\n name,\n primaryLanguage,\n description,\n}: {\n url: string;\n name: string;\n primaryLanguage: string;\n description: string;\n}) => {\n return (\n \n \n \n
isim
\n

{name}

\n
\n \n
dil
\n

\n {primaryLanguage}{' '}\n \n

\n
\n \n
açıklaması
\n

{description}

\n
\n
\n
\n );\n};\n\nconst A = styled.a`\n text-decoration: none;\n color: inherit;\n\n &:hover {\n text-decoration: none !important;\n }\n`;\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n height: 100px;\n border: 1px solid #101010;\n border-radius: 10px;\n overflow: hidden;\n margin-bottom: 1rem;\n\n @media (max-width: 850px) {\n flex-direction: column;\n height: auto;\n }\n\n &:hover {\n background-color: #101010;\n }\n`;\n\nconst Column = styled.div<{ forceWidth?: number; noBorder?: boolean }>`\n display: block;\n height: 100%;\n width: ${({ forceWidth }) => (forceWidth ? forceWidth + 'px' : 'fit-content')};\n min-width: ${({ forceWidth }) => (forceWidth ? forceWidth + 'px' : undefined)};\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-right: 1px solid ${({ noBorder }) => (noBorder ? 'transparent' : '#101010')};\n padding: 1rem;\n box-sizing: border-box;\n flex-shrink: ${({ noBorder }) => (noBorder ? undefined : 0)};\n\n @media (max-width: 850px) {\n height: 50px;\n width: 100%;\n border-bottom: 1px solid ${({ noBorder }) => (noBorder ? 'transparent' : '#101010')};\n padding: 1rem;\n flex-shrink: 0;\n box-sizing: content-box;\n }\n\n h5 {\n font-family: 'Courier New';\n margin: 0;\n color: #fff;\n }\n\n p {\n margin: 0;\n white-space: normal;\n }\n`;\n\nconst LanguageColorBlip = styled.span<{ color: string }>`\n display: inline-block;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background-color: ${({ color }) => color};\n margin-left: 5px;\n`;\n\nexport default Repo;\n","import PageWrapper from './PageWrapper';\nimport Co from '../components/Co';\nimport styled from 'styled-components';\nimport HivenAppIcon from '../assets/images/hiven-app-icon.png';\nimport GigglAppIcon from '../assets/images/giggl-app-icon.jpg';\nimport HonkAppIcon from '../assets/images/honk-app-icon.jpg';\nimport Repo from '../components/Repo';\nimport { Helmet } from 'react-helmet';\n\nconst Where = () => {\n return (\n \n \n Yaptıklarım\n \n

Burada neler var?

\n \n \n \n\n

Açık kaynaklı projelerim

\n \n
\n );\n};\n\nconst CoWrapper = styled.div`\n display: grid;\n width: 100%;\n gap: 2rem 2rem;\n grid-template-columns: 1fr 1fr 1fr;\n\n @media (max-width: 1100px) {\n grid-template-columns: 1fr 1fr;\n }\n\n @media (max-width: 900px) {\n grid-template-columns: 1fr;\n }\n`;\n\nexport default Where;\n","import { ReactElement } from 'react';\nimport styled from 'styled-components';\n\nconst Technology = ({\n color,\n icon,\n name,\n type,\n useCase,\n}: {\n color: string;\n icon: ReactElement;\n name: string;\n type: string;\n useCase: string;\n}) => {\n return (\n \n {icon}\n\n \n
isim
\n

{name}

\n
\n \n
tür
\n

{type}

\n
\n \n
kullanım alanı
\n

{useCase}

\n
\n
\n );\n};\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n height: 100px;\n border: 1px solid #101010;\n border-radius: 10px;\n overflow: hidden;\n margin-bottom: 1rem;\n\n @media (max-width: 850px) {\n flex-direction: column;\n height: auto;\n }\n\n &:hover {\n background-color: #101010;\n }\n`;\n\nconst Head = styled.div<{ color: string }>`\n height: 100%;\n width: 100px;\n display: flex;\n align-items: center;\n justify-content: center;\n fill: #fff;\n background-color: ${({ color }) => color};\n flex-shrink: 0;\n\n @media (max-width: 850px) {\n height: 50px;\n width: 100%;\n }\n\n svg {\n height: 30px;\n width: 30px;\n }\n`;\n\nconst Column = styled.div<{ forceWidth?: number; noBorder?: boolean }>`\n display: block;\n height: 100%;\n width: ${({ forceWidth }) => (forceWidth ? forceWidth + 'px' : 'fit-content')};\n min-width: ${({ forceWidth }) => (forceWidth ? forceWidth + 'px' : undefined)};\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-right: 1px solid ${({ noBorder }) => (noBorder ? 'transparent' : '#101010')};\n padding: 1rem;\n box-sizing: border-box;\n flex-shrink: ${({ noBorder }) => (noBorder ? undefined : 0)};\n\n @media (max-width: 850px) {\n height: 50px;\n width: 100%;\n border-bottom: 1px solid ${({ noBorder }) => (noBorder ? 'transparent' : '#101010')};\n padding: 1rem;\n flex-shrink: 0;\n box-sizing: content-box;\n }\n\n h5 {\n font-family: 'Courier New';\n margin: 0;\n color: #fff;\n }\n\n p {\n margin: 0;\n white-space: normal;\n }\n`;\n\nexport default Technology;\n","import PageWrapper from './PageWrapper';\nimport Technology from '../components/Technology';\nimport {\n ElixirLogo,\n RabbitMQLogo,\n ReactLogo,\n RustLogo,\n SolidityLogo,\n TypescriptLogo,\n} from '../components/Icons';\nimport { Helmet } from 'react-helmet';\n\nconst How = () => {\n return (\n \n \n Kullandıklarım\n \n

Kullandıklarım!

\n

\n Kullandığım bazı şeyler\n

\n\n }\n name=\"Elixir\"\n type=\"Gerçek zamanlı, Backend\"\n useCase={'Birden çok düğümde ölçeklenen hataya dayanıklı gerçek zamanlı sistemler oluşturma'}\n />\n\n }\n name=\"React\"\n type=\"Frontend framework\"\n useCase={'Büyük ve etkileşimli web uygulamaları için durum bilgisi olan ve dayanıklı ön uçlar oluşturma'}\n />\n\n }\n name=\"Rust\"\n type=\"Backend, Sistem\"\n useCase={\n 'Rust NIF\\'leri kullanarak Elixir kodunun bölümlerini optimize etme ve verimli sistem kodu yazma'\n }\n />\n\n }\n name=\"TypeScript\"\n type=\"JS Framework\"\n useCase={'JS Türleri - projeler genişlediğinde hayatınızı kurtaracak'}\n />\n
\n );\n};\n\nexport default How;\n","import { Helmet } from 'react-helmet';\nimport { Link } from 'react-router-dom';\nimport PageWrapper from './PageWrapper';\n\nconst Etc = () => (\n \n \n Daha Fazlası\n \n

Daha Fazlası

\n

Teşekkürler

\n

\n Burayı ziyaret ettiğin için teşekkürler. Bu websitenin açık kaynaığını burada bulabilirsin: turkerpw/\n

\n

İletişim

\n

\n turker@botscamp.xyz.\n

\n

Diğer

\n
    \n
  • \n Şu anda ne yapıyorum?\n
  • \n
\n
\n);\n\nexport default Etc;\n","import { Helmet } from 'react-helmet';\nimport PageWrapper from './PageWrapper';\n\nconst Presence = () => (\n \n \n Şuanda ne yapıyorum?\n \n

👀 Discord Oynuyor

\n

\n {' '}\n \n Lanyard\n {' '}\n tarafından yapıldı.\n

\n
\n);\n\nexport default Presence;\n","export default __webpack_public_path__ + \"static/media/mai.c528249d.gif\";","import { Helmet } from 'react-helmet';\nimport PageWrapper from './PageWrapper';\n\nimport Mai from '../assets/images/mai.gif';\nimport styled from 'styled-components';\nimport { SakurajimaLogo } from '../components/Icons';\n\nconst Sakurajima = () => (\n \n \n sakuraji.ma\n \n \n <SakurajimaLogo /> sakuraji.ma\n \n \n

\n Looks like you've stumbled upon sakuraji.ma! I use this domain as rDNS for the networks & IPs\n I control, and for a few NOC/WHOIS management emails. It's short for Mai Sakurajima.\n

\n

Authoritative Delegation

\n

\n The domains kaede.sakuraji.ma and shoko.sakuraji.ma act as the authorative\n nameservers for the following IP space:\n

    \n
  • 172.110.130.0/24
  • \n
  • 162.218.156.0/24
  • \n
  • 2602:fc50::/36
  • \n
\n

\n
\n);\n\nconst MaiGifImg = styled.img`\n border-radius: 10px;\n max-width: 100%;\n`;\n\nconst Title = styled.h1`\n vertical-align: middle;\n display: flex;\n align-items: center;\n svg {\n height: 1em;\n margin-right: 0.5em;\n /* width: 1em; */\n }\n`;\n\nexport default Sakurajima;\n","import { AnimatePresence, motion } from 'framer-motion';\nimport { KeyboardEvent, useCallback, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\nimport { Helmet } from 'react-helmet';\nimport SuccessiveType from './components/SuccessiveType';\nimport Nav from './components/Nav';\nimport Home from './pages/Home';\nimport Where from './pages/Where';\nimport How from './pages/How';\nimport Etc from './pages/Etc';\nimport Presence from './pages/Presence';\nimport Sakurajima from './pages/Sakurajima';\nimport { ChevronsRight } from './components/Icons';\n\nconst shouldPlayIntro = window.location.pathname === '/';\n\nfunction App() {\n const [introEnded, setIntroEnded] = useState(!shouldPlayIntro);\n\n const onKeyDown = (e: KeyboardEvent & any) => {\n if ((e.keyCode === 9 || e.which === 9) && !introEnded) {\n e.preventDefault();\n }\n };\n\n useEffect(() => {\n if (!shouldPlayIntro) return;\n\n const script = document.createElement('script');\n\n script.src = '/p-static/js/stars.js';\n script.async = true;\n\n document.body.appendChild(script);\n\n document.addEventListener('keydown', onKeyDown);\n }, []);\n\n const onIntroEnd = useCallback(() => {\n localStorage.setItem('v1:intro-completed', 'true');\n setIntroEnded(true);\n }, []);\n\n return (\n \n \n {shouldPlayIntro ? (\n \n \n

\n Atla \n

\n
\n \n \n ) : null}\n\n \n\n \n \n