diff --git a/.gitea/workflows/gitea-ci.yml b/.gitea/workflows/gitea-ci.yml new file mode 100644 index 0000000..6ff8426 --- /dev/null +++ b/.gitea/workflows/gitea-ci.yml @@ -0,0 +1,55 @@ +name: Test CI + +on: + push: + branches: [main] + +jobs: + build: + runs-on: rpi5 + + env: + DOCKER_VOLUME: ${{ vars.DOCKER_VOLUME }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Check PWD + run: | + echo "Docker volume: $DOCKER_VOLUME" + echo "PWD: $PWD" + + - name: Validate Node Environment + run: | + if ! command -v node &> /dev/null + then + echo "Error: Node.js not found" + exit 1 + fi + echo "Node.js version: $(node -v)" + + - name: Restore node_modules + id: cache-node + uses: actions/cache@v4 + with: + path: node_modules + key: ${{ runner.os }}-yarn-v1-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn-v1- + + - name: Install Dependencies with Npm + if: steps.cache-node.outputs.cache-hit != 'true' + run: | + npm install + ls . + + - name: Build Nestjs project + run: | + npm run build + ls . + + - name: Deploy dist + run: | + cp -r dist/* $DOCKER_VOLUME/scheduler/front/service/ + ls $DOCKER_VOLUME/scheduler/front/service/ \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 57ec3cf..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,25 +0,0 @@ -stages: - - build - -variables: - GIT_STRATEGY: clone - GIT_CHECKOUT: "true" - GIT_SSL_NO_VERIFY: "true" - -cache: - paths: - - node_modules/ - -build: - stage: build - image: node:25.1.0 - tags: - - local-runner - script: - - node -v - - npm install - - npm run build - - pwd - - ls - - whoami - - sudo cp -r $PWD/dist/. $DOCKER_VOLUME/scheduler/front/service/ diff --git a/src/App.tsx b/src/App.tsx index 5b980e5..42ebdfa 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -8,6 +8,7 @@ import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-d import { useAuthStore } from './store/authStore'; import { PageRouting } from './data/RoutingData'; import LoginPage from './ui/page/login/LoginPage'; +import ResetPasswordPage from './ui/page/resetPassword/ResetPasswordPage'; function App() { const { authData } = useAuthStore(); @@ -18,6 +19,7 @@ function App() { }> } path={PageRouting["LOGIN"].path} /> } path={PageRouting["SIGN_UP"].path} /> + } path={PageRouting["RESET_PASSWORD"].path} /> {!(authData?.isLogedIn) ? } path="*" /> : null} diff --git a/src/data/form/resetPassword.schema.ts b/src/data/form/resetPassword.schema.ts index 73360b3..2a9e394 100644 --- a/src/data/form/resetPassword.schema.ts +++ b/src/data/form/resetPassword.schema.ts @@ -3,4 +3,7 @@ import * as z from 'zod'; export const ResetPasswordSchema = z.object({ email: z .email() + , resetCode: z + .string() + .length(6) }); \ No newline at end of file diff --git a/src/ui/page/login/LoginPage.tsx b/src/ui/page/login/LoginPage.tsx index 6efb49b..dd67b5b 100644 --- a/src/ui/page/login/LoginPage.tsx +++ b/src/ui/page/login/LoginPage.tsx @@ -1,6 +1,6 @@ import { Card, CardContent, CardHeader, CardFooter } from '@/components/ui/card'; import { LoginSchema } from '@/data/form'; -import { Field, FieldError, FieldGroup, FieldLabel, FieldLegend } from '@/components/ui/field'; +import { Field, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator } from '@/components/ui/field'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { zodResolver } from '@hookform/resolvers/zod'; @@ -9,6 +9,8 @@ import { Controller, useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; import { PageRouting } from '@/data/RoutingData'; import * as z from 'zod'; +import { Separator } from '@/components/ui/separator'; +import { Label } from '@/components/ui/label'; export default function LoginPage() { const navigate = useNavigate(); @@ -25,6 +27,20 @@ export default function LoginPage() { navigate(PageRouting["SIGN_UP"].path); }, []); + const moveToResetPasswordPage = useCallback(() => { + navigate(PageRouting["RESET_PASSWORD"].path); + }, []); + + const TextSeparator = ({ text }: { text: string }) => { + return ( +
+ + {text} + +
+ ) + } + return (
@@ -32,7 +48,7 @@ export default function LoginPage() { 로그인 -
+ ( - 비밀번호 +
+ 비밀번호 + +
+ + + +
+
+ ) +} \ No newline at end of file