Skip to content

Commit

Permalink
Release v1.20.4 (#380)
Browse files Browse the repository at this point in the history
* Refactor/refactor types naming convention (#254)

* Created authenticated layout

* add fragment

* testing

* Rename MessageType to EMessageType

* Rename PostStatusType to TPostStatusType

* Rename PostStatus to EPostStatus

* Rename Post to IPost

* Rename QueryKeyString to EQueryKeyString

* Rename ReferralType to EReferralType

* Rename NavItem to INavItem

* fix rebase error
e Please enter the commit message for your changes. Lines starting

* add ignore

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/create space for auth (#260)

* Created authenticated layout

* Create sign in sign up and forgot password

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* [Docs] Improvements and breaking down (#257)

* Remove Developer.md

* change root README.md developer guide to linkt to introduction.md

* Add introduction.md containing overview of the project, tech stack, and the corresponding docs

* migrate git guide and put in CONTRIBUTING.md

* Add Frontend.md, containing guide to setup local dev environment and access to user interface

* Add Backend.md, containing guide to set up local backend, deployment, migration, and table structure

* remove markdown file

* add markdown files name with all captial

* update Readme file reference

* add Inbucket guide in set up backend locally, separate Resend config guide to another section

* update sql script for set up trigger on inital run

---------

Co-authored-by: Pjaijai <87293994+Pjaijai@users.noreply.github.com>

* Feature/PWA installation instruction (#267)

* create installation page

* add link in footer

* House keep

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* search url using value instead of uuid (#255)

* Created authenticated layout

* search url using value instead of uuid

* search referal uuid to value update

* fix type

* house keep search post hook

* house keep search referral hook

* rename yeo to year of experience

* Rename maxYearofExperience

* rename minYearOfExperience

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>
Co-authored-by: Pjaijai <87293994+Pjaijai@users.noreply.github.com>

* Feature/adding react testing library (#259)

* Created authenticated layout

* install packages

* Adding config

* Adding ContributionAreaBadge test

* house keep

* install packages

* Adding config

* Adding ContributionAreaBadge test

* house keep

* add doc

* update test doc

* Update contributing doc

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/adding more husky config (#261)

* Created authenticated layout

* Add eslint and prettier pre commit

* Fix format

* Modify prettier config

* feat: add commit convention hook

* fix: fix commit problem

* chore: use absolute version

* chore(release): 1.6.0

* chore: house keep

* docs: add doc

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* CI/adding run client test ci (#270)

* docs: updating contributing doc

* ci: adding run client test ci

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: remove extra lint-staged (#268)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: refetch data after finishing edit (#271)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* test: adding created-at and location helper tests (#272)

* test: adding created-at and location helper tests

* chore: rename folder name

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/password sign up and sign in (#269)

* feat: create create user with email password api

* feat: create sign up skeleton

* feat: adding error message to form check box

* feat: adding type for form text input

* refactor: refactor auth email and password validation

* feat: create sign in form validation

* feat: create sign in form skeleton

* chore: rename sign up api and hook

* feat: create sign in form skeleton

* feat: adding auth api ui handling

* fix: fix error toast color

* feat: handle username

* feat: duplicate username handling

* feat: create create user with email password api

* feat: create sign up skeleton

* chore: rename sign up api and hook

* feat: create sign in form skeleton

* fix: fix profile usernam validation

* feat: create signInWithMagicLink api and hook

* chore: rename and move sign in and sign up api type

* feat: create ISignInEmailMagicLinkRequest type

* feat: create magic linka and password sign in form

* feat: create magic link and password sign in validation

* feat: create sign in tab

* feat: create sign in template

* feat: adding left component to input label

* fix: fix auth form tabs height

* chore: house keep

* fix: fix style of register link in sign in template

* chore: house keep

* fix: fix username max length validation

* fix: fix validation text

* feat: create EEmaiVerification

* feat: create email verificaiton page

* feat: add email verification to site config

* feat: sign up page house keep

* feat: remove sign up page checkbox validaiton

* feat: fix text and copy

* fix: add forgort password link to sign in page

* fix: fixing minor issue

\

* style: fixing margin

* refactor: performance improvement

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/Add contributor (#276)

* feat: add contributor

* test: fix test

* fix: fix contributor area

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* style: fix style of sign in page (#277)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/sign up confirmation page (#279)

* chore: fix auth tmeplate import path

* chore: centailize auth templates

* feat: remove hover underline base link button

* feat: create sign up confirmation page

* test: fix test

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix test

* fix: fix password min length validation

* chore: house keep

* refactor: remove link in functions deploy in staging yml file

* Revert "refactor: remove link in functions deploy in staging yml file"

This reverts commit 59f083e.

* feat: add debug log to function deploy

* Feature/forget password (#280)

* feat: create forgot password

* fix: add loading for sigin and sing up

* feat: add disabled to input

* feat: add sign in button to site header

* fix: fix site paht in site config

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat: replace text input instead of form text input in reset password form (#281)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/remove old magic link (#282)

* feat: remove old sign in

* fix: replace sign path insead of auth path

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat: remove contributor button (#283)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* chore(release): 1.7.0

* chore(release): 1.7.0

* chore(release): 1.8.0

* chore(release): 1.7.1

* docs: release

* feat: yarn lock update

* feat: temp remove function deploy

* fix: fix build error

* feat: add handling (#285)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/data access  (#286)

* feat: migration script

* feat: remove email from api

* fix: fix contact content email failed to send reset problem

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat: migration file

* fix:  update on contact referral query

* ci: update staging ci file

* fix: fix contact through post function

* ci: remove function deplot

* Refactor/house keep (#288)

* chore: house keep

* house keep

* add back register button title

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix import path

* feat: add new password same as old password handling

* fix: fix text

* fix: fix import error

* feat: turn off local supabase analytics

* Feature/Internationalization set up (#287)

* feat: move app files to have locale path

* feat: install next international

* feat: next internaiton config

* feat: next international implementation

* feat: create combined middleware

* chore: remove layout what not in locale

* feat: update typescript version

* docs: adding next internaiton to doc

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/handle signed in user in sign page (#289)

* feat: create not found page

* feat: return not found in sign up page if  user already signed in

* chore: replace throw with replace

* fix: new not found page

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/access control (#290)

* feat: create sever admin

* feat: migration restrict user table column access

* feat: replace client with sever admin

* chore: house keep

* chore: house keep

* chore: house keep

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat: added backbtn to post referer page (#294)

Co-authored-by: Pjaijai <87293994+Pjaijai@users.noreply.github.com>

* style: fix back to post button

* Feature/in app chat room UI (#292)

* feat: update lucide-react

* fix: fix icon onclick error

* feat: chat ui

* feat(message unread ui): messsage unread ui

* chore: house keep

* style: more style on room card

* feat: update lucide-react

* fix: fix icon onclick error

* feat: chat ui

* feat(message unread ui): messsage unread ui

* chore: house keep

* style: more style on room card

* test: chat message card test

* test: chat conversation header test

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* style: fix layout style

* feat: add helen wong to contributor list

* feat: add selina lam to contributor list

* Feature/In app Chat  (#293)

* Feature/in app chat room UI (#292)

* feat: update lucide-react

* fix: fix icon onclick error

* feat: chat ui

* feat(message unread ui): messsage unread ui

* chore: house keep

* style: more style on room card

* feat: update lucide-react

* fix: fix icon onclick error

* feat: chat ui

* feat(message unread ui): messsage unread ui

* chore: house keep

* style: more style on room card

* test: chat message card test

* test: chat conversation header test

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/message logic (#296)

* feat: create message api and logic

* feat: remove email for apis

* feat: fix message referral request for edge funciton

* feat: implement message edge function

* feat: remove contact apis

* feat: update supabse types

* feat: basic message api implementation

* feat: enhance base infinite scroll

* fix: fix for input text

* chore: remove useUpdateConversationLastUpdatedAt

* feat: cretae useUpdateConversation api hook

* feat: update api

* feat: update chat

* feat: update package json script

* feat: update supabase type

* feat: migration script

* chore: rename room to conversation

* feat(implement date in message  card): implment date in mesage card

* feat: add before to created message

* feat: messsage infinite scroll

* fix(fix page overflow problem ): fix page overflow problem

* style: fix style

* fix: fix conversation header url

* feat: conversation scroll

* feat: conversatio header routing

* feat: chat page mobile view

* style: in app chat layout

* feat: close footer when in chat page

* feat: chat api hool refech config

* feat: message real time subscribe

* fix: fix post page layout

* feat: conversation update

* feat: loading and no messange and conversation handleing

* feat: update is convertion seen checking condition

* fix: fix conversation api fetch timing

* style: fix conversation and message card style

* fix: fix message real time refech

* fix: fix in app caht back button

* style: chat message list skletion style

* test: chat skeletion test

* feat: check conversation unseen

* chore: house keep

* feat: add chat provider

* style: fix input field style

* feat: update handle_message_create function migration file

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix build error

* docs: update supabase types

* Bugfix/fix chat style (#301)

* fix: fix chat invalidate logic

* style(fix chat style): fix chat style

* fix: fix build failed

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix build error

* style: chat page an scroll bar style

* Feature/schedule notification for unseen conversation (#302)

* Feature/in app chat room UI (#292)

* feat: update lucide-react

* fix: fix icon onclick error

* feat: chat ui

* feat(message unread ui): messsage unread ui

* chore: house keep

* style: more style on room card

* feat: update lucide-react

* fix: fix icon onclick error

* feat: chat ui

* feat(message unread ui): messsage unread ui

* chore: house keep

* style: more style on room card

* test: chat message card test

* test: chat conversation header test

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/message logic (#296)

* feat: create message api and logic

* feat: remove email for apis

* feat: fix message referral request for edge funciton

* feat: implement message edge function

* feat: remove contact apis

* feat: update supabse types

* feat: basic message api implementation

* feat: enhance base infinite scroll

* fix: fix for input text

* chore: remove useUpdateConversationLastUpdatedAt

* feat: cretae useUpdateConversation api hook

* feat: update api

* feat: update chat

* feat: update package json script

* feat: update supabase type

* feat: migration script

* chore: rename room to conversation

* feat(implement date in message  card): implment date in mesage card

* feat: add before to created message

* feat: messsage infinite scroll

* fix(fix page overflow problem ): fix page overflow problem

* style: fix style

* fix: fix conversation header url

* feat: conversation scroll

* feat: conversatio header routing

* feat: chat page mobile view

* style: in app chat layout

* feat: close footer when in chat page

* feat: chat api hool refech config

* feat: message real time subscribe

* fix: fix post page layout

* feat: conversation update

* feat: loading and no messange and conversation handleing

* feat: update is convertion seen checking condition

* fix: fix conversation api fetch timing

* style: fix conversation and message card style

* fix: fix message real time refech

* fix: fix in app caht back button

* style: chat message list skletion style

* test: chat skeletion test

* feat: check conversation unseen

* chore: house keep

* feat: add chat provider

* style: fix input field style

* feat: update handle_message_create function migration file

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix build error

* feat: notify unseenconversation function

* style: fix email style

* fix: fix unseen conversation function return

* fix: fix build error

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat(fix email sending error and adding log): fix email sending error and adding log

* fix: fix chat email link

* fix: fix conversation exsist case

* fix: fix chat room redirection in email content

* feat: not showing user massage in notificaiton email

* test: temp remove test

* feat: mobile friendly main page ui (#303)

* feat(mobile friendly main page ui): mobile friendly main page ui

* fix: fix copy

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* style: update char message card ui (#304)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* test: fix message card test

* Feature/mobile menu (#305)

* feat: add side menu for mobile

* feat: update message icon for nav menu; update chat nav link on mobile menu

* fix: updated message test typo

* Feature/translation (#306)

* test: fix message card test

* feat: update layout lang point to locale

* feat: update zh-hk and en-ca copies

* feat: implement i18n keys

* feat: hanlde not static data translation

* style: user count magin

* feat: unify created at

* feat: add locale setting button

* feat: page name i18n impletation

* style: make locale selection visible on mobile

* feat: mobile nav i18n

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/mobile no message handling (#307)

* fix: not allow white space username in edit profile

* fix: fix profile page title

* fix: fix profile site config name

* feat: no message to conversation left section

* fix: fix change locale sign our problem

* fix: fix change locale no search params problem

* chore: house keep

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix password email invalid text

* Feature/style house keep (#308)

* style: fix style

* fix: fix theme toggle in mobile nav

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/replace magic link with one time passcode (#309)

* feat: replace magic link with one time password

* chore: house keep

* chore: house keep

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* style: fix opt verfication max width

* feat: message display clickable link (#310)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix copy

* fix: fix message icon in site header not redirect

* chore(release): 1.8.0

* style: email style

* fix: fix email link

* fix: fix copy

* fix: fix copy

* style: profile buttons container style

* feat: implement bottleneck

* fix: fix copies

* fix: fix copy

* chore: house keep

* chore: house keep

* fix(fix en-ca copy): fix en-ca copy

* feat: optimize notify unseen conversation function (#314)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/api-ssg (#312)

* fix: makes server action works

* fix: fix copy

* fix: fix sign up redirect problem

* feat: user count isg

* feat(remove unauthenticated wrapper): remove unauthenticated wrapper

* feat: remove unauth wrapper

* feat: update options hooks

* feat: update search hook

* feat: ssg in post

* feat(profile cache\): profile cache

* feat: referral cache

* feat: updateb search pop over

* feat: remove react-query-next-experimental

* feat(update profile template): update profile templates

* feat: update referral templates

* feat: update post templates

* fix: fix edit post page rendering

* fix: fix rendering

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat: install speed insights

* chore(release): 1.9.0

* feat: fix sign in link in sign up page

* feat: invalidate instead of refech (#317)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/password eye icon (#316)

* style: password input show eye icon when focus or have value

* style: main page layout

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* chore(release): 1.10.0

* fix: hotfix conversatio  per page

* chore(release): 1.10.1

* Feature/revamp user profile (#320)

* feat: post detail page title

* feat: fix options schema not null colounm

* docs: fix type

* feat: split profile edit page

* feat: add copies

* feat: add icons

* style: edit and view profile page style

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* chore(release): 1.10.2

* chore(release): 1.10.3

* fix: fixtype

* feat: post prefech cache

* style: fix profile info card ui padding

* feat: combine providers

* Feature/style enhancement (#325)

* style: add space to post created at

* style: remove des i refferral post card

* fix: fix chat outermost scroll

* refactor: house keep

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Featurel/make post sharable (#326)

* feat: install react share

* feat: desktop post share link

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/make post sharable (#327)

* feat: share drawer

* feat: update copies

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* chore(release): 1.11.0

* feat: post preview on main page (#329)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* chore(release): 1.12.0

* chore(release): 1.12.1

* fix: fix carousel

* chore(release): 1.12.2

* fix: fix toast not showing

* chore(release): 1.12.3

* Feature/support sending pdf (#333)

* feat: add new icons

* feat: add react-dropzone

* feat: install react-dropzone

* fix: fix api hook path

* feat: add file drop ui to send message form

* feat: support sending pdf in app chat

* feat: support pdf in message contact

* feat: api for cleaning document storeage

* feat: add copies

* feat: update engine in client package json

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/support sending pdf (#334)

* feat: add file drop ui to send message form

* feat: support sending pdf in app chat

* feat: support pdf in message contact

* feat: add copies

* fix: fix upload document loading spin

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix yoe in referral post card

* fix: remove github in header

* fix: replace reset icon with copy

* fix: fix infinite scroll infinite loading problem

* fix: fix copy

* fix: fix word break

* fix: fix typo

* feat: add fancy background (#335)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix fancy background showing logic

* Feature/ Create message record (#336)

* feat: record down message

* fix: fix clipboard window error

* fix: fix main page button rendering error

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/increase document maximum size (#337)

* feat: allow upload doc to 2 mb

* feat: show document is expired

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* try seed migration

* Revert "try seed migration"

This reverts commit 16f38db.

* Feature/add new locations (#338)

* fix: fix profile view check box bg color

* feat: support multi location search

* refactor: house keep

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix ui (#339)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* chore(release): 1.13.0

* Feature/update notify unseen conversation (#341)

* chore(release): 1.13.0

* feat(cron notify-unseen-conversation support pdf): cron notify-unseen-conversation support pdf

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat: update clean storage api logic

* refactor: house keep

* chore(release): 1.14.0

* refactor: house keep

* fix: remove cache

* fix: add back location cache

* fix: cache options for 60 seconds

* no cache

* fix: profile apis no store

* Feature/revamp search (#348)

* feat: search bar new ui

* feat: mobile search

* chore: define new engine

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/revamp search (#349)

* feat: search bar new ui

* feat: mobile search

* chore: define new engine

* fix: fix searcg drawer ui

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* BugFix/fix search drawer ui (#350)

* feat: search bar new ui

* feat: mobile search

* chore: define new engine

* fix: fix searcg drawer ui

* fix: fix drawer ui

* fix: fix filter reset

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature: Revamp post search ux (#351)

* feat: replace post referer and referee with post search and view

* feat: post type title

* feat: display post type

* feat: search post type with search params instead of usestate

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix inistial post search type (#352)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* caching (#353)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat: prefrech to edit post

* chore(release): 1.15.0

* try edti post cache 1 second

* remove default cache

* feat: revalidate location options one day

* fix: fix edit post title

* chore(release): 1.16.0

* fix: fix post history card

* fix: fix post nav description

* fix: fix post referee title

* fix: fix typo

* fix: fothix edge function get user null problem

* chore(release): 1.16.2

* chore: house keep

* feat: create message uuid col for history tbale

* Feature/revamp member page (#363)

* feat: add user search page

* feat: update copies

* feat: display referral type in referral card

* chore: house keep

* chore: house keep

* chore: rename user page to member

* feat: hide become member is user sign in

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* style: referral card avatar

* chore(release): 1.17.0

* fix: remove member type checking in contact referral

* chore(release): 1.17.1

* Feature/list most latest contact request on laning page (#366)

* feat: create list latest contact request function

* feat: display on client

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* feat: add links to contact request list

* chore: house keep highlighted link

* chore(release): 1.18.0

* style: fix contact request carousel

* style: fix style

* fix: fix main page cache

* style: fix contact request style

* fix: fix view post link in contact request carousel

* style: fix style

* feat: remove message icon in site header

* refactor: house keep useCheckHasConversationUnseen

* style: update main page Carousel

* style: update style

* feat: replace FormTextInput with FormTextArea

* Feature/request count for post and user (#368)

* style: update style

* feat: replace FormTextInput with FormTextArea

* feat: add count

* fix: reset submit state when error in edit post

* feat: update types

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* chore(release): 1.19.0

* feat: update user table access

* feat: display the count

* fix: fix ContactRequestCount count text

* style: fix coffee icon size

* fix: fix user card count position

* style(fix count style): fix count style on referral card

* chore(release): 1.20.0

* fix: fix request count on post detail page

* fix: remove fancy stuff (#372)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix list latest contact request post uuid

* chore(release): 1.20.1

* fix: fix message covered my text input form (#374)

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* chore(release): 1.20.2

* chore: house keep

* fix: fix post title and company limit to 100

* chore(release): 1.20.3

* Feature/add collaboration type to post (#377)

* feat: support collabration type for post type

* refactor: house keep post hostory card

* feat: add post type option scription

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* Feature/block user to send chat request or crud post (#378)

* feat: add migration script for checking user staus when update post and create post

* feat: block not active user in message api

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>

* fix: fix messsage post user banned problem

* chore(release): 1.20.4

---------

Co-authored-by: Pjaijai <paul6a24@hotmail.com>
Co-authored-by: Vardy <wadee@wadeenghoiwa.com>
Co-authored-by: Cyrus Chan <111417390+cyruscsc@users.noreply.github.com>
Co-authored-by: Trevor Wong <44539644+trevorwongtw@users.noreply.github.com>
Co-authored-by: Johnson Shan <43336083+JohnsonShan@users.noreply.github.com>
Co-authored-by: marukosy124 <54564324+marukosy124@users.noreply.github.com>
  • Loading branch information
7 people committed May 30, 2024
1 parent 6b5cb80 commit f80ce94
Show file tree
Hide file tree
Showing 25 changed files with 301 additions and 74 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [1.20.4](https://github.com/Pjaijai/Referalah/compare/v1.20.3...v1.20.4) (2024-05-30)


### Bug Fixes

* fix messsage post user banned problem ([d1b2350](https://github.com/Pjaijai/Referalah/commit/d1b23505143084e1a7de81cbee0b0f5d77634872))

### [1.20.3](https://github.com/Pjaijai/Referalah/compare/v1.20.2...v1.20.3) (2024-05-17)


Expand Down
9 changes: 5 additions & 4 deletions client/app/[locale]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
searchPostApi,
} from "@/utils/common/api"

import { EReferralType } from "@/types/common/referral-type"
import { EPostType } from "@/types/common/post-type"

// cache for 1 hours
export const revalidate = 60 * 60
Expand All @@ -21,9 +21,10 @@ export default async function IndexPage() {
maxYearOfExperience: 100,
minYearOfExperience: 0,
types: [
EReferralType.REFERRER,
EReferralType.REFEREE,
EReferralType.HIRING,
EPostType.REFERRER,
EPostType.REFEREE,
EPostType.HIRING,
EPostType.COLLABORATION,
],
})

Expand Down
10 changes: 6 additions & 4 deletions client/app/[locale]/post/view/[uuid]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import ReferralPostDetailsPageTemplate from "@/modules/post/view/template"
import { getPostByUuid } from "@/utils/common/api"
import { getI18n } from "@/utils/services/internationalization/server"

import { EReferralType } from "@/types/common/referral-type"
import { EPostType } from "@/types/common/post-type"
import CommonPageLayout from "@/components/layouts/common"

export async function generateMetadata({
Expand All @@ -22,14 +22,16 @@ export async function generateMetadata({
// Define type title based on post type
let typeTitle: string = ""
switch (postType) {
case EReferralType.HIRING:
case EPostType.HIRING:
typeTitle = t("post.type.hiring.title")
break
case EReferralType.REFEREE:
case EPostType.REFEREE:
typeTitle = t("post.type.referee.title")
break
case EReferralType.REFERRER:
case EPostType.REFERRER:
typeTitle = t("post.type.referer.title")
case EPostType.REFERRER:
typeTitle = t("post.type.collaboration.title")
break
default:
break
Expand Down
4 changes: 2 additions & 2 deletions client/components/customized-ui/cards/referral-post.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import PostCardInfoDisplay from "@/modules/post/components/info-display/card-inf
import PostHeader from "@/modules/post/components/info-display/header"
import usePostTypeTitle from "@/modules/post/hooks/post-type-title"

import { EReferralType } from "@/types/common/referral-type"
import { EPostType } from "@/types/common/post-type"
import { siteConfig } from "@/config/site"
import { cn } from "@/lib/utils"
import { Badge } from "@/components/ui/badge"
Expand All @@ -32,7 +32,7 @@ interface IReferralPostCardProps {
createdAt: string | null
createdBy: string | null
className?: string
type: EReferralType
type: EPostType
requestCount: number
}

Expand Down
13 changes: 11 additions & 2 deletions client/components/customized-ui/form/select.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from "react"

import { cn } from "@/lib/utils"
import {
FormControl,
FormDescription,
Expand All @@ -22,6 +23,8 @@ interface IFormSelectProps extends IFormTextInputProps {
options: { value: string; title: string }[]
defaultValue?: string
isDisabled?: boolean
triggerClassName?: string
itemClassName?: string
}

const FormSelect: React.FunctionComponent<IFormSelectProps> = ({
Expand All @@ -33,6 +36,8 @@ const FormSelect: React.FunctionComponent<IFormSelectProps> = ({
options,
defaultValue,
isDisabled,
triggerClassName,
itemClassName,
}) => {
return (
<FormField
Expand All @@ -48,7 +53,7 @@ const FormSelect: React.FunctionComponent<IFormSelectProps> = ({
disabled={isDisabled}
>
<FormControl>
<SelectTrigger>
<SelectTrigger className={cn(triggerClassName)}>
<SelectValue placeholder={placeholder} />
</SelectTrigger>
</FormControl>
Expand All @@ -57,7 +62,11 @@ const FormSelect: React.FunctionComponent<IFormSelectProps> = ({
{options &&
options.length > 0 &&
options.map((option) => (
<SelectItem value={option.value} key={option.value}>
<SelectItem
value={option.value}
key={option.value}
className={cn(itemClassName)}
>
{option.title}
</SelectItem>
))}
Expand Down
19 changes: 10 additions & 9 deletions client/hooks/api/post/search-post.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import { ICityResponse } from "@/types/api/response/city"
import { ICountryResponse } from "@/types/api/response/country"
import { IIndustryResponse } from "@/types/api/response/industry"
import { IProvinceResponse } from "@/types/api/response/province"
import { EPostType } from "@/types/common/post-type"
import { EQueryKeyString } from "@/types/common/query-key-string"
import { EReferralType } from "@/types/common/referral-type"
import usePostSortOptions from "@/hooks/common/sort/post-sort-options"

const searchPost = ({
Expand Down Expand Up @@ -124,21 +124,22 @@ const useSearchPost = (props: ISearchPostProps) => {
.get("types")
?.split(",")
.map((type) => {
if (Object.values(EReferralType).includes(type as EReferralType)) {
return type as EReferralType
if (Object.values(EPostType).includes(type as EPostType)) {
return type as EPostType
} else {
// Handle invalid type value
return undefined // or any other default value/error handling
}
})
.filter((type) => type !== undefined) as EReferralType[]
.filter((type) => type !== undefined) as EPostType[]

const defaultPostTypes = [
EReferralType.HIRING,
EReferralType.REFEREE,
EReferralType.REFERRER,
EPostType.HIRING,
EPostType.REFEREE,
EPostType.REFERRER,
EPostType.COLLABORATION,
]
const [postTypes, setPostTypes] = useState<EReferralType[]>(
const [postTypes, setPostTypes] = useState<EPostType[]>(
initialPostTypes || defaultPostTypes
)

Expand Down Expand Up @@ -174,7 +175,7 @@ const useSearchPost = (props: ISearchPostProps) => {
createQueryString("jobTitle", e.target.value)
}

const handlePostTypesChange = (type: EReferralType) => {
const handlePostTypesChange = (type: EPostType) => {
if (
isExistsInListHelper(postTypes, type) === true &&
postTypes.length > 1
Expand Down
29 changes: 20 additions & 9 deletions client/modules/post/components/bars/search.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import React from "react"
import { isExistsInListHelper } from "@/utils/common/helpers/check/is-exists-list"
import { useI18n } from "@/utils/services/internationalization/client"

import { EReferralType } from "@/types/common/referral-type"
import { EPostType } from "@/types/common/post-type"
import { Button } from "@/components/ui/button"
import SearchBar, {
ISearchSearchBarProps,
} from "@/components/customized-ui/bars/search"

export interface IPostTypeSectionProps {
currentPostTypes: EReferralType[]
onPostTypesChange: (v: EReferralType) => void
currentPostTypes: EPostType[]
onPostTypesChange: (v: EPostType) => void
}

const PostTypeSection: React.FunctionComponent<IPostTypeSectionProps> = ({
Expand All @@ -22,35 +22,46 @@ const PostTypeSection: React.FunctionComponent<IPostTypeSectionProps> = ({
<div className="flex flex-row gap-2 ">
<Button
variant={
isExistsInListHelper(currentPostTypes, EReferralType.REFERRER)
isExistsInListHelper(currentPostTypes, EPostType.REFERRER)
? "default"
: "secondary"
}
onClick={() => onPostTypesChange(EReferralType.REFERRER)}
onClick={() => onPostTypesChange(EPostType.REFERRER)}
>
{t("post.type.referer.title")}
</Button>

<Button
variant={
isExistsInListHelper(currentPostTypes, EReferralType.REFEREE)
isExistsInListHelper(currentPostTypes, EPostType.REFEREE)
? "default"
: "secondary"
}
onClick={() => onPostTypesChange(EReferralType.REFEREE)}
onClick={() => onPostTypesChange(EPostType.REFEREE)}
>
{t("post.type.referee.title")}
</Button>
<Button
variant={
isExistsInListHelper(currentPostTypes, EReferralType.HIRING)
isExistsInListHelper(currentPostTypes, EPostType.HIRING)
? "default"
: "secondary"
}
onClick={() => onPostTypesChange(EReferralType.HIRING)}
onClick={() => onPostTypesChange(EPostType.HIRING)}
>
{t("post.type.hiring.title")}
</Button>

<Button
variant={
isExistsInListHelper(currentPostTypes, EPostType.COLLABORATION)
? "default"
: "secondary"
}
onClick={() => onPostTypesChange(EPostType.COLLABORATION)}
>
{t("post.type.collaboration.title")}
</Button>
</div>
)
}
Expand Down
27 changes: 19 additions & 8 deletions client/modules/post/components/drawers/search.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { IPostTypeSectionProps } from "@/modules/post/components/bars/search"
import { isExistsInListHelper } from "@/utils/common/helpers/check/is-exists-list"
import { useI18n } from "@/utils/services/internationalization/client"

import { EReferralType } from "@/types/common/referral-type"
import { EPostType } from "@/types/common/post-type"
import { Button } from "@/components/ui/button"
import SearchDrawer, {
ISearchDrawerProps,
Expand All @@ -19,38 +19,49 @@ const Fields: React.FunctionComponent<IPostTypeSectionProps> = ({
}) => {
const t = useI18n()
return (
<div className="mt-2 grid grid-cols-3 gap-2">
<div className="mt-2 grid grid-cols-2 gap-2">
<Button
variant={
isExistsInListHelper(currentPostTypes, EReferralType.REFERRER)
isExistsInListHelper(currentPostTypes, EPostType.REFERRER)
? "default"
: "secondary"
}
onClick={() => onPostTypesChange(EReferralType.REFERRER)}
onClick={() => onPostTypesChange(EPostType.REFERRER)}
>
{t("post.type.referer.title")}
</Button>

<Button
variant={
isExistsInListHelper(currentPostTypes, EReferralType.REFEREE)
isExistsInListHelper(currentPostTypes, EPostType.REFEREE)
? "default"
: "secondary"
}
onClick={() => onPostTypesChange(EReferralType.REFEREE)}
onClick={() => onPostTypesChange(EPostType.REFEREE)}
>
{t("post.type.referee.title")}
</Button>
<Button
variant={
isExistsInListHelper(currentPostTypes, EReferralType.HIRING)
isExistsInListHelper(currentPostTypes, EPostType.HIRING)
? "default"
: "secondary"
}
onClick={() => onPostTypesChange(EReferralType.HIRING)}
onClick={() => onPostTypesChange(EPostType.HIRING)}
>
{t("post.type.hiring.title")}
</Button>

<Button
variant={
isExistsInListHelper(currentPostTypes, EPostType.COLLABORATION)
? "default"
: "secondary"
}
onClick={() => onPostTypesChange(EPostType.COLLABORATION)}
>
{t("post.type.collaboration.title")}
</Button>
</div>
)
}
Expand Down
11 changes: 9 additions & 2 deletions client/modules/post/create/template.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { ICityResponse } from "@/types/api/response/city"
import { ICountryResponse } from "@/types/api/response/country"
import { IIndustryResponse } from "@/types/api/response/industry"
import { IProvinceResponse } from "@/types/api/response/province"
import { EReferralType } from "@/types/common/referral-type"
import { EPostType } from "@/types/common/post-type"
import { siteConfig } from "@/config/site"
import useCreatePost from "@/hooks/api/post/create-post"
import useCityOptions from "@/hooks/common/options/city-options"
Expand Down Expand Up @@ -65,7 +65,12 @@ const CreatePostTemplate: React.FunctionComponent<ICreatePostTemplateProps> = ({
message: t("validation.text.minimum_length", { count: 10 }),
}),
type: z.enum(
[EReferralType.REFEREE, EReferralType.REFERRER, EReferralType.HIRING],
[
EPostType.REFEREE,
EPostType.REFERRER,
EPostType.HIRING,
EPostType.COLLABORATION,
],
{
required_error: t("validation.field_required"),
}
Expand Down Expand Up @@ -261,6 +266,8 @@ const CreatePostTemplate: React.FunctionComponent<ICreatePostTemplateProps> = ({
control={form.control}
label={t("post.create.type_label")}
name="type"
triggerClassName="h-fit "
itemClassName="h-fit w-screen md:w-full"
/>
<FormTextInput
control={form.control}
Expand Down
13 changes: 9 additions & 4 deletions client/modules/post/edit/template.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ import { useRouter } from "next/navigation"
import usePostTypeOptions from "@/modules/post/hooks/post-type-options"
import { useI18n } from "@/utils/services/internationalization/client"
import { zodResolver } from "@hookform/resolvers/zod"
import { set, useForm } from "react-hook-form"
import { useForm } from "react-hook-form"
import { z } from "zod"

import { ICityResponse } from "@/types/api/response/city"
import { ICountryResponse } from "@/types/api/response/country"
import { IIndustryResponse } from "@/types/api/response/industry"
import { IProvinceResponse } from "@/types/api/response/province"
import { EPostStatus } from "@/types/common/post-status"
import { EReferralType } from "@/types/common/referral-type"
import { EPostType } from "@/types/common/post-type"
import { siteConfig } from "@/config/site"
import useGetPost from "@/hooks/api/post/get-post"
import useUpdatePost from "@/hooks/api/post/update-post"
Expand Down Expand Up @@ -51,7 +51,7 @@ interface IForm {
jobTitle: string
url?: string
postUuid: string
type: EReferralType
type: EPostType
}

const EditPostPageTemplate: React.FunctionComponent<
Expand Down Expand Up @@ -81,7 +81,12 @@ const EditPostPageTemplate: React.FunctionComponent<
.optional()
.or(z.literal("")),
type: z.enum(
[EReferralType.REFEREE, EReferralType.REFERRER, EReferralType.HIRING],
[
EPostType.REFEREE,
EPostType.REFERRER,
EPostType.HIRING,
EPostType.COLLABORATION,
],
{
required_error: t("validation.field_required"),
}
Expand Down
Loading

0 comments on commit f80ce94

Please sign in to comment.