feat: Inertia profile settings page, Studio edit redesign, EGS, Nova UI components\n\n- Redesign /dashboard/profile as Inertia React page (Settings/ProfileEdit)\n with SettingsLayout sidebar, Nova UI components (TextInput, Textarea,\n Toggle, Select, RadioGroup, Modal, Button), avatar drag-and-drop,\n password change, and account deletion sections\n- Redesign Studio artwork edit page with two-column layout, Nova components,\n integrated TagPicker, and version history modal\n- Add shared MarkdownEditor component\n- Add Early-Stage Growth System (EGS): SpotlightEngine, FeedBlender,\n GridFiller, AdaptiveTimeWindow, ActivityLayer, admin panel\n- Fix upload category/tag persistence (V1+V2 paths)\n- Fix tag source enum, category tree display, binding resolution\n- Add settings.jsx Vite entry, settings.blade.php wrapper\n- Update ProfileController with JSON response support for API calls\n- Various route fixes (profile.edit, toolbar settings link)"

This commit is contained in:
2026-03-03 20:57:43 +01:00
parent dc51d65440
commit b9c2d8597d
114 changed files with 8760 additions and 693 deletions

View File

@@ -0,0 +1,380 @@
@extends('layouts.nova.content-layout')
@section('page-content')
<div class="max-w-3xl space-y-10">
{{-- Intro --}}
<div>
<p class="text-neutral-400 text-sm mb-2">Last updated: March 1, 2026</p>
<p class="text-neutral-300 leading-relaxed">
These Terms of Service ("Terms") govern your access to and use of Skinbase ("we", "us", "our",
"the Service") at <strong class="text-white">skinbase.org</strong>. By creating an account or
using the Service in any way, you agree to be bound by these Terms. If you do not agree, do not
use Skinbase.
</p>
</div>
{{-- Table of Contents --}}
<nav class="rounded-xl border border-white/10 bg-white/[0.03] p-5">
<p class="text-xs font-semibold uppercase tracking-widest text-neutral-400 mb-3">Contents</p>
<ol class="space-y-1.5 text-sm text-sky-400">
<li><a href="#acceptance" class="hover:underline">01 Acceptance of Terms</a></li>
<li><a href="#the-service" class="hover:underline">02 The Service</a></li>
<li><a href="#accounts" class="hover:underline">03 Accounts &amp; Eligibility</a></li>
<li><a href="#content-licence" class="hover:underline">04 Your Content &amp; Licence Grant</a></li>
<li><a href="#prohibited" class="hover:underline">05 Prohibited Conduct</a></li>
<li><a href="#copyright" class="hover:underline">06 Copyright &amp; DMCA</a></li>
<li><a href="#our-ip" class="hover:underline">07 Skinbase Intellectual Property</a></li>
<li><a href="#disclaimers" class="hover:underline">08 Disclaimers</a></li>
<li><a href="#liability" class="hover:underline">09 Limitation of Liability</a></li>
<li><a href="#indemnification" class="hover:underline">10 Indemnification</a></li>
<li><a href="#termination" class="hover:underline">11 Termination</a></li>
<li><a href="#governing-law" class="hover:underline">12 Governing Law</a></li>
<li><a href="#changes" class="hover:underline">13 Changes to These Terms</a></li>
<li><a href="#contact" class="hover:underline">14 Contact</a></li>
</ol>
</nav>
{{-- 01 --}}
<section id="acceptance">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">01</span>
Acceptance of Terms
</h2>
<p class="text-sm text-neutral-400 leading-relaxed">
By accessing or using Skinbase whether by browsing the site, registering an account, uploading
content, or any other interaction you confirm that you have read, understood, and agree to
these Terms and our <a href="/privacy-policy" class="text-sky-400 hover:underline">Privacy Policy</a>,
which is incorporated into these Terms by reference. If you are using Skinbase on behalf of an
organisation, you represent that you have authority to bind that organisation to these Terms.
</p>
</section>
{{-- 02 --}}
<section id="the-service">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">02</span>
The Service
</h2>
<p class="text-sm text-neutral-400 leading-relaxed mb-4">
Skinbase is a community platform for sharing and discovering desktop customisation artwork
including skins, themes, wallpapers, icons, and related resources. The Service includes the
website, galleries, forums, messaging, comments, and any other features we provide.
</p>
<p class="text-sm text-neutral-400 leading-relaxed">
We reserve the right to modify, suspend, or discontinue any part of the Service at any time
with or without notice. We will not be liable to you or any third party for any modification,
suspension, or discontinuation of the Service.
</p>
</section>
{{-- 03 --}}
<section id="accounts">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">03</span>
Accounts &amp; Eligibility
</h2>
<div class="space-y-4 text-sm text-neutral-400 leading-relaxed">
<p>
<strong class="text-white">Age.</strong> You must be at least <strong class="text-white">13 years old</strong>
to create a Skinbase account. If you are under 18, you represent that you have your parent's or
guardian's permission to use the Service.
</p>
<p>
<strong class="text-white">Accurate information.</strong> You agree to provide accurate, current, and
complete information when registering and to keep your account information up to date.
</p>
<p>
<strong class="text-white">Account security.</strong> You are responsible for maintaining the confidentiality
of your password and for all activity that occurs under your account. Notify us immediately at
<a href="/bug-report" class="text-sky-400 hover:underline">skinbase.org/bug-report</a> if you believe
your account has been compromised.
</p>
<p>
<strong class="text-white">One account per person.</strong> You may not create multiple accounts to
circumvent bans or restrictions, or to misrepresent your identity to other users.
</p>
<p>
<strong class="text-white">Account transfer.</strong> Accounts are personal and non-transferable.
You may not sell, trade, or give away your account.
</p>
</div>
</section>
{{-- 04 --}}
<section id="content-licence">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">04</span>
Your Content &amp; Licence Grant
</h2>
<div class="space-y-4 text-sm text-neutral-400 leading-relaxed">
<p>
<strong class="text-white">Ownership.</strong> You retain ownership of any original artwork,
skins, themes, or other creative works ("Your Content") that you upload to Skinbase. These Terms
do not transfer any intellectual property rights to us.
</p>
<p>
<strong class="text-white">Licence to Skinbase.</strong> By uploading or publishing Your Content
on Skinbase, you grant us a worldwide, non-exclusive, royalty-free, sublicensable licence to
host, store, reproduce, display, distribute, and make Your Content available as part of the
Service, including in thumbnails, feeds, promotional materials, and search results. This licence
exists only for as long as Your Content remains on the Service.
</p>
<p>
<strong class="text-white">Licence to other users.</strong> Unless you specify otherwise in your
upload description, Your Content may be downloaded and used by other users for personal,
non-commercial use. You are responsible for clearly communicating any additional licence terms
or restrictions within your upload.
</p>
<p>
<strong class="text-white">Representations.</strong> By submitting Your Content you represent and
warrant that: (a) you own or have all necessary rights to the content; (b) the content does not
infringe any third-party intellectual property, privacy, or publicity rights; and (c) the content
complies with these Terms and our
<a href="/rules-and-guidelines" class="text-sky-400 hover:underline">Rules &amp; Guidelines</a>.
</p>
<p>
<strong class="text-white">Removal.</strong> You may delete Your Content from your account at any
time via your dashboard. Upon deletion, the content will be removed from public view within a
reasonable time, though cached copies may persist briefly.
</p>
</div>
</section>
{{-- 05 --}}
<section id="prohibited">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">05</span>
Prohibited Conduct
</h2>
<p class="text-sm text-neutral-400 leading-relaxed mb-4">
You agree not to use the Service to:
</p>
<ul class="space-y-2 text-sm text-neutral-400 leading-relaxed list-disc list-inside pl-2">
<li>Upload content that infringes any copyright, trademark, patent, trade secret, or other proprietary right.</li>
<li>Upload photographs or photoskins using images you do not own or have permission to use (see our <a href="/rules-and-guidelines" class="text-sky-400 hover:underline">Rules &amp; Guidelines</a>).</li>
<li>Harass, threaten, bully, stalk, or intimidate any person.</li>
<li>Post content that is defamatory, obscene, pornographic, hateful, or promotes violence or illegal activity.</li>
<li>Impersonate any person or entity, or falsely claim affiliation with any person, entity, or Skinbase staff.</li>
<li>Distribute spam, chain letters, unsolicited commercial messages, or phishing content.</li>
<li>Attempt to gain unauthorised access to any part of the Service, other accounts, or our systems.</li>
<li>Use automated tools (bots, scrapers, crawlers) to access the Service without prior written permission.</li>
<li>Interfere with or disrupt the integrity or performance of the Service or the data contained therein.</li>
<li>Collect or harvest personal information about other users without their consent.</li>
<li>Use the Service for any unlawful purpose or in violation of applicable laws or regulations.</li>
</ul>
<p class="mt-4 text-sm text-neutral-500">
Violations may result in content removal, account suspension, or a permanent ban. Serious violations
may be reported to relevant authorities.
</p>
</section>
{{-- 06 --}}
<section id="copyright">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">06</span>
Copyright &amp; DMCA
</h2>
<div class="space-y-4 text-sm text-neutral-400 leading-relaxed">
<p>
Skinbase respects intellectual property rights. We respond to valid notices of copyright
infringement in accordance with applicable law, including the Digital Millennium Copyright Act (DMCA).
</p>
<p>
<strong class="text-white">To report infringement:</strong> If you believe your copyrighted work has
been copied and is accessible on the Service in a way that constitutes infringement, please contact
a <a href="/staff" class="text-sky-400 hover:underline">staff member</a> or use our
<a href="/bug-report" class="text-sky-400 hover:underline">contact form</a>. Your notice must include:
</p>
<ul class="list-disc list-inside pl-2 space-y-1.5">
<li>A description of the copyrighted work you claim has been infringed.</li>
<li>A description of where the infringing material is located on Skinbase (with URL).</li>
<li>Your contact information (name, email address).</li>
<li>A statement that you have a good-faith belief that the use is not authorised.</li>
<li>A statement, under penalty of perjury, that the information in your notice is accurate and that you are the copyright owner or authorised to act on their behalf.</li>
</ul>
<p>
<strong class="text-white">Counter-notices:</strong> If your content was removed in error, you may
submit a counter-notice to a staff member including your identification details, description of the
removed content, and a statement under penalty of perjury that you have a good-faith belief the
content was removed in error.
</p>
<p>
<strong class="text-white">Repeat infringers:</strong> We will terminate the accounts of users who
are determined to be repeat infringers.
</p>
</div>
</section>
{{-- 07 --}}
<section id="our-ip">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">07</span>
Skinbase Intellectual Property
</h2>
<p class="text-sm text-neutral-400 leading-relaxed">
The Skinbase name, logo, website design, software, and all Skinbase-produced content are owned by
Skinbase and are protected by copyright, trademark, and other intellectual property laws. Nothing in
these Terms grants you any right to use the Skinbase name, logo, or branding without our prior written
consent. You may not copy, modify, distribute, sell, or lease any part of our Service or included
software, nor may you reverse-engineer or attempt to extract the source code of the Service.
</p>
</section>
{{-- 08 --}}
<section id="disclaimers">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">08</span>
Disclaimers
</h2>
<div class="rounded-xl border border-amber-500/20 bg-amber-500/5 px-5 py-4 mb-4">
<p class="text-sm text-amber-300/90 leading-relaxed">
THE SERVICE IS PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND UNINTERRUPTED OR ERROR-FREE OPERATION.
</p>
</div>
<div class="space-y-3 text-sm text-neutral-400 leading-relaxed">
<p>
We do not warrant that the Service will be uninterrupted, secure, or free of errors, viruses,
or other harmful components. We do not endorse any user-submitted content and are not responsible
for its accuracy, legality, or appropriateness.
</p>
<p>
Downloaded files are provided by third-party users. You download and install any content at your own
risk. Always scan downloaded files with up-to-date antivirus software.
</p>
</div>
</section>
{{-- 09 --}}
<section id="liability">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">09</span>
Limitation of Liability
</h2>
<div class="rounded-xl border border-amber-500/20 bg-amber-500/5 px-5 py-4 mb-4">
<p class="text-sm text-amber-300/90 leading-relaxed">
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, SKINBASE AND ITS OPERATORS, STAFF, AND
CONTRIBUTORS SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR
PUNITIVE DAMAGES INCLUDING BUT NOT LIMITED TO LOSS OF DATA, LOSS OF PROFITS, OR LOSS OF
GOODWILL ARISING OUT OF OR IN CONNECTION WITH THESE TERMS OR YOUR USE OF THE SERVICE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
</p>
</div>
<p class="text-sm text-neutral-400 leading-relaxed">
Our total liability to you for any claim arising out of or relating to these Terms or the Service
shall not exceed the greater of (a) the amount you paid us in the twelve months prior to the claim,
or (b) USD $50. Some jurisdictions do not allow limitations on implied warranties or exclusion of
incidental/consequential damages, so the above limitations may not apply to you.
</p>
</section>
{{-- 10 --}}
<section id="indemnification">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">10</span>
Indemnification
</h2>
<p class="text-sm text-neutral-400 leading-relaxed">
You agree to indemnify, defend, and hold harmless Skinbase, its operators, staff, and contributors
from and against any claims, liabilities, damages, losses, and expenses (including reasonable legal
fees) arising out of or in any way connected with: (a) your access to or use of the Service;
(b) Your Content; (c) your violation of these Terms; or (d) your violation of any rights of another
person or entity.
</p>
</section>
{{-- 11 --}}
<section id="termination">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">11</span>
Termination
</h2>
<div class="space-y-3 text-sm text-neutral-400 leading-relaxed">
<p>
<strong class="text-white">By you.</strong> You may close your account at any time by contacting
a <a href="/staff" class="text-sky-400 hover:underline">staff member</a>. Account deletion requests
are processed within 30 days.
</p>
<p>
<strong class="text-white">By us.</strong> We may suspend or terminate your account immediately
and without notice if we determine, in our sole discretion, that you have violated these Terms,
the <a href="/rules-and-guidelines" class="text-sky-400 hover:underline">Rules &amp; Guidelines</a>,
or applicable law. We may also terminate accounts that have been inactive for an extended period,
with prior notice where practicable.
</p>
<p>
<strong class="text-white">Effect of termination.</strong> Upon termination, your right to access
the Service ceases immediately. Publicly uploaded content may remain on the Service unless you
separately request its removal. Sections of these Terms that by their nature should survive
termination (including Sections 4, 6, 7, 8, 9, 10, and 12) shall survive.
</p>
</div>
</section>
{{-- 12 --}}
<section id="governing-law">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">12</span>
Governing Law
</h2>
<p class="text-sm text-neutral-400 leading-relaxed">
These Terms are governed by and construed in accordance with applicable law. Any dispute arising
under or in connection with these Terms that cannot be resolved informally shall be submitted to
the exclusive jurisdiction of the competent courts in the applicable jurisdiction. Nothing in this
section limits your rights under mandatory consumer-protection or data-protection laws of your
country of residence.
</p>
</section>
{{-- 13 --}}
<section id="changes">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">13</span>
Changes to These Terms
</h2>
<p class="text-sm text-neutral-400 leading-relaxed">
We may update these Terms from time to time. When we make material changes, we will revise the
"Last updated" date at the top of this page and, where the changes are significant, notify
registered members by email and/or a prominent notice on the site. Your continued use of the
Service after any changes take effect constitutes your acceptance of the revised Terms. If you do
not agree to the revised Terms, you must stop using the Service.
</p>
</section>
{{-- 14 --}}
<section id="contact">
<h2 class="flex items-center gap-2 text-xl font-bold text-white border-b border-white/10 pb-3 mb-6">
<span class="text-sky-400 font-mono text-base">14</span>
Contact
</h2>
<p class="text-sm text-neutral-400 leading-relaxed">
If you have questions about these Terms, please contact us via our
<a href="/bug-report" class="text-sky-400 hover:underline">contact form</a> or by sending a
private message to any <a href="/staff" class="text-sky-400 hover:underline">staff member</a>.
We aim to respond to all legal enquiries within <strong class="text-white">10 business days</strong>.
</p>
<div class="mt-6 rounded-lg border border-sky-500/20 bg-sky-500/5 px-5 py-4 text-sm text-sky-300">
<p class="font-semibold mb-1">Skinbase.org</p>
<p class="text-sky-300/70">
Operated by the Skinbase team.<br>
Contact: <a href="/bug-report" class="underline hover:text-sky-200">via contact form</a> &nbsp;|&nbsp;
<a href="/staff" class="underline hover:text-sky-200">Staff page</a>
</p>
</div>
</section>
{{-- Footer note --}}
<div class="rounded-xl border border-white/10 bg-white/[0.03] p-5 text-sm text-neutral-400 leading-relaxed">
These Terms of Service should be read alongside our
<a href="/privacy-policy" class="text-sky-400 hover:underline">Privacy Policy</a> and
<a href="/rules-and-guidelines" class="text-sky-400 hover:underline">Rules &amp; Guidelines</a>,
which together form the complete agreement between you and Skinbase.
</div>
</div>
@endsection