Skip to content

Commit

Permalink
Merge pull request #81 from KERT-core/feat/profile-image-compress
Browse files Browse the repository at this point in the history
Feat/ProfileImageCompress - 프로필 이미지 크기 제한 및 75% 퀄리티 압축 외 2가지 수정사항
  • Loading branch information
Village-GG-Water authored Nov 7, 2024
2 parents c1cb3aa + f501c4b commit e4ba96d
Show file tree
Hide file tree
Showing 10 changed files with 218 additions and 141 deletions.
4 changes: 3 additions & 1 deletion src/components/display/dashboard/admin/AddAdmin.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export const AddAdmin = forwardRef(({ ...props }, ref) => {
<Input
ref={ref.generation}
label="동아리 가입연월"
placeholder="2024.9"
placeholder="2024-9"
/>
<Input ref={ref.role} label="역할" placeholder="담당 역할" />
</div>
Expand All @@ -28,3 +28,5 @@ export const AddAdmin = forwardRef(({ ...props }, ref) => {
</Wrapper>
);
});

AddAdmin.displayName = 'AddAdmin';
11 changes: 6 additions & 5 deletions src/components/layouts/DashboardLayout.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import { DashboardNav } from '@components/navigation/DashboardNav';
import { Alert } from '@components/forms/modal/Alert';
import { Confirm } from '@components/forms/modal/Confirm';
import { Loading } from '@components/forms/modal/Loading';
import NotFound from '../../pages/NotFound';

import '@/transitions/fade-slide.css';

Expand Down Expand Up @@ -75,16 +76,16 @@ export const DashboardLayout = ({ location }) => {

useEffect(() => {
if (isLoading) {
showLoading({ message: '대시보드를 준비하는 중...' });
showLoading({ message: '페이지를 찾는 중...' });
} else {
hideLoading();
}

if (isError) {
navigate(-1);
}
}, [isLoading, isError]);

if (isError) {
return <NotFound />;
}

return (
<Layout>
<Confirm />
Expand Down
19 changes: 6 additions & 13 deletions src/components/navigation/AuthContext.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,12 @@ export const AuthProvider = ({ children }) => {
setIsLoggedIn(true);
};

const logout = async () => {
try {
await API.POST('/logout');
} catch (error) {
// console.error('Error during logout:', error);
} finally {
localStorage.removeItem('accessToken');
localStorage.removeItem('refreshToken');
localStorage.removeItem('user');
setIsLoggedIn(false);
setUser(null);
window.location.href = '/';
}
const logout = () => {
localStorage.removeItem('accessToken');
localStorage.removeItem('refreshToken');
localStorage.removeItem('user');
setIsLoggedIn(false);
setUser(null);
};

return (
Expand Down
9 changes: 8 additions & 1 deletion src/components/navigation/Profile.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,14 @@ const Profile = ({ userName, logout }) => {
<ProfileContainer onClick={() => navigate('/mypage')}>
<ProfileButton type="rounded" />
<ProfileName style={menu_style}>{userName}</ProfileName>
<Link to="/login" style={menu_style} onClick={logout}>
<Link
to="/login"
style={menu_style}
onClick={() => {
logout();
window.location.href = '/';
}}
>
로그아웃
</Link>
</ProfileContainer>
Expand Down
4 changes: 3 additions & 1 deletion src/pages/Article.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import 'prismjs/components/prism-jsx.min'; // JSX 언어 지원을 포함합니
import 'prismjs/plugins/line-numbers/prism-line-numbers.css'; // 코드 블럭에 줄 번호를 추가하기 위해 이 줄을 추가합니다
import 'prismjs/plugins/line-numbers/prism-line-numbers.min';

import { formatDate } from '@/utils/formatDate';

const ArticleContainer = styled.div`
width: 100%;
margin: 0 auto;
Expand Down Expand Up @@ -121,7 +123,7 @@ export default function Article() {
</Text>
</ArticleTitleGroup>
<Text size="s" color="--secondary-text-color">
{post?.user?.name} | {post?.createdAt}
{post?.user?.name} | {formatDate(post?.created_at)}
</Text>
</ArticleHeader>
<ArticleHorizontalLine />
Expand Down
41 changes: 13 additions & 28 deletions src/pages/Login.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -145,14 +145,10 @@ export default function Login() {

// console.log('response:', response);

// get string body
const access_token = login_res.data.access_token;
const refresh_token = login_res.data.refresh_token;

// 서버에 user 정보 요청
const student_res = await API.GET(`/users/${data.student}`, {
headers: {
Authorization: access_token,
Authorization: login_res.data.access_token,
},
});

Expand All @@ -161,10 +157,16 @@ export default function Login() {
// console.log('token:', { access_token, refresh_token });
// console.log('userInfo:', userInfo);

alert('break!');

if (access_token && refresh_token && userInfo) {
login(access_token, refresh_token, userInfo); // 로그인 성공 시 AuthContext의 login 함수 호출
if (
login_res.data.access_token &&
login_res.data.refresh_token &&
userInfo
) {
login(
login_res.data.access_token,
login_res.data.refresh_token,
userInfo,
); // 로그인 성공 시 AuthContext의 login 함수 호출
// console.log('login user info:', userInfo); // Log user info
setError(''); // 에러 초기화
navigate('/');
Expand All @@ -173,9 +175,6 @@ export default function Login() {
setError('로그인에 실패했습니다. 다시 시도해주세요.');
}
} catch (error) {
// 입력창 비우기
setValue('student', '');
setValue('password', '');
// 에러 처리
// console.error('Error:', error);
setError('로그인에 실패했습니다. 다시 시도해주세요.');
Expand Down Expand Up @@ -206,13 +205,9 @@ export default function Login() {
placeholder="2024000000"
{...register('student', {
required: '학번을 입력해주세요.',
minLength: {
value: 10,
message: '학번은 10자리 숫자여야 합니다.',
},
pattern: {
value: /^[0-9]{10}$/,
message: '학번은 10자리 숫자여야 합니다.',
message: '올바른 학번을 적어주세요.',
},
})}
/>
Expand All @@ -229,16 +224,6 @@ export default function Login() {
placeholder="비밀번호"
{...register('password', {
required: '비밀번호를 입력해주세요',
minLength: {
value: 8,
message: '비밀번호는 8자리 이상이여야 합니다. ',
},
pattern: {
value:
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,20}$/,
message:
'비밀번호는 숫자, 영문 대문자·소문자, 특수문자를 포함해야 합니다.',
},
})}
/>
{errors.password && (
Expand All @@ -258,4 +243,4 @@ export default function Login() {
</LoginBox>
</Container>
);
}
}
Loading

0 comments on commit e4ba96d

Please sign in to comment.