Skip to content

Commit

Permalink
The first implementation of the new website (#30)
Browse files Browse the repository at this point in the history
* Basic project setup (#1)

* πŸ§‘β€πŸ’» switch to yarnv4 from npm

* πŸ§‘β€πŸ’» add prettier

* 🌱 add data classes and placeholder pages

* πŸ‘· add a CI github workflow

* πŸ’„ add theme

* ✨ add Providers component

* ✨ impl NavBar

* πŸ’„ change global font to Noto Sans

* πŸ’„ add more themes

* 🏷️ update Publication structure

* ✨ add URL component

* ✨ add PublicationCard component

* ✨ update publications page

* 🎨 improve theme structure

* πŸ’„ add global focus-visible style

* πŸ’„ update URL component style

* πŸ’„ update gap sizes in publications page

* 🎨 add Global styles & Section component

* πŸ› replace incorrect data

* πŸ”€ define style constants replacing the use of `ThemeProvider` (#4)

* Minor global design updates (#5)

* πŸ’„ specify scroll behavior

* πŸ’„ NavBar sticks to the top

* πŸ’„ define a const for the `NavBar` height

* Make CI check run everytime (#6)

* πŸ‘· run CI check on all branches

* πŸ“¦ fix the semantic version of prettier

* πŸ‘· prevent using npx instead of yarn

* Adding dev tools (#7)

* 🌱 add PR template

* πŸ‘· add a workflow for reviewing

* Change Readme and website metadata (#10)

* 🌱 add alex to the member list

* πŸ“ update readme

* Update metadata in layout component

* πŸ’š fix style issue

---------

Co-authored-by: Hyoungwook Jin <[email protected]>

* Adding auto assign owner (#11)

- πŸ‘· add auto assign owner workflow

* Minor refactoring (#8)

* πŸ“¦ add lodash

* ♻️ refactor some code

* Edit page metadata (#14)

* Initial implementation of News page (#15)

* ✏️ Edit page metadata

* Implemented the first version of News page

* Fix bugs

* Style fix

* Modify variable name, variable type and image paths

* Remove unnecessary modal codes

* Finish `PublicationCard` and Implement `Filter` (#13)

* ♻️ refactor author rendering in `PublicationCard`

* ✨ add topic tags to `PublicationCard`

* ♻️ update a variable name from `ResearchTopic` to `ResearchTopics`

* βž• add react-icons

* ✨ implement filtering functionality in publications page

* ✨ add award tags to `PublicationCard`

* πŸ› remove YearTypes

* πŸ› check if URL exists

* πŸ’‘ remove some comments

* ♻️ use `Member.fullname` getter

* 🚚 move PulbicationCard.tsx to a separate folder

* ✨ allow adding non-KIXLAB members to authors

* ✨ attach links to paper titles + minor design updates

* Add course data and Modify page code (#12)

* Add course data and Modify page code

* Resolve type error

* Resolve style check

* Resolve minor issues

* Restore original files

* Update import method for 'lodash'

* Delete package-lock.json

* Complement Publications page (#18)

* ✨ sort publication list

* ✨ support PDF links in  component

* 🀑 add mock data

* ♻️ refactor state management for filtering with `useRouter`

* πŸ’¬ update filter name for publication type

* πŸ₯… fix error

* Feat/homepage (#19)

* ✨ Add Initial Hero Section

* ✨ Initial news and themes section

* ✨ Initial Research Theme Section

* 🎨 Refactor sections into indiv. functions

* ✨ Responsive typography to hero section

* 🎨 Reorganize hero section

* πŸ’„ Align youtube videos in Media section

* πŸ‘· Install Husky, lint-staged for pre-commit type/style checks

* πŸ› Fix style issues

* πŸ› Prettier fix format

* Complement Publications page (#18)

* ✨ sort publication list

* ✨ support PDF links in  component

* 🀑 add mock data

* ♻️ refactor state management for filtering with `useRouter`

* πŸ’¬ update filter name for publication type

* πŸ₯… fix error

* πŸ› Fix image source

* πŸ”₯ Remove example image

* πŸ”₯ Remove commented lines; merge unnecessary lines

* πŸ”₯ Remove Prettier changes

* ♻️ Refactor homepage into smaller files, readjust youtube embeded size

* 🎨 Fix style issues

* 🎨  Removed comment and moved const declarations out of `HeroSection`

---------

Co-authored-by: Yumin Cho <[email protected]>

* Feat/footer (#20)

* Populate publication data

* Upload HCI, SOC logo images

* Update theme.ts

* Add a Footer

* Update Footer.tsx

* Update publications.ts

* Update Footer.tsx

* ⚑️ Combine FooterText1 and FooterText2

* 🎨 Style fix

---------

Co-authored-by: Alex Tio <[email protected]>

* ⬆️ Bump next from 14.0.4 to 14.1.1 (#22)

Bumps [next](https://github.com/vercel/next.js) from 14.0.4 to 14.1.1.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v14.0.4...v14.1.1)

---
updated-dependencies:
- dependency-name: next
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Feat/responsive design (#21)

* Hotfix/publications (#24)

* πŸ’„ Fix inconsistent icons & duplicate buttons

* πŸ›   Add loading.tsx file and solve build issues

* Publication/fix formatting (#25)

* πŸ›   Add loading.tsx file and solve build issues (#23)

* πŸ›  Remove `navigator` which is only available in client-side code

* πŸ›  Move `react-icons` to `dependencies` from `devDependencies`

* πŸ”§ Add `forceConsistentCasingInFileNames`

* ⬇️  Downgrade `react` and `react-icons` to match existing version

* πŸ”§  Set experimental cpus to 1 to mitigate OOM issues on Netlify

* πŸ”§  Replace 'nodeLinker: pnp` with `nodeLinker: node-modules` which Netlify requires (it doesn't support Yarn PnP)

* 🀑  **** style check

* 🚚  Convert hero image to webp format

* ⬆️ Bump braces in the npm_and_yarn group across 1 directory (#26)

Bumps the npm_and_yarn group with 1 update in the / directory: [braces](https://github.com/micromatch/braces).


Updates `braces` from 3.0.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Responsive design for news page (#27)

* Add responsive design for News page

* Add news data

* Update README.md (#29)

* Update README.md

* styling update

* Fix styling issues in News page (#33)

* Use NewsCard component in News Section in main page (#34)

* Fix styling issues in News page

* Use NewsCard component in News Section in main page

---------

Co-authored-by: Alex Tio <[email protected]>

* πŸ› Fix font size mismatch (#31)

* πŸ› Fix font size mismatch

* πŸ› Change hero text justification

* Add new hero-image (#35)

* feat/footer (#37)

* Update footer to be responsive

* De-commit package-lock.json and yarn.lock

* feat/{max width margins, research themes section, button links, layout fixes} (#32)

* ✨ Fix avatars to feature members who last published

* 🎨  Remove Member class; replace with IMember interface

* ✨ Make research themes card clickable and link to publications page

* ✨ 1-2 line description for each is topic is now the number of publications with this tag

* Change box color

* πŸ›  Ensure member avatars are 36x36px

* πŸ’„ Customize emojis for each research card

* πŸ›  Fix research themes author algorithm

* πŸ’„ Increase padding between Hero text area and the top and bottom

* ✨ Add button links

* πŸ›  Adjust navbar to go down all the way

* ✨ Add max width margins. Ensure header obeys max width margins

* πŸ›  Make header sticky

* πŸ› Add 'use client' to Client components

* πŸ› Fix bug where gray background was not extending the full viewport width; change max width to 1400px

* πŸ› Fix news page misalignment

* πŸ› Commit missing SNS icons

* πŸ’„ Add spacing between video and title

* Feat/footer2 (#38)

* Update footer to be responsive

* De-commit package-lock.json and yarn.lock

* Update Footer.tsx

* feat/publication (#36)

* Add navigation side bar

* Update navigation bar

* Add yarn.lock and package-lock.json

* Delete package-lock.json

* Refactor Navigation Bar (SideBar) into component

* 🎨 Make SideBar more modular (WIP)

* πŸ› Fix bug where contents would overflow on small screens

* πŸ’„ Change spacing after pub. section title

* πŸ› Rename one entry to avoid duplicate 'keys'

* πŸ› Fix type error

---------

Co-authored-by: Alex Tio <[email protected]>
Co-authored-by: Alex Tio <[email protected]>

* Bugfix/publication-page (#39)

* πŸ›  Fix publication page misalignment

* πŸ›  Fix bug where an overflowing string inside the filter box could shift the entire page layout

* πŸ’„ Tweak responsive right padding of publication page

* πŸ’„ Capitalize string in filter box and filter list

* πŸ›  Fix bug where filtering by topic would cause the layout to shift

* πŸ›  Fix Navbar's background to be opaque white across the page

* Fix some bugs on sidebar

* πŸ›  Fix layout shift when switching between different filter options

* Update page.tsx (add useMemo, fix publicationList)

* 🏷️ Update CReHate and FLASK publications

* πŸ”₯ Remove CenteredContainer

* 🏷️ Change 'human-ai-interaction' `ResearchTopics` key to 'human-AI interaction'

* Update publication page.tsx and SideBar.tsx

* Update SideContainer css style

---------

Co-authored-by: κΉ€μ°¬μ˜ <[email protected]>

* People2 (#40)

* 🍱  Add member images

* ✨ Initial People Page

* 🍱 updated Daeun's new photo

* 🎨 1. Used image component for SpecialThanksImage
2. Adding divider between the sections
3. Using Section component
4. Using pre-defined font style for consistency

* 🎨 1. Changed to named export in AlumnCard
2. Corrected Seoyoung’s name and β€œRIT” for Jiangnan

* πŸ’„ 1:1 ratio of images across all dimensions

* πŸ› Fix ResearchThemesSection avatar src

* πŸ› Fix Yokyung's email

* 🎨 Adding sidebar component to people page

* 🎨 Adding sidebar component to people page

* Adding sidebar component to people page

* 🎨 Adding sidebar component to people page

* πŸ›  Fix Sidebar formatting for People page

* πŸ›  Fix visual bug where the right Sidebar link is not correctly activating

* πŸ› Adjust param values of IntersectionObserver in publications page

* 🎨 Separate alumni members into their own data structure

* 🎨 Refactor Observer code into Sidebar component

* 🎨  Remove classes; change data structures to use plain JSON objects

* 🎨  Add types to data arrays; change Videos to plain JSON objects

* πŸ“ Add summer 2024 interns

* ♻️ Replace a with Link; crop hero image

* 🍱 Add back ms theses

* 🎨  Change default exports to named exports

* 🍱 Add CHI, ICLR 2024 paper awards

* 🎨 Use lodash to capitalize words

* 🎨 rename `interface <Component>Props` -> `interface Props`

* 🎨 Put back in Classes

* 🎨  Combine alumni data structure with members; push member filtering operations from `people/page.tsx` into server-rendered `members.ts`

* 🎨 Push filtering operations out of `publications/page.tsx` and into `publication.ts`

---------

Co-authored-by: Alex Tio <[email protected]>
Co-authored-by: Alex Tio <[email protected]>

* 🍱  Update Daeheon, Hyehun, and Seulgi's statuses (#42)

* optimize/homepage (#41)

* ⚑️ Use YoutubeEmbed instead of iframe

* πŸ› remove "--cache" from `yarn lint` command

* πŸ”§ Explicitly allow robot crawlers for SEO

* ⚑️  Use dynamic imports for each section in homepage

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Yumin Cho <[email protected]>
Co-authored-by: Alex Tio <[email protected]>
Co-authored-by: DaEun Choi <[email protected]>
Co-authored-by: chanyoung <[email protected]>
Co-authored-by: Alex Tio <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: κΉ€μ°¬μ˜ <[email protected]>
Co-authored-by: shahnozayadgar <[email protected]>
  • Loading branch information
9 people authored Sep 5, 2024
1 parent 586a025 commit 48554b1
Show file tree
Hide file tree
Showing 150 changed files with 14,866 additions and 4,182 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"extends": "next/core-web-vitals"
"extends": ["next/core-web-vitals", "prettier"]
}
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/.yarn/** linguist-vendored
/.yarn/releases/* binary
/.yarn/plugins/**/* binary
/.pnp.* binary linguist-generated
2 changes: 2 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Write a one-line summary of what you did.
- Add a screenshot/video of the feature you developed (if applicable).
10 changes: 10 additions & 0 deletions .github/reviewer-lottery.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
groups:
- name: devs # name of the group
reviewers: 1 # how many reviewers do you want to assign?
usernames: # github usernames of the reviewers
- jhw123
- alextio
- itnoj15
- CheddarChoi
- yumincho
- shahnozayadgar
18 changes: 18 additions & 0 deletions .github/workflows/assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: 'Set a reviewer and an assignee'
on:
pull_request_target:
types: [opened, ready_for_review, reopened]

jobs:
auto-assign:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

- uses: uesteibar/reviewer-lottery@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- uses: danielswensson/auto-assign-owner-action@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
pull_request:
branches:
- '**'

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3

- name: package install
run: yarn install

- name: type check
run: yarn type-check

- name: lint
run: yarn lint

- name: style check
run: yarn style-check
16 changes: 15 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

# yarn
.yarn/*
!.yarn/patches
!.yarn/releases
!.yarn/plugins
!.yarn/sdks
!.yarn/versions
.pnp.*

# testing
/coverage
Expand All @@ -19,6 +27,7 @@
# misc
.DS_Store
*.pem
.vscode/

# debug
npm-debug.log*
Expand All @@ -34,3 +43,8 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts

# cache
.eslintcache
# Local Netlify folder
.netlify
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
yarn run lint-staged
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.yarn/*
tsconfig.json
8 changes: 8 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = {
semi: false,
trailingComma: 'es5',
singleQuote: true,
printWidth: 120,
tabWidth: 2,
arrowParens: 'avoid',
}
893 changes: 893 additions & 0 deletions .yarn/releases/yarn-4.0.2.cjs

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions .yarn/sdks/eslint/bin/eslint.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require eslint/bin/eslint.js
require(absPnpApiPath).setup();
}
}

// Defer to the real eslint/bin/eslint.js your application uses
module.exports = absRequire(`eslint/bin/eslint.js`);
20 changes: 20 additions & 0 deletions .yarn/sdks/eslint/lib/api.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require eslint
require(absPnpApiPath).setup();
}
}

// Defer to the real eslint your application uses
module.exports = absRequire(`eslint`);
20 changes: 20 additions & 0 deletions .yarn/sdks/eslint/lib/unsupported-api.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require eslint/use-at-your-own-risk
require(absPnpApiPath).setup();
}
}

// Defer to the real eslint/use-at-your-own-risk your application uses
module.exports = absRequire(`eslint/use-at-your-own-risk`);
14 changes: 14 additions & 0 deletions .yarn/sdks/eslint/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "eslint",
"version": "8.56.0-sdk",
"main": "./lib/api.js",
"type": "commonjs",
"bin": {
"eslint": "./bin/eslint.js"
},
"exports": {
"./package.json": "./package.json",
".": "./lib/api.js",
"./use-at-your-own-risk": "./lib/unsupported-api.js"
}
}
5 changes: 5 additions & 0 deletions .yarn/sdks/integrations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# This file is automatically generated by @yarnpkg/sdks.
# Manual changes might be lost!

integrations:
- vscode
20 changes: 20 additions & 0 deletions .yarn/sdks/prettier/bin/prettier.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require prettier/bin/prettier.cjs
require(absPnpApiPath).setup();
}
}

// Defer to the real prettier/bin/prettier.cjs your application uses
module.exports = absRequire(`prettier/bin/prettier.cjs`);
20 changes: 20 additions & 0 deletions .yarn/sdks/prettier/index.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);

const relPnpApiPath = "../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require prettier
require(absPnpApiPath).setup();
}
}

// Defer to the real prettier your application uses
module.exports = absRequire(`prettier`);
7 changes: 7 additions & 0 deletions .yarn/sdks/prettier/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "prettier",
"version": "3.2.4-sdk",
"main": "./index.cjs",
"type": "commonjs",
"bin": "./bin/prettier.cjs"
}
20 changes: 20 additions & 0 deletions .yarn/sdks/typescript/bin/tsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/bin/tsc
require(absPnpApiPath).setup();
}
}

// Defer to the real typescript/bin/tsc your application uses
module.exports = absRequire(`typescript/bin/tsc`);
20 changes: 20 additions & 0 deletions .yarn/sdks/typescript/bin/tsserver
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/bin/tsserver
require(absPnpApiPath).setup();
}
}

// Defer to the real typescript/bin/tsserver your application uses
module.exports = absRequire(`typescript/bin/tsserver`);
20 changes: 20 additions & 0 deletions .yarn/sdks/typescript/lib/tsc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsc.js
require(absPnpApiPath).setup();
}
}

// Defer to the real typescript/lib/tsc.js your application uses
module.exports = absRequire(`typescript/lib/tsc.js`);
Loading

0 comments on commit 48554b1

Please sign in to comment.