+
+
+
diff --git a/apps/main/src/pages/_document.tsx b/apps/main/src/pages/_document.tsx
index 7d271227..985651fb 100644
--- a/apps/main/src/pages/_document.tsx
+++ b/apps/main/src/pages/_document.tsx
@@ -27,7 +27,7 @@ class AppDocument extends Document {
/>
diff --git a/apps/main/src/pages/index.tsx b/apps/main/src/pages/index.tsx
index a053924c..19eff342 100644
--- a/apps/main/src/pages/index.tsx
+++ b/apps/main/src/pages/index.tsx
@@ -1,6 +1,7 @@
import { Icon } from "@twilight-toolkit/ui"
import { GetStaticProps } from "next"
import Head from "next/head"
+import Link from "next/link"
import React, { useEffect, useState } from "react"
import ResearchPapers from "~/components/Banners/Research"
// import NextJS13Preview from "~/components/Banners/NextJS13Preview"
@@ -14,13 +15,40 @@ import getAPI from "~/utilities/api"
const GREETINGS = [" there, it's Tony", ", Tony here", ", I'm Tony"]
+const Emphasis = ({
+ name,
+ className,
+ children,
+}: {
+ name: string
+ className?: string
+ children?: React.ReactNode
+}) => (
+
+ {children ? (
+ <>
+
+ {name}
+
+ {children}
+ >
+ ) : (
+ {name}
+ )}
+
+)
+
interface Props {
stickyNotFound: boolean
stickyPosts: any
}
-const Home: NextPageWithLayout = ({ stickyNotFound, stickyPosts }: Props) => {
- const [greeting, setGreeting] = useState(GREETINGS[0])
+const Home: NextPageWithLayout = ({
+ stickyNotFound: _1,
+ stickyPosts: _2,
+}: Props) => {
+ const [_greeting, setGreeting] = useState(GREETINGS[0])
const [showPosts, setShowPosts] = useState(false)
useEffect(() => {
@@ -35,34 +63,50 @@ const Home: NextPageWithLayout = ({ stickyNotFound, stickyPosts }: Props) => {
-
+
๐
- {" "}
- Hi{greeting}
-
-
- Let's chat โ
-
-
+
+ Hello, and welcome!
-
- I'm currently living an absolutely not meaningless
- life with totally not unachievable goals.
-
+
+
+ My name is Lipeng He{" "}
+
+ Tony
+
+ , and I am currently an undergraduate student and researcher with
+ the{" "}
+
+
+
+
+
+
+ {" "}
+ .
+
+
+ I was previously a{" "}
+
+ Intern
+
+ Full Stack Software Engineer at
+ various technology startups based in Toronto, Canada ๐จ๐ฆ.
+
+
-
{/*
*/}
@@ -78,6 +122,66 @@ const Home: NextPageWithLayout = ({ stickyNotFound, stickyPosts }: Props) => {
*/}
+
+
+
+
+
+ I am interested in both the theoretical and applied aspects of{" "}
+ Cryptography
+
+
+ {" "}
+ and its applications throughout and beyond computing & data
+ sciences.
+
+
+
+ In my previous research experience, I worked on developing and
+ analyzing{" "}
+
+ Cryptographic Systems and Protocols
+ {" "}
+ that address issues related to:
+
+
+
+
+ 1
+
+
Privacy-preserving computing
+
+
and
+
+
+ 2
+
+
Software security and usability
+
+
+
+ My most recent research work has put an emphasis on Fully
+ Homomorphic Encryption (FHE) and Privacy-preserving Machine Learning
+ (PPML).
+
+
+
+
+
+
+
+
+
{/*
*/}
diff --git a/packages/twilight-ui/src/Button/button.tsx b/packages/twilight-ui/src/Button/button.tsx
index f9effa9f..b284a4fe 100644
--- a/packages/twilight-ui/src/Button/button.tsx
+++ b/packages/twilight-ui/src/Button/button.tsx
@@ -1,6 +1,6 @@
-import React from "react"
import Icon from "../Icon"
import type { ButtonTypes, IconNames } from "../utils/propTypes"
+import React from "react"
interface Props {
/**
@@ -45,10 +45,9 @@ const Template = ({
className={`${
className ? `${className} ` : ""
}${defaultClassName} effect-pressing`}
- {...args}
- >
+ {...args}>
{icon && (
-
+
)}
@@ -61,7 +60,7 @@ const Button = ({
type = "default",
icon,
className,
- children = "Button",
+ children = "",
...rest
}: ButtonProps) => {
switch (type) {
@@ -72,8 +71,7 @@ const Button = ({
className={className}
defaultClassName="w-max py-2 px-5 hover:bg-menu dark:hover:bg-gray-800 rounded-md cursor-pointer focus:outline-none justify-center items-center text-xl tracking-wider flex text-gray-500 dark:text-gray-400"
icon={icon}
- {...rest}
- >
+ {...rest}>
{children}
)
@@ -84,8 +82,7 @@ const Button = ({
className={className}
defaultClassName="w-max py-2 px-7 shadow-sm border border-blue-500 dark:border-blue-900 dark:bg-blue-900 dark:text-gray-300 bg-blue-500 hover:bg-blue-600 hover:border-blue-600 dark:hover:bg-blue-800 dark:hover:border-blue-800 hover:shadow-inner text-white rounded-md cursor-pointer focus:outline-none justify-center items-center text-xl tracking-wider flex"
icon={icon}
- {...rest}
- >
+ {...rest}>
{children}
)
@@ -96,8 +93,7 @@ const Button = ({
className={className}
defaultClassName="w-max py-2 px-5 hover:bg-pink-100 dark:hover:bg-pink-900 rounded-md cursor-pointer focus:outline-none justify-center items-center text-xl tracking-wider flex text-pink-500 dark:text-pink-400"
icon={icon}
- {...rest}
- >
+ {...rest}>
{children}
)
@@ -106,10 +102,9 @@ const Button = ({
+ {...rest}>
{children}
)
diff --git a/packages/twilight-ui/src/Icon/icons.tsx b/packages/twilight-ui/src/Icon/icons.tsx
index 3c368145..e591b1e9 100644
--- a/packages/twilight-ui/src/Icon/icons.tsx
+++ b/packages/twilight-ui/src/Icon/icons.tsx
@@ -95,6 +95,14 @@ const icons = {
/>
),
+ twitterX: (
+
+ ),
email: (
),
+ externalLink: (
+
+ ),
+ calendarSchedule: (
+
+ ),
+ microscope: (
+
+ ),
+ top: (
+
+ ),
}
export default icons
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e23ef3c8..2abf1956 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -313,6 +313,9 @@ importers:
react-snowfall:
specifier: ^2.1.1
version: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-wrap-balancer:
+ specifier: ^1.1.1
+ version: 1.1.1(react@18.3.1)
redux-saga:
specifier: ^1.3.0
version: 1.3.0
@@ -615,7 +618,7 @@ importers:
version: 8.10.0(eslint@8.57.0)
eslint-config-turbo:
specifier: latest
- version: 1.13.3(eslint@8.57.0)
+ version: 2.1.3(eslint@8.57.0)
packages/prettier-config:
devDependencies:
@@ -7345,8 +7348,8 @@ packages:
peerDependencies:
eslint: '>=7.0.0'
- eslint-config-turbo@1.13.3:
- resolution: {integrity: sha512-if/QtwEiWZ5b7Bg8yZBPSvS0TeCG2Zvfa/+XBYANS7uSYucjmW+BBC8enJB0PqpB/YLGGOumeo3x7h1Nuba9iw==}
+ eslint-config-turbo@2.1.3:
+ resolution: {integrity: sha512-smdkhd01V/e/I4EjJxaZA1kxZ1vdFCHpyryolxLtRBP0bZTrHDYh1H6NAyZ3Fy1jkhsQzXw+L+6m17ygROvNFw==}
peerDependencies:
eslint: '>6.6.0'
@@ -7441,8 +7444,8 @@ packages:
peerDependencies:
eslint: '>=6'
- eslint-plugin-turbo@1.13.3:
- resolution: {integrity: sha512-RjmlnqYsEqnJ+U3M3IS5jLJDjWv5NsvReCpsC61n5pJ4JMHTZ/lU0EIoL1ccuL1L5wP0APzdXdByBxERcPQ+Nw==}
+ eslint-plugin-turbo@2.1.3:
+ resolution: {integrity: sha512-I9vPArzyOSYa6bm0iMCgD07MgdExc1VK2wGuVz21g4BUdj83w7mDKyCXR2rwOtCEW+wemFwgxanJ81imQZijNg==}
peerDependencies:
eslint: '>6.6.0'
@@ -8031,9 +8034,11 @@ packages:
glob@7.2.0:
resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
glob@8.1.0:
resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
@@ -8412,6 +8417,7 @@ packages:
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
@@ -11478,6 +11484,11 @@ packages:
react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
+ react-wrap-balancer@1.1.1:
+ resolution: {integrity: sha512-AB+l7FPRWl6uZ28VcJ8skkwLn2+UC62bjiw8tQUrZPlEWDVnR9MG0lghyn7EyxuJSsFEpht4G+yh2WikEqQ/5Q==}
+ peerDependencies:
+ react: '>=16.8.0 || ^17.0.0 || ^18'
+
react-zdog@1.2.2:
resolution: {integrity: sha512-Ix7ALha91aOEwiHuxumCeYbARS5XNpc/w0v145oGkM6poF/CvhKJwzLhM5sEZbtrghMA+psAhOJkCTzJoseicA==}
@@ -11751,14 +11762,17 @@ packages:
rimraf@2.6.3:
resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
rimraf@2.7.1:
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
ripemd160@2.0.2:
@@ -16261,7 +16275,7 @@ snapshots:
'@nomicfoundation/hardhat-ethers@3.0.5(ethers@6.12.1)(hardhat@2.22.3(ts-node@10.9.2(@swc/core@1.5.5(@swc/helpers@0.5.5))(@types/node@22.7.4)(typescript@5.4.5))(typescript@5.4.5))':
dependencies:
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.7
ethers: 6.12.1
hardhat: 2.22.3(ts-node@10.9.2(@swc/core@1.5.5(@swc/helpers@0.5.5))(@types/node@22.7.4)(typescript@5.4.5))(typescript@5.4.5)
lodash.isequal: 4.5.0
@@ -17174,7 +17188,7 @@ snapshots:
semver: 7.6.3
strip-ansi: 5.2.0
wcwidth: 1.0.1
- yaml: 2.4.2
+ yaml: 2.5.1
transitivePeerDependencies:
- encoding
@@ -21902,10 +21916,10 @@ snapshots:
dependencies:
eslint: 8.57.0
- eslint-config-turbo@1.13.3(eslint@8.57.0):
+ eslint-config-turbo@2.1.3(eslint@8.57.0):
dependencies:
eslint: 8.57.0
- eslint-plugin-turbo: 1.13.3(eslint@8.57.0)
+ eslint-plugin-turbo: 2.1.3(eslint@8.57.0)
eslint-import-resolver-node@0.3.9:
dependencies:
@@ -22147,7 +22161,7 @@ snapshots:
- supports-color
- typescript
- eslint-plugin-turbo@1.13.3(eslint@8.57.0):
+ eslint-plugin-turbo@2.1.3(eslint@8.57.0):
dependencies:
dotenv: 16.0.3
eslint: 8.57.0
@@ -24082,7 +24096,7 @@ snapshots:
chalk: 4.1.2
flow-parser: 0.236.0
graceful-fs: 4.2.11
- micromatch: 4.0.7
+ micromatch: 4.0.8
neo-async: 2.6.2
node-dir: 0.1.17
recast: 0.21.5
@@ -24936,7 +24950,7 @@ snapshots:
graceful-fs: 4.2.11
invariant: 2.2.4
jest-worker: 29.7.0
- micromatch: 4.0.7
+ micromatch: 4.0.8
node-abort-controller: 3.1.1
nullthrows: 1.1.1
walker: 1.0.8
@@ -27416,6 +27430,10 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ react-wrap-balancer@1.1.1(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
react-zdog@1.2.2:
dependencies:
react: 18.3.1