fix: 404 Pages and responsiveness
This commit is contained in:
@@ -144,14 +144,14 @@ export const handle: Handle = async ({ event, resolve }) => {
|
||||
// Only check authentication for routes under /(auth)
|
||||
if (routeId?.startsWith('/(auth)')) {
|
||||
if (!event.locals.authenticated) {
|
||||
throw redirect(302, '/signin');
|
||||
throw redirect(302, '/login');
|
||||
}
|
||||
}
|
||||
|
||||
// Redirect authenticated users away from auth pages
|
||||
if (
|
||||
event.locals.authenticated &&
|
||||
(event.url.pathname === '/signin' || event.url.pathname === '/register')
|
||||
(event.url.pathname === '/login' || event.url.pathname === '/register')
|
||||
) {
|
||||
throw redirect(303, '/');
|
||||
}
|
||||
|
||||
@@ -3,33 +3,13 @@
|
||||
import { Phone, MapPin, Mail } from '@lucide/svelte';
|
||||
import { SIIcon } from '@willingtonortiz/svelte-simple-icons';
|
||||
import { siFacebook, siInstagram, siTiktok } from 'simple-icons';
|
||||
|
||||
let { user } = $props();
|
||||
</script>
|
||||
|
||||
<footer class="mx-auto w-full bg-primary/10 px-12 pt-10 pb-4 max-md:px-4">
|
||||
<div itemscope itemtype="https://schema.org/LocalBusiness" class="hidden">
|
||||
<div itemprop="name">Korean Skin Care and Beauty Clinic</div>
|
||||
<div>Phone: <span itemprop="telephone">+977 984936576</span></div>
|
||||
<div>
|
||||
Url: <span itemprop="url"
|
||||
><a href="koreanskincareandclinic.com">koreanskincareandclinic.com</a></span
|
||||
>
|
||||
</div>
|
||||
|
||||
<meta
|
||||
itemprop="openingHours"
|
||||
style="display: none"
|
||||
datetime="Mo,Tu,We,Th,Fr,Sa,Su 10:00-19:00"
|
||||
/>
|
||||
<div itemtype="http://schema.org/PostalAddress" itemscope="" itemprop="address">
|
||||
<div itemprop="streetAddress">City Center</div>
|
||||
<div>
|
||||
<span itemprop="addressLocality">Kathmandu</span>, <span itemprop="addressRegion">KTM</span>
|
||||
<span itemprop="postalCode">44600</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="grid w-full grid-cols-4 items-start justify-between gap-12 max-md:flex max-md:flex-col max-md:gap-4"
|
||||
class="mx-auto grid w-full max-w-screen-2xl grid-cols-4 items-start justify-between gap-12 max-md:flex max-md:flex-col max-md:gap-4"
|
||||
>
|
||||
<div>
|
||||
<div class="flex flex-col gap-4">
|
||||
@@ -62,13 +42,13 @@
|
||||
<p class="text-lg font-semibold tracking-tight">About KSCBC</p>
|
||||
<ul class="flex flex-col gap-2">
|
||||
<li>
|
||||
<a href="/about-us" class="text-sm">About us</a>
|
||||
<a href="https://www.kscclinicnepal.com/" target="_blank" class="text-sm">About us</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/about-us" class="text-sm">My Account</a>
|
||||
<a href={user?.authenticated ? '/profile' : '/login'} class="text-sm">My Account</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/about-us" class="text-sm">Privacy & Policy</a>
|
||||
<a href="/privacy-policy" class="text-sm">Privacy & Policy</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/contact-us" class="text-sm">Contact Us</a>
|
||||
@@ -99,7 +79,7 @@
|
||||
</div>
|
||||
<hr class="mt-6 border border-primary/10" />
|
||||
<div
|
||||
class="mt-4 flex items-center justify-between max-md:flex-col max-md:items-start max-md:gap-4"
|
||||
class="mx-auto mt-4 flex max-w-screen-2xl items-center justify-between max-md:flex-col max-md:items-start max-md:gap-4"
|
||||
>
|
||||
<p class="text-sm">© {new Date().getFullYear()} Korean Skin Care & Beauty Clinic</p>
|
||||
<ul class="flex items-center gap-4">
|
||||
@@ -120,4 +100,26 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div itemscope itemtype="https://schema.org/LocalBusiness" class="hidden">
|
||||
<div itemprop="name">Korean Skin Care and Beauty Clinic</div>
|
||||
<div>Phone: <span itemprop="telephone">+977 984936576</span></div>
|
||||
<div>
|
||||
Url: <span itemprop="url"
|
||||
><a href="koreanskincareandclinic.com">koreanskincareandclinic.com</a></span
|
||||
>
|
||||
</div>
|
||||
|
||||
<meta
|
||||
itemprop="openingHours"
|
||||
style="display: none"
|
||||
datetime="Mo,Tu,We,Th,Fr,Sa,Su 10:00-19:00"
|
||||
/>
|
||||
<div itemtype="http://schema.org/PostalAddress" itemscope="" itemprop="address">
|
||||
<div itemprop="streetAddress">City Center</div>
|
||||
<div>
|
||||
<span itemprop="addressLocality">Kathmandu</span>, <span itemprop="addressRegion">KTM</span>
|
||||
<span itemprop="postalCode">44600</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -5,11 +5,13 @@
|
||||
import { Toaster } from '$lib/components/ui/sonner';
|
||||
import Navbar from '$lib/components/layouts/Navbar.svelte';
|
||||
import Footer from '$lib/components/layouts/Footer.svelte';
|
||||
import { page } from '$app/state';
|
||||
|
||||
let { children, data } = $props();
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<link rel="canonical" href={`https://${page.url.host}${page.url.pathname}`} />
|
||||
<title>
|
||||
{$metaTitle.title} | Korean Skin Care and Beauty Clinic
|
||||
</title>
|
||||
@@ -38,5 +40,5 @@
|
||||
<main>
|
||||
{@render children?.()}
|
||||
</main>
|
||||
<Footer />
|
||||
<Footer user={data?.locals} />
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<script></script>
|
||||
<script lang="ts">
|
||||
import { metaTitle } from '$lib/stores/metaTitle.svelte';
|
||||
$metaTitle.title = 'About Us';
|
||||
</script>
|
||||
|
||||
<div></div>
|
||||
|
||||
0
src/routes/brand/+page.svelte
Normal file
0
src/routes/brand/+page.svelte
Normal file
@@ -0,0 +1,121 @@
|
||||
<script lang="ts">
|
||||
import { metaTitle } from '$lib/stores/metaTitle.svelte';
|
||||
$metaTitle.title = 'Refund and Exchange Policy';
|
||||
</script>
|
||||
|
||||
<section class="mx-auto max-w-screen-2xl px-12 py-8">
|
||||
<div class="flex flex-col gap-4">
|
||||
<div>
|
||||
<h1 class="text-3xl font-semibold tracking-tight">Refund and Exchange Policy</h1>
|
||||
<p class="text-sm text-gray-800">Last Updated: 2025-09-26</p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-6 text-sm">
|
||||
<p>
|
||||
At Korean Skin Care and Beauty Clinic, we want you to be fully satisfied with your purchase.
|
||||
If for any reason you are not happy with your order, we are here to help. Please read our
|
||||
Refund & Exchange Policy carefully before making a purchase.
|
||||
</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">1. Eligibility for Refunds & Exchanges</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
To be eligible for a refund or exchange, the following conditions must be met:
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>
|
||||
The item must be unused, unopened, and in the same condition that you received it.
|
||||
</li>
|
||||
<li>The item must be returned in its original packaging.</li>
|
||||
<li>You must provide proof of purchase (order confirmation or receipt).</li>
|
||||
<li>Requests must be made within 7 days of receiving your order.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">2. Non-Returnable & Non-Refundable items</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
For health, hygiene, and safety reasons, the following items cannot be returned or
|
||||
refunded:
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>Opened or used skincare, cosmetic, or personal care products</li>
|
||||
<li>Gift cards</li>
|
||||
<li>Sale, clearance, or promotional items (unless defective or damaged)</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">3. Exchanges</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
We only replace items if they are:
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>Defective</li>
|
||||
<li>Damaged upon arrival</li>
|
||||
<li>Incorrect item received</li>
|
||||
</ul>
|
||||
<p>
|
||||
If you need to exchange an item for the same product, contact us at
|
||||
info@koreanskincareandclinic.com with your order number and details.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">4. Refunds</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
Once we receive and inspect your returned item, we will notify you of the approval or
|
||||
rejection of your refund.
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>
|
||||
Approved refunds will be processed to your original method of payment within 7-14
|
||||
business days.
|
||||
</li>
|
||||
<li>Shipping costs are non-refundable.</li>
|
||||
<li>
|
||||
If you received free shipping, the actual cost may be deducted from your refund.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">5. Return Shipping</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>
|
||||
Customers are responsible for paying return shipping costs, except in cases where the
|
||||
product was defective, damaged, or incorrect.
|
||||
</li>
|
||||
<li>
|
||||
We recommend using a trackable shipping service. We are not responsible for lost or
|
||||
undelivered return parcels.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">6. Order Cancellations</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>
|
||||
Orders may only be cancelled within 24 hours of purchase if the order has not yet been
|
||||
processed or shipped.
|
||||
</li>
|
||||
<li>Once shipped, the order cannot be cancelled.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">10. Contact Us</p>
|
||||
<p>
|
||||
If you have any questions about this Privacy Policy or how we handle your information,
|
||||
please contact us at:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Korean Skin Care and Beauty Clinic</li>
|
||||
<li>Website: https://koreanskincareandclinic.com</li>
|
||||
<li>Email: info@koreanskincareandclinic.com</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
<script lang="ts">
|
||||
import * as Accordion from '$lib/components/ui/accordion/index.js';
|
||||
import { metaTitle } from '$lib/stores/metaTitle.svelte';
|
||||
$metaTitle.title = 'FAQs';
|
||||
</script>
|
||||
|
||||
<div class="mx-auto my-8 grid max-w-screen-2xl grid-cols-12 gap-12 px-12">
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
<script>
|
||||
<script lang="ts">
|
||||
import { metaTitle } from '$lib/stores/metaTitle.svelte';
|
||||
$metaTitle.title = 'Forgot Password';
|
||||
</script>
|
||||
|
||||
<div></div>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { metaTitle } from '$lib/stores/metaTitle.svelte';
|
||||
$metaTitle.title = 'Payment Information';
|
||||
</script>
|
||||
|
||||
<div></div>
|
||||
|
||||
159
src/routes/privacy-policy/+page.svelte
Normal file
159
src/routes/privacy-policy/+page.svelte
Normal file
@@ -0,0 +1,159 @@
|
||||
<script lang="ts">
|
||||
import { metaTitle } from '$lib/stores/metaTitle.svelte';
|
||||
$metaTitle.title = 'Privacy Policy';
|
||||
</script>
|
||||
|
||||
<section class="mx-auto max-w-screen-2xl px-12 py-8">
|
||||
<div class="flex flex-col gap-4">
|
||||
<div>
|
||||
<h1 class="text-3xl font-semibold tracking-tight">Privacy Policy</h1>
|
||||
<p class="text-sm text-gray-800">Last Updated: 2025-09-26</p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-6 text-sm">
|
||||
<p>
|
||||
Welcome to Korean Skin Care and Beauty Clinic (“Company,” “we,” “our,” or “us”). We value
|
||||
your trust and are committed to protecting your privacy. This Privacy Policy explains how we
|
||||
collect, use, and safeguard your personal information when you visit our website
|
||||
https://koreanskincareandclinic.com (the “Site”) and when you purchase our products or
|
||||
services. <br /> By using our Site, you agree to the terms of this Privacy Policy. If you do
|
||||
not agree, please discontinue use of our Site.
|
||||
</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">1. Information We Collect</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
We may collect the following types of personal information when you interact with our
|
||||
Site:
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>
|
||||
<strong> Personal Identifiable Information (PII): </strong>
|
||||
such as your name, email address, phone number, billing/shipping address, and payment details
|
||||
when you place an order.
|
||||
</li>
|
||||
<li>
|
||||
<strong> Account Information: </strong>
|
||||
if you create an account, we may store your username, password, and order history.
|
||||
</li>
|
||||
<li>
|
||||
<strong> Transaction Data: </strong>
|
||||
including purchase history and payment confirmation.
|
||||
</li>
|
||||
<li>
|
||||
<strong> Technical Information: </strong>
|
||||
such as your IP address, browser type, device information, and cookies to improve website
|
||||
functionality.
|
||||
</li>
|
||||
<li>
|
||||
<strong> Marketing Preferences: </strong>
|
||||
such as your subscription choices for newsletters or promotional offers.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">2. How We Use Your Information</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
We use your information for purposes including but not limited to:
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>Processing and fulfilling your orders</li>
|
||||
<li>Providing customer support</li>
|
||||
<li>Managing your account and purchage history</li>
|
||||
<li>Sending updates, offers, and promotions (if you consent)</li>
|
||||
<li>Improving our website, services, and user experience</li>
|
||||
<li>Preventing faudulent transactions and ensuring security</li>
|
||||
<li>Complying with legal obligations</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">3. Sharing of Information</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
We do not sell your personal information. However, we may share your data with: Site:
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>
|
||||
<strong> Service Providers:</strong>
|
||||
such as payment processors, shipping carriers, and IT service providers who help operate
|
||||
our Site.
|
||||
</li>
|
||||
<li>
|
||||
<strong> Legal Authorities: </strong>
|
||||
if required by law or in response to valid requests by public authorities.
|
||||
</li>
|
||||
<li>
|
||||
<strong> Business Transfers: </strong>
|
||||
in the event of a merger, acquisition, or sale of assets, your data may be transferred.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">4. Cookies & Tracking Technologies</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
We use cookies and similar technologies to:
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>Remember your preferences</li>
|
||||
<li>Analyze website traffic</li>
|
||||
<li>Improve performance and user experience</li>
|
||||
<li>Deliver relevant advertisements</li>
|
||||
</ul>
|
||||
<p>You can adjust your cookie settings through your browser at any time.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">5. Data Security</p>
|
||||
<p>
|
||||
We implement industry-standard security measures to protect your personal information.
|
||||
However, no method of transmission over the Internet or electronic storage is 100% secure.
|
||||
We cannot guarantee absolute security.
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">6. Your Rights</p>
|
||||
<div class="flex flex-col gap-2">
|
||||
Depending on your location, you may have the right to:
|
||||
<ul class="flex list-disc flex-col gap-1 px-6">
|
||||
<li>Access and request a copy of your personal data</li>
|
||||
<li>Correct or update inaccurate information</li>
|
||||
<li>Request deletion of your data</li>
|
||||
<li>Opt-out of marketing communications</li>
|
||||
<li>Restrict or object to certain processing activities</li>
|
||||
</ul>
|
||||
<p>To exercise these rights, please contact us at info@koreanskincareandclinic.com</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">7. Children's Privacy</p>
|
||||
<p>
|
||||
Our Site is not directed to individuals under the age of 13 (or the minimum age in your
|
||||
jurisdiction). We do not knowingly collect personal data from children. If we learn we
|
||||
have collected such information, we will delete it immediately.
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">8. Third-Party Links</p>
|
||||
<p>
|
||||
Our Site may contain links to third-party websites. We are not responsible for the privacy
|
||||
practices or content of those websites. We encourage you to review their privacy policies.
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">9. Changes to This Privacy Policy</p>
|
||||
<p>
|
||||
We may update this Privacy Policy from time to time. Any changes will be posted on this
|
||||
page with the updated date. We encourage you to review this Policy regularly.
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="text-lg font-semibold">10. Contact Us</p>
|
||||
<p>
|
||||
If you have any questions about this Privacy Policy or how we handle your information,
|
||||
please contact us at:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Korean Skin Care and Beauty Clinic</li>
|
||||
<li>Website: https://koreanskincareandclinic.com</li>
|
||||
<li>Email: info@koreanskincareandclinic.com</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { metaTitle } from '$lib/stores/metaTitle.svelte';
|
||||
$metaTitle.title = 'Shipping Information';
|
||||
</script>
|
||||
|
||||
<div></div>
|
||||
|
||||
Reference in New Issue
Block a user