diff --git a/.github/workflows/deno.yml b/.github/workflows/deno.yml new file mode 100644 index 0000000..782af35 --- /dev/null +++ b/.github/workflows/deno.yml @@ -0,0 +1,42 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# This workflow will install Deno then run `deno lint` and `deno test`. +# For more information see: https://github.com/denoland/setup-deno + +name: Deno + +on: + push: + branches: ["main"] + pull_request: + branches: ["main"] + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Setup repo + uses: actions/checkout@v4 + + - name: Setup Deno + # uses: denoland/setup-deno@v1 + uses: denoland/setup-deno@61fe2df320078202e33d7d5ad347e7dcfa0e8f31 # v1.1.2 + with: + deno-version: v1.x + + # Uncomment this step to verify the use of 'deno fmt' on each commit. + # - name: Verify formatting + # run: deno fmt --check + + - name: Run linter + run: deno lint + + - name: Run tests + run: deno test -A diff --git a/.github/workflows/npm-publish-github-packages.yml b/.github/workflows/npm-publish-github-packages.yml new file mode 100644 index 0000000..ea2d329 --- /dev/null +++ b/.github/workflows/npm-publish-github-packages.yml @@ -0,0 +1,36 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + +name: Node.js Package + +on: + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - run: npm ci + - run: npm test + + publish-gpr: + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: https://npm.pkg.github.com/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/public/Contact Us/contact.html b/public/Contact Us/contact.html new file mode 100644 index 0000000..e05c883 --- /dev/null +++ b/public/Contact Us/contact.html @@ -0,0 +1,43 @@ + + + + + + Contact Us + + + +
+

Contact Us

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+ + + + + + diff --git a/public/Contact Us/script.js b/public/Contact Us/script.js new file mode 100644 index 0000000..bb458ff --- /dev/null +++ b/public/Contact Us/script.js @@ -0,0 +1,20 @@ +document.getElementById('contact-form').addEventListener('submit', function(event) { + event.preventDefault(); + + // Basic form validation + const name = document.getElementById('name').value; + const email = document.getElementById('email').value; + const subject = document.getElementById('subject').value; + const message = document.getElementById('message').value; + + if (name && email && subject && message) { + // Show the popup + document.getElementById('popup').style.display = 'flex'; + } else { + alert("Please fill out all fields."); + } +}); + +document.getElementById('close-popup').addEventListener('click', function() { + document.getElementById('popup').style.display = 'none'; +}); \ No newline at end of file diff --git a/public/Contact Us/styles.css b/public/Contact Us/styles.css new file mode 100644 index 0000000..be0e988 --- /dev/null +++ b/public/Contact Us/styles.css @@ -0,0 +1,134 @@ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body { + font-family: Arial, sans-serif; + background-color: #f4f4f4; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; +} + +.contact-container { + background-color: white; + padding: 20px; + max-width: 500px; + width: 100%; + border-radius: 8px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +h2 { + text-align: center; + margin-bottom: 20px; + color: #333; +} + +.form-group { + margin-bottom: 15px; +} + +.form-group label { + display: block; + margin-bottom: 5px; + font-weight: bold; + color: #555; +} + +.form-group input, +.form-group textarea { + width: 100%; + padding: 10px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 16px; +} + +.form-group input:focus, +.form-group textarea:focus { + outline: none; + border-color: #007bff; +} + +button { + width: 100%; + padding: 10px; + background-color: #007bff; + color: white; + border: none; + border-radius: 4px; + font-size: 16px; + cursor: pointer; +} + +button:hover { + background-color: #0056b3; +} + +/* Responsive */ +@media (max-width: 768px) { + .contact-container { + padding: 15px; + } + + h2 { + font-size: 1.5em; + } + + .form-group input, + .form-group textarea { + font-size: 14px; + } + + button { + font-size: 14px; + } +} + +/* Custom Popup Styles */ +.popup-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.5); + display: none; + justify-content: center; + align-items: center; +} + +.popup-content { + background-color: white; + padding: 20px; + border-radius: 8px; + text-align: center; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +.popup-content h2 { + margin-bottom: 15px; + color: #333; +} + +.popup-content p { + margin-bottom: 20px; + color: #555; +} + +#close-popup { + background-color: #007bff; + color: white; + padding: 10px 20px; + border: none; + border-radius: 4px; + cursor: pointer; +} + +#close-popup:hover { + background-color: #0056b3; +}