asdf
This commit is contained in:
parent
55a9f0481d
commit
89db86b094
2 changed files with 0 additions and 376 deletions
|
|
@ -1,168 +0,0 @@
|
|||
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");
|
||||
|
||||
* {
|
||||
font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
body {
|
||||
color: rgba(255, 255, 255, 0.87);
|
||||
background-color: #262225;
|
||||
font-synthesis: none;
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
display: flex;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
#__next {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
a {
|
||||
font-weight: 500;
|
||||
color: #ffe7fb;
|
||||
text-decoration: inherit;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #ffe7fb;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 3.2em;
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
padding: 0.6em 1.2em;
|
||||
font-size: 1em;
|
||||
font-weight: 500;
|
||||
font-family: inherit;
|
||||
background-color: #1a1a1a;
|
||||
cursor: pointer;
|
||||
transition: border-color 0.25s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
border-color: #ffe7fb;
|
||||
}
|
||||
|
||||
button:focus,
|
||||
button:focus-visible {
|
||||
outline: 4px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
/* Scrollbar Styles */
|
||||
::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
height: 11px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: rgb(65, 66, 68);
|
||||
border: 1px solid rgb(29, 30, 32);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: rgb(155, 156, 157);
|
||||
}
|
||||
|
||||
.App {
|
||||
width: 100vw;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
background-color: #262225;
|
||||
}
|
||||
|
||||
.container {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100vw;
|
||||
min-width: 100vw;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.left {
|
||||
width: 40%;
|
||||
min-height: 100vh;
|
||||
background-color: #373236;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 2rem;
|
||||
border-top-right-radius: 25px;
|
||||
border-bottom-right-radius: 25px;
|
||||
}
|
||||
|
||||
.right {
|
||||
flex: 1;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 2rem;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.profile {
|
||||
border-radius: 100%;
|
||||
width: 256px;
|
||||
height: 256px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.profile:hover {
|
||||
animation: rotate 1000ms linear infinite;
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.container {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.left {
|
||||
width: 100%;
|
||||
min-height: auto;
|
||||
border-radius: 0;
|
||||
border-bottom-left-radius: 25px;
|
||||
border-bottom-right-radius: 25px;
|
||||
}
|
||||
.right {
|
||||
min-height: auto !important;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,208 +0,0 @@
|
|||
'use client';
|
||||
|
||||
import { useEffect, useState, forwardRef } from "react";
|
||||
import { useSearchParams } from "next/navigation";
|
||||
import Link from "next/link";
|
||||
import Image from "next/image";
|
||||
import Repos from "../components/repos";
|
||||
import Tippy from "@tippyjs/react";
|
||||
import "tippy.js/dist/tippy.css";
|
||||
import "./index.css";
|
||||
|
||||
interface TippyWrapperProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
const TippyWrapper = forwardRef<HTMLAnchorElement, TippyWrapperProps>((props, ref) => (
|
||||
<a {...props} ref={ref} />
|
||||
));
|
||||
TippyWrapper.displayName = 'TippyWrapper';
|
||||
|
||||
export default function Home() {
|
||||
const searchParams = useSearchParams();
|
||||
const [imageSrc, setImageSrc] = useState(
|
||||
"https://f.imnyang.xyz/profile/imnyang.webp",
|
||||
);
|
||||
const [gotoHref, setGotoHref] = useState("/");
|
||||
const [isMobile, setIsMobile] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
setIsMobile(window.innerWidth <= 768);
|
||||
const handleResize = () => {
|
||||
setIsMobile(window.innerWidth <= 768);
|
||||
};
|
||||
window.addEventListener('resize', handleResize);
|
||||
return () => window.removeEventListener('resize', handleResize);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (searchParams.has("kawaii")) {
|
||||
setImageSrc("https://f.imnyang.xyz/profile/hatchu_imnyang.webp");
|
||||
setGotoHref("/");
|
||||
} else {
|
||||
setImageSrc("https://f.imnyang.xyz/profile/imnyang.webp");
|
||||
setGotoHref("/?kawaii");
|
||||
}
|
||||
if (searchParams.has("no_hair") && searchParams.has("no_ear")) {
|
||||
setImageSrc("https://f.imnyang.xyz/profile/no_ear_no_long_hair.png");
|
||||
} else if (searchParams.has("no_ear")) {
|
||||
setImageSrc("https://f.imnyang.xyz/profile/no_ear.png");
|
||||
} else if (searchParams.has("no_hair")) {
|
||||
setImageSrc("https://f.imnyang.xyz/profile/no_hair.avif");
|
||||
}
|
||||
if (searchParams.has("fast")) {
|
||||
const style = document.createElement("style");
|
||||
style.innerHTML = `
|
||||
.profile:hover {
|
||||
animation: rotate 1ms linear infinite;
|
||||
}
|
||||
`;
|
||||
document.head.appendChild(style);
|
||||
}
|
||||
}, [searchParams]);
|
||||
|
||||
interface SocialLinkProps {
|
||||
href: string;
|
||||
icon: string;
|
||||
tooltip: string;
|
||||
}
|
||||
|
||||
const SocialLink = ({ href, icon, tooltip }: SocialLinkProps) => (
|
||||
<Tippy content={tooltip} placement="bottom">
|
||||
<TippyWrapper
|
||||
href={href}
|
||||
style={{
|
||||
color: "#b2a1af",
|
||||
display: "flex",
|
||||
flexDirection: "column",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<i className={icon} style={{ fontSize: "24px" }} />
|
||||
</TippyWrapper>
|
||||
</Tippy>
|
||||
);
|
||||
|
||||
return (
|
||||
<div className="App">
|
||||
<div className="container">
|
||||
<div className="left">
|
||||
<p style={{ color: "transparent" }}>/?no_hair</p>
|
||||
{/* /?no_ear */}
|
||||
<Image
|
||||
src={imageSrc}
|
||||
width={256}
|
||||
height={256}
|
||||
className="profile"
|
||||
alt="Profile"
|
||||
priority
|
||||
/>
|
||||
<h1
|
||||
style={{
|
||||
color: "#ffe7fb",
|
||||
fontSize: 60,
|
||||
margin: 0,
|
||||
fontWeight: "700",
|
||||
}}
|
||||
>
|
||||
<Link
|
||||
style={{
|
||||
color: "#ffe7fb",
|
||||
fontSize: 60,
|
||||
margin: 0,
|
||||
fontWeight: "700"
|
||||
}}
|
||||
href={gotoHref}
|
||||
>
|
||||
hyun._.suk
|
||||
</Link>
|
||||
</h1>
|
||||
|
||||
<div className="mt-5" style={{ color: "white" }}>
|
||||
<div style={{ textAlign: "left" }}>
|
||||
<div
|
||||
style={{
|
||||
display: "flex",
|
||||
flexDirection: "row",
|
||||
gap: 25,
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
{isMobile && (
|
||||
<SocialLink
|
||||
href="supertoss://send?bank=토스뱅크&accountNo=100079352039&origin=qr"
|
||||
icon="fa-solid fa-circle-dollar-to-slot"
|
||||
tooltip="Toss"
|
||||
/>
|
||||
)}
|
||||
<SocialLink
|
||||
href="https://github.com/imnyang"
|
||||
icon="fa-brands fa-github"
|
||||
tooltip="Github"
|
||||
/>
|
||||
<SocialLink
|
||||
href="mailto:me@imnyang.xyz"
|
||||
icon="fa-solid fa-at"
|
||||
tooltip="Mail"
|
||||
/>
|
||||
<SocialLink
|
||||
href="https://instagram.com/not.furry_"
|
||||
icon="fa-brands fa-instagram"
|
||||
tooltip="Instagram"
|
||||
/>
|
||||
<SocialLink
|
||||
href="https://x.com/mahiro_me"
|
||||
icon="fa-brands fa-x-twitter"
|
||||
tooltip="X"
|
||||
/>
|
||||
</div>
|
||||
<br />
|
||||
🖥️ Software Engineer
|
||||
<br />
|
||||
🎨 Team. <a href="https://sqlare.com">Sqlare</a>
|
||||
<br />
|
||||
<br />
|
||||
📚 Middle School Student in South Korea
|
||||
<br />
|
||||
<br />
|
||||
<span style={{ color: "transparent" }}>Enter Furry.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="right">
|
||||
<div style={{ display: "flex", flexDirection: "row", gap: 25 }}>
|
||||
<a href="https://github.com/imnyang">
|
||||
<i
|
||||
className="fa-brands fa-github"
|
||||
style={{ color: "white", paddingRight: 8 }}
|
||||
/>
|
||||
<Repos /> Repos
|
||||
</a>
|
||||
<a href="https://blog.imnyang.xyz">📝 Blog</a>
|
||||
<Link href="/timeline">🌈 Timeline</Link>
|
||||
</div>
|
||||
<div style={{ display: "flex", flexDirection: "row", gap: 25 }}>
|
||||
<p style={{ color: "white" }}>Project</p>
|
||||
</div>
|
||||
<div style={{ display: "flex", flexDirection: "row", gap: 25 }}>
|
||||
<a href="https://github.com/sqlare/sqlr.kr/tree/main">
|
||||
🔗 sqlr.kr (SQLite)
|
||||
</a>
|
||||
<a hidden href="https://qloat.com">
|
||||
🗨️ Qloat
|
||||
</a>
|
||||
</div>
|
||||
<div style={{ display: "flex", flexDirection: "row", gap: 25 }}>
|
||||
<a href="https://instagram.com/today.isangjeong">
|
||||
🥕 isangjeong.today
|
||||
</a>
|
||||
<a href="https://github.com/imnyang/FakeAlyac">💊 FakeAlyac</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue