Skip to content

Commit a675dbe

Browse files
authored
Merge pull request #1 from webbywonder/feature/improvements
2 parents d3008ab + f3ef08e commit a675dbe

File tree

7 files changed

+1493
-138
lines changed

7 files changed

+1493
-138
lines changed

.claude/settings.local.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(npx playwright:*)"
5+
],
6+
"deny": [],
7+
"ask": []
8+
}
9+
}

CLAUDE.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Project Overview
6+
7+
SkyWork Borivali is a static website for a premium co-working space in Mumbai. This is a traditional multi-page single-file HTML site using jQuery and Bootstrap 5, with no build process or modern framework.
8+
9+
## Technology Stack
10+
11+
- **Frontend**: Vanilla HTML5, CSS3, JavaScript (ES5 syntax)
12+
- **Libraries**:
13+
- jQuery 3.x (DOM manipulation, AJAX)
14+
- Bootstrap 5 (layout, components, responsive grid)
15+
- Swiper.js (carousel for gallery)
16+
- Magnific Popup (image lightbox)
17+
- Filterizr (portfolio filtering, currently unused)
18+
- Line Awesome (icon font)
19+
- **No build tools**: Direct file serving, no transpilation or bundling
20+
21+
## Development Workflow
22+
23+
### Running Locally
24+
Simply open `index.html` in a browser. For a development server:
25+
```bash
26+
python3 -m http.server 8000
27+
# or
28+
npx serve
29+
```
30+
31+
### File Structure
32+
```
33+
skywork/
34+
├── index.html # Single-page application (all sections in one file)
35+
├── css/
36+
│ ├── style.css # Custom styles (editable)
37+
│ └── *.min.css # Third-party libraries (DO NOT edit)
38+
├── js/
39+
│ ├── main.js # Custom JavaScript (editable)
40+
│ └── *.min.js # Third-party libraries (DO NOT edit)
41+
├── img/ # Images for workspace, pricing, gallery
42+
├── reviews.json # Customer reviews data
43+
└── fonts/ # Line Awesome icon fonts
44+
```
45+
46+
## Key Architectural Patterns
47+
48+
### Single-Page Scroll Architecture
49+
All sections (home, about, space, gallery, reviews, contact) are in `index.html` with anchor-based navigation (`#home`, `#about`, etc.). The navbar uses smooth scrolling via jQuery to navigate between sections (see `js/main.js:11-26`).
50+
51+
### Anti-Spam Contact Protection
52+
Phone number is obfuscated using simple character rotation in `js/main.js:165-174`. The `decryptPhone()` function displays the contact when users click "Call Us Now" buttons. Similarly, email uses ROT13 encoding (`js/main.js:148-162`).
53+
54+
### Dynamic Reviews System
55+
Reviews are loaded from `reviews.json` via AJAX (`js/main.js:75-126`) and displayed in three horizontally scrolling rows with infinite scroll animation. Reviews are duplicated in the DOM to create seamless looping. Each row scrolls in alternating directions (left-right-left) defined by `data-direction` attributes.
56+
57+
### Responsive Navbar Behavior
58+
- Sticky navbar appears after 50px scroll (`js/main.js:61-72`)
59+
- Mobile hamburger menu auto-closes after link click (`js/main.js:56-58`)
60+
- Mobile-only floating call button positioned bottom-right (hidden on desktop via Bootstrap `d-md-none`)
61+
62+
## Common Development Tasks
63+
64+
### Updating Pricing
65+
Edit the pricing cards in `index.html` around lines 100-156. Update the timestamp on line 105 when prices change.
66+
67+
### Adding/Removing Reviews
68+
Edit `reviews.json`. The reviews array is automatically split into three rows (0-3, 4-7, 8+) by `js/main.js:79-81`. Each review requires: `reviewer_name`, `rating`, `review_date`, `reviewer_stats`, `review_text`, `customer_type`.
69+
70+
### Modifying Gallery Images
71+
Update the Bootstrap carousel in `index.html:173-199`. Each slide needs a `carousel-item` div with an `<img>` tag. Update carousel indicators count to match number of slides.
72+
73+
### Changing Contact Information
74+
- Address: `index.html:303`
75+
- Hours: `index.html:310-311`
76+
- Phone: Update the decoded number in `js/main.js:172` (NOT the encoded version on line 166)
77+
- Google Maps: Replace iframe src on `index.html:292`
78+
79+
### Styling Changes
80+
Edit `css/style.css`. Key sections include:
81+
- Navbar styles (`.navbar`)
82+
- Section-specific styles (`.intro`, `.about`, `.space`, `.gallery`, `.reviews`, `.contact`)
83+
- Review cards (`.review-card`, `.reviews-row`, `.reviews-track`)
84+
- Mobile-specific styles in media queries
85+
86+
## Important Notes
87+
88+
- **jQuery Usage**: This project uses jQuery 3.x. All DOM manipulation should use jQuery syntax (`$()`) to maintain consistency
89+
- **ES5 JavaScript**: Uses IIFE pattern, `var` declarations, and function declarations (no arrow functions, const/let, or ES6+ features)
90+
- **Minified Libraries**: Never edit files ending in `.min.js` or `.min.css` - these are third-party dependencies
91+
- **Responsive Images**: All images in `img/` are high-resolution JPGs/PNGs. Consider optimizing large files before adding new images
92+
- **Bootstrap Grid**: Layout uses Bootstrap 5 grid system (`container`, `row`, `col-*` classes)
93+
- **Icon Usage**: Line Awesome icons via `<i class="la la-icon-name"></i>` (similar to Font Awesome syntax)
94+
95+
## Deployment
96+
97+
This is a static site that can be deployed to:
98+
- GitHub Pages
99+
- Netlify
100+
- Vercel
101+
- Any static file hosting
102+
103+
No build step required - upload all files maintaining directory structure.
104+
105+
## Domain Configuration
106+
The `CNAME` file contains the custom domain configuration for deployment.

0 commit comments

Comments
 (0)