Claude/self drive car website q1792t - #17284
Conversation
Static single-page marketing site (Nova Drive) with hero, features, how-it-works, tech specs, safety stats, testimonials, and a demo request form. Plain HTML/CSS/JS, no build step. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
Static single-page site restructured to match rentify360.in's format: sticky header with topbar, hero booking search widget, popular cars grid, why-choose-us section, how-it-works steps, FAQ accordion, CTA contact form, footer with WhatsApp float button and mobile bottom nav. Uses placeholder phone/email/address and car listings pending real business details. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
Date/time inputs in the hero booking widget had no min-width:0 on their flex/grid containers, so native date/time picker minimum content widths pushed the card past the viewport on phones <480px, cutting off the drop-off field and search button. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
New admin.html/css/js gives a password-gated dashboard to add, edit,
and delete car listings, and to view booking-inquiry submissions from
the public site's contact form. Car data now lives in a shared
car-data.js module (localStorage-backed) that both index.html and
admin.html read from, so admin edits reflect on the public grid.
This is a client-side-only demo: data persists per-browser via
localStorage, and the login is a hardcoded password with no real
security. Going live with multi-visitor admin edits needs a real
backend (e.g. PHP + MySQL on Hostinger).
Fixed a bug where the add/edit car modal rendered on top of the login
screen: [hidden] and the .modal-overlay class rule had equal CSS
specificity, so the modal's `display: flex` won over the browser's
default `[hidden] { display: none }`. Added an explicit
`[hidden] { display: none !important; }` rule.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
Dashboard tab (now the default landing view) shows fleet size, inquiry count, and income/expense/balance stats at a glance, plus the 5 most recent inquiries and transactions. Finance tab lets the admin log income (e.g. booking payments) and expenses (fuel, maintenance, insurance, salary, other) with a note, see running totals, and delete entries. Data persists in the same localStorage-backed pattern as cars/inquiries. Fixed a mobile overflow bug: the 4-pill admin-tabs row had no wrap or scroll handling, so it forced the whole page wider than the viewport on narrow screens. Tabs now scroll horizontally within their own bar. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
…, reports) to admin dashboard
Extends the existing admin dashboard in place — same tab-based layout,
password gate, localStorage-backed data pattern, and visual design.
Nothing existing was removed or replaced.
New Bookings tab:
- Manual booking creation (auto-generated NSC-{year}-{seq} numbers),
edit, cancel, complete
- Double-booking protection: overlapping date/time ranges for the same
vehicle are blocked with an inline error before save
- Booking detail view aggregating customer/vehicle/rental info,
payments, security deposit, deposit refund, pickup KM, return KM,
extra-KM calculation, uploaded proofs, and a full activity timeline
Payments, deposits, KM (booking-data.js, new file, mirrors the
existing car-data.js pattern):
- Multiple payments per booking (advance/balance/additional/extra KM),
auto balance = rental amount + extra KM charge − payments
- Security deposit tracked completely separately from rental revenue,
with its own refund flow (refund = deposit − deduction)
- Pickup/return KM capture with photo uploads (client-side compressed
to keep localStorage usage down); extra KM = max(0, total − rental
days × per-day limit), charged at the vehicle's extra-KM rate
Vehicle Management (extends the existing Cars tab): registration
number, 7/15/30-day rate card, KM limit/day, extra-KM rate, security
deposit, current odometer, and status (Available/Booked/On
Rental/Maintenance/Inactive). The public site's car grid now only
lists Available vehicles.
Dashboard: appends a new "Rental Overview" section (today's bookings,
active rentals, upcoming bookings, rental revenue, advance received,
pending balance, deposit held/refunded, extra-KM revenue, total KM,
expenses, net revenue) below the existing cards — nothing existing
was replaced.
Reports tab: Booking, Revenue, Vehicle (monthly, vehicle-wise per the
KM/revenue formulas above), KM, Deposit, and Payment reports, each
with CSV, Excel (.xls), and print-to-PDF export — no external
libraries added, consistent with the rest of the project.
Finance tab gained an optional per-transaction vehicle tag so expenses
can be attributed to a specific vehicle for the monthly vehicle report,
without changing its existing income/expense behavior.
Tested locally end-to-end (booking creation, double-booking rejection,
payments, deposit + refund math, pickup/return KM + extra-KM charge,
timeline, dashboard stats, vehicle report, CSV export) and confirmed
zero console errors and zero mobile layout overflow.
Same caveats as the rest of this admin panel: localStorage is
per-browser (no shared backend yet), and the login is a demo password,
not production auth.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
.transaction-delete referenced var(--bg-admin), which admin.css never defines (only --bg exists in its :root). The undefined custom property made the background declaration invalid at computed-value time, so the button silently rendered with no background instead of the intended light gray. Use the variable that's actually defined. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
Swaps every emoji glyph across the public site and admin panel for custom inline SVG — no external images/fonts, so nothing new to load. Fleet cards: replaced the single car emoji (🚗🚙🚕) with three distinct vector illustrations (Hatchback/Sedan/SUV), each rendered in the vehicle's own paint color. Vehicle data model now stores bodyType + color instead of a free-text emoji field; the admin Vehicle form gets a Body Type dropdown and a real color picker in place of "Icon (emoji)". Vehicle cards (public + admin) and text labels (booking list, booking detail, vehicle <select> options) updated accordingly. Everywhere else: logo mark is now a small gradient badge with a car glyph (was 🚘); topbar/search/pin/how-it-works/footer/mobile-nav/ WhatsApp icons are minimal stroke-style SVGs; admin tab icons (Dashboard/Bookings/Vehicles/Inquiries/Finance/Reports) and the CSV/Excel/Print export buttons got matching line icons. Verified locally: all 6 fleet illustrations render distinctly, admin vehicle CRUD works with the new bodyType/color fields, booking creation/detail/list still resolve vehicle names correctly post data-model change, zero console errors, zero mobile layout overflow. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
Split single-page site into 5 separate pages (index, cars, features, services, contact) with NiteSha Cars & Bikes branding, dark header, gold/orange hero gradient, floating social icons, and car SVG illustration. Co-Authored-By: Claude <noreply@anthropic.com>
Uses the real business site as the design reference rather than the placeholder theme: - Header/footer navy #0A0E20 (was pure black) - Circular gold-ringed logo badge with "Premium Rentals" eyebrow - Hero copy, badge and CTAs matched to the live site - Bright amber hero gradient with diagonal stripe texture (replaces the dark-to-orange fade) - Circular brand-coloured floating social icons - Raised hero text contrast for the brighter background Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
Replaces the blue/teal default palette with the brand navy and gold used on the public site, while keeping the admin flat and dense rather than marketing-styled (spec Part 43). - Navy primary, gold accent, warm neutrals and borders - Gold action buttons with near-black text (gold-on-white text would not have cleared contrast) - Circular navy logo badge with gold ring, matching the public header - Status badges, income/expense figures and vehicle thumbnails retuned to the warm palette - Booking numbers and prices in deep gold so identifiers stand out Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
A booking whose start and return times had both passed still displayed as a plain "Confirmed", giving no signal that it needed attention. Adds bookingScheduleState(), which derives where a booking stands against its dates, and renders it as a chip beside the recorded status in the booking list, the dashboard rentals list, and the detail header: Upcoming · Starts Today · Awaiting Pickup · Not Collected On Rent · Due Back Today · Overdue Return · Awaiting Completion The derived state is deliberately not written back to booking.status. Auto-flipping a booking to Active without a recorded pickup would invent a rental that never started and leave startKm unset, which silently breaks every extra-KM calculation downstream. Status continues to move only on real pickup/return events; the chip carries the time signal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
Renames nitesha-cars-website/ to nitesha-final/ so the project has one folder as its single source of truth, and adds a README describing the files, how to run it, and the brand tokens. Renamed rather than copied: a second folder would have left two versions of every file free to drift apart. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017kAbk8SJJGZUsxVbYf8mSM
|
Hi @niteeshkanna-sh! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks! |
No description provided.