- {showAdvancedPricing
- ? "Set multiple pricing tiers for flexible rental rates."
- : "Set your primary pricing rate, or use Advanced Pricing for multiple tiers."}
+ {showAdvancedPricing ? (
+ "Set multiple pricing tiers for flexible rental rates."
+ ) : (
+ <>
+ Set your pricing rate. You can use Advanced Pricing for multiple
+ pricing tiers. Community Rentals charges a 10% Community Upkeep
+ Fee to help keep us running.{" "}
+
+ Calculate what you can earn here.
+
+ .
+ >
+ )}
{/* Pricing Unit Dropdown - Only show when advanced pricing is OFF */}
@@ -125,7 +136,8 @@ const PricingForm: React.FC = ({
{showAdvancedPricing && (
- Set multiple pricing tiers. Check the boxes for the tiers you want to use.
+ Set multiple pricing tiers. Check the boxes for the tiers you want
+ to use.
{advancedPricingOptions.map(([key, { field, label, value }]) => (
- Manage your rental earnings and payment setup
+ Manage your rental earnings and payment setup. Community Rentals
+ charges a 10% Community Upkeep Fee to help keep us running.{" "}
+
+ Calculate what you can earn here.
+
+ .
diff --git a/frontend/src/pages/FAQ.tsx b/frontend/src/pages/FAQ.tsx
new file mode 100644
index 0000000..23b6b84
--- /dev/null
+++ b/frontend/src/pages/FAQ.tsx
@@ -0,0 +1,384 @@
+import React, { useState } from "react";
+import { Link } from "react-router-dom";
+
+interface FAQItem {
+ question: string;
+ answer: string | React.ReactNode;
+}
+
+interface FAQSection {
+ title: string;
+ items: FAQItem[];
+}
+
+const FAQ: React.FC = () => {
+ const [openSections, setOpenSections] = useState<{ [key: string]: boolean }>({
+ earnings: true, // Open earnings section by default
+ });
+ const [openQuestions, setOpenQuestions] = useState<{
+ [key: string]: boolean;
+ }>({});
+
+ const toggleSection = (sectionId: string) => {
+ setOpenSections((prev) => ({ ...prev, [sectionId]: !prev[sectionId] }));
+ };
+
+ const toggleQuestion = (questionId: string) => {
+ setOpenQuestions((prev) => ({ ...prev, [questionId]: !prev[questionId] }));
+ };
+
+ const faqSections: { id: string; section: FAQSection }[] = [
+ {
+ id: "earnings",
+ section: {
+ title: "Earnings & Fees",
+ items: [
+ {
+ question: "How much does it cost to list items on the platform?",
+ answer:
+ "Listing items is completely free! We only charge a Community Upkeep Fee when your item is successfully rented.",
+ },
+ {
+ question: "What is the Community Upkeep Fee?",
+ answer: (
+
+
+ We charge a 10% Community Upkeep Fee on
+ rental amounts to keep Community Rentals running!
+
+
This fee covers:
+
+
Platform maintenance and improvements
+
Customer support for renters and owners
+
Secure payment processing
+
Trust and safety features
+
+
+
Example Calculation
+
+ Rental amount:
+ $100.00
+
+
+ Community Upkeep Fee (10%):
+ -$10.00
+
+
+
+ You earn:
+ $90.00
+
+
+
+ Payout Timeline: Earnings are processed within 2 business
+ days after the rental is completed. Make sure your Stripe account is set
+ up to receive payouts.
+
+
+ ),
+ },
+ {
+ question: "When will I receive my earnings?",
+ answer:
+ "Earnings are typically processed within 2 business days after a rental is completed. The exact timing depends on your Stripe account settings and your bank's processing times.",
+ },
+ {
+ question: "How do I set up my account to receive payments?",
+ answer: (
+
+
+ To receive payments, you need to connect a Stripe account:
+
+
+
+ Go to your Earnings Dashboard
+
+
+ Click on "Set Up Earnings" or "Connect Stripe Account"
+
+
Follow the Stripe onboarding process
+
+ Provide your bank account details and required information
+
+
+
+ Once your Stripe account is verified, you'll automatically
+ receive payouts for completed rentals.
+
+
+ ),
+ },
+ {
+ question: "Can I see a breakdown of my earnings?",
+ answer: (
+
+ Yes! Visit your Earnings Dashboard{" "}
+ to see:
+
+
Total earnings across all rentals
+
+ Pending earnings (rentals completed but not yet paid out)
+
+
+ Completed payouts (money already sent to your account)
+
+ Browse available items on the{" "}
+ Items page
+
+
Click on an item to view details
+
Select your desired rental dates and times
+
Choose pickup or in-place use (if available)
+
Review the cost and submit your rental request
+
Wait for the owner to accept your request
+
Once accepted, you'll receive a confirmation email
+
+
+ ),
+ },
+ {
+ question: "What payment methods are accepted?",
+ answer:
+ "We accept all major credit and debit cards through our secure payment processor, Stripe. Payment is processed when the owner accepts your rental request.",
+ },
+ {
+ question: "Can I cancel a rental?",
+ answer:
+ "You can request to cancel a rental by contacting the item owner through the messaging system. Cancellation policies and refunds are determined by the owner.",
+ },
+ {
+ question: "What if an item is damaged during my rental?",
+ answer:
+ "If an item is damaged during your rental period, you may be responsible for repair or replacement costs up to the replacement value listed on the item. We recommend taking photos before and after use and communicating any issues immediately with the owner.",
+ },
+ {
+ question: "How do I contact the item owner?",
+ answer: (
+
+ You can message the item owner through our{" "}
+ messaging system. Once you've
+ submitted a rental request or are actively renting an item,
+ you'll have access to direct messaging with the owner.
+
+ ),
+ },
+ ],
+ },
+ },
+ {
+ id: "listing",
+ section: {
+ title: "For Owners",
+ items: [
+ {
+ question: "What items can I list for rent?",
+ answer:
+ "You can list most items including tools, equipment, recreational gear, electronics, and more. Items must be in good working condition and safe to use. Prohibited items include weapons, hazardous materials, and illegal items.",
+ },
+ {
+ question: "How do I create a listing?",
+ answer: (
+
+
+
+ Click "List an Item" in the
+ navigation
+
+
Upload photos of your item (up to 5 images)
+
Provide a clear title and detailed description
+
Set your location and delivery options
+
Define your availability hours
+
Set your pricing (hourly, daily, weekly, or monthly)
+
Add any rules or requirements
+
Submit your listing for review
+
+
+ ),
+ },
+ {
+ question: "How do I set my pricing?",
+ answer:
+ "When creating or editing a listing, you can set prices for different time periods (hour, day, week, or month). The platform will show you exactly how much you'll earn after the 10% Community Upkeep Fee. You can also use Advanced Pricing to offer multiple pricing tiers.",
+ },
+ {
+ question: "Can I edit my listing after it's published?",
+ answer: (
+
+ Yes! Go to My Listings, find your
+ item, and click "Edit" to update details, pricing, availability,
+ or photos at any time.
+
+ ),
+ },
+ {
+ question: "How do I manage rental requests?",
+ answer: (
+
+ Visit your My Listings page to see
+ pending rental requests. You can accept or decline requests
+ based on your availability and preferences.
+
+ ),
+ },
+ ],
+ },
+ },
+ {
+ id: "account",
+ section: {
+ title: "Account & Settings",
+ items: [
+ {
+ question: "How do I create an account?",
+ answer:
+ 'Click "Sign Up" in the top navigation and create an account using your email address or Google account. You\'ll need to verify your email address to complete registration.',
+ },
+ {
+ question: "How do I update my profile?",
+ answer: (
+
+ Go to your Profile page to update
+ your name, email, phone number, profile picture, and bio.
+
+ ),
+ },
+ {
+ question: "Is my personal information secure?",
+ answer:
+ "Yes, we take security seriously. All payment processing is handled by Stripe, a PCI-compliant payment processor. Your financial information is encrypted and never stored on our servers.",
+ },
+ {
+ question: "How do I delete my account?",
+ answer:
+ "To delete your account, please contact our support team. Note that you must complete or cancel all active rentals before account deletion.",
+ },
+ ],
+ },
+ },
+ {
+ id: "safety",
+ section: {
+ title: "Safety & Trust",
+ items: [
+ {
+ question: "How does the platform ensure safety?",
+ answer: (
+
+ We maintain safety through:
+
+
User verification and profile reviews
+
Secure payment processing through Stripe
+
Direct messaging for clear communication
+
Replacement cost protection for owners
+
Community guidelines and terms of service
+
+
+ ),
+ },
+ {
+ question: "What if I have a dispute with another user?",
+ answer:
+ "We encourage users to communicate directly to resolve issues. If you cannot reach a resolution, please contact our support team with details about the dispute.",
+ },
+ {
+ question: "Are items insured?",
+ answer:
+ "The platform does not provide insurance. Owners should consider their own insurance coverage for their items. Renters may be liable for damage up to the replacement cost listed on the item.",
+ },
+ ],
+ },
+ },
+ ];
+
+ return (
+
+
+
+
+
Frequently Asked Questions
+
+ Find answers to common questions about using our platform
+