Skip to content

Commit

Permalink
I hate typescript
Browse files Browse the repository at this point in the history
  • Loading branch information
stefan-petrov1 committed Apr 21, 2024
1 parent 073b2a2 commit 48c148e
Show file tree
Hide file tree
Showing 33 changed files with 65 additions and 69 deletions.
3 changes: 2 additions & 1 deletion client/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ import Home from './pages/home/Home';
import NotFound from './pages/not-found/NotFound';
import Profile from './pages/profile/Profile';
import './scss/styles.scss';
import { PageEnum, RoleEnum } from './types';
import { AdminPageEnum } from './types/enums/AdminPageEnum';
import { PageEnum } from './types/enums/PageEnum';
import { RoleEnum } from './types/enums/RoleEnum';

function App() {
return (
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/alert/Alert.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useEffect } from 'react';
import { useErrorContext } from '../../contexts/ErrorContext';
import { AlertTypeEnum } from '../../types';
import { AlertTypeEnum } from '../../types/enums/AlertTypeEnum';
import './Alert.scss';

interface IParentAlertProps {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { useCallback } from 'react';
import { Navigate, Outlet, To, useLocation } from 'react-router-dom';
import { useAuthContext } from '../../../contexts/AuthContext';
import { PageEnum, RoleEnum } from '../../../types';
import { PageEnum } from '../../../types/enums/PageEnum';
import { RoleEnum } from '../../../types/enums/RoleEnum';

type ProtectedRouteProps = {
role: RoleEnum | null;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/breadcrumb/Breadcrumb.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Link } from 'react-router-dom';
import { PageEnum } from '../../types';
import { PageEnum } from '../../types/enums/PageEnum';

interface BreadcrumbProps {
pageName: string;
Expand Down
5 changes: 3 additions & 2 deletions client/src/components/http-provider/HttpProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ import { CachePolicies, CustomOptions, Provider, useFetch } from 'use-http';
import { authPaths } from '../../config/api';
import { useAuthContext } from '../../contexts/AuthContext';
import { useErrorContext } from '../../contexts/ErrorContext';
import { IUser } from '../../types';
import { initialAuth, isJwtExpired } from '../../utils';
import { IUser } from '../../types/interfaces/auth/IUser';
import { initialAuth } from '../../utils/auth';
import { isJwtExpired } from '../../utils/jwt';

// The component that is responsible for the useFetch hook options
export default function HttpProvider({ children }: PropsWithChildren) {
Expand Down
3 changes: 2 additions & 1 deletion client/src/components/navbar/Navbar.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Link, useLocation } from 'react-router-dom';
import { useAuthContext } from '../../contexts/AuthContext';
import { PageEnum, RoleEnum } from '../../types';
import { AdminPageEnum } from '../../types/enums/AdminPageEnum';
import { PageEnum } from '../../types/enums/PageEnum';
import { RoleEnum } from '../../types/enums/RoleEnum';
import profileUserIcon from './img/profile-user-icon.png';
import NavItem from './nav-item/NavItem';

Expand Down
2 changes: 1 addition & 1 deletion client/src/config/api/events.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { EventsFilterEnum } from '../../types';
import { EventsFilterEnum } from '../../types/enums/EventsFilterEnum';
import { baseApiUrl } from './base';

const base = `${baseApiUrl}/events`;
Expand Down
8 changes: 6 additions & 2 deletions client/src/contexts/AuthContext.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { PropsWithChildren, createContext, useContext } from 'react';
import { useLocalStorage } from '../hooks/useLocalStorage';
import { IAuthResponse, IAuthStorage, IUser, RoleEnum } from '../types';
import { deleteJwtCookie, deleteRefreshCookie, isJwtExpired } from '../utils';
import { RoleEnum } from '../types/enums/RoleEnum';
import { IAuthResponse } from '../types/interfaces/auth/IAuthResponse';
import { IAuthStorage } from '../types/interfaces/auth/IAuthStorage';
import { IUser } from '../types/interfaces/auth/IUser';
import { deleteJwtCookie, deleteRefreshCookie } from '../utils/cookies';
import { isJwtExpired } from '../utils/jwt';

type AuthContextType = {
user: Partial<IAuthStorage>;
Expand Down
3 changes: 2 additions & 1 deletion client/src/contexts/ErrorContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import {
useState,
} from 'react';
import { v4 as uuidV4 } from 'uuid';
import { AlertTypeEnum, IError } from '../types';
import { AlertTypeEnum } from '../types/enums/AlertTypeEnum';
import { IError } from '../types/interfaces/common/IError';

const ErrorContext = createContext<null | ErrorContextType>(null);
const maxErrors = 3;
Expand Down
4 changes: 2 additions & 2 deletions client/src/hooks/useAuthenticate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { useEffect } from 'react';
import { useFetch } from 'use-http';
import { authPaths } from '../config/api';
import { useAuthContext } from '../contexts/AuthContext';
import { IAuthResponse } from '../types';
import { initialAuth } from '../utils';
import { IAuthResponse } from '../types/interfaces/auth/IAuthResponse';
import { initialAuth } from '../utils/auth';

// The hook that authenticates our user
export default function useAuthenticate(shouldLogoutUser: boolean = true) {
Expand Down
2 changes: 1 addition & 1 deletion client/src/hooks/usePagination.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useCallback, useEffect, useMemo, useState } from 'react';
import * as paginationUtils from '../utils';
import * as paginationUtils from '../utils/page';

type TogglePageFunction = (page: number) => void;
type SwitchPageFunction = () => void;
Expand Down
3 changes: 2 additions & 1 deletion client/src/pages/admin/Admin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import { useMemo } from 'react';
import { Navigate, Outlet } from 'react-router-dom';
import Spinner from '../../components/spinner/Spinner';
import useAuthenticate from '../../hooks/useAuthenticate';
import { PageEnum, RoleEnum } from '../../types';
import { PageEnum } from '../../types/enums/PageEnum';
import { RoleEnum } from '../../types/enums/RoleEnum';

// The component that decides if the user can access the admin panel
export default function Admin() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { camelCaseToWords, capitalizeWord } from '../../../../utils';
import { camelCaseToWords, capitalizeWord } from '../../../../utils/string';

interface AdminEditFormRowProps {
columnName: string;
Expand Down
2 changes: 1 addition & 1 deletion client/src/pages/admin/admin-table/AdminTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { SubmitHandler } from 'react-hook-form';
import { v4 as uuidV4 } from 'uuid';
import { usePagination } from '../../../hooks/usePagination';
import { IObjectWithId } from '../../../types/interfaces/common/IObjectWithId';
import { camelCaseToWords } from '../../../utils';
import { camelCaseToWords } from '../../../utils/string';
import AdminEditForm, {
OnCreateFunction,
OnUpdateFunction,
Expand Down
9 changes: 4 additions & 5 deletions client/src/pages/auth/finish-register/FinishRegister.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ import { OAuthPaths, skillsPaths } from '../../../config/api';
import { useAuthContext } from '../../../contexts/AuthContext';
import { useErrorContext } from '../../../contexts/ErrorContext';
import useValidators from '../../../hooks/useValidator';
import { IAuthResponse, ISkill, PageEnum, RoleEnum } from '../../../types';
import { PageEnum } from '../../../types/enums/PageEnum';
import { RoleEnum } from '../../../types/enums/RoleEnum';
import { IAuthResponse } from '../../../types/interfaces/auth/IAuthResponse';
import { ISkill } from '../../../types/interfaces/skills/ISkill';
import '../styles/Register.scss';

type Inputs = {
Expand Down Expand Up @@ -40,8 +43,6 @@ function FinishRegister() {
register,
reset,
watch,
setError,
clearErrors,
setValue,
formState: { errors },
} = useForm<Inputs>({
Expand All @@ -60,8 +61,6 @@ function FinishRegister() {
mode: 'onChange',
});

const formValues = watch();

const { data: skills } = useFetch<ISkill[]>(
skillsPaths.getAll,
{
Expand Down
3 changes: 2 additions & 1 deletion client/src/pages/auth/login/Login.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import { authPaths, OAuthPaths } from '../../../config/api';
import { useAuthContext } from '../../../contexts/AuthContext';
import useUrlSearchParam from '../../../hooks/useURLSearchParam';
import useValidators from '../../../hooks/useValidator';
import { IAuthResponse, PageEnum } from '../../../types';
import { PageEnum } from '../../../types/enums/PageEnum';
import { IAuthResponse } from '../../../types/interfaces/auth/IAuthResponse';

type Inputs = {
Email: string;
Expand Down
2 changes: 1 addition & 1 deletion client/src/pages/auth/logout/Logout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { useFetch } from 'use-http';
import Spinner from '../../../components/spinner/Spinner';
import { authPaths } from '../../../config/api';
import { useAuthContext } from '../../../contexts/AuthContext';
import { PageEnum } from '../../../types';
import { PageEnum } from '../../../types/enums/PageEnum';

// The component used to handle logout
export default function Logout() {
Expand Down
5 changes: 4 additions & 1 deletion client/src/pages/auth/register/Register.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ import SkillsSelect, {
import { authPaths, OAuthPaths, skillsPaths } from '../../../config/api';
import { useErrorContext } from '../../../contexts/ErrorContext';
import useValidators from '../../../hooks/useValidator';
import { AlertTypeEnum, IAuthResponse, ISkill, RoleEnum } from '../../../types';
import { AlertTypeEnum } from '../../../types/enums/AlertTypeEnum';
import { RoleEnum } from '../../../types/enums/RoleEnum';
import { IAuthResponse } from '../../../types/interfaces/auth/IAuthResponse';
import { ISkill } from '../../../types/interfaces/skills/ISkill';
import '../styles/Register.scss';

type Inputs = {
Expand Down
4 changes: 3 additions & 1 deletion client/src/pages/chat/Chat.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import { useFetch } from 'use-http';
import Spinner from '../../components/spinner/Spinner';
import { messagesPaths, usersPaths } from '../../config/api';
import { useAuthContext } from '../../contexts/AuthContext';
import { IFullUser, IMessage, PageEnum } from '../../types';
import { PageEnum } from '../../types/enums/PageEnum';
import { IFullUser } from '../../types/interfaces/auth/IFullUser';
import { IMessage } from '../../types/interfaces/chat/IMessage';
import './Chat.css';
import ChatLeftMessage from './chat-left-message/ChatLeftMessage';
import ChatRightMessage from './chat-right-message/ChatRightMessage';
Expand Down
4 changes: 3 additions & 1 deletion client/src/pages/events-create/EventsCreate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ import SkillsSelect, {
} from '../../components/skills-select/SkillsSelect';
import { eventsPaths, filesPaths, skillsPaths } from '../../config/api';
import useValidators from '../../hooks/useValidator';
import { IFile, ISkill, PageEnum } from '../../types';
import { PageEnum } from '../../types/enums/PageEnum';
import { IFile } from '../../types/interfaces/common/IFile';
import { IEvent } from '../../types/interfaces/events/IEvent';
import { ISkill } from '../../types/interfaces/skills/ISkill';

type Inputs = {
Name: string;
Expand Down
2 changes: 1 addition & 1 deletion client/src/pages/events-details/EventsDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
userEventStatusesPaths,
} from '../../config/api';
import { useAuthContext } from '../../contexts/AuthContext';
import { IUser } from '../../types';
import { IUser } from '../../types/interfaces/auth/IUser';
import { IEvent } from '../../types/interfaces/events/IEvent';

const CHARACTER_DESCRIPTION_THRESHOLD = 60;
Expand Down
2 changes: 1 addition & 1 deletion client/src/pages/events/Events.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { useState } from 'react';
import { CachePolicies, useFetch } from 'use-http';
import Spinner from '../../components/spinner/Spinner';
import { eventsPaths } from '../../config/api';
import { EventsFilterEnum } from '../../types';
import { EventsFilterEnum } from '../../types/enums/EventsFilterEnum';
import { IEvent } from '../../types/interfaces/events/IEvent';
import EventsBreadcrumb from './events-breadcrumb/EventsBreadcrumb';
import EventsItem from './events-item/EventsItem';
Expand Down
2 changes: 1 addition & 1 deletion client/src/pages/events/events-item/EventsItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Link } from 'react-router-dom';
import { useFetch } from 'use-http';
import { eventsPaths, filesPaths } from '../../../config/api';
import { useAuthContext } from '../../../contexts/AuthContext';
import { PageEnum } from '../../../types';
import { PageEnum } from '../../../types/enums/PageEnum';
import { IEvent } from '../../../types/interfaces/events/IEvent';

export interface EventsItemProps extends IEvent {}
Expand Down
2 changes: 1 addition & 1 deletion client/src/pages/home/home-hero/HomeHero.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Link } from 'react-router-dom';
import { PageEnum } from '../../../types';
import { PageEnum } from '../../../types/enums/PageEnum';
import carousel1 from './img/carousel-1.jpg';

function HomeHero() {
Expand Down
8 changes: 6 additions & 2 deletions client/src/pages/home/home-how-to-start/HomeHowToStart.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { Link } from 'react-router-dom';
import { PageEnum } from '../../../types/enums/PageEnum';
import about1 from './img/about-1.jpg';
import about2 from './img/about-2.jpg';
import about3 from './img/about-3.jpg';
Expand Down Expand Up @@ -53,9 +55,11 @@ function HomeHowToStart() {
<i className="fa fa-check text-primary me-3" />
Clita duo justo magna dolore erat amet
</p>
<a className="btn btn-primary py-3 px-5 mt-3" href="">
<Link
to={PageEnum.Events}
className="btn btn-primary py-3 px-5 mt-3">
Read More
</a>
</Link>
</div>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion client/src/pages/not-found/NotFound.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Link } from 'react-router-dom';
import { PageEnum } from '../../types';
import { PageEnum } from '../../types/enums/PageEnum';

function NotFound() {
return (
Expand Down
4 changes: 3 additions & 1 deletion client/src/pages/profile/Profile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ import Spinner from '../../components/spinner/Spinner';
import { usersPaths } from '../../config/api';
import { friendsPaths } from '../../config/api/friends';
import { useAuthContext } from '../../contexts/AuthContext';
import { IFullUser, IUserFriend, PageEnum } from '../../types';
import { PageEnum } from '../../types/enums/PageEnum';
import { IFullUser } from '../../types/interfaces/auth/IFullUser';
import { IUserFriend } from '../../types/interfaces/profile/IUserFriend';
import './Profile.scss';
import ProfileFriendRequests from './profile-friend-requests/ProfileFriendRequests';
import ProfileFriends from './profile-friends/ProfileFriends';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { useFetch } from 'use-http';
import { friendsPaths } from '../../../config/api/friends';
import { IFullUser, IUserFriend } from '../../../types';
import { IFullUser } from '../../../types/interfaces/auth/IFullUser';
import { IUserFriend } from '../../../types/interfaces/profile/IUserFriend';
import ProfileFriendRequest from './profile-friend-request/ProfileFriendRequest';

interface ProfileFriendRequestsProps {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Link } from 'react-router-dom';
import { useFetch } from 'use-http';
import { friendsPaths } from '../../../../config/api/friends';
import { IFullUser, PageEnum } from '../../../../types';
import { PageEnum } from '../../../../types/enums/PageEnum';
import { IFullUser } from '../../../../types/interfaces/auth/IFullUser';

interface ProfileFriendRequestProps {
requester: IFullUser;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IFullUser } from '../../../types';
import { IFullUser } from '../../../types/interfaces/auth/IFullUser';
import ProfileFriend from './profile-friend/ProfileFriend';

interface ProfileFriendsProps {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Link } from 'react-router-dom';
import { useFetch } from 'use-http';
import { friendsPaths } from '../../../../config/api/friends';
import { IFullUser, PageEnum } from '../../../../types';
import { PageEnum } from '../../../../types/enums/PageEnum';
import { IFullUser } from '../../../../types/interfaces/auth/IFullUser';

interface ProfileFriendProps {
friend: IFullUser;
Expand Down
25 changes: 0 additions & 25 deletions client/src/types/index.ts

This file was deleted.

5 changes: 0 additions & 5 deletions client/src/utils/index.ts

This file was deleted.

0 comments on commit 48c148e

Please sign in to comment.