diff --git a/.github/workflows/deploy-react.yml b/.github/workflows/deploy-react.yml new file mode 100644 index 0000000..6cce8c9 --- /dev/null +++ b/.github/workflows/deploy-react.yml @@ -0,0 +1,59 @@ +name: Build and deploy React site + +on: + push: + branches: [main] + pull_request: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v7 + + - name: Set up Node + uses: actions/setup-node@v6 + with: + node-version: lts/* + + - name: Install dependencies + run: npm install --no-audit --no-fund + + - name: Build React site + run: npm run build + + - name: Preserve existing static routes and assets + run: | + cp Uchiha.jpg jchrist.mp3 dist/ + cp -R business visagelab-free dist/ + touch dist/.nojekyll + + - name: Configure GitHub Pages + if: github.event_name != 'pull_request' + uses: actions/configure-pages@v6 + + - name: Upload GitHub Pages artifact + if: github.event_name != 'pull_request' + uses: actions/upload-pages-artifact@v5 + with: + path: ./dist + + deploy: + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e9fc32a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +dist/ +.vite/ +.DS_Store diff --git a/index.html b/index.html index 7c7943d..d8ed1ea 100644 --- a/index.html +++ b/index.html @@ -1,139 +1,30 @@ - - - - - Code Uchiha - - - - -

Code Uchiha

- -
- Uchiha Clan -
- -
-

The Uchiha Clan and Coding

-

The Uchiha Clan is renowned for their exceptional abilities and Sharingan eye technique. In the world of coding, we strive to develop our own unique skills and techniques, just like the Uchiha Clan.

-

Programming and developing, like the Sharingan, allow us to perceive and understand the intricacies of technology. With each line of code we write, we unlock new possibilities and shape the digital world around us.

-

As the Uchiha Clan sought to protect and advance their abilities, we, as developers, aim to use our coding skills to create innovative solutions, build amazing projects, and contribute to the ever-evolving field of technology.

-
- -
- - -
- -
-

Contact me: WhatsApp: +263785028126

-

GitHub: github.com/Cod3chiha

-

Telegram: t.me/Code_Uchiha

-

WhatsApp Channel: Code Uchiha whatsapp Channel

-

WhatsApp Group: Code Uchiha whatsapp Group

-
- - - + + + +
+ + diff --git a/package.json b/package.json new file mode 100644 index 0000000..ffe6e6b --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "cod3uchiha-site", + "private": true, + "version": "1.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "19.1.1", + "react-dom": "19.1.1" + }, + "devDependencies": { + "@vitejs/plugin-react": "5.0.0", + "vite": "7.1.1" + } +} diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..3992cd6 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,94 @@ +import { useEffect, useRef } from 'react' + +function Story() { + return ( +
+

The Uchiha Clan and Coding

+

+ The Uchiha Clan is renowned for their exceptional abilities and Sharingan eye technique. In the world of coding, we strive to develop our own unique skills and techniques, just like the Uchiha Clan. +

+

+ Programming and developing, like the Sharingan, allow us to perceive and understand the intricacies of technology. With each line of code we write, we unlock new possibilities and shape the digital world around us. +

+

+ As the Uchiha Clan sought to protect and advance their abilities, we, as developers, aim to use our coding skills to create innovative solutions, build amazing projects, and contribute to the ever-evolving field of technology. +

+
+ ) +} + +function AudioControls() { + const audioRef = useRef(null) + + const play = () => { + audioRef.current?.play() + } + + const stop = () => { + const audio = audioRef.current + if (!audio) return + + audio.pause() + audio.currentTime = 0 + } + + return ( +
+
+ ) +} + +function ContactDetails() { + return ( +
+

Contact me: WhatsApp: +263785028126

+

GitHub: github.com/Cod3chiha

+

Telegram: t.me/Code_Uchiha

+

WhatsApp Channel: Code Uchiha whatsapp Channel

+

WhatsApp Group: Code Uchiha whatsapp Group

+
+ ) +} + +function App() { + useEffect(() => { + const preventContextMenu = (event) => event.preventDefault() + const preventCopyShortcuts = (event) => { + if (event.ctrlKey && ['c', 'v', 'u'].includes(event.key.toLowerCase())) { + event.preventDefault() + } + } + + document.addEventListener('contextmenu', preventContextMenu) + document.addEventListener('keydown', preventCopyShortcuts) + + return () => { + document.removeEventListener('contextmenu', preventContextMenu) + document.removeEventListener('keydown', preventCopyShortcuts) + } + }, []) + + return ( +
+

Code Uchiha

+ +
+ Uchiha Clan +
+ + + + + + +
+ ) +} + +export default App diff --git a/src/main.jsx b/src/main.jsx new file mode 100644 index 0000000..3754b72 --- /dev/null +++ b/src/main.jsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import App from './App.jsx' +import './styles.css' + +createRoot(document.getElementById('root')).render( + + + , +) diff --git a/src/styles.css b/src/styles.css new file mode 100644 index 0000000..dd29b8f --- /dev/null +++ b/src/styles.css @@ -0,0 +1,77 @@ +* { + box-sizing: border-box; +} + +html, +body, +#root { + min-height: 100%; +} + +body { + margin: 0; + background-color: #000; + color: #ff0000; + text-align: center; + font-family: "Courier New", monospace; +} + +.site-shell { + padding: 8px; +} + +h1 { + color: #f00; + font-size: 36px; +} + +.image-container { + margin-top: 20px; +} + +.image-container img { + width: min(300px, 80vw); + border-radius: 50%; +} + +.story { + margin: 20px; + padding: 20px; + background-color: rgba(0, 0, 0, 0.8); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); +} + +.audio-controls { + margin-top: 20px; +} + +.hacker-button { + background-color: #000; + color: #f00; + border: 2px solid #f00; + padding: 10px 20px; + font: inherit; + font-size: 16px; + cursor: pointer; + margin: 0 5px; +} + +.hacker-button:hover, +.hacker-button:focus-visible { + background-color: #f00; + color: #fff; +} + +.contact-details { + margin-top: 20px; + color: #fff; +} + +.contact-details a { + color: #f00; +} + +.copyright { + margin-top: 20px; + color: #fff; +} diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..08d9db3 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +export default defineConfig({ + plugins: [react()], + base: '/', +})