diff --git a/frontend/src/pages/BecomeHost.jsx b/frontend/src/pages/BecomeHost.jsx index 83118af..2ecf75f 100644 --- a/frontend/src/pages/BecomeHost.jsx +++ b/frontend/src/pages/BecomeHost.jsx @@ -1227,9 +1227,9 @@ const BecomeHost = () => {
By becoming a host, you agree to our{" "} - + Terms of Service - {" "} + {" "} and{" "} Host Policies diff --git a/frontend/src/pages/Terms.jsx b/frontend/src/pages/Terms.jsx index 2ea6dba..f0a3206 100644 --- a/frontend/src/pages/Terms.jsx +++ b/frontend/src/pages/Terms.jsx @@ -1,95 +1,239 @@ -import React from 'react'; -import { Link } from 'react-router-dom'; +import React, { useState, useEffect } from 'react'; +import { Link, useLocation } from 'react-router-dom'; const Terms = () => { - const lastUpdated = "November 15, 2023"; + const lastUpdated = "January 23, 2026"; + const location = useLocation(); + const [activeSection, setActiveSection] = useState(''); + + // Scroll to section if hash is present + useEffect(() => { + if (location.hash) { + const id = location.hash.replace('#', ''); + const element = document.getElementById(id); + if (element) { + setTimeout(() => { + element.scrollIntoView({ behavior: 'smooth', block: 'start' }); + }, 100); + } + } + }, [location]); + + // Track active section on scroll + useEffect(() => { + const handleScroll = () => { + const sections = document.querySelectorAll('h2[id]'); + let currentSection = ''; + + sections.forEach(section => { + const rect = section.getBoundingClientRect(); + if (rect.top <= 150 && rect.bottom >= 150) { + currentSection = section.id; + } + }); + + setActiveSection(currentSection); + }; + + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); + }, []); + + const scrollToSection = (id) => { + const element = document.getElementById(id); + if (element) { + element.scrollIntoView({ behavior: 'smooth', block: 'start' }); + } + }; + + const sections = [ + { id: 'acceptance', title: '1. Acceptance of Terms' }, + { id: 'account', title: '2. Account Registration' }, + { id: 'conduct', title: '3. Content and Conduct' }, + { id: 'bookings', title: '4. Bookings and Reservations' }, + { id: 'host-responsibilities', title: '5. Host Responsibilities', badge: 'For Hosts' }, + { id: 'cancellations', title: '6. Cancellations and Refunds' }, + { id: 'fees', title: '7. Fees and Payments' }, + { id: 'liability', title: '8. Disclaimers and Limitations' }, + { id: 'indemnification', title: '9. Indemnification' }, + { id: 'modifications', title: '10. Modifications to Terms' }, + { id: 'governing-law', title: '11. Governing Law' }, + { id: 'contact', title: '12. Contact Information' }, + ]; return (
The rules and guidelines for using Smart Rent System
+Last Updated: {lastUpdated}
Last Updated: {lastUpdated}
- -- Welcome to Smart Rent System. These Terms of Service govern your access to and use of the Smart Rent System website, apps, and services. By accessing or using our service, you agree to be bound by these terms. -
+- By registering for and/or using the Service in any manner, you agree to these Terms and all other operating rules, policies, and procedures that may be published by Smart Rent System. These Terms apply to all users of the Service, including hosts, guests, and general visitors. -
+ {/* Main Content */} +📋 Important Notice
++ Please read these Terms of Service carefully before using Smart Rent System. By accessing or using our platform, you acknowledge that you have read, understood, and agree to be bound by these terms. +
+- To access certain features of the Service, you must register for an account. When you register, you agree to: -
-- We reserve the right to refuse service, terminate accounts, or remove content in our sole discretion. -
++ Welcome to Smart Rent System. These Terms of Service govern your access to and use of the Smart Rent System website, apps, and services. By accessing or using our service, you agree to be bound by these terms. +
-- Our Service allows you to post, link, store, share, and otherwise make available certain information, text, graphics, videos, or other material. You are responsible for the content you post and the consequences of sharing it. By posting content, you represent that you have the necessary rights to that content. -
-- You agree not to use the Service to: -
-- As a guest, when you make a booking, you agree to: -
-- As a host, when you list your property, you agree to: -
-+ By registering for and/or using the Service in any manner, you agree to these Terms and all other operating rules, policies, and procedures that may be published by Smart Rent System. These Terms apply to all users of the Service, including hosts, guests, and general visitors. +
+ ++ To access certain features of the Service, you must register for an account. When you register, you agree to: +
++ We reserve the right to refuse service, terminate accounts, or remove content in our sole discretion. +
+ ++ Our Service allows you to post, link, store, share, and otherwise make available certain information, text, graphics, videos, or other material. You are responsible for the content you post and the consequences of sharing it. By posting content, you represent that you have the necessary rights to that content. +
++ You agree not to use the Service to: +
++ As a guest, when you make a booking, you agree to: +
+🏠 Attention Hosts
++ If you're listing a property on Smart Rent System, please pay special attention to this section. These terms outline your specific responsibilities as a host. +
++ When you list your property on Smart Rent System, you agree to: +
++ ⚠️ Important: Violations of host responsibilities may result in listing suspension, account penalties, or termination. Hosts are responsible for understanding and following all platform policies. +
+Cancellations and refunds are handled according to the specific cancellation policy selected by the host for their listing. This policy is displayed on each listing prior to booking. By completing a booking, guests acknowledge and agree to the host's cancellation policy.
@@ -97,12 +241,12 @@ const Terms = () => { For more information, please refer to our Cancellation Policy. -Smart Rent System charges service fees to both guests and hosts for use of the platform. These fees are calculated as a percentage of the booking subtotal and are clearly displayed before checkout. By using our Service, you agree to pay all applicable fees. All payments are processed securely through our platform.
-The Service is provided on an "as is" and "as available" basis. Smart Rent System expressly disclaims all warranties of any kind, whether express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, and non-infringement.
@@ -110,22 +254,22 @@ const Terms = () => { In no event shall Smart Rent System be liable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your access to or use of or inability to access or use the Service. -You agree to defend, indemnify, and hold harmless Smart Rent System, its officers, directors, employees, and agents, from and against any claims, liabilities, damages, losses, and expenses, including without limitation reasonable attorney's fees and costs, arising out of or in any way connected with your access to or use of the Service, your violation of these Terms, or your violation of any rights of another.
-We reserve the right to modify these Terms at any time. If we make changes, we will provide notice by posting the updated Terms on our website and updating the "Last Updated" date. Your continued use of the Service after such notice constitutes your acceptance of the new Terms.
-These Terms shall be governed by and construed in accordance with the laws of [Jurisdiction], without regard to its conflict of law provisions. You agree to submit to the personal and exclusive jurisdiction of the courts located within [Jurisdiction].
-If you have any questions about these Terms, please contact us at:
@@ -137,6 +281,25 @@ const Terms = () => {+ Now that you understand our Terms of Service, start listing your property and earn extra income! +
+ + + List Your Property + +