diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..067b083 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,15 @@ +# Force all text files to use LF +* text=auto eol=lf + +# Specific file types +*.js text eol=lf +*.ts text eol=lf +*.tsx text eol=lf +*.json text eol=lf +*.css text eol=lf +*.html text eol=lf +*.md text eol=lf +*.yml text eol=lf +*.yaml text eol=lf +*.sh text eol=lf + diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..25b6c83 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,35 @@ +name: Deploy to IET Server (User Access) + +on: + push: + branches: + - dev + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: ��� Start SSH Agent + uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: ��� Deploy to Server + run: | + ssh -o StrictHostKeyChecking=no webuser@117.239.195.147 << 'EOF' + export NVM_DIR="$HOME/.nvm" + source "$NVM_DIR/nvm.sh" + nvm use 18 + + cd /var/www/website + git fetch origin dev + git reset --hard origin/dev + + node -v # ✅ Add this to verify you're using 18.x + npm -v # ✅ Confirm npm is 10+ + + export CI=true + npm install --omit=dev + pm2 restart next-dev + EOF diff --git a/.husky/_/husky.sh b/.husky/_/husky.sh deleted file mode 100644 index f9d0637..0000000 --- a/.husky/_/husky.sh +++ /dev/null @@ -1,9 +0,0 @@ -echo "husky - DEPRECATED - -Please remove the following two lines from $0: - -#!/usr/bin/env sh -. \"\$(dirname -- \"\$0\")/_/husky.sh\" - -They WILL FAIL in v10.0.0 -" \ No newline at end of file diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100644 index 34eed8b..0000000 --- a/.husky/commit-msg +++ /dev/null @@ -1 +0,0 @@ -npx --no -- commitlint --edit $1 \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 2312dc5..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1 +0,0 @@ -npx lint-staged diff --git a/.husky/pre-push b/.husky/pre-push deleted file mode 100644 index a6ebf58..0000000 --- a/.husky/pre-push +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -yarn build || exit 1 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f673a71 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5502 +} \ No newline at end of file diff --git a/app/about/page.tsx b/app/about/page.tsx index 88d694f..6eadd59 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -1,8 +1,10 @@ import About from "@/components/about-page/About"; import History from "@/components/about-page/History"; -import React from "react"; import Director from "@/components/about-page/Director"; import VC from "@/components/about-page/VC"; +import Vision from "@/components/about-page/Vision"; +import Mission from "@/components/about-page/Mission"; +import AchievementsSlider from "@/components/about-page/achivements"; const page = () => { return ( @@ -10,9 +12,12 @@ const page = () => {
+ + +
- +
@@ -20,3 +25,4 @@ const page = () => { }; export default page; +//updated \ No newline at end of file diff --git a/app/academics/calendar/page.tsx b/app/academics/calendar/page.tsx index f5c144e..45c6b36 100644 --- a/app/academics/calendar/page.tsx +++ b/app/academics/calendar/page.tsx @@ -1,4 +1,3 @@ -import React from "react"; import Calendar from "@/components/calendar/Calendar"; const page = () => { diff --git a/app/academics/class/page.tsx b/app/academics/class/page.tsx index d50b618..0b9b081 100644 --- a/app/academics/class/page.tsx +++ b/app/academics/class/page.tsx @@ -1,4 +1,3 @@ -import React from "react"; import Timetable from "@/components/timetable/Timetable"; const page = () => { diff --git a/app/academics/notice/page.tsx b/app/academics/notice/page.tsx new file mode 100644 index 0000000..29703e0 --- /dev/null +++ b/app/academics/notice/page.tsx @@ -0,0 +1,11 @@ +import Notice from "@/components/notice/notice"; + +const page = () => { + return ( +
+ +
+ ); +}; + +export default page; diff --git a/app/academics/programsoffered/page.tsx b/app/academics/programsoffered/page.tsx new file mode 100644 index 0000000..d7bdb19 --- /dev/null +++ b/app/academics/programsoffered/page.tsx @@ -0,0 +1,11 @@ +import ProgramsOffered from "@/components/programs/programsoffered"; + +const ProgramsPage = () => { + return ( +
+ +
+ ); +}; + +export default ProgramsPage; diff --git a/app/academics/projects/page.tsx b/app/academics/projects/page.tsx new file mode 100644 index 0000000..2d66e65 --- /dev/null +++ b/app/academics/projects/page.tsx @@ -0,0 +1,19 @@ +import Project from "@/components/projects/projects"; + +export default function ProjectsPage() { + return ( +
+

+ PROJECTS +

+

+ (FOR BE IV YEAR STUDENTS) +

+ + +
+ ); +} diff --git a/app/academics/syllabus/page.tsx b/app/academics/syllabus/page.tsx index 0f14ea4..c9d3569 100644 --- a/app/academics/syllabus/page.tsx +++ b/app/academics/syllabus/page.tsx @@ -1,4 +1,3 @@ -import React from "react"; import Syllabus from "@/components/syllabus/Syllabus"; const page = () => { diff --git a/app/academics/test/page.tsx b/app/academics/test/page.tsx index 2175339..b320ea6 100644 --- a/app/academics/test/page.tsx +++ b/app/academics/test/page.tsx @@ -1,4 +1,3 @@ -import React from "react"; import Timetable from "@/components/test-timetable/TestTimeTable"; const page = () => { diff --git a/app/admission/enrollment-list/page.tsx b/app/admission/enrollment-list/page.tsx index a54c709..7e3f5e4 100644 --- a/app/admission/enrollment-list/page.tsx +++ b/app/admission/enrollment-list/page.tsx @@ -1,7 +1,11 @@ -import React from "react"; +import EnrollmentList from "@/components/enrollment/EnrollmentList"; -const page = () => { - return
page
; +const EnrollmentPage = () => { + return ( +
+ +
+ ); }; -export default page; +export default EnrollmentPage; diff --git a/app/admission/intake-capacity/page.tsx b/app/admission/intake-capacity/page.tsx index 7aa0b74..c97d2ae 100644 --- a/app/admission/intake-capacity/page.tsx +++ b/app/admission/intake-capacity/page.tsx @@ -1,5 +1,4 @@ import IntakeCapacity from "@/components/intake-capacity/IntakeCapacity"; -import React from "react"; const page = () => { return ( diff --git a/app/admission/process/page.tsx b/app/admission/process/page.tsx new file mode 100644 index 0000000..a8b3179 --- /dev/null +++ b/app/admission/process/page.tsx @@ -0,0 +1,11 @@ +import AdmissionBox from "@/components/process/process"; +import ProcessContent from "@/components/process/processcontent"; + +export default function ProcessPage() { + return ( +
+ + +
+ ); +} diff --git a/app/admission/roll-list/page.tsx b/app/admission/roll-list/page.tsx new file mode 100644 index 0000000..f935044 --- /dev/null +++ b/app/admission/roll-list/page.tsx @@ -0,0 +1,12 @@ +import React from "react"; +import RollList from "@/components/roll-list/RollList"; + +const page = () => { + return ( +
+ +
+ ); +}; + +export default page; diff --git a/app/contact/page.tsx b/app/contact/page.tsx index 81c031a..fd19571 100644 --- a/app/contact/page.tsx +++ b/app/contact/page.tsx @@ -1,4 +1,3 @@ -import React from "react"; import Contact from "@/components/contact-us/Contact"; const page = () => { diff --git a/app/examination/exam-timetable/page.tsx b/app/examination/exam-timetable/page.tsx new file mode 100644 index 0000000..1e574bc --- /dev/null +++ b/app/examination/exam-timetable/page.tsx @@ -0,0 +1,12 @@ +import ExamTimetable from '@/components/exam-timetable/examTimetable' +import React from 'react' + +function page() { + return ( +
+ +
+ ) +} + +export default page diff --git a/app/examination/page.tsx b/app/examination/page.tsx new file mode 100644 index 0000000..cac7506 --- /dev/null +++ b/app/examination/page.tsx @@ -0,0 +1,33 @@ +import React from "react"; + + +const ExaminationComingSoon = () => { + return ( +
+
+ {/* ASCII-style icon */} +
+          {String.raw`
+   _______  _______  _______  __   __ 
+  |       ||       ||       ||  |_|  |
+  |  _____||   _   ||   _   ||       |
+  | |_____ |  | |  ||  | |  ||       |
+  |_____  ||  |_|  ||  |_|  ||       |
+   _____| ||       ||       || ||_|| |
+  |_______||_______||_______||_|   |_|
+`}
+        
+ + {/* Message */} +

+ This page is coming soon +

+

+ The Examination section is under construction. Stay tuned! +

+
+
+ ); +}; + +export default ExaminationComingSoon; diff --git a/app/footer/administration/page.tsx b/app/footer/administration/page.tsx new file mode 100644 index 0000000..b34c887 --- /dev/null +++ b/app/footer/administration/page.tsx @@ -0,0 +1,11 @@ +import Administration from "@/components/administration/administration"; + +const EnrollmentPage = () => { + return ( +
+ +
+ ); +}; + +export default EnrollmentPage; diff --git a/app/footer/antiRagging/page.tsx b/app/footer/antiRagging/page.tsx new file mode 100644 index 0000000..d2f64b8 --- /dev/null +++ b/app/footer/antiRagging/page.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import AntiRagging from "@/components/antiragging/antiragging"; +const antiRagging = () => { + return ( +
+ +
+ ) +} + +export default antiRagging diff --git a/app/footer/scholarPage/page.tsx b/app/footer/scholarPage/page.tsx new file mode 100644 index 0000000..22d6028 --- /dev/null +++ b/app/footer/scholarPage/page.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import ScholarshipPage from "@/components/ScholarshipsPage/scholarshipPage"; +const antiRagging = () => { + return ( +
+ +
+ ) +} + +export default antiRagging diff --git a/app/freshers/page.tsx b/app/freshers/page.tsx new file mode 100644 index 0000000..15c585e --- /dev/null +++ b/app/freshers/page.tsx @@ -0,0 +1,7 @@ +import FreshersCorner from "@/components/freshers/fresherscorner"; + +const FreshersPage = () => { + return ; +}; + +export default FreshersPage; diff --git a/app/globals.css b/app/globals.css index 1d737d5..1224b78 100644 --- a/app/globals.css +++ b/app/globals.css @@ -2,37 +2,29 @@ @tailwind components; @tailwind utilities; -/* :root { - --foreground-rgb: 0, 0, 0; - --background-start-rgb: 214, 219, 220; - --background-end-rgb: 255, 255, 255; -} -@media (prefers-color-scheme: dark) { - :root { - --foreground-rgb: 255, 255, 255; - --background-start-rgb: 0, 0, 0; - --background-end-rgb: 0, 0, 0; - } +/* In globals.css or a dedicated CSS file */ + +.custom-scrollbar::-webkit-scrollbar { + height: 6px; /* Thin scrollbar */ + margin-top: 8px; } -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient( - to bottom, - transparent, - rgb(var(--background-end-rgb)) - ) - rgb(var(--background-start-rgb)); +.custom-scrollbar::-webkit-scrollbar-track { + background: #f0f0f0; /* Light gray background */ + border-radius: 100vh; + margin-top: 8px; } -@layer utilities { - .text-balance { - text-wrap: balance; - } +.custom-scrollbar::-webkit-scrollbar-thumb { + background-color: #b0b0b0; /* Gray thumb */ + border-radius: 100vh; +} +.custom-scrollbar::-webkit-scrollbar-thumb:hover { + background-color: #f8f8f8; /* Darker on hover */ } -/* Custom Scrollbar Styles */ + ::-webkit-scrollbar { width: 5px; } @@ -50,9 +42,8 @@ body { background: #02a3bb; } -/* For Firefox */ -/* * { - scrollbar-width: thin; - scrollbar-color: #02a3bb #f1f1f1; - -} */ + @layer utilities { + .text-balance { + text-wrap: balance; + } +} diff --git a/app/grievance/page.tsx b/app/grievance/page.tsx new file mode 100644 index 0000000..5d25648 --- /dev/null +++ b/app/grievance/page.tsx @@ -0,0 +1,191 @@ +"use client"; +import React, { useState } from "react"; + +const GrievancePage = () => { + const [formData, setFormData] = useState({ + name: "", + rollno: "", + course: "", + email: "", + phone: "", + description: "", + captchaInput: "", + }); + + const [captchaCode, setCaptchaCode] = useState(generateCaptcha()); + + function generateCaptcha() { + const chars = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ"; + let code = ""; + for (let i = 0; i < 5; i++) { + code += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return code; + } + + const handleChange = ( + e: React.ChangeEvent + ) => { + setFormData({ ...formData, [e.target.name]: e.target.value }); + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (formData.captchaInput !== captchaCode) { + alert("Captcha did not match. Try again."); + setCaptchaCode(generateCaptcha()); + setFormData({ ...formData, captchaInput: "" }); + return; + } + alert("Grievance submitted successfully!"); + console.log("Grievance Data:", formData); + + setFormData({ + name: "", + rollno: "", + course: "", + email: "", + phone: "", + description: "", + captchaInput: "", + }); + setCaptchaCode(generateCaptcha()); + }; + + return ( +
+
+

Grievance Registration Form

+
+ + + + + + + {/* Email with icon on right */} +
+ + email icon +
+ + {/* Phone with icon on right */} +
+ + phone icon +
+ +