Skip to content

Commit

Permalink
feat: adding in comment count (#457)
Browse files Browse the repository at this point in the history
* fix(deps): update dependency @aws-amplify/auth to v4 (#352)

Co-authored-by: Renovate Bot <[email protected]>

* Feature: Added Dark theme (#365)

* Theme provider to Syllabus & context to containers

* Add context on components in Syllabus which may require fix for dark mode

* feat: replace @reach/router to react-router v6

* feat: update header for all apps

* fix: reinstall react-router-dom v6 and history after rebase

* feat: add new themes

* fix: lock files

* feat: install TailwindCSS on Campus

* feat: install TailwindCSS on Syllabus

* feat: change theme-toggle color according to current theme

* fix: change locations of tailwind import; remove unused log

* feat: dark theme on Timetable

* Feat: Added new sidebar icons from material ui icons

* Feat: Separated icons into different component

* fix: added package json and pnpm lock updates

* feat: pass isDark property to styled components

* feat: dark theme on Syllabus (CourseItem not yet)

* fix: wrap ThemeProvider on Nav; use new theme colors

* fix: use className instead of passing theme as props

* feat: dark theme on CourseInfo (not completed)

* fix: Made theme types exportable

* fix: created sidebar wrapper locally instead of bit

* fix: Fixed styling of icon group button

* feat: added user profile icon

* feat: Added dark mode styling to other links

* fix: moved browser router wrapper outside to fix navigation

* fix: used const instead of let for navigation hook

* fix: fixed import order

* feat: CourseInfo dark mode

* feat: Made title logo svg into a component

* fix: made title logo text colour change when theme toggle

* fix: fixed extra stylings when dark mode

* fix: updated package versions and pnpm lock file

* feat: update loading-spinner & solve background color flicker while loading page in dark mode

* feat: added dark mode styling to about us pages

* feat: added dark mode styling to extra pages

* feat: dark theme to mobile bottom nav

* feat: update header & loading-spinner & body tag background color

* feat: added dark mode background

* fix: fixed title logo on sidebar not changing colours when switching modes

* fix: added tab colours when dark mode

* fix: added dark mode colours to partner page text

* feat: dark mode for Labs

* fix: related courses width

* feat: update spinner in Syllabus; dark mode for Campus

* fix: timetable course item scrollable space height

* feat: make timetable course item darker in dark mode

* feat: install tailwind in feeds (not used yet)

* feat: redirecting page styling

* feat: update sign in modal

* feat: updated header component and pnpm lock file accordingly

* fix: updated colors and header dependencies

* fix: eslint fixes for campus folder

* feat: added dark mode styling to campus folder

* fix: eslint fixes in syllabus folder

* fix: updated dark mode styling

* fix: updated dark mode syllabus

* fix: updated dark mode styling root folder

* fix: syllabus border & step arrow color

* fix: fixed styling for social media icons in partners

* fix: removed unused imports

* fix: Or-button dark mode color

* fix: remove FilterWarningsPlugin

* fix: update lock files

* fix: remove -y option

* fix: update lock files

* fix: update @aws-amplify/auth in syllabus

* fix: update loading spinner in Feeds

* fix: add theme prop to LoadingSpinner in Feeds

Co-authored-by: YHhaoareyou <[email protected]>

* fix: clear search keywords when onclick related courses

* Debug: mobile dark mode debug (#373)

* feat: dark mode & new messages on welcome modal

* fix: dark mode on sign in modal & user login icon

* chore(deps): update dependency eslint-plugin-react to v7.29.4 (#361)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency ts-loader to v9.2.8 (#359)

Co-authored-by: Renovate Bot <[email protected]>

* feat: remove unused dependencies (#377)

* Feature/darktheme colors (#378)

* feat: added quarterColors for both light and dark mode

* feat: Added google analytics to theme changes

* fix: fixed user profile icon to make it consistent

* fix: code refactoring

* fix: code refactoring in syllabus

* feat: added dark semantic colors

* fix: added colors based on numbers too

* fix: added a todo comment

* fix: fix semantic text colors dark mode

* feat: update quarter switch colors & icons

* feat: update timetable course items and color selector with new theme colors

Co-authored-by: Nicholas Narmada <[email protected]>

* Feature: Timetable dark theme (#379)

* feat: Dark mode for pro tips and colors selector popup in Timetable

* feat: update theme colors dependency for all apps

* feat: add the hovering effect to the member cards (#381)

* feat: update the hovering effect for member cards

* fix: remove unused libraries; fix html background color in dark mode; disable card's hyperlink

* fix: makes the code shorter and neater

* fix: syllabus pnpm lock file

* fix: syllabus pnpm lock file

Co-authored-by: YHhaoareyou <[email protected]>

* Migrate from Webpack to Vite (#382)

* feat: vite tested by career folder

* feat: replace systemjs import with dynamic import to import vite project

* feat: ignore dynamic import problem caused by webpack

* feat: Migrate Campus from Webpack to Vite

* fix: restore career

* feat: register vite app campus by single-spa-layout

* feat: migrate Syllabus to vite (error unsolved)

* fix: fix lockfile

* fix: solve "exportStar not a function", "undefined global" and use Vite envvar

* feat: migrate syllabus to vite (done)

* remove webpack from all apps except root

* feat: migrate root to vite

* feat: remove webpack related scripts & solve import-map not supported problem in Safari

* feat: import static assets; solve errors of custom props passed to dom

* fix: run eslint fix

* fix: build script & config

* feat: build config & debug global var

* fix: output asset files path

* feat: disable css code split in build

* fix: run eslint fix

* feat: preload css from mf apps to root; replace react-s-alert with react-toastify

* feat: configure public path & env var for each app

* fix: run eslint fix

* feat: service-worker

* fix: eslint fix

* update lock files

* fix: missing package

* fix: externalize styles from other mf app

* fix: campus room badge styles

Co-authored-by: AustinZhu <[email protected]>

* fix: env without using dotenv explicitly (#385)

* fix: packages version

* fix: change env var name

* fix: remove systemjs package; add peer dependencies

* fix: feeds domain on staging/prod

* Feature: About Us page link from Home page & split Home from Root-config (#387)

* fix: remove custom sw

* feat: add link to aboutus page from home

* fix: eslint

* Feature/fix card padding (#388)

* fix: fixing the responsive design for members card

* fix: fixing the responsive design for members card

* fix: font color, repeated className, figure tag

* fix: install missing dependency: @aws-amplify/core

* fix: remove course function

* feat: alert translation

* fix: eslint

* feat: add workbox runtimeCaching config

* Fix service worker to enable it to replace old one (#389)

* fix: add cleanupOutdatedCaches option

* use custom sw & force update

* skipWaiting and claim before cleanupOutdatedCaches

* add ts files to NetworkFirst cache

* remove ts from cache

* register sw on index.html

* change sw from ts to js

* test updates to trigger build

* registerSW in index.html

* remove unused code and comment of registering sw

* update files to trigger build

* feat: add a profile card component; add hover & click effect; add a closing tab on cards (#390)

* feat: add a profile card component;
add hover & click effect;
add closing tab on cards

* fix: rename profile card & prop; type for useState

* fix: syllabus minor styling issues

* Update README.md

* Migrate from Webpack to Vite (#386)

* fix(deps): update dependency @aws-amplify/auth to v4 (#352)

Co-authored-by: Renovate Bot <[email protected]>

* Feature: Added Dark theme (#365)

* Theme provider to Syllabus & context to containers

* Add context on components in Syllabus which may require fix for dark mode

* feat: replace @reach/router to react-router v6

* feat: update header for all apps

* fix: reinstall react-router-dom v6 and history after rebase

* feat: add new themes

* fix: lock files

* feat: install TailwindCSS on Campus

* feat: install TailwindCSS on Syllabus

* feat: change theme-toggle color according to current theme

* fix: change locations of tailwind import; remove unused log

* feat: dark theme on Timetable

* Feat: Added new sidebar icons from material ui icons

* Feat: Separated icons into different component

* fix: added package json and pnpm lock updates

* feat: pass isDark property to styled components

* feat: dark theme on Syllabus (CourseItem not yet)

* fix: wrap ThemeProvider on Nav; use new theme colors

* fix: use className instead of passing theme as props

* feat: dark theme on CourseInfo (not completed)

* fix: Made theme types exportable

* fix: created sidebar wrapper locally instead of bit

* fix: Fixed styling of icon group button

* feat: added user profile icon

* feat: Added dark mode styling to other links

* fix: moved browser router wrapper outside to fix navigation

* fix: used const instead of let for navigation hook

* fix: fixed import order

* feat: CourseInfo dark mode

* feat: Made title logo svg into a component

* fix: made title logo text colour change when theme toggle

* fix: fixed extra stylings when dark mode

* fix: updated package versions and pnpm lock file

* feat: update loading-spinner & solve background color flicker while loading page in dark mode

* feat: added dark mode styling to about us pages

* feat: added dark mode styling to extra pages

* feat: dark theme to mobile bottom nav

* feat: update header & loading-spinner & body tag background color

* feat: added dark mode background

* fix: fixed title logo on sidebar not changing colours when switching modes

* fix: added tab colours when dark mode

* fix: added dark mode colours to partner page text

* feat: dark mode for Labs

* fix: related courses width

* feat: update spinner in Syllabus; dark mode for Campus

* fix: timetable course item scrollable space height

* feat: make timetable course item darker in dark mode

* feat: install tailwind in feeds (not used yet)

* feat: redirecting page styling

* feat: update sign in modal

* feat: updated header component and pnpm lock file accordingly

* fix: updated colors and header dependencies

* fix: eslint fixes for campus folder

* feat: added dark mode styling to campus folder

* fix: eslint fixes in syllabus folder

* fix: updated dark mode styling

* fix: updated dark mode syllabus

* fix: updated dark mode styling root folder

* fix: syllabus border & step arrow color

* fix: fixed styling for social media icons in partners

* fix: removed unused imports

* fix: Or-button dark mode color

* fix: remove FilterWarningsPlugin

* fix: update lock files

* fix: remove -y option

* fix: update lock files

* fix: update @aws-amplify/auth in syllabus

* fix: update loading spinner in Feeds

* fix: add theme prop to LoadingSpinner in Feeds

Co-authored-by: YHhaoareyou <[email protected]>

* fix: clear search keywords when onclick related courses

* Debug: mobile dark mode debug (#373)

* feat: dark mode & new messages on welcome modal

* fix: dark mode on sign in modal & user login icon

* chore(deps): update dependency eslint-plugin-react to v7.29.4 (#361)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency ts-loader to v9.2.8 (#359)

Co-authored-by: Renovate Bot <[email protected]>

* feat: remove unused dependencies (#377)

* Feature/darktheme colors (#378)

* feat: added quarterColors for both light and dark mode

* feat: Added google analytics to theme changes

* fix: fixed user profile icon to make it consistent

* fix: code refactoring

* fix: code refactoring in syllabus

* feat: added dark semantic colors

* fix: added colors based on numbers too

* fix: added a todo comment

* fix: fix semantic text colors dark mode

* feat: update quarter switch colors & icons

* feat: update timetable course items and color selector with new theme colors

Co-authored-by: Nicholas Narmada <[email protected]>

* Feature: Timetable dark theme (#379)

* feat: Dark mode for pro tips and colors selector popup in Timetable

* feat: update theme colors dependency for all apps

* feat: add the hovering effect to the member cards (#381)

* feat: update the hovering effect for member cards

* fix: remove unused libraries; fix html background color in dark mode; disable card's hyperlink

* fix: makes the code shorter and neater

* fix: syllabus pnpm lock file

* fix: syllabus pnpm lock file

Co-authored-by: YHhaoareyou <[email protected]>

* Migrate from Webpack to Vite (#382)

* feat: vite tested by career folder

* feat: replace systemjs import with dynamic import to import vite project

* feat: ignore dynamic import problem caused by webpack

* feat: Migrate Campus from Webpack to Vite

* fix: restore career

* feat: register vite app campus by single-spa-layout

* feat: migrate Syllabus to vite (error unsolved)

* fix: fix lockfile

* fix: solve "exportStar not a function", "undefined global" and use Vite envvar

* feat: migrate syllabus to vite (done)

* remove webpack from all apps except root

* feat: migrate root to vite

* feat: remove webpack related scripts & solve import-map not supported problem in Safari

* feat: import static assets; solve errors of custom props passed to dom

* fix: run eslint fix

* fix: build script & config

* feat: build config & debug global var

* fix: output asset files path

* feat: disable css code split in build

* fix: run eslint fix

* feat: preload css from mf apps to root; replace react-s-alert with react-toastify

* feat: configure public path & env var for each app

* fix: run eslint fix

* feat: service-worker

* fix: eslint fix

* update lock files

* fix: missing package

* fix: externalize styles from other mf app

* fix: campus room badge styles

Co-authored-by: AustinZhu <[email protected]>

* fix: env without using dotenv explicitly (#385)

* fix: packages version

* fix: change env var name

* fix: remove systemjs package; add peer dependencies

* fix: feeds domain on staging/prod

* Feature: About Us page link from Home page & split Home from Root-config (#387)

* fix: remove custom sw

* feat: add link to aboutus page from home

* fix: eslint

* Feature/fix card padding (#388)

* fix: fixing the responsive design for members card

* fix: fixing the responsive design for members card

* fix: font color, repeated className, figure tag

* fix: install missing dependency: @aws-amplify/core

* fix: remove course function

* feat: alert translation

* fix: eslint

* feat: add workbox runtimeCaching config

* Fix service worker to enable it to replace old one (#389)

* fix: add cleanupOutdatedCaches option

* use custom sw & force update

* skipWaiting and claim before cleanupOutdatedCaches

* add ts files to NetworkFirst cache

* remove ts from cache

* register sw on index.html

* change sw from ts to js

* test updates to trigger build

* registerSW in index.html

* remove unused code and comment of registering sw

* update files to trigger build

* feat: add a profile card component; add hover & click effect; add a closing tab on cards (#390)

* feat: add a profile card component;
add hover & click effect;
add closing tab on cards

* fix: rename profile card & prop; type for useState

* fix: syllabus minor styling issues

* Update README.md

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: Nicholas Narmada <[email protected]>
Co-authored-by: Nicholas Narmada <[email protected]>
Co-authored-by: Xinyue Tao <[email protected]>
Co-authored-by: AustinZhu <[email protected]>

* add script-src-elem to Content Security Policy (#391)

* Hotfix (#392)

* add script-src-elem to Content Security Policy

* fix csp

* Hotfix (#393)

* add script-src-elem to Content Security Policy

* fix csp

* add blob:https: to csp

* fix blob in csp

* fix: remove csp

* fix: remove all webpack-related packages & setting

* Allow all in CSP

* Fix: preload style, csp allow all, refactor index html & env var (#404)

* fix style prelload link

* refactor index.html & add env variables

* remove slash from the end of base path env var

* import other mf's css files as external

* run eslint fix

* run eslint fix

* Update README.md (#397)

Github -> GitHub

* chore(deps): update dependency esbuild to v0.14.43 (#384)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependencies

* chore(deps): update dependencies

* chore(deps): update dependencies

* fix: preload & enable styles from other mf app

* fix: packages version (fix React to v17)

* Language filter for Feeds (#409)

* filter feeds by language

* feat: styling lang filter button

* feat: Back button to Feeds list page

* Remove using @apply in css file due to amp style problem

* feat: added turbo-repo woooo (#420)

* update feeds

* update feeds

* refactor: refactored project structure

* feat: added turborepo

* feat: eslint custom config dependency

* fix: fix lint script

* fix: removed self dependent dependencies

* chore: pnpm lock updates

* fix: remove dont purge tailwind from script

* feat: add turbo scripts to monorepo

* fix: fixed folder paths for github actions

* fix: fixed campus pnpm-lock file

* fix: updated pnpm lock again

* fix: updated types for feed info

* fix: feeds submodule & root env & campus type mismatch

Co-authored-by: YHhaoareyou <[email protected]>

* feat: adding web hooks for forums

* feat: updating meet our team page (#426)

* feat: editing meet our team page

* feat: adding michael to the MeetOurMembers page

* feat: edited my position

* feat: changing Jason's role to cheerleader

* fix: downgrade pnpm version for test

* feat: adding gunjan and aditya to the team

* fix: fixing aditya image

* feat: adding pam to the team

* fix:fixing pnpm lock issues

---------

Co-authored-by: YHhaoareyou <[email protected]>

* Export Bit components to turborepo packages (#428)

* feat: created ui package

* feat: added tailwind and prettier

* chore: file linting

* refactor: removed unnecessary files

* refactor: configured build

* feature: add storybook

* feat: import all bit components

* refactor: remove unused stories

* refactor: updated language menu to newest mui

* refactor: refactored media func

* refactor: use headlessui for modal

* refactor: refactor imports and exports

* chore: pnpm build script

* chore: added packages

* chore: update package json and lock files

* refactor: re-added Modal component

* refactor: changed import paths internal ui package

* refactor: added colors.json to be importable

* refactor: changed import path

* refactor: updated shared eslint and prettier

* chore: reformatted files

* refactor: changed type of media func

* refactor: removed unused assets

* refactor: refactored media functions

* refactor: fixed import path

* chore: updated vite to latest

* chore: updated single-spa and removed unused vite plugin

* fix: fixed pnpm lock

* fix: removed react-refresh

* fix: overrided esbuild version

* fix: fixed pnpm lock

* refactor: changed loading spinner to func

* refactor: changed prettier to cjs file

* refactor: updated mui

* fix: fixed packages

* fix: test version down jpg loader

* fix: fixed window and document in theme context

* fix: test remove theme context file

* fix: fix error document

* test commit

* fix: use client in component

* fix: under reconstruction feeds

* fix: next output export

---------

Co-authored-by: Nicholas Narmada <[email protected]>

* Feature: Remove bit from npmrc (#431)

* fix: remove bit details from npmrc

* fix: remove bit portion of readme

* fix: fixing tailwind:build from tailwind to tailwindcss

* feat: reorganizing meet our teams list

* feat: adding alfonso lien and shiori

* chore: ah comeon

* chore: what in the hell is a JPG and a jpg

* chore: oh Jason focus comeon why are you doing stupid stuff mistaking jpg with png

* feat: adding forum into develop (#446)

* feat: create single-spa app-parcel for Forum

* Add explanation for adding new app-parcel in WasedaTime

* Comment out routing for Career

* Initialize components for Forum

* feat: install tailwind in Forum

* Add required utilities to Forum

* Add Forum icon to navbar

* feature/forum-basic-styling (#415)

* feat: added basic styling + dummy data for forum incl. board, comments and comment form

* fix: arrangement between each section in Forum

* fix: code style by eslint

Co-authored-by: YHhaoareyou <[email protected]>

* Feature/forum-basic-routing (#416)

* feat: added basic styling + dummy data for forum incl. board, comments and comment form

* pulled forum-basic into this branch

* feat: filter posts by boardid, boardmenu routing

* feat: "basic routing for posts + boards"

* Run pnpm fix

* fix: available boards

Co-authored-by: YHhaoareyou <[email protected]>

* Recoil installation and defining global states (#417)

* created tag modal component

* added recoil in root.components.tsx

* feat: define recoil state

Co-authored-by: Kyoungjun Han <[email protected]>

* Feature/forum-create-thread-basic (#418)

* feat: conditional create thread text area basic

* feat: added tags + group buttons w/ basic toggle

* feat: added submit btn (not functional)

* changed default state of expanded thread input

* feat: menuitems json, createthread styling

* added number type for boardindex function

* Run pnpm fix

* Define boards & tags; change structure of dummy threads & comments

* Group filter for Forum (#419)

* feature: group filter styling

* Update groups

* feat: Toggle global states for groups when clicking on items in group menu

* fix group items structure

* feature: filtering function

* fix: move filter functions to another file

* init School filter form and add scholl icons

* feat: switch open status of school filter modal

* feat: tab item title, normal and active style

* feat: toggle selected group by school filter

* feat: moved forum folder to apps

* User auth for Forum (#421)

* feat: User login & verify auth when opening thread form and creating new thread

* chore: add todo message for implementing submitting new thread API

* feat: Add auth for comment form

* feat: value and onChange func for new thread form

* Customize Header for Forum (will replace Header component in other apps)

* fix: default host of each microfrontend

* added recoil in root.components.tsx

* error report to Hao

* fix: modal not showing due to wrong classname and attributes

* update for jan 5 2023

* sorry it took so long

* debug: recover tags modal display after adopting turbo

* feat: set header input form as tag modal button

* fix: removed bit from forum

* fix: updated eslint config

* choreL updated package json

* fix: remove bit details from npmrc

* fix: remove bit token form npmrc

* Fix errors when importing common packages (#432)

* fix: temporarily comment out error codes in Feeds

* fix: update esbuild and fix tailwind build command

* fix: temporarily change the target of ReactModal.setAppElement

* fix: commented out translation & navigation function and fix typo of color variables

* fix: language switch icon size

* fix: move i18n config from packages folder to each microfrontend

* fix: recover sign in modal

* feat: create single-spa app-parcel for Forum

* Add explanation for adding new app-parcel in WasedaTime

* Comment out routing for Career

* Initialize components for Forum

* feat: install tailwind in Forum

* Add required utilities to Forum

* Add Forum icon to navbar

* feature/forum-basic-styling (#415)

* feat: added basic styling + dummy data for forum incl. board, comments and comment form

* fix: arrangement between each section in Forum

* fix: code style by eslint

Co-authored-by: YHhaoareyou <[email protected]>

* Feature/forum-basic-routing (#416)

* feat: added basic styling + dummy data for forum incl. board, comments and comment form

* pulled forum-basic into this branch

* feat: filter posts by boardid, boardmenu routing

* feat: "basic routing for posts + boards"

* Run pnpm fix

* fix: available boards

Co-authored-by: YHhaoareyou <[email protected]>

* Recoil installation and defining global states (#417)

* created tag modal component

* added recoil in root.components.tsx

* feat: define recoil state

Co-authored-by: Kyoungjun Han <[email protected]>

* Feature/forum-create-thread-basic (#418)

* feat: conditional create thread text area basic

* feat: added tags + group buttons w/ basic toggle

* feat: added submit btn (not functional)

* changed default state of expanded thread input

* feat: menuitems json, createthread styling

* added number type for boardindex function

* Run pnpm fix

* Define boards & tags; change structure of dummy threads & comments

* Group filter for Forum (#419)

* feature: group filter styling

* Update groups

* feat: Toggle global states for groups when clicking on items in group menu

* fix group items structure

* feature: filtering function

* fix: move filter functions to another file

* init School filter form and add scholl icons

* feat: switch open status of school filter modal

* feat: tab item title, normal and active style

* feat: toggle selected group by school filter

* feat: moved forum folder to apps

* User auth for Forum (#421)

* feat: User login & verify auth when opening thread form and creating new thread

* chore: add todo message for implementing submitting new thread API

* feat: Add auth for comment form

* feat: value and onChange func for new thread form

* Customize Header for Forum (will replace Header component in other apps)

* fix: default host of each microfrontend

* added recoil in root.components.tsx

* error report to Hao

* fix: modal not showing due to wrong classname and attributes

* update for jan 5 2023

* sorry it took so long

* debug: recover tags modal display after adopting turbo

* feat: set header input form as tag modal button

* fix: removed bit from forum

* fix: updated eslint config

* choreL updated package json

* fix: remove bit token form npmrc

* fix: i18n config and signInModal in Forum

* fix: image config in Feeds

* Feature/forum get post (#445)

* feat: create single-spa app-parcel for Forum

* Add explanation for adding new app-parcel in WasedaTime

* Comment out routing for Career

* Initialize components for Forum

* feat: install tailwind in Forum

* Add required utilities to Forum

* Add Forum icon to navbar

* feature/forum-basic-styling (#415)

* feat: added basic styling + dummy data for forum incl. board, comments and comment form

* fix: arrangement between each section in Forum

* fix: code style by eslint

Co-authored-by: YHhaoareyou <[email protected]>

* Feature/forum-basic-routing (#416)

* feat: added basic styling + dummy data for forum incl. board, comments and comment form

* pulled forum-basic into this branch

* feat: filter posts by boardid, boardmenu routing

* feat: "basic routing for posts + boards"

* Run pnpm fix

* fix: available boards

Co-authored-by: YHhaoareyou <[email protected]>

* Recoil installation and defining global states (#417)

* created tag modal component

* added recoil in root.components.tsx

* feat: define recoil state

Co-authored-by: Kyoungjun Han <[email protected]>

* Feature/forum-create-thread-basic (#418)

* feat: conditional create thread text area basic

* feat: added tags + group buttons w/ basic toggle

* feat: added submit btn (not functional)

* changed default state of expanded thread input

* feat: menuitems json, createthread styling

* added number type for boardindex function

* Run pnpm fix

* Define boards & tags; change structure of dummy threads & comments

* Group filter for Forum (#419)

* feature: group filter styling

* Update groups

* feat: Toggle global states for groups when clicking on items in group menu

* fix group items structure

* feature: filtering function

* fix: move filter functions to another file

* init School filter form and add scholl icons

* feat: switch open status of school filter modal

* feat: tab item title, normal and active style

* feat: toggle selected group by school filter

* feat: moved forum folder to apps

* User auth for Forum (#421)

* feat: User login & verify auth when opening thread form and creating new thread

* chore: add todo message for implementing submitting new thread API

* feat: Add auth for comment form

* feat: value and onChange func for new thread form

* Customize Header for Forum (will replace Header component in other apps)

* fix: default host of each microfrontend

* added recoil in root.components.tsx

* error report to Hao

* fix: modal not showing due to wrong classname and attributes

* update for jan 5 2023

* sorry it took so long

* debug: recover tags modal display after adopting turbo

* feat: set header input form as tag modal button

* fix: removed bit from forum

* fix: updated eslint config

* choreL updated package json

* fix: remove bit details from npmrc

* fix: remove bit token form npmrc

* feat: restarting branch

* feat: adding changes to new branch

* feat: testing

* feat: adding dependency localforage

* chores: small edits

* feat: finishing migrate from branch to branch

* feat: deleting two view sections.

* feat: adding tags to post model

* fix: fixed tag posting

* feat: creating school choosing dropdown

* chores: small adjustments

* feat: updating dropdown will need to change it to something else

* Feature/forum update delete post (#444)

* feat: add edit and delete button & call delete api

* feat: confirm delete thread modal

* feat: thread edit modal (form not yet)

* feat: edit thread form completed

* fix: fixing out API

* feat: figuring shit out

* fix: undefined colors variable

* feat: adding some actions too

* Feature/new layout (#441)

* feat: new layout

* feat: whole new layout will merge to parent branch to get inifinte scroll

* fix: fixing actions to compatible version

* feat: infinite scroll to load more threads (#442)

Co-authored-by: YHhaoareyou <[email protected]>

* feat: forum restructuring  (#443)

* feat: initiating new branch for hastags

* feat: working on forum homepage now can call all data

* feat: forum home func

* yo

* chorse: getting rid of stuff

* feat: major changes added some refresh functionalities

---------

Co-authored-by: Kyoungjun Han <[email protected]>

* feat: new prop fromRoot for link condition

* chore: comment out thread edit function and button

* chores: deleting comments

* feat: display all threads on forum home page

* feat: adding comment delete with refresh

* feat: adding icon for views

---------

Co-authored-by: YHhaoareyou <[email protected]>
Co-authored-by: Kyoungjun Han <[email protected]>

---------

Co-authored-by: YHhaoareyou <[email protected]>
Co-authored-by: Michael Kaminski <[email protected]>
Co-authored-by: Kyoungjun Han <[email protected]>
Co-authored-by: Nicholas Narmada <[email protected]>

* fix: forum was commeted out

* feat: fixing board conditional

* feat: fixing thread tag

* feat: adding bread crumbs

* feat: working but need to fix issue of mounting

* feat: tags searching

* feat: examining useEffect

* fix: add boardId and tags as dependencies for the first useEffect

* fix: scroll function activation

* feat: adding search tag box

* feat: Add board menu in create thread to forum root

* feat: adding school selection

* feat: draft of tag menu

* feat: tweaking with Nicholas component

* fix: fixed styling of menu button and dropdown

* fix: fixed Nicholas component

* feat: added some functionalities for board to tag filtiering

* Revert "Merge branch 'develop' of https://github.com/wasedatime/wasedatime-web into feature/forum-basic"

This reverts commit 8f529dd, reversing
changes made to b098087.

* feat: reverting changes to original

* feat: major update

* feat: adding styling

* feat: adding more styling I guess i am done

* feat: additional tag filtering logic

* fix: change feeds folder directory

* feat: adding FeedBackBox

* chore: replace @vitejs/plugin-react-refresh with @vitejs/plugin-react

* feat: styling tags and school button

* feat: fixing feed back box

---------

Co-authored-by: YHhaoareyou <[email protected]>
Co-authored-by: Michael Kaminski <[email protected]>
Co-authored-by: Kyoungjun Han <[email protected]>
Co-authored-by: Nicholas Narmada <[email protected]>

* feat: final check on develop now time to deploy

* feat: adding type safety to prevent from accessing null length

* feat: adding array safety

* fix: adding another type safety for response array

* feat: adding some common css to see the change

* feat: altering styling

* feat: adding responive ness

* feat: altered timeline new feature add comment logo no more title and tag

* feat: changing our mission

* feat: enlarging the fontsize of forums. Currently it was just too small (#453)

Also changed the original eventlistener for scrolling back to infinite scroll component

* fix: fixing App layout and adding onclikc to fix links (#454)

* fix: fixing App layout and adding onclikc to fix links

* feat: refactoring threadblock structure

* chore: fixing tag typo

* feat: fixing finalization

* feat: adding max width to thread post card

* feat: added comment count (#456)

* fix: fix new feature image size

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: Nicholas Narmada <[email protected]>
Co-authored-by: YHhaoareyou <[email protected]>
Co-authored-by: Nicholas Narmada <[email protected]>
Co-authored-by: Xinyue Tao <[email protected]>
Co-authored-by: AustinZhu <[email protected]>
Co-authored-by: Ikko Ashimine <[email protected]>
Co-authored-by: Michael Kaminski <[email protected]>
Co-authored-by: Kyoungjun Han <[email protected]>
  • Loading branch information
11 people authored Sep 17, 2023
1 parent c673fb8 commit 3f7f358
Show file tree
Hide file tree
Showing 11 changed files with 1,307 additions and 1,124 deletions.
353 changes: 178 additions & 175 deletions apps/forum/pnpm-lock.yaml

Large diffs are not rendered by default.

57 changes: 52 additions & 5 deletions apps/forum/src/components/Comment.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@ import DeleteIcon from "@mui/icons-material/Delete";
import { ConfirmModal } from "@app/components/form/ConfirmModal";
import API from "@aws-amplify/api";
import { getIdToken } from "wasedatime-ui";
import ThreadType from "@app/types/thread";

type Props = {
comment: CommentType;
thread: ThreadType;
setComments: React.Dispatch<React.SetStateAction<CommentType[]>>;
setThread: React.Dispatch<React.SetStateAction<ThreadType>>;
};

const convertUrlsToLinks = (text: string) => {
Expand Down Expand Up @@ -43,7 +47,7 @@ const convertUrlsToLinks = (text: string) => {
);
};

const Comment = ({ comment }: Props) => {
const Comment = ({ comment, thread, setComments, setThread }: Props) => {
const [deleteModalOpen, setDeleteModalOpen] = useState(false);

const actions = [
Expand All @@ -54,18 +58,39 @@ const Comment = ({ comment }: Props) => {
},
];

const removeComment = (commentTS: string) => {
setComments((prevComments) => {
return prevComments.filter((comment) => comment.created_at !== commentTS);
});

setThread((prevThread) => {
if (
prevThread &&
typeof prevThread.comment_count === "number" &&
prevThread.comment_count > 0
) {
return {
...prevThread,
comment_count: prevThread.comment_count - 1,
};
}
return prevThread; // No change if comment_count is already 0 or undefined
});
};

const confirmDeleteThread = (e: React.MouseEvent<HTMLButtonElement>) => {
e.preventDefault();
setDeleteModalOpen(true);
};

const deleteComment = async () => {
console.log("Triggered!");
try {
const idToken = await getIdToken();
if (!idToken || idToken.length === 0) {
throw new Error("Invalid ID token");
}
await API.del(
const res = await API.del(
"wasedatime-dev",
`/forum-comment/${comment.thread_id}?ts=${comment.created_at}`,
{
Expand All @@ -75,12 +100,34 @@ const Comment = ({ comment }: Props) => {
},
}
);

console.log(res);

const action = "update_decr";
await API.patch(
"wasedatime-dev",
`/forum/${thread.board_id}/${thread.thread_id}`,
{
body: {
data: {
tag_id: "NA",
group_id: "NA",
title: "NA",
body: "NA",
},
action,
},
headers: {
"Content-Type": "application/json",
Authorization: idToken,
},
}
);
setDeleteModalOpen(false);
removeComment(comment.created_at);
} catch (error) {
console.error("Thread not deleted successfully!:", error);
console.error("Comment not deleted successfully!:", error);
}

window.location.reload();
};

return (
Expand Down
54 changes: 50 additions & 4 deletions apps/forum/src/components/CommentForm.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,33 @@
import React, { ChangeEvent, useState } from "react";
import React, { ChangeEvent, useEffect, useState } from "react";
import { useParams } from "react-router-dom";
import API from "@aws-amplify/api";
import { SignInModal, getIdToken } from "wasedatime-ui";
import { SendIcon } from "./icons/SendIcon";
import { useTranslation } from "react-i18next";
import CommentType from "@app/types/comment";
import ThreadType from "@app/types/thread";

interface CommentFormProps {
onNewComment: (newComment: CommentType) => void;
thread: ThreadType;
setThread: React.Dispatch<React.SetStateAction<ThreadType>>;
}

const CommentForm: React.FC<CommentFormProps> = ({ onNewComment }) => {
const CommentForm: React.FC<CommentFormProps> = ({
onNewComment,
thread,
setThread,
}) => {
const [userToken, setUserToken] = useState("");
const [isSignInModalOpen, setSignInModalOpen] = useState(false);
const [comment, setComment] = useState("");
const { threadUuid } = useParams();
const { boardSlug, threadUuid } = useParams();
const { t } = useTranslation();

useEffect(() => {
console.log(thread);
}, [thread]);

const handleFocusForm = async () => {
if (userToken?.length <= 0) {
const idToken = await getIdToken();
Expand Down Expand Up @@ -59,11 +70,46 @@ const CommentForm: React.FC<CommentFormProps> = ({ onNewComment }) => {
);

const newComment: CommentType = response.data;

onNewComment(newComment);
setComment("");

const action = "update_incr";
const patchCount = await API.patch(
"wasedatime-dev",
`/forum/${boardSlug}/${threadUuid}`,
{
body: {
data: {
tag_id: "NA",
group_id: boardSlug,
title: threadUuid,
body: "NA",
},
action,
},
headers: {
"Content-Type": "application/json",
Authorization: userToken,
},
}
);

console.log(patchCount);

if (patchCount.success === true) {
console.log("patch success!");
setThread((prevThread) => {
return {
...prevThread,
comment_count: prevThread.comment_count
? prevThread.comment_count + 1
: 1,
};
});
}
} catch (error) {
console.error("An error occurred:", error);
} finally {
}
};

Expand Down
13 changes: 10 additions & 3 deletions apps/forum/src/components/CreateThread.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ function classNames(...classes) {
const CreateThread = ({ onNewThread }: CreateThreadProps) => {
const [isExpanded, setIsExpanded] = useState(false);
const [expandSchool, setExpandSchool] = useState(false);
const [userToken, setUserToken] = useState("");
const [isSignInModalOpen, setSignInModalOpen] = useState(false);
const [userToken, setUserToken] = useState("");
const [textContent, setTextContent] = useState("");
const [titleContent, setTitleContent] = useState("");
const [tags, setTags] = useState<TagType[]>([]);
Expand Down Expand Up @@ -145,8 +145,15 @@ const CreateThread = ({ onNewThread }: CreateThreadProps) => {
}
);

const newThread: ThreadType = response.data;
onNewThread(newThread);
const fetchedThread: ThreadType = response.data;
const completeThread = {
...fetchedThread,
total_likes: 0,
user_liked: false,
comment_count: 0,
new_comment: false,
};
onNewThread(completeThread);

setTitleContent("");
setTextContent("");
Expand Down
19 changes: 15 additions & 4 deletions apps/forum/src/components/Thread.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const Thread = () => {
const [userToken, setUserToken] = useState("");
const { boardSlug, threadUuid } = useParams();
const [thread, setThread] = useState<any>({});
const [comments, setComments] = useState<any[]>([]);
const [comments, setComments] = useState<CommentType[]>([]);

const fetchData = async () => {
let userId = userToken;
Expand All @@ -23,6 +23,7 @@ const Thread = () => {
}

// Wait for the state to update, then proceed with fetching
// Fetch Threads
await API.get(
"wasedatime-dev",
`/forum/${boardSlug}/${threadUuid}?uid=${userId}`,
Expand All @@ -41,7 +42,7 @@ const Thread = () => {
.catch((e) => {
console.error(e);
});

// Fetch comments
await API.get(
"wasedatime-dev",
`/forum-comment/${threadUuid}?uid=${userId}`,
Expand Down Expand Up @@ -73,9 +74,19 @@ const Thread = () => {
<div className="border-2 mt-12 mx-auto rounded-xl shadow-lg py-6 h-fit px-4 standard-style max-w-2/5 w-5/6">
{/* <CreateThread /> */}
<ThreadBlock isPreview={false} thread={thread} />
<CommentForm onNewComment={handleNewComment} />
<CommentForm
onNewComment={handleNewComment}
thread={thread}
setThread={setThread}
/>
{comments.map((comment, i) => (
<Comment key={i} comment={comment} />
<Comment
key={i}
comment={comment}
thread={thread}
setComments={setComments}
setThread={setThread}
/>
))}
</div>
);
Expand Down
24 changes: 15 additions & 9 deletions apps/forum/src/components/ThreadBlock.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -244,27 +244,33 @@ const ThreadBlock = ({ isPreview, fromRoot, thread, onDelete }: Props) => {
<div className="flex flex-row justify-evenly pt-2 items-center">
<div className="flex flex-row items-center content-center">
<button onClick={handleLike} className="clipboard-icon group">
<Favorite color={userLiked ? "error" : undefined} />
<span className="clipboard-tooltip group-hover:scale-100 text-lg">
Liked
<Favorite
color={userLiked ? "error" : undefined}
fontSize="large"
/>
<span className="clipboard-tooltip group-hover:scale-150 text-[144px]">
Like!
</span>
</button>
<h3>
<span>{" "}</span>
<span>{totalLikes}</span>
<span className="text-3xl">{totalLikes}</span>
</h3>
</div>
<h3>
<TextsmsIcon />
<TextsmsIcon fontSize="large" />
<span>{" "}</span>
<span className="text-3xl">{thread.comment_count}</span>
</h3>
<button className="clipboard-icon group" onClick={handleShare}>
<Share />
<span className="clipboard-tooltip group-hover:scale-100">
<Share fontSize="large" />
<span className="clipboard-tooltip group-hover:scale-150">
Link Copied!
</span>
</button>
<h3 className="items-center">
<Visibility /> <span>{thread.views}</span>
<h3 className="items-center content-center justify-center">
<Visibility fontSize="large" />{" "}
<span className="text-3xl">{thread.views}</span>
</h3>
{
// userToken?.length > 0 && thread.uid === userToken && (
Expand Down
2 changes: 2 additions & 0 deletions apps/forum/src/types/thread.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ type ThreadType = {
mod?: boolean;
user_liked?: boolean;
total_likes?: number;
comment_count?: number;
new_comment?: boolean;
};

export default ThreadType;
2 changes: 1 addition & 1 deletion apps/root/src/components/home/NewFeatures.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const NewFeatures = ({ isFirstAccess, goToPrevPage, closeModal }: Props) => {
<img
src={forumLightImg}
alt="reviews example"
style={{ width: "auto", height: "10%" }}
style={{ width: "100%" }}
/>
<p>{t("welcome.themeToggle.lightMode")}</p>
</div>
Expand Down
Loading

0 comments on commit 3f7f358

Please sign in to comment.