Update home page a bit
This commit is contained in:
@@ -22,10 +22,9 @@ import Euro from "util/Euro.svelte";
|
||||
<Checkout/>
|
||||
{:else}
|
||||
<p>
|
||||
You are currently logged in as '{$user.username}'. Use the
|
||||
form below to activate prepaid on this account.
|
||||
Pick one of the subscription plans above to upgrade your
|
||||
account to premium.
|
||||
</p>
|
||||
<Checkout/>
|
||||
{/if}
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -28,49 +28,23 @@ let upload_widget
|
||||
content delivery. We will store and serve your files at an extremely
|
||||
competitive rate.
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<header>
|
||||
<h1>Features</h1>
|
||||
</header>
|
||||
<div class="page_content">
|
||||
<section>
|
||||
<h2>Features</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="bold">Unlimited</span> storage space
|
||||
Cloud storage with <a href="/filesystem#toc_7">rclone</a> and
|
||||
FTPS support
|
||||
</li>
|
||||
<li>
|
||||
Cloud storage with <a href="/filesystem#toc_7">rclone</a> and <a
|
||||
href="/filesystem#toc_10">FTPS</a> support
|
||||
Customizable download pages (custom branding colours, header and
|
||||
background images)
|
||||
</li>
|
||||
<li>
|
||||
<span class="bold">Customizable</span> download pages (custom
|
||||
branding colours, header and background images)
|
||||
Fault tolerance for up to four storage server failures
|
||||
</li>
|
||||
<li>
|
||||
<span class="bold">Fault tolerance</span> for up to four storage
|
||||
server failures
|
||||
</li>
|
||||
<li>
|
||||
<span class="bold">1.8 Terabits per second</span> of total bandwidth
|
||||
capacity
|
||||
</li>
|
||||
<li>
|
||||
Twenty-three high-performance caching servers optimized for data
|
||||
transfer over long distances
|
||||
</li>
|
||||
<li>
|
||||
File caching in
|
||||
<span class="bold">Portland</span>,
|
||||
<span class="bold">Querétaro</span>,
|
||||
<span class="bold">New York</span>,
|
||||
<span class="bold">São Paulo</span>,
|
||||
<span class="bold">Frankfurt</span> and
|
||||
<span class="bold">Singapore</span>
|
||||
Caching servers highly optimized for long-distance data transfer
|
||||
</li>
|
||||
</ul>
|
||||
<img class="image" src="/res/img/map.webp" alt="A globe showing datacenter locations"/>
|
||||
<h3>What you don't get</h3>
|
||||
<ul>
|
||||
<li>
|
||||
@@ -78,10 +52,7 @@ let upload_widget
|
||||
in case of emergency
|
||||
</li>
|
||||
<li>
|
||||
Commercial support - If you have a question, please check the <a
|
||||
href="/about">Q&A page</a> first. If that doesn't answer it, try
|
||||
the <a href="https://discord.gg/UDjaBGwr4p"
|
||||
target="_blank">support channel</a> on Discord.
|
||||
Commercial support - I'm busy, please don't bother me
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
@@ -142,43 +113,8 @@ header > h1 {
|
||||
background-size: contain;
|
||||
background-position: center;
|
||||
}
|
||||
.image {
|
||||
max-width: 100%;
|
||||
border-radius: 12px;
|
||||
}
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
color: var(--highlight_color);
|
||||
}
|
||||
|
||||
.prices {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.prices > div {
|
||||
flex: 1 0 200px;
|
||||
min-width: 200px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
text-align: center;
|
||||
border-radius: 6px;
|
||||
overflow: hidden;
|
||||
border: 2px solid var(--card_color);
|
||||
}
|
||||
.prices > div > div {
|
||||
flex: 1 1 auto;
|
||||
padding: 4px;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
.prices > div > div:nth-child(2) {
|
||||
background: var(--card_color);
|
||||
}
|
||||
@media(max-width: 1000px) {
|
||||
.prices > div {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -137,8 +137,8 @@ const plans: Plan[] = [
|
||||
<div class="feat_table">
|
||||
{#each plans as plan (plan.title)}
|
||||
<div class="plan">
|
||||
<div class="title">
|
||||
<span class="bold">{plan.title}</span>
|
||||
<div>
|
||||
<span class="title">{plan.title}</span>
|
||||
<br/>
|
||||
<Euro amount={plan.monthly}/> / month
|
||||
</div>
|
||||
@@ -212,6 +212,9 @@ const plans: Plan[] = [
|
||||
word-wrap: break-word;
|
||||
hyphens: auto;
|
||||
}
|
||||
.title {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.plan > .order {
|
||||
flex: 1 1 auto;
|
||||
display: flex;
|
||||
|
||||
@@ -110,7 +110,7 @@ const load_page = async (pathname: string, history: boolean): Promise<boolean> =
|
||||
|
||||
window.document.title = current_page.title+" / Nova"
|
||||
|
||||
if(history) {
|
||||
if (history) {
|
||||
window.history.pushState({}, window.document.title, pathname)
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ const load_page = async (pathname: string, history: boolean): Promise<boolean> =
|
||||
return true
|
||||
}
|
||||
|
||||
const click = (e: MouseEvent) => {
|
||||
const click = async (e: MouseEvent) => {
|
||||
const origin = (e.target as Element).closest("a");
|
||||
|
||||
if (origin === null) {
|
||||
@@ -145,7 +145,7 @@ const click = (e: MouseEvent) => {
|
||||
|
||||
// Try to load the page, if the page was found we cancel the browser
|
||||
// navigation event so we can handle it ourselves
|
||||
if (load_page(url.pathname, true)) {
|
||||
if (await load_page(url.pathname, true) === true) {
|
||||
e.preventDefault()
|
||||
}
|
||||
}
|
||||
@@ -165,7 +165,7 @@ const popstate = (e: PopStateEvent) => {
|
||||
{#if current_page !== null}
|
||||
<current_page.component />
|
||||
|
||||
{#if current_page.footer === undefined || current_page.footer === true}
|
||||
{#if current_page.footer !== false}
|
||||
<Footer/>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user