diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml new file mode 100644 index 0000000..f00980e --- /dev/null +++ b/.gitea/workflows/deploy.yaml @@ -0,0 +1,43 @@ +name: Deploy React portfolio + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Setup SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.SSH_DEPLOY_KEY }}" > ~/.ssh/deploy_key + chmod 600 ~/.ssh/deploy_key + + - name: Deploy to server + run: | + tar czf portfolio.tar.gz -C dist . + scp -i ~/.ssh/deploy_key -o StrictHostKeyChecking=accept-new portfolio.tar.gz ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:/tmp/ + ssh -i ~/.ssh/deploy_key -o StrictHostKeyChecking=accept-new ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "\ + sudo rm -rf ${{ secrets.DEPLOY_PATH }}/* && \ + sudo tar xzf /tmp/portfolio.tar.gz -C ${{ secrets.DEPLOY_PATH }}/ && \ + sudo rm /tmp/portfolio.tar.gz && \ + sudo chown -R deploy:www-data ${{ secrets.DEPLOY_PATH }} && \ + sudo chmod -R 775 ${{ secrets.DEPLOY_PATH }} && \ + sudo systemctl reload nginx" diff --git a/.gitignore b/.gitignore index ed0d3c8..12a47fb 100644 --- a/.gitignore +++ b/.gitignore @@ -86,3 +86,6 @@ typings/ # DynamoDB Local files .dynamodb/ + +# Vite react build output +dist/ \ No newline at end of file diff --git a/src/components/App.tsx b/src/components/App.tsx index 640adb2..b628be0 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -37,6 +37,7 @@ function App() { }; handleChange(); + localStorage.setItem('themeSelected', themeSelected); mediaQuery.addEventListener('change', handleChange); return () => mediaQuery.removeEventListener('change', handleChange); diff --git a/src/components/Contact.tsx b/src/components/Contact.tsx index 1f313d1..b80fd8f 100644 --- a/src/components/Contact.tsx +++ b/src/components/Contact.tsx @@ -12,7 +12,7 @@ const Contact = () => {