Browse Source
🚀 Added form for setting house rules.
🚀 Added form for setting house rules.
🐶 Implemented pet policy options. 🎉 Added party organizing preferences. 🍳 Included cooking rules. 📜 Added additional rules section.main
John Doe
1 year ago
1 changed files with 127 additions and 0 deletions
@ -0,0 +1,127 @@ |
|||
import React, { FC } from "react"; |
|||
import ButtonPrimary from "@/shared/ButtonPrimary"; |
|||
import Input from "@/shared/Input"; |
|||
|
|||
export interface PageAddListing5Props {} |
|||
|
|||
const PageAddListing5: FC<PageAddListing5Props> = () => { |
|||
const renderRadio = ( |
|||
name: string, |
|||
id: string, |
|||
label: string, |
|||
defaultChecked?: boolean |
|||
) => { |
|||
return ( |
|||
<div className="flex items-center"> |
|||
<input |
|||
defaultChecked={defaultChecked} |
|||
id={id + name} |
|||
name={name} |
|||
type="radio" |
|||
className="focus:ring-primary-500 h-6 w-6 text-primary-500 border-neutral-300 !checked:bg-primary-500 bg-transparent" |
|||
/> |
|||
<label |
|||
htmlFor={id + name} |
|||
className="ml-3 block text-sm font-medium text-neutral-700 dark:text-neutral-300" |
|||
> |
|||
{label} |
|||
</label> |
|||
</div> |
|||
); |
|||
}; |
|||
|
|||
const renderNoInclude = (text: string) => { |
|||
return ( |
|||
<div className="flex items-center justify-between py-3"> |
|||
<span className="text-neutral-6000 dark:text-neutral-400 font-medium"> |
|||
{text} |
|||
</span> |
|||
<i className="text-2xl text-neutral-400 las la-times-circle hover:text-neutral-900 dark:hover:text-neutral-100 cursor-pointer"></i> |
|||
</div> |
|||
); |
|||
}; |
|||
|
|||
return ( |
|||
<> |
|||
<div> |
|||
<h2 className="text-2xl font-semibold"> |
|||
Set house rules for your guests{" "} |
|||
</h2> |
|||
<span className="block mt-2 text-neutral-500 dark:text-neutral-400"> |
|||
Guests must agree to your house rules before they book. |
|||
</span> |
|||
</div> |
|||
<div className="w-14 border-b border-neutral-200 dark:border-neutral-700"></div> |
|||
{/* FORM */} |
|||
<div className="space-y-8"> |
|||
{/* ITEM */} |
|||
<div> |
|||
<label className="text-lg font-semibold" htmlFor=""> |
|||
General amenities |
|||
</label> |
|||
<div className="mt-4 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5"> |
|||
{renderRadio("Smoking", "Do", "Do not allow")} |
|||
{renderRadio("Smoking", "Allow", "Allow", true)} |
|||
{renderRadio("Smoking", "Charge", "Charge")} |
|||
</div> |
|||
</div> |
|||
|
|||
{/* ITEM */} |
|||
<div> |
|||
<label className="text-lg font-semibold" htmlFor=""> |
|||
Pet |
|||
</label> |
|||
<div className="mt-4 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5"> |
|||
{renderRadio("Pet", "Do", "Do not allow")} |
|||
{renderRadio("Pet", "Allow", "Allow", true)} |
|||
{renderRadio("Pet", "Charge", "Charge")} |
|||
</div> |
|||
</div> |
|||
|
|||
{/* ITEM */} |
|||
<div> |
|||
<label className="text-lg font-semibold" htmlFor=""> |
|||
Party organizing |
|||
</label> |
|||
<div className="mt-4 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5"> |
|||
{renderRadio("Partyorganizing", "Do", "Do not allow")} |
|||
{renderRadio("Partyorganizing", "Allow", "Allow", true)} |
|||
{renderRadio("Partyorganizing", "Charge", "Charge")} |
|||
</div> |
|||
</div> |
|||
|
|||
{/* ITEM */} |
|||
<div> |
|||
<label className="text-lg font-semibold" htmlFor=""> |
|||
Cooking |
|||
</label> |
|||
<div className="mt-4 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5"> |
|||
{renderRadio("Cooking", "Do", "Do not allow")} |
|||
{renderRadio("Cooking", "Allow", "Allow", true)} |
|||
{renderRadio("Cooking", "Charge", "Charge")} |
|||
</div> |
|||
</div> |
|||
|
|||
{/* ----------- */} |
|||
<div className=" border-b border-neutral-200 dark:border-neutral-700"></div> |
|||
<span className="block text-lg font-semibold">Additional rules</span> |
|||
<div className="flow-root"> |
|||
<div className="-my-3 divide-y divide-neutral-100 dark:divide-neutral-800"> |
|||
{renderNoInclude("No smoking in common areas")} |
|||
{renderNoInclude("Do not wear shoes/shoes in the house")} |
|||
{renderNoInclude("No cooking in the bedroom")} |
|||
</div> |
|||
</div> |
|||
<div className="flex flex-col sm:flex-row sm:justify-between space-y-3 sm:space-y-0 sm:space-x-5"> |
|||
<Input className="!h-full" placeholder="No smoking..." /> |
|||
<ButtonPrimary className="flex-shrink-0"> |
|||
<i className="text-xl las la-plus"></i> |
|||
<span className="ml-3">Add tag</span> |
|||
</ButtonPrimary> |
|||
</div> |
|||
</div> |
|||
</> |
|||
); |
|||
}; |
|||
|
|||
export default PageAddListing5; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue