Fully rename Pixeldrain to Nova

This commit is contained in:
2026-06-10 23:53:03 +02:00
parent 3c13cd1a14
commit 7b24a9d8cf
95 changed files with 321 additions and 1989 deletions

View File

@@ -147,11 +147,11 @@ const logout = async (key) => {
<tr>
<td colspan="1">
{#if row.app_name === "website login"}
<img src="/res/img/pixeldrain_32.png" alt="Pixeldrain logo" class="app_icon"/>
Pixeldrain website
<img src="/res/img/nova_32.png" alt="Nova logo" class="app_icon"/>
Nova website
{:else if row.app_name === "website keys page"}
<i class="icon">vpn_key</i>
Pixeldrain keys page
Nova keys page
{:else if row.app_name === "sharex"}
<img src="/res/img/sharex.png" alt="ShareX logo" class="app_icon"/>
ShareX

View File

@@ -4,7 +4,7 @@ import CopyButton from "layout/CopyButton.svelte";
import Form from "util/Form.svelte";
import Button from "layout/Button.svelte";
import OtpSetup from "./OTPSetup.svelte";
import { put_user } from "lib/PixeldrainAPI";
import { put_user } from "lib/NovaAPI";
let affiliate_link = window.location.protocol+"//"+window.location.host + "?ref=" + encodeURIComponent(window.user.username)
let affiliate_deny = $state(false)
@@ -114,7 +114,7 @@ const affiliate_settings = {
type: "text",
default_value: window.user.affiliate_user_name,
description: `The affiliate user name can be the name of a
pixeldrain account you wish to support with your subscription.
Nova account you wish to support with your subscription.
The account will receive a fee of €0.50 for every month that
your premium plan is active. This does not cost you anything
extra.`,
@@ -142,7 +142,7 @@ let delete_account = {
type: "description",
description: `
<p>
When you delete your pixeldrain account you will be
When you delete your Nova account you will be
logged out on all of your devices. Your account will be
scheduled for deletion in seven days. If you log back in to your
account during those seven days the deletion will be canceled.
@@ -161,7 +161,7 @@ let delete_account = {
<p>
If you have an active Pro subscription you need to end that
separately through your Patreon account. Deleting your
pixeldrain account will not cancel the subscription.
Nova account will not cancel the subscription.
</p>`,
},
],
@@ -200,14 +200,14 @@ let delete_account = {
Your own affiliate link is
<a href="{affiliate_link}">{affiliate_link}</a>
<CopyButton small_icon text={affiliate_link}/>. Share this link
with premium pixeldrain users to gain commissions. You can use
with premium Nova users to gain commissions. You can use
the "?ref={encodeURIComponent(window.user.username)}" referral
code on download pages too. For a detailed description of the
affiliate program please check out the <a
href="/about#toc_12">Q&A page</a>.
</p>
<p>
Note that the link includes the name of your pixeldrain
Note that the link includes the name of your Nova
account. If you change your account name the link will stop
working and you might stop receiving commissions.
</p>

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { onMount } from "svelte";
import Modal from "util/Modal.svelte";
import { get_user, put_user } from "lib/PixeldrainAPI";
import { get_user, put_user } from "lib/NovaAPI";
import { loading_finish, loading_start } from "lib/Loading";
let { always = false }: {
@@ -74,8 +74,8 @@ const deny = () => {
<Modal bind:this={modal} title="Affiliate sponsoring request" width="700px">
<section>
<p>
Hi! {referral} wants you to sponsor their pixeldrain account. This
will give them €0.50 every month in pixeldrain prepaid credit. They
Hi! {referral} wants you to sponsor their Nova account. This
will give them €0.50 every month in Nova prepaid credit. They
can use this credit to get a discount on their file storage and
sharing costs. Here is a short summary of what this entails:
</p>
@@ -86,12 +86,12 @@ const deny = () => {
longer receive commissions.
</li>
<li>
Pixeldrain credit cannot be cashed out. So they are not earning
Nova credit cannot be cashed out. So they are not earning
real money with this.
</li>
<li>
This does not cost you any extra money. The commissions paid out
to the creator are paid for by pixeldrain itself.
to the creator are paid for by Nova itself.
</li>
<li>
You can change who you are sponsoring at any time on your <a

View File

@@ -134,7 +134,7 @@ onMount(() => {
<p>
This setting only applies to your account, others will still see the
download page when visiting your files. When this is enabled you will be
redirected to the file download API when clicking a pixeldrain link.
redirected to the file download API when clicking a Nova link.
This means that images, videos and PDF files will be opened directly in
your browser, and other files are immediately downloaded to your device.
This only works for single file links, not albums. You will need a Pro

View File

@@ -60,13 +60,13 @@ onMount(() => {
<h2>
Connect
<img src="/res/img/jdownloader.png" alt="JDownloader logo" class="app_icon_small"/>
JDownloader to your pixeldrain account
JDownloader to your Nova account
</h2>
<p>
JDownloader is a software program which makes it easier to download
things from the web. You can connect JDownloader to your pixeldrain
account to benefit from faster download speed and other pixeldrain
Pro features.
things from the web. You can connect JDownloader to your Nova
account to benefit from faster download speed and other Nova Pro
features.
</p>
<h3>Step 1: Install JDownloader</h3>
<p>
@@ -81,11 +81,11 @@ onMount(() => {
</div>
<h3>Step 3: Generate an app key</h3>
<p>
To connect JDownloader to pixeldrain you need to generate an API
To connect JDownloader to Nova you need to generate an API
key and enter it in JDownloader's Account Manager.
<br/>
<strong>Do not show the generated key to anyone</strong>, it can
be used to gain access to your pixeldrain account!
be used to gain access to your Nova account!
</p>
{#if !api_key}
@@ -121,46 +121,46 @@ onMount(() => {
</div>
<p>
Click Save and you're done! You can now download files from
pixeldrain with JDownloader.
Nova with JDownloader.
</p>
{:else if app_name === "sharex"}
<h2>
Connect
<img src="/res/img/sharex.png" alt="ShareX logo" class="app_icon_small"/>
ShareX to your pixeldrain account
ShareX to your Nova account
</h2>
<p>
ShareX is a Screen capture, file sharing and productivity tool.
Pixeldrain is supported as a custom uploader. You can <a
Nova is supported as a custom uploader. You can <a
href="https://getsharex.com/" target="_blank" rel="noreferrer">get
ShareX here</a>.
</p>
<p>
Here you can download our custom ShareX uploader which uses
pixeldrain to upload your files. This uploader is configured to
upload files to your personal pixeldrain account. <strong>Do not
Nova to upload your files. This uploader is configured to
upload files to your personal Nova account. <strong>Do not
share the configuration file with anyone</strong>, it contains
your account credentials.
</p>
<div class="center">
<a href="/misc/sharex/pixeldrain.com.sxcu" class="button button_highlight">
<a href="/misc/sharex/nova.storage.sxcu" class="button button_highlight">
<i class="icon small">save</i>
Download ShareX Uploader
</a>
</div>
<h3>Setting pixeldrain as default uploader</h3>
<h3>Setting Nova as default uploader</h3>
<p>
Download the uploader config and choose 'Open file'
<br/>
<img src="/res/img/sharex_download.png" style="max-width: 100%;" alt=""/><br/>
Set pixeldrain.com as active uploader. Choose Yes
Set nova.storage as active uploader. Choose Yes
<br/>
<img src="/res/img/sharex_default.png" style="max-width: 100%;" alt=""/><br/>
</p>
{:else}
<h2>Connect an app to your pixeldrain account</h2>
<h2>Connect an app to your Nova account</h2>
<ul>
<li>
<a href="?app=jdownloader" class="button">

View File

@@ -76,7 +76,7 @@ onMount(() => {
<section>
<h2 id="deposit">Deposit credit</h2>
<p>
Pixeldrain credit can be used for our Prepaid subscription plan, which
Nova credit can be used for our Prepaid subscription plan, which
is different from the Patreon plans. Instead of monthly limits, with
Prepaid there are no limits. You pay for what you use, at a rate of €4
per TB per month for storage and €1 per TB for data transfer. Your

View File

@@ -61,7 +61,7 @@ onMount(() => {
</p>
<p>
The list should be formatted as a list of domain names separated by a
space. Like this: 'pixeldrain.com google.com twitter.com'
space. Like this: 'nova.storage google.com twitter.com'
</p>
Domain names:<br/>
<form class="form_row" onsubmit={preventDefault(save_embed)}>

View File

@@ -30,7 +30,7 @@ let frac = $derived(used / total)
<p>
You have used all of your data cap. People can still download your
files, but premium features are disabled. This means that the
download page shows pixeldrain branding, people who download your
download page shows Nova branding, people who download your
files have a daily download limit and hotlinking is disabled.
</p>
@@ -51,7 +51,7 @@ let frac = $derived(used / total)
<p>
You have used {(frac*100).toFixed(0)}% of your data cap. If your
data runs out the premium features related to downloading will be
disabled. This means that the download page shows pixeldrain
disabled. This means that the download page shows Nova
branding, people who download your files have a daily download limit
and hotlinking is disabled.
</p>

View File

@@ -3,7 +3,7 @@ import { onMount } from "svelte";
import Button from "layout/Button.svelte";
import CopyButton from "layout/CopyButton.svelte";
import ToggleButton from "layout/ToggleButton.svelte";
import { check_response, get_endpoint, get_user, type User } from "lib/PixeldrainAPI";
import { check_response, get_endpoint, get_user, type User } from "lib/NovaAPI";
let user: User = $state(null)
let secret = $state("")

View File

@@ -31,23 +31,23 @@ onMount(() => {
{#if patreon_result !== ""}
{#if patreon_error === "patreon_authentication_denied"}
<div class="highlight_yellow">
Please press "Allow" when asked if pixeldrain can access your
Please press "Allow" when asked if Nova can access your
profile.
</div>
{:else if patreon_result === "error"}
<div class="highlight_red">
<p>
An error occurred while linking Patreon subscription. Check if
there are any Pixeldrain integrations under "Logged in with
there are any Nova integrations under "Logged in with
Patreon" on this page: <a
href="https://www.patreon.com/settings/apps">https://www.patreon.com/settings/apps</a>.
Try disconnecting all Pixeldrain logins and try again.
Try disconnecting all Nova logins and try again.
</p>
<li>
This can also happen if you canceled your Patreon membership
before upgrading your pixeldrain account. In that case, go to
before upgrading your Nova account. In that case, go to
the <a
href="https://www.patreon.com/pixeldrain/membership">memberships
href="https://www.patreon.com/nova/membership">memberships
page</a> and activate your membership again. If you already paid
in the last 30 days you will not be charged again.
</li>
@@ -88,17 +88,17 @@ onMount(() => {
You pledged without selecting a support tier. It happens
sometimes that people pledge an amount of money without
selecting a support tier. If you don't have a tier
pixeldrain won't know which subscription you should get,
Nova won't know which subscription you should get,
regardless of how much you paid. To fix this you can select
a tier from <a
href="https://www.patreon.com/pixeldrain/membership">the
href="https://www.patreon.com/nova/membership">the
memberships page</a> and proceed to checkout. If you already
pledged the right amount you will not have to pay again.
</li>
<li>
Or you have not pledged at all yet. In that case it's
simple: <a
href="https://www.patreon.com/pixeldrain/membership">go to
href="https://www.patreon.com/nova/membership">go to
Patreon</a> and purchase a membership.
</li>
</ol>
@@ -110,7 +110,7 @@ onMount(() => {
</div>
{:else if patreon_result === "success"}
<div class="highlight_green">
Success! Your Patreon pledge has been linked to your pixeldrain
Success! Your Patreon pledge has been linked to your Nova
account. You are now able to use Pro features.
</div>
{/if}

View File

@@ -12,7 +12,7 @@ import EmbeddingControls from "./EmbeddingControls.svelte";
import Dashboard from "./dashboard/Dashboard.svelte";
import AffiliatePrompt from "./AffiliatePrompt.svelte";
import { onMount } from "svelte";
import { get_user, type User } from "lib/PixeldrainAPI";
import { get_user, type User } from "lib/NovaAPI";
let pages: Tab[] = [
{

View File

@@ -4,7 +4,7 @@ import SuccessMessage from "util/SuccessMessage.svelte";
import PatreonActivationResult from "./PatreonActivationResult.svelte";
import { loading_finish, loading_start } from "lib/Loading";
import { user } from "lib/UserStore";
import { put_user } from "lib/PixeldrainAPI";
import { put_user } from "lib/NovaAPI";
let subscription = $state($user.subscription.id)
let subscription_type = $state($user.subscription.type)
@@ -31,7 +31,7 @@ const update = async (plan: string) => {
<div class="highlight_green">
<h2>Payment successful!</h2>
<p>
Thank you for supporting pixeldrain! The credit has been added
Thank you for supporting Nova! The credit has been added
to your account balance.
</p>
<p>
@@ -42,7 +42,7 @@ const update = async (plan: string) => {
before your credit is deposited. SEPA transfers can take up to
two working days for example. When the deposit is complete you
will receive an e-mail. If it takes too long, contact
support@pixeldrain.com.
support@nova.storage.
</p>
</div>
{:else if window.location.hash === "#order_expired"}
@@ -72,10 +72,10 @@ const update = async (plan: string) => {
Here you can switch between different subscription plans.
</p>
<p>
The Patreon subscription is managed by Patreon. Pixeldrain cannot modify
The Patreon subscription is managed by Patreon. Nova cannot modify
or end your subsciption. If you would like to cancel your Patreon plan
you can do that <a
href="https://www.patreon.com/settings/memberships/pixeldrain"
href="https://www.patreon.com/settings/memberships/nova"
target="_blank">on Patreon</a>.
</p>
<p>
@@ -96,7 +96,7 @@ const update = async (plan: string) => {
Patreon<br/>
{#if subscription_type === "patreon"}
Currently active<br/>
<a class="button" href="https://www.patreon.com/settings/memberships/pixeldrain" target="_blank">
<a class="button" href="https://www.patreon.com/settings/memberships/nova" target="_blank">
<i class="icon">settings</i>
Manage
</a>
@@ -110,7 +110,7 @@ const update = async (plan: string) => {
<div class="feat_normal round_tr" class:feat_highlight={subscription_type === "patreon"}>
<p>
This subscription is managed by Patreon. You will need to <a
href="https://www.patreon.com/pixeldrain/membership"
href="https://www.patreon.com/nova/membership"
target="_blank">purchase a plan on Patreon</a> before you
can activate this subscription. After your purchase you can
click the "Link Patreon" button and your account will be
@@ -144,7 +144,7 @@ const update = async (plan: string) => {
plan. If you currently have a Patreon subscription active,
then enabling prepaid will not cancel that subscription. You
can end your subscription <a
href="https://www.patreon.com/settings/memberships/pixeldrain"
href="https://www.patreon.com/settings/memberships/nova"
target="_blank">on Patreon.com</a>.
</p>
<ul>

View File

@@ -103,7 +103,7 @@ onMount(() => {
of days in a month (30.4375).
</p>
<p>
Example: If you have 2 TB stored on your pixeldrain account at €4 per TB
Example: If you have 2 TB stored on your Nova account at €4 per TB
then the daily charge will be:<br/>
2 TB * € 4 = € 8<br/>

View File

@@ -1,6 +1,6 @@
<script>
import Button from "layout/Button.svelte";
import { logout_user } from "lib/PixeldrainAPI";
import { logout_user } from "lib/NovaAPI";
</script>
<ul>
<li>Username: {window.user.username}</li>

View File

@@ -3,7 +3,7 @@ import { onMount } from "svelte";
import Chart from "util/Chart.svelte";
import { color_by_name } from "util/Util";
import { formatDataVolume, formatThousands } from "util/Formatting";
import { get_endpoint } from "lib/PixeldrainAPI";
import { get_endpoint } from "lib/NovaAPI";
let { card_size = 1 }: {
card_size?: number;

View File

@@ -50,7 +50,7 @@ import { formatDataVolume } from "util/Formatting";
{#if window.user.subscription.id !== ""}
<li>
Support: For questions related to your account you can send a
message to support@pixeldrain.com
message to support@nova.storage
</li>
{/if}
</ul>

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import { get_endpoint, get_user, type User } from "lib/PixeldrainAPI";
import { get_endpoint, get_user, type User } from "lib/NovaAPI";
import { onMount } from "svelte";
import HotlinkProgressBar from "user_home/HotlinkProgressBar.svelte";
import StorageProgressBar from "user_home/StorageProgressBar.svelte";