Skip to content
This repository has been archived by the owner on Jan 16, 2024. It is now read-only.

Development #98

Merged
merged 315 commits into from
Jan 16, 2024
Merged

Development #98

merged 315 commits into from
Jan 16, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Dec 31, 2023

  1. feat(api): add api endpoint /api/poll

      ## what
      - add api endpoint `/api/poll`
    
      ## how
    
      ## why
      - this will be used get the latest problem submissions
    
      ## where
      - ./src/app/api/poll/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    c60046b View commit details
    Browse the repository at this point in the history
  2. refactor(types): change Problem.status type to string

      ## what
      - change `Problem.status` type to `string`
    
      ## how
    
      ## why
      - the upstream api will return as a number
      - the NextJS api will convert number to a string
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    93148df View commit details
    Browse the repository at this point in the history
  3. chore(types): add object ProblemStatus

      ## what
      - add object `ProblemStatus`
    
      ## how
    
      ## why
      - will be used to convert `Problem` property `status` from a number to
        a string
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    5ab3d87 View commit details
    Browse the repository at this point in the history
  4. chore(api): convert Problem status to a string

      ## what
      - convert Problem `status` to a string
        - number
          - 0: Unavailable
          - 1: Normal
          - 2: Special Judge
    
      ## how
      - use object `ProblemStatus` from `@/types/index.ts` to convert a
        number into a string
    
      ## why
      - don't need the client side to convert the data
    
      ## where
      - ./src/app/api/problems/[problemNum]/route.ts
      - ./src/app/api/problems/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    ba8e197 View commit details
    Browse the repository at this point in the history
  5. docs(api): add docs on what the key is used for in endpoint `/api/pro…

    …blems/:problemNum`
    
      ## what
      - add docs on what the key is used for in endpoint `/api/problems/:problemNum`
    
      ## how
      - obtained from
        - https://uhunt.onlinejudge.org/api
          - `Problem List` section
    
      ## why
      - for better clarity
    
      ## where
      - ./src/app/api/problems/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    f396536 View commit details
    Browse the repository at this point in the history
  6. chore(api): mutate the data returned from upstream for endpoint `/api…

    …/poll`
    
      ## what
      - mutate the data returned from upstream for endpoint `/api/poll`
        - convert `verdict ID` to a string
          - use object to map through the IDs
        - convert `language ID` to a string
          - use object to map through the IDs
        - convert `rank` to a string
          - return '-' if rank below 0.
          - return the provided value if rank is above 0
        - add problem number as an object property
        - add problem title as an object property
    
      ## how
      - map through each element in the array
    
      ## why
      - better to do preprocessing server side than client side
        - ex: getting the `problem number` from `problem id`
    
      ## where
      - ./src/app/api/poll/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    c463a36 View commit details
    Browse the repository at this point in the history
  7. chore(api): move endpoint /api/poll to /api/poll/:pollId

      ## what
      - move endpoint `/api/poll` to `/api/poll/:pollId`
    
      ## how
    
      ## why
      - this required because of the way polling works in the upstream api
      - the first time when polling the polling ID would be 0
      - after that the polling ID would be the latest `submission ID`
    
      ## where
      - ./src/app/api/poll/route.ts -> ./src/app/api/poll/[pollId]/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    fe9c7d9 View commit details
    Browse the repository at this point in the history
  8. chore(types): add Verdict number to string map

      ## what
      - add `Verdict` number to string map
    
      ## how
    
      ## why
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    16b4ebd View commit details
    Browse the repository at this point in the history
  9. chore(types): add Language number to string map

      ## what
      - add `Language` number to string map
    
      ## how
    
      ## why
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    c20ec80 View commit details
    Browse the repository at this point in the history
  10. chore(types): add type Submission

      ## what
      - add type `Submission`
    
      ## how
    
      ## why
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    d7f9e7c View commit details
    Browse the repository at this point in the history
  11. build(tsc): compile project to ESNext

      ## what
      - compile project to `ESNext`
    
      ## how
    
      ## why
    
      ## where
      - ./tsconfig.json
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    298de47 View commit details
    Browse the repository at this point in the history
  12. refactor(api:poll): convert ver number into string into property `v…

    …erdictStr`
    
      ## what
      - convert `ver` number into string into property `verdictStr`
    
      ## how
    
      ## why
      - the property `ver` will be used assigning bg-color depending on the
        value
    
      ## where
      - ./src/app/api/poll/[pollId]/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    8515dc0 View commit details
    Browse the repository at this point in the history
  13. feat(api:poll): process submissions from endpoint /api/poll/[pollId]

      ## what
      - process submissions from endpoint `/api/poll/[pollId]`
        - reverse the array
        - group submissions by submission id (`sid`)
        - flatten the array of array
          - pick only the latest submission after grouping by `sid`
        - sort the array by submission time
    
      ## how
    
      ## why
      - the submissions contain duplicate entries
        - the first submission is in status of `In Queue`
        - the second submission is the processed submission with verdict
    
      ## where
      - ./src/app/api/poll/[pollId]/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    ad53d2e View commit details
    Browse the repository at this point in the history
  14. style(layout): add padding to the main content

      ## what
      - add padding to the main content
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/layout.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    ab33318 View commit details
    Browse the repository at this point in the history
  15. build(npm): add package react-query

      ## what
      - add package `react-query`
    
      ## how
    
      ## why
    
      ## where
      - ./package-lock.json
      - ./package.json
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    b65d0e7 View commit details
    Browse the repository at this point in the history
  16. chore(provider): add Provider for react-query

      ## what
      - add Provider for `react-query`
    
      ## how
      - obtained from
        - https://tanstack.com/query/latest/docs/react/guides/advanced-ssr#server-components--nextjs-app-router
    
      ## why
    
      ## where
      - ./src/provider/ReactQuery.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    cac914e View commit details
    Browse the repository at this point in the history
  17. chore(layout): use react-query provider

      ## what
      - use `react-query` provider
    
      ## how
      - obtained from
        - https://tanstack.com/query/latest/docs/react/guides/advanced-ssr#server-components--nextjs-app-router
    
      ## why
    
      ## where
      - ./src/app/layout.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    7c892c7 View commit details
    Browse the repository at this point in the history
  18. build(npm): add package axios

      ## what
      - add package `axios`
    
      ## how
    
      ## why
    
      ## where
      - ./package-lock.json
      - ./package.json
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    e9ff9fb View commit details
    Browse the repository at this point in the history
  19. build(shadcn): add component Table

      ## what
      - add component `Table`
    
      ## how
      - run command
        npx shadcn-ui@latest add table
    
      ## why
    
      ## where
      - ./src/components/ui/table.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    820badb View commit details
    Browse the repository at this point in the history
  20. chore: add ReactQuery devtools

    to be removed
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    dbaaa5b View commit details
    Browse the repository at this point in the history
  21. refactor(api:poll): use axios to fetch data

      ## what
      - use `axios` to fetch data
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/api/poll/[pollId]/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    cb2dc97 View commit details
    Browse the repository at this point in the history
  22. chore(tailwind): merge duplicate tailwind.config files

      ## what
      - merge duplicate `tailwind.config` files
    
      ## how
    
      ## why
    
      ## where
      - ./components.json
      - ./tailwind.config.js
      - ./tailwind.config.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    29be0f6 View commit details
    Browse the repository at this point in the history
  23. feat(hooks): add react-query hook to fetch live submissions

      ## what
      - add react-query hook to fetch live submissions
        - provide
          - pollId
          - fetchInterval
    
      ## how
    
      ## why
      - this will be used to fetch live submissions in an interval
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    19f0d72 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    e2ca82f View commit details
    Browse the repository at this point in the history
  25. refactor(types): add fgColor, bgColor and title to Verdict object

      ## what
      - add fgColor, bgColor and title to Verdict object
    
      ## how
    
      ## why
      - this will be used in api endpoint `/api/poll/pollId`
        - it will be used for filling in the necessary data needed for the
          front end
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    9bc0c1f View commit details
    Browse the repository at this point in the history
  26. chore(api:poll): update setting verdict properties

      ## what
      - update setting `verdict` properties
    
      ## how
    
      ## why
      - to work with the change in commit 98090f4
    
      ## where
      - ./src/app/api/poll/[pollId]/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    8480c2d View commit details
    Browse the repository at this point in the history
  27. docs(types): add types to Verdict and Language

      ## what
      - add types to `Verdict` and `Language`
    
      ## how
    
      ## why
      - to be able to dynamically use the object using `[]` notation
        - typescript complains about object index type compatibility issues
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    f809ede View commit details
    Browse the repository at this point in the history
  28. refactor(api:poll): reword the variables being used

      ## what
      - reword the variables being used
    
      ## how
    
      ## why
      - code is more readable
    
      ## where
      - ./src/app/api/poll/[pollId]/route.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    a4e7c8f View commit details
    Browse the repository at this point in the history
  29. feat(components): add component LiveSubmissionTable

      ## what
      - add component `LiveSubmissionTable`
    
      ## how
    
      ## why
      - will be used for displaying live submissions
    
      ## where
      - ./src/app/LiveSubmissionTable.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    0278c98 View commit details
    Browse the repository at this point in the history
  30. docs(types): add docs to VerdictType

      ## what
      - add docs to `VerdictType`
    
      ## how
    
      ## why
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    b3050a9 View commit details
    Browse the repository at this point in the history
  31. chore(page:home): remove template code

      ## what
      - remove template code
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/page.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    be5f6b2 View commit details
    Browse the repository at this point in the history
  32. docs(hooks): add docs for useFetchLiveSubmission hook

      ## what
      - add docs for `useFetchLiveSubmission` hook
    
      ## how
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    eaa3140 View commit details
    Browse the repository at this point in the history
  33. chore(hooks): add staleTime for useFetchLiveSubmission hook

      ## what
      - add `staleTime` for `useFetchLiveSubmission` hook
    
      ## how
    
      ## why
      - this will set the data to be stale after the `fetchInterval` time
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    d2ca3b8 View commit details
    Browse the repository at this point in the history
  34. feat(page:home): fetch live submissions and display it

      ## what
      - fetch live submissions and display it
        - fetch data
        - display `loading` when fetching data
        - display `error` when fetching has failed
        - display live submissions after fetching data
        - refetch data after `5000ms`
    
      ## how
        - store the initial pollId to 0 using React `useRef`
        - fetch the data using hook `useFetchLiveSubmission`
          - requires pollId
          - refetch data after `5000ms`
        - store the pollId to the latest submission ID after a successfully
          fetching data
        - display `Loading data` when initially fetching data
        - display `Error fetching data` when there's an error fetching data
        - display the fetched data using `LiveSubmissionTable` component
    
      ## why
      - to display live submissions data
    
      ## where
      - ./src/app/page.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    1d67137 View commit details
    Browse the repository at this point in the history
  35. docs(docs:images): add a screenshot of home page

      ## what
      - add a screenshot of home page
    
      ## how
    
      ## why
      - will be used to display screenshot of `README.md`
    
      ## where
      - ./docs/images/page-home.png
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    9b7c385 View commit details
    Browse the repository at this point in the history
  36. docs(readme): display screenshot of home page

      ## what
      - display screenshot of `home` page
    
      ## how
    
      ## why
    
      ## where
      - ./README.md
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    f74b2eb View commit details
    Browse the repository at this point in the history
  37. chore(tailwind): fix eslint error

      ## what
      - fix eslint error
        - set `config.theme.extend.keyframes.accordion-down.from.height` to a string value
        - set `config.theme.extend.keyframes.accordion-up.from.height` to a string value
    
      ## how
    
      ## why
    
      ## where
      - ./tailwind.config.ts
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    36f42b0 View commit details
    Browse the repository at this point in the history
  38. build(shadcn): add component Skeleton

      ## what
      - add component `Skeleton`
    
      ## how
      - run command
        npx shadcn-ui@latest add skeleton
    
      ## why
    
      ## where
      - ./src/components/ui/skeleton.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    dc7808b View commit details
    Browse the repository at this point in the history
  39. chore(components): add TableRow in TableHeader section of `LiveSubm…

    …issionTable` component
    
      ## what
      - add `TableRow` in TableHeader section of `LiveSubmissionTable` component
    
      ## how
    
      ## why
      - web browser is complaining `TableHeader` doesn't have `TableRow`
    
      ## where
      - ./src/app/LiveSubmissionTable.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    31af5a3 View commit details
    Browse the repository at this point in the history
  40. feat(page:home): add Skeleton when fetching data

      ## what
      - add `Skeleton` when fetching data
    
      ## how
      - use shadcn-ui components
        - `Table`
        - `Skeleton`
    
      ## why
      - add better user experience when the data is being fetched
    
      ## where
      - ./src/app/page.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    dd8b5b4 View commit details
    Browse the repository at this point in the history
  41. docs(docs:images): add a screenshot of home page when loading

      ## what
      - add a screenshot of home page when loading
    
      ## how
    
      ## why
      - will be used to display screenshot on `README.md`
    
      ## where
      - ./docs/images/page-home-loading.png
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    afec254 View commit details
    Browse the repository at this point in the history
  42. docs(readme): display screenshot of loading home page

      ## what
      - display screenshot of `loading home` page
    
      ## how
    
      ## why
    
      ## where
      - ./README.md
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    f900937 View commit details
    Browse the repository at this point in the history
  43. chore(query): display react-query-devtools on development env

      ## what
      - display `react-query-devtools` on development env
    
      ## how
    
      ## why
    
      ## where
      - ./src/provider/ReactQuery.tsx
    
      ## usage
    Clumsy-Coder committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    63fc4db View commit details
    Browse the repository at this point in the history
  44. chore(release): 1.0.0-development.2 [skip ci]

    ## [1.0.0-development.2](1.0.0-development.1...1.0.0-development.2) (2023-12-31)
    
    ### ✨ Features
    
    * **api:poll:** process submissions from endpoint `/api/poll/[pollId]` ([ad53d2e](ad53d2e))
    * **api:** add api endpoint `/api/poll` ([c60046b](c60046b))
    * **api:** add endpoint `/api/problems/:problemNum` ([62ce762](62ce762))
    * **api:** add endpoint `/api/problems` ([e65ce18](e65ce18))
    * **api:** add some basic checks for endpoint `/api/problems/:problemNum` ([94049cc](94049cc))
    * **components:** add `Navbar` component ([27c1b8f](27c1b8f))
    * **components:** add component `LiveSubmissionTable` ([0278c98](0278c98))
    * **hooks:** add react-query hook to fetch live submissions ([19f0d72](19f0d72))
    * **page:home:** add `Skeleton` when fetching data ([dd8b5b4](dd8b5b4))
    * **page:home:** fetch live submissions and display it ([1d67137](1d67137))
    semantic-release-bot committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    cda657a View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2024

  1. build(deps): bump @tanstack/react-query from 5.15.5 to 5.17.0

    Bumps [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) from 5.15.5 to 5.17.0.
    - [Release notes](https://github.com/TanStack/query/releases)
    - [Commits](https://github.com/TanStack/query/commits/v5.17.0/packages/react-query)
    
    ---
    updated-dependencies:
    - dependency-name: "@tanstack/react-query"
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    7c56145 View commit details
    Browse the repository at this point in the history
  2. build(deps): bump clsx from 2.0.0 to 2.1.0

    Bumps [clsx](https://github.com/lukeed/clsx) from 2.0.0 to 2.1.0.
    - [Release notes](https://github.com/lukeed/clsx/releases)
    - [Commits](lukeed/clsx@v2.0.0...v2.1.0)
    
    ---
    updated-dependencies:
    - dependency-name: clsx
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    83b2c02 View commit details
    Browse the repository at this point in the history
  3. build(deps): bump moment from 2.30.0 to 2.30.1

    Bumps [moment](https://github.com/moment/moment) from 2.30.0 to 2.30.1.
    - [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
    - [Commits](moment/moment@2.30.0...2.30.1)
    
    ---
    updated-dependencies:
    - dependency-name: moment
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    7e6d6cb View commit details
    Browse the repository at this point in the history
  4. build(devDep): bump @types/node from 20.10.5 to 20.10.6

    Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.5 to 20.10.6.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/node"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    82d6146 View commit details
    Browse the repository at this point in the history
  5. build(deps): bump @tanstack/react-query-devtools from 5.15.5 to 5.17.0

    Bumps [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) from 5.15.5 to 5.17.0.
    - [Release notes](https://github.com/TanStack/query/releases)
    - [Commits](https://github.com/TanStack/query/commits/v5.17.0/packages/react-query-devtools)
    
    ---
    updated-dependencies:
    - dependency-name: "@tanstack/react-query-devtools"
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    4057d45 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

  1. build(npm): add package @tanstack/react-table

      ## what
      - add package `@tanstack/react-table`
    
      ## how
    
      ## why
      - will be used shadcn-ui `Table` to make a more complex table
    
      ## where
      - ./package-lock.json
      - ./package.json
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    d69f54a View commit details
    Browse the repository at this point in the history
  2. build(shadcn): add component DataTable

      ## what
      - add component `DataTable`
    
      ## how
      - obtained from
        - https://ui.shadcn.com/docs/components/data-table#datatable--component
    
      ## why
      - this component was designed for one use, but this component will be
        used in multiple pages, so it makes sense to place it
        `src/components/ui/`
        - check end of section of the link above
    
      ## where
      - ./src/components/ui/data-table.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    4ef5681 View commit details
    Browse the repository at this point in the history
  3. chore(shadcn): add columns properties for DataTable component

      ## what
      - add columns properties for `DataTable` component
        - define which columns to display on the DataTable
    
      ## how
      - check
        - https://ui.shadcn.com/docs/components/data-table#column-definitions
    
      ## why
      - this will determine which columns to display
    
      ## where
      - ./src/app/problems/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    730fbb3 View commit details
    Browse the repository at this point in the history
  4. chore(hooks): add react-query hook to fetch all problems

      ## what
      - add react-query hook to fetch all problems
    
      ## how
      - fetch from api endpoint `/api/problems`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    f6e0b1f View commit details
    Browse the repository at this point in the history
  5. feat(page:problems): display all problems using DataTable component

      ## what
      - display all problems using `DataTable` component
    
      ## how
      - using component `DataTable`
      - check
        - https://ui.shadcn.com/docs/components/data-table
    
      ## why
      - the `DataTable` will later be changed to be able to
        - search by problem number or problem title
        - add problem to favourites
        - remove problem to favourites
        - view/hide columns
        - add pagination
    
      ## where
      - ./src/app/problems/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    401ae1c View commit details
    Browse the repository at this point in the history
  6. feat(shadcn): add pagination to DataTable component

      ## what
      - add pagination to `DataTable` component
    
      ## how
      - check
        - https://ui.shadcn.com/docs/components/data-table#pagination
    
      ## why
      - to not load the a huge list of elements at once
        - lighter on memory
    
      ## where
      - ./src/components/ui/data-table.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    2c7df8e View commit details
    Browse the repository at this point in the history
  7. feat(shadcn): add column scrolling to DataTable component

      ## what
      - add column scrolling to `DataTable` component
    
      ## how
      - check
        - https://ui.shadcn.com/docs/components/data-table#sorting
    
      ## why
      - allows a column to be sorted
    
      ## where
      - ./src/components/ui/data-table.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    55f98b4 View commit details
    Browse the repository at this point in the history
  8. feat(components): add column properties to be sortable DataTable co…

    …mponent
    
      ## what
      - add column properties to be sortable `DataTable` component
    
      ## how
      - check
        - https://ui.shadcn.com/docs/components/data-table#make-header-cell-sortable
    
      ## why
      - to have the ability to sort the table as you please
    
      ## where
      - ./src/app/problems/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    9b1ab5d View commit details
    Browse the repository at this point in the history
  9. feat(shadcn): add column visibility toggle for DataTable component

      ## what
      - add column visibility toggle for `DataTable` component
    
      ## how
      - check
        - https://ui.shadcn.com/docs/components/data-table#visibility
    
      ## why
      - this will allow the usage of toggling columns visibility
    
      ## where
      - ./src/components/ui/data-table.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    c623e43 View commit details
    Browse the repository at this point in the history
  10. build(npm): add package @radix-ui/react-icons

      ## what
      - add package `@radix-ui/react-icons`
    
      ## how
    
      ## why
    
      ## where
      - ./package-lock.json
      - ./package.json
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    2119ca7 View commit details
    Browse the repository at this point in the history
  11. build(shadcn): add component Select

      ## what
      - add component `Select`
    
      ## how
      - run command
        npx shadcn-ui@latest add select
    
      ## why
    
      ## where
      - ./package-lock.json
      - ./package.json
      - ./src/components/ui/select.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    08aad51 View commit details
    Browse the repository at this point in the history
  12. feat(shadcn): add DataTablePagination component

      ## what
      - add `DataTablePagination` component
    
      ## how
      - obtained from
        - https://github.com/shadcn-ui/ui/blob/main/apps/www/app/examples/tasks/components/data-table-pagination.tsx
    
      ## why
      - the table pagination is getting complicated, so it's better to move
        it to it's own file
    
      ## where
      - ./src/components/ui/data-table/pagination.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    2500aa1 View commit details
    Browse the repository at this point in the history
  13. refactor(shadcn): use component DataTablePagination in DataTable

    …component
    
      ## what
      - use component `DataTablePagination` in `DataTable` component
    
      ## how
      - obtained from
        - https://github.com/shadcn-ui/ui/blob/main/apps/www/app/examples/tasks/components/data-table.tsx#L123
    
      ## why
      - the table pagination is getting complicated, so it's better to move
        it to it's own file
    
      ## where
      - ./src/components/ui/data-table.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    cc9afba View commit details
    Browse the repository at this point in the history
  14. chore(shadcn): move DataTable to `./src/components/ui/data-table/in…

    …dex.tsx`
    
      ## what
      - move `DataTable` to `./src/components/ui/data-table/index.tsx`
    
      ## how
    
      ## why
      - place data-table related to it's own folder
    
      ## where
      - ./src/components/ui/data-table.tsx -> ./src/components/ui/data-table/index.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    29fa0e2 View commit details
    Browse the repository at this point in the history
  15. feat(components): add a Link to the problem page in DataTable for `…

    …/problems`
    
      ## what
      - add a Link to the problem page in `DataTable` for `/problems`
    
      ## how
    
      ## why
      - need to be able to go the problem page for a specific problem number
    
      ## where
      - ./src/app/problems/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    e9c16f5 View commit details
    Browse the repository at this point in the history
  16. chore(components): use Problem as a type in DataTable columns

      ## what
      - use `Problem` as a type in DataTable columns
    
      ## how
    
      ## why
      - was using incorrect type for the column
    
      ## where
      - ./src/app/problems/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    f126918 View commit details
    Browse the repository at this point in the history
  17. style(components): format code

      ## what
      - format code
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    5e22c8a View commit details
    Browse the repository at this point in the history
  18. build(shadcn): add component Input

      ## what
      - add component `Input`
    
      ## how
      - run command
        npx shadcn-ui@latest add input
    
      ## why
    
      ## where
      - ./src/components/ui/input.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    ee772bc View commit details
    Browse the repository at this point in the history
  19. feat(shadcn): add ability to filter any column in DataTable component

      ## what
      - add ability to filter any column in `DataTable` component
    
      ## how
      - obtained from
        - https://youtu.be/ZG2_vPlQA8Q?si=4AvVNavj5ih1A8tQ
    
      ## why
      - this will allow the ability to filter by any column
    
      ## where
      - ./src/components/ui/data-table/index.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    5ec2df1 View commit details
    Browse the repository at this point in the history
  20. feat(shadcn:data-table): add button to clear filter

      ## what
      - add button to clear filter
    
      ## how
    
      ## why
    
      ## where
      - ./src/components/ui/data-table/index.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    5072674 View commit details
    Browse the repository at this point in the history
  21. chore(shadcn:data-table): add icon in DataTable columns dropdown

      ## what
      - add icon in DataTable `columns` dropdown
      - add dropdown separator when opening the dropdown
    
      ## how
    
      ## why
      - better looking
    
      ## where
      - ./src/components/ui/data-table/index.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    6fd2010 View commit details
    Browse the repository at this point in the history
  22. chore(shadcn:data-table): use custom string in DataTable dropdown

      ## what
      - use custom string in DataTable dropdown
    
      ## how
      - add custom property `meta` in columns.tsx
      - check https://tanstack.com/table/v8/docs/api/core/column-def#meta
    
      ## why
      - add better string to display in dropdown
        - before it was displaying the column ID
    
      ## where
      - ./src/app/problems/components/data-table/columns.tsx
      - ./src/components/ui/data-table/index.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    ae7cedc View commit details
    Browse the repository at this point in the history
  23. chore(components:data-table): display link as a button

      ## what
      - display link as a button
    
      ## how
    
      ## why
      - makes it more apparent that there is a link available
    
      ## where
      - ./src/app/problems/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    0ac4e71 View commit details
    Browse the repository at this point in the history
  24. chore(pages:problems): add page title

      ## what
      - add page title
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    ffbe8da View commit details
    Browse the repository at this point in the history
  25. chore(shadcn:data-table): display total number of items in the DataTable

      ## what
      - display total number of items in the DataTable
    
      ## how
    
      ## why
      - to give the user an idea how many items are there in a table
    
      ## where
      - ./src/components/ui/data-table/pagination.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    dbc834f View commit details
    Browse the repository at this point in the history
  26. feat(shadcn:data-table): add column header component for DataTable

      ## what
      - add column header component for DataTable
        - sort column
          - ascending
          - descending
          - default (sort by it's original order)
        - hide column
    
      ## how
      - obtained from
        - https://github.com/shadcn-ui/ui/blob/main/apps/www/app/examples/tasks/components/data-table-column-header.tsx
    
      ## why
      - this will be used by DataTable to render a more advanced column header
        - this is opt-in
      - this can only be used in a `column.tsx` file
        - check
          - https://github.com/shadcn-ui/ui/blob/fb614ac2921a84b916c56e9091aa0ae8e129c565/apps/www/app/examples/tasks/components/columns.tsx#L38-L46C4
    
      ## where
      - ./src/components/ui/data-table/column-header.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    165aa6c View commit details
    Browse the repository at this point in the history
  27. refactor(components:data-table): use DataTableColumnHeader to rende…

    …r column header
    
      ## what
      - use `DataTableColumnHeader` to render column header
    
      ## how
    
      ## why
      - this will add a more advanced form of column header options
        - sort column
          - ascending
          - descending
          - default
        - hide column
    
      ## where
      - ./src/app/problems/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    59b5444 View commit details
    Browse the repository at this point in the history
  28. chore(pages:problems): remove unused code

      ## what
      - remove unused code
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    f597394 View commit details
    Browse the repository at this point in the history
  29. chore(shadcn:data-table): disable word-wrapping for pagination number

      ## what
      - disable word-wrapping for pagination number
        - show `Page 'i' of 'x'` in the same line
    
      ## how
    
      ## why
    
      ## where
      - ./src/components/ui/data-table/pagination.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    b745cc7 View commit details
    Browse the repository at this point in the history
  30. feat(shadcn:data-table): add loading component for DataTable

    ## what
      - add loading component for DataTable
    
      ## how
    
      ## why
      - will be used to display when fetching data
    
      ## where
      - ./src/components/ui/data-table/loading.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    3851747 View commit details
    Browse the repository at this point in the history
  31. style(css): add css classnames

      ## what
      - add css classnames
        - nav-link
          - highlight the link on hover
        - active-nav-link
          - highlight the link. (used when the link and current page are the
            same)
    
      ## how
    
      ## why
      - these two nav-links will be used in `Navbar` component to
        - highlight a link on hover
        - highlight a link when the current path url is the same as the nav
          link url
    
      ## where
      - ./src/app/globals.css
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    7f94cfd View commit details
    Browse the repository at this point in the history
  32. chore(components:navbar): add navbar link to /problems page

      ## what
      - add navbar link to `/problems` page
    
      ## how
    
      ## why
    
      ## where
      - ./src/components/navbar.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    b39fca5 View commit details
    Browse the repository at this point in the history
  33. feat(components:navbar): highlight active links

      ## what
      - highlight active links
    
      ## how
      - use css classname from `globals.css`
        - nav-link
          - highlight link on hover
        - active-nav-link
          - highlight link when link href is the same as the url pathname
    
      ## why
    
      ## where
      - ./src/components/navbar.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    1c21c75 View commit details
    Browse the repository at this point in the history
  34. chore(pages:problems): display a loading component for /problems page

      ## what
      - display a loading component for `/problems` page
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    8721f18 View commit details
    Browse the repository at this point in the history
  35. docs(docs:images): add a screenshot of /problems page

      ## what
      - add a screenshot of `/problems` page
        - loading
        - data loaded
    
      ## how
    
      ## why
    
      ## where
      - ./docs/images/page-problems-loading.png
      - ./docs/images/page-problems.png
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    265d3d8 View commit details
    Browse the repository at this point in the history
  36. docs(readme): display screenshots of /problems page

      ## what
      - display screenshots of `/problems` page
        - loading
        - data loaded
    
      ## how
    
      ## why
    
      ## where
      - ./README.md
    
      ## usage
    Clumsy-Coder committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    685b71d View commit details
    Browse the repository at this point in the history
  37. chore(release): 1.0.0-development.3 [skip ci]

    ## [1.0.0-development.3](1.0.0-development.2...1.0.0-development.3) (2024-1-2)
    
    ### ✨ Features
    
    * **components:navbar:** highlight active links ([1c21c75](1c21c75))
    * **components:** add a Link to the problem page in `DataTable` for `/problems` ([e9c16f5](e9c16f5))
    * **components:** add column properties to be sortable `DataTable` component ([9b1ab5d](9b1ab5d))
    * **page:problems:** display all problems using `DataTable` component ([401ae1c](401ae1c))
    * **shadcn:data-table:** add button to clear filter ([5072674](5072674))
    * **shadcn:data-table:** add column header component for DataTable ([165aa6c](165aa6c)), closes [/github.com/shadcn-ui/ui/blob/fb614ac2921a84b916c56e9091aa0ae8e129c565/apps/www/app/examples/tasks/components/columns.tsx#L38-L46C4](https://github.com/Clumsy-Coder//github.com/shadcn-ui/ui/blob/fb614ac2921a84b916c56e9091aa0ae8e129c565/apps/www/app/examples/tasks/components/columns.tsx/issues/L38-L46C4)
    * **shadcn:data-table:** add loading component for DataTable ([3851747](3851747))
    * **shadcn:** add `DataTablePagination` component ([2500aa1](2500aa1))
    * **shadcn:** add ability to filter any column in `DataTable` component ([5ec2df1](5ec2df1))
    * **shadcn:** add column scrolling to `DataTable` component ([55f98b4](55f98b4))
    * **shadcn:** add column visibility toggle for `DataTable` component ([c623e43](c623e43))
    * **shadcn:** add pagination to `DataTable` component ([2c7df8e](2c7df8e))
    semantic-release-bot committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    2f06852 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

  1. build(deps): bump @tanstack/react-query from 5.17.0 to 5.17.1

    Bumps [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) from 5.17.0 to 5.17.1.
    - [Release notes](https://github.com/TanStack/query/releases)
    - [Commits](https://github.com/TanStack/query/commits/v5.17.1/packages/react-query)
    
    ---
    updated-dependencies:
    - dependency-name: "@tanstack/react-query"
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    6ff279a View commit details
    Browse the repository at this point in the history
  2. build(deps): bump @tanstack/react-query-devtools from 5.17.0 to 5.17.1

    Bumps [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) from 5.17.0 to 5.17.1.
    - [Release notes](https://github.com/TanStack/query/releases)
    - [Commits](https://github.com/TanStack/query/commits/v5.17.1/packages/react-query-devtools)
    
    ---
    updated-dependencies:
    - dependency-name: "@tanstack/react-query-devtools"
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    15d5d13 View commit details
    Browse the repository at this point in the history
  3. build(deps): bump @tanstack/react-table from 8.11.2 to 8.11.3

    Bumps [@tanstack/react-table](https://github.com/tanstack/table) from 8.11.2 to 8.11.3.
    - [Release notes](https://github.com/tanstack/table/releases)
    - [Commits](TanStack/table@v8.11.2...v8.11.3)
    
    ---
    updated-dependencies:
    - dependency-name: "@tanstack/react-table"
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    b1fecb7 View commit details
    Browse the repository at this point in the history
  4. build(shadcn): add component Badge

      ## what
      - add component `Badge`
    
      ## how
      - run command
        npx shadcn-ui@latest add badge
    
      ## why
      - this component will be used to display the verdict in
        `LiveSubmissions`
    
      ## where
      - ./src/components/ui/badge.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    c3f52d6 View commit details
    Browse the repository at this point in the history
  5. chore(components:data-table): add columns.tsx for home page

      ## what
      - add `columns.tsx` for home page
      - display the `Submission ID` column
    
      ## how
    
      ## why
      - this will be used to display live submissions on the home page
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    ee89ec6 View commit details
    Browse the repository at this point in the history
  6. feat(page:home): display the DataTable for live submissions

      ## what
      - display the `DataTable` for live submissions
    
      ## how
    
      ## why
      - using the `DataTable` will allow
        - filter the table
        - sort columns
        - show/hide columns
        - use pagination
      - reusing code to keep the code base lean
    
      ## where
      - ./src/app/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    fc356b1 View commit details
    Browse the repository at this point in the history
  7. refactor(page:home): use DataTable loading component

      ## what
      - use `DataTable` loading component
    
      ## how
    
      ## why
      - reusing code
      - easy way to display skeleton data table with varying columns and
        rows
    
      ## where
      - ./src/app/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    c70af14 View commit details
    Browse the repository at this point in the history
  8. feat(components:data-table): display problem number in live submiss…

    …ions data-table
    
      ## what
      - display `problem number` in live submissions data-table
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    44f75d5 View commit details
    Browse the repository at this point in the history
  9. feat(components:data-table): display problem title in live submissi…

    …ons data-table
    
      ## what
      - display `problem title` in live submissions data-table
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    6c131eb View commit details
    Browse the repository at this point in the history
  10. feat(components:data-table): display username in live submissions d…

    …ata-table
    
      ## what
      - display `username` in live submissions data-table
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    3ad7c53 View commit details
    Browse the repository at this point in the history
  11. feat(components:data-table): display verdict in live submissions da…

    …ta-table
    
      ## what
      - display `verdict` in live submissions data-table
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    7b57189 View commit details
    Browse the repository at this point in the history
  12. feat(components:data-table): display language in live submissions d…

    …ata-table
    
      ## what
      - display `language` in live submissions data-table
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    dd6e3db View commit details
    Browse the repository at this point in the history
  13. feat(components:data-table): display runtime in live submissions da…

    …ta-table
    
      ## what
      - display `runtime` in live submissions data-table
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    b319bfe View commit details
    Browse the repository at this point in the history
  14. feat(components:data-table): display rank in live submissions data-…

    …table
    
      ## what
      - display `rank` in live submissions data-table
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    293387b View commit details
    Browse the repository at this point in the history
  15. feat(components:data-table): display submit time in live submission…

    …s data-table
    
      ## what
      - display `submit time` in live submissions data-table
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    77e225e View commit details
    Browse the repository at this point in the history
  16. style(components:data-table): add styling to live submissions `DataTa…

    …ble`
    
      ## what
      - add styling to live submissions `DataTable`
        - show underline for `submission id` cells
        - show underline for `problem number` cells
        - show underline for `problem title` cells
        - show underline for `username` cells
        - align right `submit time` column
        - remove css classes for `buttonVariant`
    
      ## how
    
      ## why
      - to make it look better
      - to make the table fit in a laptop sized screen without overflowing
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    b9f53b8 View commit details
    Browse the repository at this point in the history
  17. chore(components:data-table): disable column sorting in live submissions

      ## what
      - disable column sorting in live submissions
    
      ## how
    
      ## why
      - they have no purpose in sorting
      - they take up space, causing the table to overflow in x-axis
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    959f9b0 View commit details
    Browse the repository at this point in the history
  18. chore(components:data-table): set string names in the column dropdown

      ## what
      - set string names in the column dropdown
    
      ## how
    
      ## why
      - before the dropdown would use the column `accessorKey` as a string
        to display
        - now it's manually set to have a better look
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    fa0b20d View commit details
    Browse the repository at this point in the history
  19. build(shadcn): add component Tooltip

      ## what
      - add component `Tooltip`
    
      ## how
      - run command
        npx shadcn-ui@latest add tooltip
    
      ## why
      - will be used when hovering over `submit time` cell in live
        submissions
    
      ## where
      - ./package-lock.json
      - ./package.json
      - ./src/components/ui/tooltip.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    566f0ea View commit details
    Browse the repository at this point in the history
  20. feat(components:data-table): display submit time using tooltip

      ## what
      - display submit time using tooltip
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    30c02eb View commit details
    Browse the repository at this point in the history
  21. chore(types): add fgColor for verdict

      ## what
      - add fgColor for `verdict`
    
      ## how
    
      ## why
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    eb3c6a1 View commit details
    Browse the repository at this point in the history
  22. style(components:data-table): format code

      ## what
      - format code
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    f6fdd33 View commit details
    Browse the repository at this point in the history
  23. style(components:data-table): add padding to links in live-submission…

    … DataTable
    
      ## what
      - add padding to links in live-submission DataTable
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/components/data-table/columns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    0aa3bb2 View commit details
    Browse the repository at this point in the history
  24. chore(page:home): add page title

      ## what
      - add page title
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    8518114 View commit details
    Browse the repository at this point in the history
  25. docs(docs:images): update images for home page

      ## what
      - update images for home page
        - loading
        - data loaded
    
      ## how
    
      ## why
    
      ## where
      - ./docs/images/page-home-loading.png
      - ./docs/images/page-home.png
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    e419610 View commit details
    Browse the repository at this point in the history
  26. chore(release): 1.0.0-development.4 [skip ci]

    ## [1.0.0-development.4](1.0.0-development.3...1.0.0-development.4) (2024-1-3)
    
    ### ✨ Features
    
    * **components:data-table:** display `language` in live submissions data-table ([dd6e3db](dd6e3db))
    * **components:data-table:** display `problem number` in live submissions data-table ([44f75d5](44f75d5))
    * **components:data-table:** display `problem title` in live submissions data-table ([6c131eb](6c131eb))
    * **components:data-table:** display `rank` in live submissions data-table ([293387b](293387b))
    * **components:data-table:** display `runtime` in live submissions data-table ([b319bfe](b319bfe))
    * **components:data-table:** display `submit time` in live submissions data-table ([77e225e](77e225e))
    * **components:data-table:** display `username` in live submissions data-table ([3ad7c53](3ad7c53))
    * **components:data-table:** display `verdict` in live submissions data-table ([7b57189](7b57189))
    * **components:data-table:** display submit time using tooltip ([30c02eb](30c02eb))
    * **page:home:** display the `DataTable` for live submissions ([fc356b1](fc356b1))
    semantic-release-bot committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    58844a6 View commit details
    Browse the repository at this point in the history
  27. chore(components): remove LiveSubmissionTable component

    ## what
      - remove `LiveSubmissionTable`
    
      ## how
    
      ## why
      - no longer needed for live submissions
        - DataTable is being used instead
    
      ## where
      - ./src/app/LiveSubmissionTable.tsx
    
      ## usage
    Clumsy-Coder committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    f798c5d View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. style(components:navbar): style the first link in navbar

      ## what
      - style the first link in navbar
        - enlarge text
        - font bold
        - add margin right
    
      ## how
    
      ## why
      - to separate the home page link with the other links
    
      ## where
      - ./src/components/navbar.tsx
    
      ## usage
    Clumsy-Coder committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    b1fe859 View commit details
    Browse the repository at this point in the history
  2. build(deps): bump axios from 1.6.3 to 1.6.4

    Bumps [axios](https://github.com/axios/axios) from 1.6.3 to 1.6.4.
    - [Release notes](https://github.com/axios/axios/releases)
    - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
    - [Commits](axios/axios@v1.6.3...v1.6.4)
    
    ---
    updated-dependencies:
    - dependency-name: axios
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    0ac8423 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

  1. build(devDep): bump postcss from 8.4.32 to 8.4.33

    Bumps [postcss](https://github.com/postcss/postcss) from 8.4.32 to 8.4.33.
    - [Release notes](https://github.com/postcss/postcss/releases)
    - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
    - [Commits](postcss/postcss@8.4.32...8.4.33)
    
    ---
    updated-dependencies:
    - dependency-name: postcss
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    84bf3a4 View commit details
    Browse the repository at this point in the history
  2. build(deps): bump lucide-react from 0.303.0 to 0.305.0

    Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) from 0.303.0 to 0.305.0.
    - [Release notes](https://github.com/lucide-icons/lucide/releases)
    - [Commits](https://github.com/lucide-icons/lucide/commits/0.305.0/packages/lucide-react)
    
    ---
    updated-dependencies:
    - dependency-name: lucide-react
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    3dec90b View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. build(devDep): bump tailwindcss from 3.4.0 to 3.4.1

    Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.4.0 to 3.4.1.
    - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
    - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/v3.4.1/CHANGELOG.md)
    - [Commits](tailwindlabs/tailwindcss@v3.4.0...v3.4.1)
    
    ---
    updated-dependencies:
    - dependency-name: tailwindcss
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    5b5575e View commit details
    Browse the repository at this point in the history
  2. build(devDep): bump @types/react from 18.2.46 to 18.2.47

    Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.2.46 to 18.2.47.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/react"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    8db8ac5 View commit details
    Browse the repository at this point in the history
  3. build(deps): bump axios from 1.6.4 to 1.6.5

    Bumps [axios](https://github.com/axios/axios) from 1.6.4 to 1.6.5.
    - [Release notes](https://github.com/axios/axios/releases)
    - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
    - [Commits](axios/axios@v1.6.4...v1.6.5)
    
    ---
    updated-dependencies:
    - dependency-name: axios
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    09dda62 View commit details
    Browse the repository at this point in the history
  4. build(deps): bump @tanstack/react-query-devtools from 5.17.1 to 5.17.9

    Bumps [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) from 5.17.1 to 5.17.9.
    - [Release notes](https://github.com/TanStack/query/releases)
    - [Commits](https://github.com/TanStack/query/commits/v5.17.9/packages/react-query-devtools)
    
    ---
    updated-dependencies:
    - dependency-name: "@tanstack/react-query-devtools"
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    c3bd70a View commit details
    Browse the repository at this point in the history
  5. build(devDep): bump @types/node from 20.10.6 to 20.10.7

    Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.6 to 20.10.7.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/node"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    459800b View commit details
    Browse the repository at this point in the history
  6. build(deps): bump lucide-react from 0.305.0 to 0.307.0

    Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) from 0.305.0 to 0.307.0.
    - [Release notes](https://github.com/lucide-icons/lucide/releases)
    - [Commits](https://github.com/lucide-icons/lucide/commits/0.307.0/packages/lucide-react)
    
    ---
    updated-dependencies:
    - dependency-name: lucide-react
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    fda83bd View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. build(deps): bump lucide-react from 0.307.0 to 0.308.0

    Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) from 0.307.0 to 0.308.0.
    - [Release notes](https://github.com/lucide-icons/lucide/releases)
    - [Commits](https://github.com/lucide-icons/lucide/commits/0.308.0/packages/lucide-react)
    
    ---
    updated-dependencies:
    - dependency-name: lucide-react
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    9893209 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. build(deps): bump lucide-react from 0.308.0 to 0.309.0

    Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) from 0.308.0 to 0.309.0.
    - [Release notes](https://github.com/lucide-icons/lucide/releases)
    - [Commits](https://github.com/lucide-icons/lucide/commits/0.309.0/packages/lucide-react)
    
    ---
    updated-dependencies:
    - dependency-name: lucide-react
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    cf7e5e5 View commit details
    Browse the repository at this point in the history
  2. build(devDep): bump @types/node from 20.10.7 to 20.10.8

    Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.7 to 20.10.8.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/node"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    aa40dec View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. build(devDep): bump @types/node from 20.10.8 to 20.11.0

    Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.8 to 20.11.0.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/node"
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    67e281a View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. build(deps): bump @tanstack/react-table from 8.11.3 to 8.11.6

    Bumps [@tanstack/react-table](https://github.com/tanstack/table) from 8.11.3 to 8.11.6.
    - [Release notes](https://github.com/tanstack/table/releases)
    - [Commits](TanStack/table@v8.11.3...v8.11.6)
    
    ---
    updated-dependencies:
    - dependency-name: "@tanstack/react-table"
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    81497ed View commit details
    Browse the repository at this point in the history
  2. chore(components:error): add Error component

      ## what
      - add `Error` component
    
      ## how
      - takes in two props
        - status: http status code
        - message (optional): message to display under the status code
    
      ## why
      - this will be displayed in a page if there's an error returned when
        fetching the api server
      - using `nextjs` app router `error.tsx` doesn't help
        - ex: if there's an 404 error, the `error` page rendered, not
          `not-found.tsx`
        - ex: if there's an 400 errror, the `error` page is rendered but the
          error is unhandled
    
      ## where
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    fb69b81 View commit details
    Browse the repository at this point in the history
  3. refactor: move schema validation for endpoint `/api/problems/[problem…

    …Num]` to it's own file
    
      ## what
      - move schema validation for endpoint `/api/problems/[problemNum]` to it's own file
      - add schema in `/api/problems/[problemNum]` via import
    
      ## how
    
      ## why
      - the schema validation will also be used in the client side
        - used in `/problems[problemNum]`
    
      ## where
      - ./src/app/api/problems/[problemNum]/route.ts
      - ./src/schema/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    09fc44a View commit details
    Browse the repository at this point in the history
  4. chore(hooks): add react-query hook to fetch stats of problem number

      ## what
      - add react-query hook to fetch stats of problem number
    
      ## how
      - fetch from api endpoint `/api/problems/[problemNum]`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    75b7595 View commit details
    Browse the repository at this point in the history
  5. chore(api:problemNum): return status 404 if problem number is not found

      ## what
      - return status 404 if problem number is not found
    
      ## how
    
      ## why
      - this will ensure a problem number not found will be handled
    
      ## where
      - ./src/app/api/problems/[problemNum]/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    7a5b08c View commit details
    Browse the repository at this point in the history
  6. refactor(utils:constants): add type number to uhunt urls

      ## what
      - add type `number` to uhunt urls
    
      ## how
    
      ## why
      - it's a little tedious to convert number to a string when using the
        function
    
      ## where
      - ./src/utils/constants.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    935e4e2 View commit details
    Browse the repository at this point in the history
  7. feat(page:problemNum): fetch stats for /problems/[problemNum] page

      ## what
      - fetch stats for `/problems/[problemNum]` page
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    afe0752 View commit details
    Browse the repository at this point in the history
  8. build(shadcn): add component Card

      ## what
      - add component `Card`
    
      ## how
      - run command
        npx shadcn-ui@latest add card
    
      ## why
    
      ## where
      - ./src/components/ui/card.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    862bcc8 View commit details
    Browse the repository at this point in the history
  9. chore(page:problemNum): add structure and placeholder components

      ## what
      - add structure and placeholder components
    
      ## how
      - divide into to big sections
        - charts
          - uses grid for display
          - 2 columns on md to larger screens
          - 1 column on smaller screens
        - table
          - uses flex for display
          - will be in flex column direction
    
      ## why
      - this will show how the components are laid out
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    ba863ba View commit details
    Browse the repository at this point in the history
  10. chore(types): add object ProblemVerdictMap

      ## what
      - add object `ProblemVerdictMap`
    
      ## how
    
      ## why
      - will be used to convert verdict keys in `Problem` type into a
        readable string
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    91815db View commit details
    Browse the repository at this point in the history
  11. build(npm): add package recharts

      ## what
      - add package `recharts`
    
      ## how
    
      ## why
    
      ## where
      - ./package-lock.json
      - ./package.json
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    813def7 View commit details
    Browse the repository at this point in the history
  12. chore(tailwind): add tremor tailwindcss config

      ## what
      - add `tremor` tailwindcss config
        - brand colors
          - light mode
          - dark mode
        - background colors
          - light mode
          - dark mode
        - border colors
          - light mode
          - dark mode
        - content colors
          - light mode
          - dark mode
        - box shadow
          - light
          - dark
        - border radius
        - font size
    
      ## how
      - obtained from
        - https://www.tremor.so/docs/getting-started/installation
    
      ## why
      - some of the tailwindcss styles from `tremor.so` will be used in this app
        - using chart styles
          - bar chart
          - line chart
          - area chart
          - tooltip styles
    
      ## where
      - ./tailwind.config.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    8318b93 View commit details
    Browse the repository at this point in the history
  13. chore(utils:processing): add function to generate data for rechart

    …bar chart
    
      ## what
      - add function to generate data for `rechart` bar chart
    
      ## how
    
      ## why
      - this will be used to generate the data needed for `recharts` bar
        chart to render
    
      ## where
      - ./src/utils/dataProcessing.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    67cb4a4 View commit details
    Browse the repository at this point in the history
  14. refactor(types): combine multiple instances of Verdict into one

      ## what
      - combine multiple instances of `Verdict` into one
        - add type `ProblemVerdictType`
          - title: string to display in client side. usually for displaying tooltip title
          - bgColor: tailwindcss background color
          - fgColor: tailwindcss foreground color
          - bgHex: hexcode of property `bgColor`
          - fgHex: hexcode of propetty `fgColor`
        - apply type `ProblemVerdictType` in object `ProblemVerdictMap`
          - set their properties
          - set `Problem.ver` number as key into object `ProblemVerdictMap`
            - they map to the same key in the object `ProblemVerdictMap
            - doing this way to prevent duplocate code`
        - remove `VerdictType`
        - remove `Verdict`
          - the keys of this object are applied in object `ProblemVerdictMap`
        - set property `Submission.verdict` to type `ProblemVerdictType`
      - apply changes to other files
        - replace `Verdict` with `ProblemVerdictMap` in api endpoint
          `/api/poll[pollId]`
    
      ## how
    
      ## why
      - this to remove duplicate code
      - to combine string abbreviation of the verdict into object `ProblemVerdictMap`
      - to combine verdict ID from `Submission` into object `ProblemVerdictMap`
      - refactoring these later would be difficult
    
      ## where
      - ./src/app/api/poll/[pollId]/route.ts
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    f0a96a1 View commit details
    Browse the repository at this point in the history
  15. chore(utils:processing): use array to filter out keys from `ProblemVe…

    …rdictMap`
    
      ## what
      - use array to filter out keys from `ProblemVerdictMap`
        - use an array to filter which keys to keep in `ProblemVerdictMap`
        - filter out keys from ProblemVerdictMap using the array
        - update references
          - setting `tooltipTitle`
          - setting `fill`
    
      ## how
    
      ## why
      - to keep up with the changes in `ProblemVerdictMap`
        - check c041074
      - be default `ProblemVerdictMap` contains all verdicts
        - don't need to show all of them in a bar chart
    
      ## where
      - ./src/utils/dataProcessing.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    1aadd93 View commit details
    Browse the repository at this point in the history
  16. docs(types): add file header docs

      ## what
      - add file header docs
    
      ## how
    
      ## why
      - to explain what is this file used for
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    6361c77 View commit details
    Browse the repository at this point in the history
  17. feat(components:charts): add Recharts custom tooltip component

      ## what
      - add Recharts custom tooltip component
    
      ## how
      - obtained from
        - https://github.com/tremorlabs/tremor/blob/main/src/components/chart-elements/common/ChartTooltip.tsx
      - note
        - this tooltip is from `tremor.so` , and it uses tailwindcss custom
          configs, which means `tailwind.config.ts` needs to be updated
          - done in commit 1e5b14f
    
      ## why
      - this will be used in charts
      - this is will make chart tooltips more pleasing to look at compared
        to the default tooltips
    
      ## where
      - ./src/components/charts/Tooltip.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    b6ef657 View commit details
    Browse the repository at this point in the history
  18. feat(components:charts): add ProblemVerdictChart component

      ## what
      - add `ProblemVerdictChart` component
    
      ## how
      - uses Rechart bar chart
      - uses custom tooltip component in `./src/components/charts/Tooltip`
    
      ## why
      - this will be used to display a problem number submission verdicts
        using a bar chart
    
      ## where
      - ./src/components/charts/ProblemVerdictChart.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    2104011 View commit details
    Browse the repository at this point in the history
  19. feat(page:problemNum): render ProblemVerdictChart component

      ## what
      - render `ProblemVerdictChart` component
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    acc2eac View commit details
    Browse the repository at this point in the history
  20. chore(schema:submission): add schema for endpoint `/api/submissions/o…

    …vertime/[problemNum]`
    
      ## what
      - add schema for endpoint `/api/submissions/overtime/[problemNum]`
    
      ## how
    
      ## why
      - this will be used to validate the data on client side and server
        side
    
      ## where
      - ./src/schema/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    90e808c View commit details
    Browse the repository at this point in the history
  21. feat(api:submission): add endpoint `/api/submissions/overtime/[proble…

    …mNum]`
    
      ## what
      - add endpoint `/api/submissions/overtime/[problemNum]`
        - get the submission count of a problem using problem number
          - if invalid `problem number` is given, a response of 400 will be returned
          - if the problem doesn't exist, a response of 404 will be returned
          - the endpoint will return a cumulative submission count
            - an array of object
              - time: momentjs time serialized
              - count: submission count from current index + the previous
                index
    
      ## how
    
      ## why
      - this will be used to chart submissions overtime of a problem
    
      ## where
      - ./src/app/api/submissions/overtime/[problemNum]/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    304a563 View commit details
    Browse the repository at this point in the history
  22. chore(hooks): add react-query hook to fetch submissions overtime

      ## what
      - add react-query hook to fetch submissions overtime
    
      ## how
      - fetch from api endpoint `/api/submissions/overtime/[problemNum]`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    1d95a99 View commit details
    Browse the repository at this point in the history
  23. feat(components:charts): add SubmissionsOvertimeChart component

      ## what
      - add `SubmissionsOvertimeChart` component
    
      ## how
      - takes prop
        - data of type `SubmisionsOvertimeType[]`
      - use Recharts `AreaChart` component
      - use custom tooltip from `./src/components/charts/Tooltip`
      - use linear gradient for color the area chart
    
      ## why
      - this will be used to display submissions overtime of a problem using
        area chart
    
      ## where
      - ./src/components/charts/SubmissionsOvertimeChart.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    16d1311 View commit details
    Browse the repository at this point in the history
  24. feat(page:problemNum): render SubmissionOvertimeChart component

      ## what
      - render `SubmissionOvertimeChart` component
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    3f2f7c4 View commit details
    Browse the repository at this point in the history
  25. chore(types): add Python as a value in Language object

      ## what
      - add `Python` as a value in `Language` object
    
      ## how
    
      ## why
      - found a case where the language id was not present in the `Language`
        object.
        - after a little investigation, I found that this new id is for the
          language `Python`
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    1988c82 View commit details
    Browse the repository at this point in the history
  26. chore(schema:submission): add schema for endpoint `/api/submissions/l…

    …anguage/[problemNum]`
    
      ## what
      - add schema for endpoint `/api/submissions/language/[problemNum]`
    
      ## how
    
      ## why
      - this will be used to validate the data on client side and server
        side
    
      ## where
      - ./src/schema/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    507b215 View commit details
    Browse the repository at this point in the history
  27. refactor(utils:constants): limit start range when fetching submission…

    …s of a problem
    
      ## what
      - limit start range when fetching submissions of a problem
        - limit submissions from today to 1 year ago and return 500
          submissions
      - add params
        - startSubmission: starting point when searching for submissions
          - default to 1 year before in unix time. in other words, it will
            return submissions starting from 1 year ago
        - endSubmission: ending point when searching for submissions
          - default to current time.
        - limit: limit number of submissions to value provided
          - default to 500. in other words it will always return 500
            submissions of a problem
          - currently not being used.
          - how to use
            - append the number to end
              - ex: https://uhunt.onlinejudge.org/api/p/subs/36/0/1707350533/500
                - the 500 in the end of url will limit number of
                  submissions to 500
    
      ## how
    
      ## why
      - before the start range was set to 0, which would fetch every
        submission for the problem
        - this would fetch too many items and it would take a while to
          process them
    
      ## where
      - ./src/utils/constants.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    445dec0 View commit details
    Browse the repository at this point in the history
  28. feat(api:submission:language): add endpoint `/api/submissions/languag…

    …e/[problemNum]`
    
      ## what
      - add endpoint `/api/submissions/language/[problemNum]`
        - get submissions language count of a problem using problem number
          - if invalid `problem number` is given, a response of 400 will be returned
          - if the problem doesn't exist, a response of 404 will be returned
          - fetch submissions of problem number
          - count submission language
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/api/submissions/language/[problemNum]/route.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    fd4c856 View commit details
    Browse the repository at this point in the history
  29. chore(hooks): add react-query hook to fetch submission language

      ## what
      - add react-query hook to fetch submission language
    
      ## how
      - fetch from api endpoint `/api/submissions/language/[problemNum]`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    cbb5f18 View commit details
    Browse the repository at this point in the history
  30. chore(utils:processing): add function to generate data for recharts

    … radar chart
    
      ## what
      - add function to generate data for `recharts` radar chart
    
      ## how
      - loop through the object
        - add object to array
          - property `language`: string version of the language ID
          - property `count`: number of submissions of that language ID
    
      ## why
      - this will be used to generate the data needed for `recharts` radar
        chart to render
    
      ## where
      - ./src/utils/dataProcessing.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    a6cfeca View commit details
    Browse the repository at this point in the history
  31. feat(components:charts): add SubmissionLanguageRadarChart component

      ## what
      - add `SubmissionLanguageRadarChart` component
    
      ## how
      - takes a prop
        - data of type `/api/submissions/language/[problemNum]` GET response
      - process the data
      - use Recharts `radar` chart
      - use custom tooltip from `./src/components/charts/Tooltip`
      - use radial gradient for color inside of the radar
    
      ## why
      - this will display submissions by language of a problem using `radar`
        chart
    
      ## where
      - ./src/components/charts/SubmissionLanguageRadarChart.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    fc5ecfc View commit details
    Browse the repository at this point in the history
  32. feat(page:problemNum): render SubmissionLanguageRadarChart component

      ## what
      - render `SubmissionLanguageRadarChart` component
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    6ebcb52 View commit details
    Browse the repository at this point in the history
  33. chore(schema:problemNum:ranklist): add schema for endpoint `/api/prob…

    …lems/ranklist/[problemNum]`
    
      ## what
      - add schema for endpoint `/api/problems/ranklist/[problemNum]`
    
      ## how
    
      ## why
      - this will be used to validate the data on client side and server
        side
    
      ## where
      - ./src/schema/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    fe1b462 View commit details
    Browse the repository at this point in the history
  34. feat(api:problemNum:ranklist): add endpoint `/api/problems/ranklist/[…

    …problemNum]`
    
      ## what
      - add endpoint `/api/problems/ranklist/[problemNum]`
        - get ranklist of a problem using problem number
          - if invalid `problem number` is given, a response of 400 will be returned
          - if the problem doesn't exist, a response of 404 will be returned
          - fetch problem ranklist
          - add extra properties
            - verdict object
              - fgColor
              - bgColor
              - title
              - fgHex
              - bgHex
            - language: convert language ID into a string
            - pnum: problem number
            - pTitle: name of the problem
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/api/problems/ranklist/[problemNum]/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    1a35cec View commit details
    Browse the repository at this point in the history
  35. chore(hooks): add react-query hook to fetch problem ranklist

      ## what
      - add react-query hook to fetch problem ranklist
    
      ## how
      - fetch from endpoint `/api/problems/ranklist/[problemNum]`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    95f2b19 View commit details
    Browse the repository at this point in the history
  36. chore(shadcn:data-table): add columns structure for problem ranklist …

    …table
    
      ## what
      - add columns structure for problem ranklist table
        - define which columns to display on the DataTable
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/components/data-table/ranklistColumns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    888833a View commit details
    Browse the repository at this point in the history
  37. build(npm): add package @tanstack/react-virtual

      ## what
      - add package `@tanstack/react-virtual`
    
      ## how
    
      ## why
    
      ## where
      - ./package-lock.json
      - ./package.json
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    8ec4501 View commit details
    Browse the repository at this point in the history
  38. feat(components): add VirtualTable component

      ## what
      - add `VirtualTable` component
    
      ## how
      - uses
        - `@tanstack/react-table` to generate a table
        - `@tanstack/react-virtual` to handle virtualization
    
      ## why
      - to display a table without the `DataTable` functionality
    
      ## where
      - ./src/components/virtual-table/index.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    09259ea View commit details
    Browse the repository at this point in the history
  39. feat(page:problemNum): render VirtualTable for ranklist

      ## what
      - render `VirtualTable` for ranklist
        - fetch problem ranklist using react-query hook
        - render data using VirtualTable
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    e3ac245 View commit details
    Browse the repository at this point in the history
  40. chore(schema:problemNum:submission): add schema for endpoint `/api/su…

    …bmissions/[problemNum]`
    
      ## what
      - add schema for endpoint `/api/submissions/[problemNum]`
    
      ## how
    
      ## why
      - this will be used to validate the data on client side and server
        side
    
      ## where
      - ./src/schema/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    1ec1ed9 View commit details
    Browse the repository at this point in the history
  41. feat(api:problemNum:submission): add endpoint `/api/submissions/[prob…

    …lemNum]`
    
      ## what
      - add endpoint `/api/submissions/[problemNum]`
        - get submissions of a problem using problem number
          - if invalid `problem number` is given, a response of 400 will be returned
          - if the problem doesn't exist, a response of 404 will be returned
          - fetch problem submissions
          - add extra properties
            - verdict
              - fgColor
              - bgColor
              - title
              - fgHex
              - bgHex
            - language: convert language ID into a string
            - pnum: problem number
            - pTitle: name of the problem
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/api/submissions/[problemNum]/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    36ed144 View commit details
    Browse the repository at this point in the history
  42. chore(hooks): add react-query hook to fetch problem submissions

      ## what
      - add react-query hook to fetch problem submissions
    
      ## how
      - fetch from endpoint `/api/submissions/[problemNum]`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    19f716c View commit details
    Browse the repository at this point in the history
  43. feat(page:problemNum): render VirtualTable for Problem submissions

      ## what
      - render `VirtualTable` for `Problem submissions`
        - fetch problem submissions using react-query hook
        - render data using VirtualTable
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    d271d90 View commit details
    Browse the repository at this point in the history
  44. chore(utils:constants): use the limit value when fetching problem sub…

    …missions
    
      ## what
      - use the limit value when fetching problem submissions
    
      ## how
      - uses the parameter `limit` value
        - default is 500
    
      ## why
      - this will limit the number of submissions returned
    
      ## where
      - ./src/utils/constants.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    865875c View commit details
    Browse the repository at this point in the history
  45. chore(components:charts): change radar chart grid opacity depending o…

    …n theme
    
      ## what
      - change rader chart grid opacity depending on theme
        - set radar chart grid opacity to 0.3 in dark mode
        - set radar chart grid opacity to 1.0 in light mode
    
      ## how
    
      ## why
      - the opacity of 0.3 is barely visible in light mode
      - cant change the fill color of the radar chart grid
    
      ## where
      - ./src/components/charts/SubmissionLanguageRadarChart.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    090e837 View commit details
    Browse the repository at this point in the history
  46. chore(page:problemNum): render problem number and title

      ## what
      - render problem number and title
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    94a5b39 View commit details
    Browse the repository at this point in the history
  47. feat(shadcn:data-table): set DataTable height if provided

      ## what
      - set DataTable height if provided
    
      ## how
      - take `height` as a prop
      - set the height of the table if it's defined
      - set the table to overflow-y if height is defined
    
      ## why
      - a replacement for `VirtualTable`
        - VirtualTable struggles to scroll when theres high amounts of items
          to render. DataTable can handle high items without issue
      - to have the ability to set the size of the DataTable
    
      ## where
      - ./src/components/ui/data-table/index.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    c58b14f View commit details
    Browse the repository at this point in the history
  48. refactor(page:problemNum): use DataTable to render ranklist and sub…

    …missions
    
      ## what
      - use `DataTable` to render ranklist and submissions
        - set a max height to the DataTable
    
      ## how
    
      ## why
      - DataTable can handle high volumes of items when scrolling
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    232be3d View commit details
    Browse the repository at this point in the history
  49. refactor(api:problemNum:submission): set submission limit to 500

      ## what
      - set submission limit to 500
    
      ## how
    
      ## why
      - Since the DataTable is being used to display problem submissions, it
        can handle a high amount of items to be rendered
    
      ## where
      - ./src/app/api/submissions/[problemNum]/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    13516bd View commit details
    Browse the repository at this point in the history
  50. chore(page:problemNum): add Loading component for `/problems/[probl…

    …emNum]` page
    
      ## what
      - add `Loading` component for `/problems/[problemNum]` page
    
      ## how
    
      ## why
      - this will be used to display when fetching data on the
        `/problems/[problemNum]` page
    
      ## where
      - ./src/app/problems/[problemNum]/loading.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    1f73e6f View commit details
    Browse the repository at this point in the history
  51. chore(page:problemNum): use Loading component

      ## what
      - use `Loading` component
        - use component from `./src/app/problems/[problemNum]/loading.tsx`
    
      ## how
    
      ## why
      - this will be used to display when fetching data for
        `problems/[problemNum]` page
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    c4e856c View commit details
    Browse the repository at this point in the history
  52. feat(page:problemNum): set title as link to view problem pdf

      ## what
      - set title as link to view problem pdf
    
      ## how
    
      ## why
      - to be able to view the problem that is currently loaded
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    ffd247c View commit details
    Browse the repository at this point in the history
  53. style(page:problemNum): format code

      ## what
      - format code
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    7c4d4bd View commit details
    Browse the repository at this point in the history
  54. docs(docs:images): update images for /problems/[problemNum] page

      ## what
      - update images for `/problems/[problemNum]` page
        - loading
        - data loaded
    
      ## how
    
      ## why
    
      ## where
      - ./docs/images/page-problems-num-loading.png
      - ./docs/images/page-problems-num.png
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    a5760bc View commit details
    Browse the repository at this point in the history
  55. docs(readme): display screenshots for /problems/[problemNum] page

      ## what
      - display screenshots for `/problems/[problemNum]` page
    
      ## how
    
      ## why
    
      ## where
      - ./README.md
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    e2eacbe View commit details
    Browse the repository at this point in the history
  56. refactor(hooks:problemNum): extract data after fetching

      ## what
      - extract data after fetching when fetching from `/api/problems/[problemNum]`
    
      ## how
    
      ## why
      - this will prevent error `variable may be undefined` when using the
        hooks data
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    b225746 View commit details
    Browse the repository at this point in the history
  57. refactor(page:problemNum): update reference when fetching problemNum …

    …stats
    
      ## what
      - update reference when fetching problemNum stats
    
      ## how
    
      ## why
      - to accommodate changes made in `./src/hooks/index.ts`
        - check 46ca37e
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    b54d7a5 View commit details
    Browse the repository at this point in the history
  58. style(hooks): format code

      ## what
      - format code
    
      ## how
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    59a1718 View commit details
    Browse the repository at this point in the history
  59. build(npm): add script lint:tsc and lint:eslint

      ## what
      - add npm script
        - `lint:tsc`
        - `lint:eslint`
      - update npm script
        - `lint`
    
      ## how
    
      ## why
      - to lint code using typescript and eslint separately and together
    
      ## where
      - ./package.json
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    c6d1152 View commit details
    Browse the repository at this point in the history
  60. refactor(hooks): apply types returned when fetching

      ## what
      - apply types returned when fetching
    
      ## how
    
      ## why
      - to provide a data type when data is fetched
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    e3dcc44 View commit details
    Browse the repository at this point in the history
  61. chore: apply types to the fetched data using react-query hooks

      ## what
      - apply types to the fetched data using react-query hooks
    
      ## how
    
      ## why
      - to deal with typescript errors
      - to accomodate changes made from d957416
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
      - ./src/app/problems/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    d1f403d View commit details
    Browse the repository at this point in the history
  62. chore(release): 1.0.0-development.5 [skip ci]

    ## [1.0.0-development.5](1.0.0-development.4...1.0.0-development.5) (2024-1-12)
    
    ### ✨ Features
    
    * **api:problemNum:ranklist:** add endpoint `/api/problems/ranklist/[problemNum]` ([1a35cec](1a35cec))
    * **api:problemNum:submission:** add endpoint `/api/submissions/[problemNum]` ([36ed144](36ed144))
    * **api:submission:language:** add endpoint `/api/submissions/language/[problemNum]` ([fd4c856](fd4c856))
    * **api:submission:** add endpoint `/api/submissions/overtime/[problemNum]` ([304a563](304a563))
    * **components:charts:** add `ProblemVerdictChart` component ([2104011](2104011))
    * **components:charts:** add `SubmissionLanguageRadarChart` component ([fc5ecfc](fc5ecfc))
    * **components:charts:** add `SubmissionsOvertimeChart` component ([16d1311](16d1311))
    * **components:charts:** add Recharts custom tooltip component ([b6ef657](b6ef657))
    * **components:** add `VirtualTable` component ([09259ea](09259ea))
    * **page:problemNum:** fetch stats for `/problems/[problemNum]` page ([afe0752](afe0752))
    * **page:problemNum:** render `ProblemVerdictChart` component ([acc2eac](acc2eac))
    * **page:problemNum:** render `SubmissionLanguageRadarChart` component ([6ebcb52](6ebcb52))
    * **page:problemNum:** render `SubmissionOvertimeChart` component ([3f2f7c4](3f2f7c4))
    * **page:problemNum:** render `VirtualTable` for `Problem submissions` ([d271d90](d271d90))
    * **page:problemNum:** render `VirtualTable` for ranklist ([e3ac245](e3ac245))
    * **page:problemNum:** set title as link to view problem pdf ([ffd247c](ffd247c))
    * **shadcn:data-table:** set DataTable height if provided ([c58b14f](c58b14f))
    semantic-release-bot committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    6eb3c69 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2024

  1. chore(types): add type for User Submission

      ## what
      - add type for User Submission
        - UserSubmission
          - name: name of the user
          - uname: username of the user
          - subs: (of type UserSub)
            - sid: submission id
            - pid: problem id
            - pnum: problem number
            - pTitle: problem title
            - ver: verdict id
            - verdict: verdict details (of type ProblemVerdictType)
            - run: runtime
            - sbt: submission time
            - lan: language
            - rank: submission rank
    
      ## how
    
      ## why
      - used for setting up structure of the data returned from api
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    a54727b View commit details
    Browse the repository at this point in the history
  2. chore(schema:user:submissions): add schema for endpoint `/api/users/[…

    …username]/submissions`
    
      ## what
      - add schema for endpoint `/api/users/[username]/submissions`
    
      ## how
    
      ## why
      - this will be used to validate the data on client side and server
        side
    
      ## where
      - ./src/schema/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    0426358 View commit details
    Browse the repository at this point in the history
  3. feat(api:user:submissions): add endpoint `/api/users/[username]/submi…

    …ssions`
    
      ## what
      - add endpoint `/api/users/[username]/submissions`
    
      ## how
      - check if username is valid (using zod schema)
      - if username doesn't exist, return 404
      - fetch all problems from `/api/problems`
        - used as a cache for `pnum`, `pTitle`
      - fetch user submissions
      - sort the submissions by submission time in descending order
      - take only the first 500 elements in the array
      - convert submission array into `UserSub` object
        - add properties
          - pnum
          - pTitle
          - verdict
    
      ## why
      - this will be used for fetching user submissions
    
      ## where
      - ./src/app/api/users/[username]/submissions/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    023d886 View commit details
    Browse the repository at this point in the history
  4. chore(hooks): add react-query hook to fetch user submissions

      ## what
      - add react-query hook to fetch user submissions
    
      ## how
      - fetch from endpoint `/api/users/[username]/submissions`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    b055aa8 View commit details
    Browse the repository at this point in the history
  5. chore(shadcn:data-table): add columns structure for user submissions …

    …table
    
      ## what
      - add columns structure for user submissions table
        - submission ID
        - problem number
        - problem title
        - verdict
        - language
        - runtime
        - rank
        - submission time
    
      ## how
      - using @tanstack/react-table to generate a table
    
      ## why
      - this will be used to display data as a table using DataTable
    
      ## where
      - ./src/app/users/[username]/components/data-table/submissionColumns.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    28b4458 View commit details
    Browse the repository at this point in the history
  6. feat(page:user): display user submissions on /users/[username] page

      ## what
      - display user submissions on `/users/[username]` page
    
      ## how
      - using DataTable to display a table
    
      ## why
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    c937b78 View commit details
    Browse the repository at this point in the history
  7. chore(types): add property verdictShort in ProblemVerdictMap object

      ## what
      - add property `verdictShort` in `ProblemVerdictMap` object
    
      ## how
    
      ## why
      - this will be used in api endpoint `/api/users/[username]/submissions/verdict`
        - the endpoint will count the verdicts by verdict ID
          - the verdicts are in number form
          - the ProblemVerdictMap needs a way to reference the object in
            reverse when converting verdictID into verdictShort
          - with this the endpoint can access the object of the
            corresponding verdictObject using verdictShort
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    495a1fd View commit details
    Browse the repository at this point in the history
  8. chore(types): add type for User submission verdict

      ## what
      - add type for User submission verdict
        - UserSubmissionBarChartType
          - name: name of the bar in bar chart
          - verdict: value of submission verdict count
          - tooltipTitle: string to display in bar tooltip
          - fill: color to display the bar chart
    
      ## how
    
      ## why
      - used for generating data for Rechart bar chart
        - for displaying user submissions by verdict
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    9ffc525 View commit details
    Browse the repository at this point in the history
  9. feat(api:user:submissions:verdict): add endpoint `/api/users/[usernam…

    …e]/submissions/verdict`
    
      ## what
      - add endpoint `/api/users/[username]/submissions/verdict`
    
      ## how
      - check if username is valid (using zod schema)
      - if username doesn't exist, return 404
      - fetch user submissions from endpoint `/api/users/[username]/submissions`
      - count submissions by verdict type
      - process the data to work with rechart bar chart
    
      ## why
      - used for displaying submission by verdict in a Rechart bar chart
    
      ## where
      - ./src/app/api/users/[username]/submissions/verdict/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    33101e6 View commit details
    Browse the repository at this point in the history
  10. chore(hooks): add react-query hook to fetch user submissions by verdict

      ## what
      - add react-query hook to fetch user submissions by verdict
    
      ## how
      - fetch from endpoint `/api/users/[username]/submissions/verdict`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    475f2c2 View commit details
    Browse the repository at this point in the history
  11. feat(page:user): display user submissions by verdict with bar chart

      ## what
      - display user submissions by verdict with bar chart
    
      ## how
      - fetch the data using react-query hook `useFetchUserSubmissionVerdict`
      - display the data using Rechart bar chart
    
      ## why
      - to display submissions by verdict
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    2d8a058 View commit details
    Browse the repository at this point in the history
  12. style(page:user): format code

      ## what
      - format code
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    4c64dac View commit details
    Browse the repository at this point in the history
  13. chore(types:raw): add type for raw User submissions

      ## what
      - add type for raw User submissions
        - UserSubmission
          - name: name of the user
          - uname: username of the user
          - subs: submissions of the user (type of UserSub)
        - UserSub: a tuple of 7 elements
          - Submission ID
          - Problem ID
          - Verdict ID
          - Runtime
          - Submission time (unix timestamp)
          - Language ID
          - Submission Rank
    
      ## how
    
      ## why
      - this is to add types to the raw data returned from uhunt api
      - better to have a seperate Raw data type before transforming them
        into usable data type
    
      ## where
      - ./src/types/raw.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    e8ebdd6 View commit details
    Browse the repository at this point in the history
  14. refactor(api:user:submissions): use RawUserSubmission type in endpo…

    …int `/api/users/[username]/submissions`
    
      ## what
      - use `RawUserSubmission` type in endpoint `/api/users/[username]/submissions`
    
      ## how
    
      ## why
      - this is to give a more accurate understanding of the data returned
        from uhunt api
    
      ## where
      - ./src/app/api/users/[username]/submissions/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    8481d8f View commit details
    Browse the repository at this point in the history
  15. refactor(types): move type SubmissionLangType to src/types/index.ts

      ## what
      - move type `SubmissionLangType` from `src/utils/dataProcessing.ts` to `src/types/index.ts`
    
      ## how
    
      ## why
      - better to move it in one place
    
      ## where
      - ./src/types/index.ts
      - ./src/utils/dataProcessing.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    7d15004 View commit details
    Browse the repository at this point in the history
  16. refactor(types): move type VerdictBarChartType to src/types/index.ts

      ## what
      - move type `VerdictBarChartType` to `src/types/index.ts`
    
      ## how
    
      ## why
      - better to move it in one place
    
      ## where
      - ./src/components/charts/ProblemVerdictChart.tsx
      - ./src/types/index.ts
      - ./src/utils/dataProcessing.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    e3ca5f5 View commit details
    Browse the repository at this point in the history
  17. refactor(api:problemNum:submission:language): process the data for Re…

    …chart radar chart
    
      ## what
      - process the data for Rechart radar chart
    
      ## how
    
      ## why
      - better to process the data server side
    
      ## where
      - ./src/app/api/submissions/language/[problemNum]/route.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    bee6833 View commit details
    Browse the repository at this point in the history
  18. chore(hooks): add type returned for hook useFetchSubmissionLang

      ## what
      - add type returned for hook `useFetchSubmissionLang`
    
      ## how
    
      ## why
      - better to have a datatype attached when fetching the data
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    11faf6b View commit details
    Browse the repository at this point in the history
  19. refactor(components:charts): change prop type to SubmissionLangType

      ## what
      - change prop type to `SubmissionLangType`
    
      ## how
    
      ## why
      - the api endpoint `/api/submissions/language/[problemNum]` now
        processes the data for Rechart radar chart
    
      ## where
      - ./src/components/charts/SubmissionLanguageRadarChart.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    749cd1d View commit details
    Browse the repository at this point in the history
  20. refactor(page:problemNum): update datatype passed to component `Submi…

    …ssionLanguageRadarChart`
    
      ## what
      - update datatype passed to component `SubmissionLanguageRadarChart`
    
      ## how
      - cast type when passing data to the component
    
      ## why
    
      ## where
      - ./src/app/problems/[problemNum]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    1fa80d3 View commit details
    Browse the repository at this point in the history
  21. feat(api:users:submissions): add endpoint `/api/users/[username]/subm…

    …issions/language`
    
      ## what
      - add endpoint `/api/users/[username]/submissions/language`
    
      ## how
      - check if username is valid (using zod schema)
      - if username doesn't exist, return 404
      - fetch user submissions
      - count submissions by language
      - process the data to work with rechart Radar chart
    
      ## why
      - used for displaying submissions by language in a Rechart Radar chart
    
      ## where
      - ./src/app/api/users/[username]/submissions/language/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    d773671 View commit details
    Browse the repository at this point in the history
  22. chore(hooks): add react-query hook to fetch user submissions by language

      ## what
      - add react-query hook to fetch user submissions by language
    
      ## how
      - fetch from endpoint `/api/users/[username]/submissions/language`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    818e444 View commit details
    Browse the repository at this point in the history
  23. feat(page:user): display user submissions by language with radar chart

      ## what
      - display user submissions by language with radar chart
    
      ## how
      - fetch the data using react-query hook `useFetchUserSubmissionLanguage`
      - display the data using Rechart radar chart
    
      ## why
      - to display submissions by language
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    54639ab View commit details
    Browse the repository at this point in the history
  24. chore(types): add type for raw Problem

      ## what
      - add type for raw Problem
        - problem ID
        - problem number
        - problem title
        - Number of Distinct Accepted User (DACU)
        - Best Runtime of an Accepted Submission
        - Best Memory used of an Accepted Submission
        - Number of No Verdict Given (can be ignored)
        - Number of Submission Error
        - Number of Can't be Judged
        - Number of In Queue
        - Number of Compilation Error
        - Number of Restricted Function
        - Number of Runtime Error
        - Number of Output Limit Exceeded
        - Number of Time Limit Exceeded
        - Number of Memory Limit Exceeded
        - Number of Wrong Answer
        - Number of Presentation Error
        - Number of Accepted
        - Problem Run-Time Limit (milliseconds)
        - Problem Status (0 = unavailable, 1 = normal, 2 = special judge)
    
      ## how
    
      ## why
      - this will be used in api endpoint `/api/problems` when fetching from
        uhunt api
      - this would add some structure when fetching from uhunt api
    
      ## where
      - ./src/types/raw.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    a1c52bc View commit details
    Browse the repository at this point in the history
  25. refactor(api:users:submissions): fetch all problems from uhunt api in…

    …stead of nextjs api endpoint `/api/problems`
    
      ## what
      - fetch all problems from uhunt api instead of nextjs api endpoint `/api/problems`
    
      ## how
    
      ## why
      - fetching all problems from `http://localhost:3000/api/problems`
        fails when published on vercel
      - so the alternative is to fetch from uhunt api
        - add type `RawProblem` to the data
    
      ## where
      - ./src/app/api/users/[username]/submissions/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    6b3c790 View commit details
    Browse the repository at this point in the history
  26. chore(types): add type for submissions overtime

      ## what
      - add type for submissions overtime
        - SubmissionsOvertimeLineChartType
          - name: name of the entry
          - time: submission year. Denoted as YYYY
          - submissions: submission count for the year
          - fill: color used for the chart
    
      ## how
    
      ## why
      - used for generating code Rechart area/line chart
      - will be used for api endpoint `/api/users/[username]/submissions/overtime`
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    2646a44 View commit details
    Browse the repository at this point in the history
  27. refactor(components:charts): use SubmissionsOvertimeLineChartType a…

    …s proptype
    
      ## what
      - use `SubmissionsOvertimeLineChartType` as proptype
        - replace proptype `SubmissionOvertimeType` with `SubmissionsOvertimeLineChartType` type
    
      ## how
    
      ## why
      - to use a type coming from one source
      - having the prop type coming from multiple sources is confusing
    
      ## where
      - ./src/components/charts/SubmissionsOvertimeChart.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    8f306ed View commit details
    Browse the repository at this point in the history
  28. refactor(api:submission): use SubmissionsOvertimeLineChartType as a…

    …pi endpoint response
    
      ## what
      - use `SubmissionsOvertimeLineChartType` as api endpoint response
        - replace type `getResponseType` with `SubmissionsOvertimeLineChartType`
    
      ## how
    
      ## why
      - to use a type coming from one source
      - having the type coming from multiple sources is confusing
    
      ## where
      - ./src/app/api/submissions/overtime/[problemNum]/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    59a5dae View commit details
    Browse the repository at this point in the history
  29. feat(api:users:submissions): add endpoint `/api/users/[username]/subm…

    …issions/overtime`
    
      ## what
      - add endpoint `/api/users/[username]/submissions/overtime`
    
      ## how
      - check if username if valid (using zod schema)
      - if username doesn't exist, return 404
      - fetch user submissions
      - count submissions by year
      - add missing years
        - add missing year as key, and value as 0 (because there was no submissions that year)
      - calculate cumulative sum
      - construct data structure for Rechart area/lint chart
    
      ## why
      - used for displaying submissions overtime
    
      ## where
      - ./src/app/api/users/[username]/submissions/overtime/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    01232a7 View commit details
    Browse the repository at this point in the history
  30. chore(hooks): add react-query hook to fetch user submissions overtime

      ## what
      - add react-query hook to fetch user submissions overtime
    
      ## how
      - fetch from endpoint `/api/users/[username]/submissions/overtime`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    b3f8ae3 View commit details
    Browse the repository at this point in the history
  31. style(hooks): format code

      ## what
      - format code
    
      ## how
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    cd97e81 View commit details
    Browse the repository at this point in the history
  32. feat(page:user): display user submissions overtime with area chart

      ## what
      - display user submissions overtime with area chart
    
      ## how
      - fetch the data using react-query hook `useFetchUserSubmissionOvertime`
      - display the data using Rechart area chart
    
      ## why
      - to display submissions overtime
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    21ea5f1 View commit details
    Browse the repository at this point in the history
  33. chore(types): add proper color hexcode for ProblemVerdictMap object

      ## what
      - add proper color hexcode for `ProblemVerdictMap` object
    
      ## how
    
      ## why
      - some of the `bgHex` were missing `#` to denote hexcode
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    f73fb4c View commit details
    Browse the repository at this point in the history
  34. feat(api:users:attempted): add endpoint `/api/users/[username]/submis…

    …sions/attempted`
    
      ## what
      - add endpoint `/api/users/[username]/submissions/attempted`
    
      ## how
      - check if the username is valid (using zod schema)
      - if username doesn't exist, return 404
      - fetch user submissions
      - count unique solved submissions using a set
        - record problem ID
      - construct data structure for Rechart donut chart
        - solved submissions (get the size of the set)
        - attempted submissions (number of user submissions)
    
      ## why
    
      ## where
      - ./src/app/api/users/[username]/submissions/attempted/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    f3ea62c View commit details
    Browse the repository at this point in the history
  35. chore(hooks): add react-query hook to fetch user submission attempted

      ## what
      - add react-query hook to fetch user submission attempted
    
      ## how
      - fetch from api endpoint `/api/users/[username]/submissions/attempted`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    6608766 View commit details
    Browse the repository at this point in the history
  36. feat(components:charts): add SolvedVsAttemptedDonutChart component

      ## what
      - add `SolvedVsAttemptedDonutChart` component
    
      ## how
      - take a prop
        - data of type `SubmissionSolvedVsAttempted` array
      - use Rechart pie chart
      - use custom tooltip from `./src/components/charts/Tooltip`
      - use styles from Tremor charts
        - https://github.com/tremorlabs/tremor/blob/main/src/components/chart-elements/DonutChart/DonutChart.tsx
    
      ## why
      - this will display user solved problems vs user submissions using
        `donut` chart
    
      ## where
      - ./src/components/charts/SolvedVsAttemptedDonutChart.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    25bda0e View commit details
    Browse the repository at this point in the history
  37. feat(page:user): display problem solved VS user submissions with donu…

    …t chart
    
      ## what
      - display problem solved VS user submissions with donut chart
    
      ## how
      - fetch the data using react-query hook `useFetchUserSubmissionAttempted`
      - display the data using Rechart donut chart
    
      ## why
      - to display user solved problems VS user submissions
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    e2689d5 View commit details
    Browse the repository at this point in the history
  38. chore(components:charts): add style to display tooltip color

      ## what
      - add style to display tooltip color
    
      ## how
      - use `style` property
        - use `backgroundColor`
    
      ## why
      - sometimes the background color is not applied when using tailwindcss
      - this method will make sure to apply the background color
    
      ## where
      - ./src/components/charts/Tooltip.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    d5a438c View commit details
    Browse the repository at this point in the history
  39. chore(page:user): add Loading component for /users/[username] page

      ## what
      - add `Loading` component for `/users/[username]` page
    
      ## how
    
      ## why
      - this will be displayed when fetching data on the `/users/[username]`
        page
    
      ## where
      - ./src/app/users/[username]/loading.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    25a51ca View commit details
    Browse the repository at this point in the history
  40. chore(page:user): display Loading component when fetching data on `…

    …/users/[username]` page
    
      ## what
      - display `Loading` component when fetching data on `/users/[username]` page
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    fdccefb View commit details
    Browse the repository at this point in the history
  41. refactor(page:user): get isFetching from react-query hooks

      ## what
      - replace `isLoading` with `isFetching` from react-query hooks
    
      ## how
    
      ## why
      - scenario
        - currently in user page
        - navigate to `/` page
        - click on a user link
        - loading component is not being displayed
      - `isFetching` will be true when fetching data even if the page has
        been mounted
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    1d04b44 View commit details
    Browse the repository at this point in the history
  42. style(page:user): format code

      ## what
      - format code
    
      ## how
    
      ## why
    
      ## where
      - ./src/app/users/[username]/page.tsx
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    48f2aaa View commit details
    Browse the repository at this point in the history
  43. docs(docs:images): add screenshot of /users/[username] page

      ## what
      - add screenshot of `/users/[username]` page
        - loading
        - data loaded
    
      ## how
    
      ## why
    
      ## where
      - ./docs/images/page-users-username-loading.png
      - ./docs/images/page-users-username.png
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    2cbc92c View commit details
    Browse the repository at this point in the history
  44. docs(readme): display screenshots for /users/[username] page

      ## what
      - display screenshots for `/users/[username]` page
    
      ## how
    
      ## why
    
      ## where
      - ./README.md
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    4b65205 View commit details
    Browse the repository at this point in the history
  45. chore(release): 1.0.0-development.6 [skip ci]

    ## [1.0.0-development.6](1.0.0-development.5...1.0.0-development.6) (2024-1-15)
    
    ### ✨ Features
    
    * **api:user:submissions:verdict:** add endpoint `/api/users/[username]/submissions/verdict` ([33101e6](33101e6))
    * **api:user:submissions:** add endpoint `/api/users/[username]/submissions` ([023d886](023d886))
    * **api:users:attempted:** add endpoint `/api/users/[username]/submissions/attempted` ([f3ea62c](f3ea62c))
    * **api:users:submissions:** add endpoint `/api/users/[username]/submissions/language` ([d773671](d773671))
    * **api:users:submissions:** add endpoint `/api/users/[username]/submissions/overtime` ([01232a7](01232a7))
    * **components:charts:** add `SolvedVsAttemptedDonutChart` component ([25bda0e](25bda0e))
    * **page:user:** display problem solved VS user submissions with donut chart ([e2689d5](e2689d5))
    * **page:user:** display user submissions by language with radar chart ([54639ab](54639ab))
    * **page:user:** display user submissions by verdict with bar chart ([2d8a058](2d8a058))
    * **page:user:** display user submissions on `/users/[username]` page ([c937b78](c937b78))
    * **page:user:** display user submissions overtime with area chart ([21ea5f1](21ea5f1))
    semantic-release-bot committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    d8cdcc1 View commit details
    Browse the repository at this point in the history
  46. build(devDep): bump @types/react from 18.2.47 to 18.2.48

    Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.2.47 to 18.2.48.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/react"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    73ac19c View commit details
    Browse the repository at this point in the history
  47. build(deps): bump recharts from 2.10.3 to 2.10.4

    Bumps [recharts](https://github.com/recharts/recharts) from 2.10.3 to 2.10.4.
    - [Release notes](https://github.com/recharts/recharts/releases)
    - [Changelog](https://github.com/recharts/recharts/blob/master/CHANGELOG.md)
    - [Commits](recharts/recharts@v2.10.3...v2.10.4)
    
    ---
    updated-dependencies:
    - dependency-name: recharts
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    e3711ed View commit details
    Browse the repository at this point in the history
  48. build(deps): bump @tanstack/react-query-devtools from 5.17.9 to 5.17.12

    Bumps [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) from 5.17.9 to 5.17.12.
    - [Release notes](https://github.com/TanStack/query/releases)
    - [Commits](https://github.com/TanStack/query/commits/v5.17.12/packages/react-query-devtools)
    
    ---
    updated-dependencies:
    - dependency-name: "@tanstack/react-query-devtools"
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    bac4a57 View commit details
    Browse the repository at this point in the history
  49. build(devDep): bump @types/node from 20.11.0 to 20.11.2

    Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.0 to 20.11.2.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/node"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored and github-actions[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    748b9cf View commit details
    Browse the repository at this point in the history
  50. chore(hooks): disable refetch on mount for all problems

      ## what
      - disable refetch on mount for `all problems`
    
      ## how
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    6b70d03 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. chore(types): add type for search results

      ## what
      - add type for search results
        - title: string to show in search results
        - href: link path for the search result
    
      ## how
    
      ## why
      - this will be used for defining a data structure for search results
        from the api
      - this will be used by api endpoint `/api/search/[searchStr]`
    
      ## where
      - ./src/types/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    b2e1d9e View commit details
    Browse the repository at this point in the history
  2. chore(schema:search): add schema for search

      ## what
      - add schema for endpoint `/api/search/[searchStr]`
    
      ## how
    
      ## why
      - this will be used to validate the data on client side and server
        side
    
      ## where
      - ./src/schema/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    3b38b93 View commit details
    Browse the repository at this point in the history
  3. feat(api:search): add endpoint /api/search/[searchStr]

      ## what
      - add endpoint `/api/search/[searchStr]`
    
      ## how
      - check if the `searchStr` is valid (using zod schema)
        - must be a string length of 1
      - if `searchStr` is not valid, return 400
      - if username exists, add SearchResult to an array
        - title: `User: [username]`
        - href: `/users/[username]`
      - if problem number exists, add SearchResult to an array
        - title: `Problem: [problem number] [problem title]`
        - href: `/problems/[problem number]`
      - return response using the SearchResult array
    
      ## why
      - this endpoint will be used to search for a problem number or a
        username
    
      ## where
      - ./src/app/api/search/[searchStr]/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    bf15e83 View commit details
    Browse the repository at this point in the history
  4. fix(api:users:submissions:overtime): submission with one year

      ## problem
      - user submissions overtime chart doesn't render correctly if the user
        has only one year of submissions
    
      ## solution
      - check if the submissions contain the current year
        - if it doesn't add an entry in the object
          - `[current year]: 0`
    
      ## why
      - this will fix the issue if there was one year in the user
        submissions
        - ex:
          - user submissions only has year 2015
          - checks if current year is included in the submissions,
            - adds current year
          - fill in the years missing
          - chart renders correctly
    
      ## where
      - ./src/app/api/users/[username]/submissions/overtime/route.ts
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    8b69ffa View commit details
    Browse the repository at this point in the history
  5. chore(hooks): add react-query hook for searching users or problems

      ## what
      - add react-query hook for searching users or problems
    
      ## how
      - fetch from api endpoint `/api/search/[searchStr]`
    
      ## why
    
      ## where
      - ./src/hooks/index.ts
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    f6696ca View commit details
    Browse the repository at this point in the history
  6. feat(components:search): add searchbar component

      ## what
      - add `searchbar` component
    
      ## how
      - use react `useState` to keep track of search string
        - also using useState because the component will rerender when the
          state value changes, causing react-query hook to send request to
          api
        - use react-query hook `useFetchSearch` to send a GET request to api
          for searching username or problem number
        - use a form to render the search input
        - use a div to display the search results
        - if there's search results, display a link
    
      ## why
    
      ## where
      - ./src/components/searchbar.tsx
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    d8acdd9 View commit details
    Browse the repository at this point in the history
  7. chore(components:navbar): display searchbar component

      ## what
      - display `searchbar` component
    
      ## how
    
      ## why
    
      ## where
      - ./src/components/navbar.tsx
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    e41a0a9 View commit details
    Browse the repository at this point in the history
  8. docs(docs:images): add screenshot of navbar component

      ## what
      - add screenshot of `navbar` component
    
      ## how
    
      ## why
    
      ## where
      - ./docs/images/navbar.png
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    78d52d6 View commit details
    Browse the repository at this point in the history
  9. docs(readme): display screenshot for navbar component

      ## what
      - display screenshot for `navbar` component
    
      ## how
    
      ## why
    
      ## where
      - ./README.md
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    5543f3a View commit details
    Browse the repository at this point in the history
  10. chore(release): 1.0.0-development.7 [skip ci]

    ## [1.0.0-development.7](1.0.0-development.6...1.0.0-development.7) (2024-1-16)
    
    ### ✨ Features
    
    * **api:search:** add endpoint `/api/search/[searchStr]` ([bf15e83](bf15e83))
    * **components:search:** add `searchbar` component ([d8acdd9](d8acdd9))
    
    ### 🐛 Bug Fixes
    
    * **api:users:submissions:overtime:** submission with one year ([8b69ffa](8b69ffa))
    semantic-release-bot committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    7ec9f73 View commit details
    Browse the repository at this point in the history
  11. docs(readme): add resource links

      ## what
      - add resource links
    
      ## how
    
      ## why
    
      ## where
      - ./README.md
    
      ## usage
    Clumsy-Coder committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    9abf6a5 View commit details
    Browse the repository at this point in the history