Skip to content
Open

Tests #109

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ Please refer to the setup instructions provided in [README.md](README.md) to set
Husky automatically runs quality checks on every commit.
**Do not remove or modify these hooks.** They exist to maintain code quality and prevent regressions.

| Hook | Purpose |
|------|----------|
| `pre-commit` | Runs Next Lint and Prettier |
| Hook | Purpose |
| ------------ | ------------------------------------------------------ |
| `pre-commit` | Runs Next Lint and Prettier |
| `commit-msg` | Validates commit message format (Conventional Commits) |

**Do not** commit with `--no-verify`.
Expand All @@ -25,19 +25,18 @@ If a hook fails, fix the issue before retrying.

We follow [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) messages.


## Pull Request Guidelines

- Each pull request should focus on **a single, clear purpose** — a feature, fix, refactor, or documentation update. Avoid combining unrelated changes in one PR.
- Before opening a PR, ensure **all local checks pass**:

```bash
npm run lint
npm run format:fix
npm run build
```
- **Do not** deviate from the Pull Request format.

- **Do not** deviate from the Pull Request format.

## Opening an Issue

Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@ git clone https://github.com/acmpesuecc/acmpesuecc.github.io.git
cd acmpesuecc.github.io
npm install
```

### Run the development server

```bash
npm run dev
```

Then, visit [http://localhost:3000](http://localhost:3000) on your browser

### Verify code quality
Expand Down Expand Up @@ -48,4 +50,3 @@ See the [LICENSE](LICENSE) file for more details.
## Maintainers(s)

[**Achyuth Yogesh Sosale**](https://github.com/achyuthcodes30) - achyuthyogesh0@gmail.com

158 changes: 158 additions & 0 deletions app/footer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
'use client';
import { useState, useEffect } from 'react';
import Image from 'next/image';
import { Roboto_Mono } from 'next/font/google';

const roboto = Roboto_Mono({
subsets: ['latin'],
display: 'swap',
weight: '400',
});

export default function Footer() {
const [width, setWidth] = useState(0);

// Track screen width
useEffect(() => {
const updateWidth = () => setWidth(window.innerWidth);
updateWidth();
window.addEventListener('resize', updateWidth);
return () => window.removeEventListener('resize', updateWidth);
}, []);

// Default responsive sizing
let footerHeight = '80px';
let iconSize = 24;
let logoHeight = 50;
let fontSize = '0.9rem';
let flexDirection: 'row' | 'column' = 'row';
let justifyContent: 'space-between' | 'center' = 'space-between';
let padding = '0 2rem';

// Adjust sizes per breakpoint
if (width > 1024) {
footerHeight = '90px';
iconSize = 28;
logoHeight = 56;
fontSize = '1rem';
} else if (width > 640) {
footerHeight = '70px';
iconSize = 24;
logoHeight = 48;
fontSize = '0.9rem';
} else if (width > 400) {
footerHeight = '65px';
iconSize = 22;
logoHeight = 44;
fontSize = '0.85rem';
} else {
// Very small screens (e.g., <400px) — vertical layout
flexDirection = 'column';
justifyContent = 'center';
footerHeight = 'auto';
padding = '1rem';
}

const socialLinks = [
{ href: 'https://github.com/acmpesuecc', src: '/github.png', alt: 'GitHub' },
{ href: 'https://www.instagram.com/acmpesuecc', src: '/instagram.svg', alt: 'Instagram' },
{ href: 'https://www.linkedin.com/company/acm-pesu-ecc/', src: '/linkedin.png', alt: 'LinkedIn' },
{ href: 'https://twitter.com/AcmPesu', src: '/twitter.png', alt: 'Twitter' },
{ href: 'mailto:acmpesuecc@pes.edu', src: '/mail-64.png', alt: 'Email' },
];

return (
<footer
style={{
height: footerHeight,
backgroundColor: 'rgba(0,0,0,0.3)',
borderTop: '2px solid white',
display: 'flex',
flexDirection,
alignItems: 'center',
justifyContent,
padding,
color: 'white',
flexWrap: 'nowrap',
textAlign: 'center',
}}
>
{/* Logos */}
<div
style={{
display: 'flex',
alignItems: 'center',
gap: '1.5rem',
justifyContent: 'center',
marginBottom: flexDirection === 'column' ? '0.8rem' : '0',
}}
>
<a href="/" style={{ display: 'inline-block', height: logoHeight }}>
<Image
src="/acmpesuecc2.png"
alt="ACM Logo"
width={logoHeight * 2}
height={logoHeight}
style={{ objectFit: 'contain' }}
/>
</a>
<a
href="https://maps.app.goo.gl/xrign5RWHsNNurfb9"
style={{ display: 'inline-block', height: logoHeight }}
>
<Image
src="/pes_logo_white.png"
alt="PES Logo"
width={logoHeight * 2}
height={logoHeight}
style={{ objectFit: 'contain' }}
/>
</a>
</div>

{/* Social icons */}
<div
style={{
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
gap: '1.2rem',
margin: flexDirection === 'column' ? '0.8rem 0' : '0',
flexWrap: 'nowrap',
}}
>
{socialLinks.map((link) => (
<a
key={link.href}
href={link.href}
target="_blank"
rel="noopener noreferrer"
style={{ transition: 'transform 0.2s' }}
onMouseOver={(e) => (e.currentTarget.style.transform = 'scale(1.1)')}
onMouseOut={(e) => (e.currentTarget.style.transform = 'scale(1)')}
>
<Image
src={link.src}
alt={link.alt}
width={iconSize}
height={iconSize}
style={{ objectFit: 'contain' }}
/>
</a>
))}
</div>

{/* Copyright */}
<p
className={roboto.className}
style={{
fontSize,
whiteSpace: 'nowrap',
marginTop: flexDirection === 'column' ? '0.5rem' : '0',
}}
>
© 2025 ACM PESUECC
</p>
</footer>
);
}
40 changes: 40 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,26 @@
dependencies:
glob "10.3.10"

"@next/swc-darwin-arm64@14.1.0":
version "14.1.0"
resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.0.tgz"
integrity sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==

"@next/swc-darwin-x64@14.1.0":
version "14.1.0"
resolved "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.0.tgz"
integrity sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==

"@next/swc-linux-arm64-gnu@14.1.0":
version "14.1.0"
resolved "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.0.tgz"
integrity sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==

"@next/swc-linux-arm64-musl@14.1.0":
version "14.1.0"
resolved "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.0.tgz"
integrity sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==

"@next/swc-linux-x64-gnu@14.1.0":
version "14.1.0"
resolved "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.0.tgz"
Expand All @@ -305,6 +325,21 @@
resolved "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.0.tgz"
integrity sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==

"@next/swc-win32-arm64-msvc@14.1.0":
version "14.1.0"
resolved "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.0.tgz"
integrity sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==

"@next/swc-win32-ia32-msvc@14.1.0":
version "14.1.0"
resolved "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.0.tgz"
integrity sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==

"@next/swc-win32-x64-msvc@14.1.0":
version "14.1.0"
resolved "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.0.tgz"
integrity sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==

"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
Expand Down Expand Up @@ -1607,6 +1642,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==

fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==

function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
Expand Down