diff --git a/packages/client/README.md b/packages/client/README.md
index 42c3e246de..f14c637891 100644
--- a/packages/client/README.md
+++ b/packages/client/README.md
@@ -1,5 +1,7 @@
# nft.storage
+### Notice: Uploads have been decommissioned, and upload functionality in this package no longer functions, even with a valid API key. Please visit the product page to learn more and find a new hot storage provider for uploading new assets.
+
![ci][ci.icon]
[![package][version.icon]][package.url]
[![styled with prettier][prettier.icon]][prettier.url]
diff --git a/packages/website/components/deprecationBanner.js b/packages/website/components/deprecationBanner.js
index 200b86b109..fb46451329 100644
--- a/packages/website/components/deprecationBanner.js
+++ b/packages/website/components/deprecationBanner.js
@@ -1,10 +1,9 @@
export function DeprecationBanner() {
return (
-
- NFTUp is the easiest way for content creators to upload
- their metadata and assets, ready to be minted into NFTs
- by smart contracts and then traded on marketplaces, and
- browsed in galleries.
-
- }
- overlayClassName="ns-tooltip"
- id="learn-more-nftup-info"
- >
-
- Upload
- directories easily with NFTUp
-
-
- {user?.tags.HasAccountRestriction ? (
-
- You are unable to upload files when your account is
- blocked. Please contact support@nft.storage
-
- }
- >
-
-
-
-
- ) : (
-
- )}
-
diff --git a/packages/website/pages/manage.js b/packages/website/pages/manage.js
index 7f2ee766d5..cba633a334 100644
--- a/packages/website/pages/manage.js
+++ b/packages/website/pages/manage.js
@@ -6,9 +6,7 @@ import Button from '../components/button.js'
import Loading from '../components/loading.js'
import Tooltip from '../components/tooltip.js'
import countly from '../lib/countly.js'
-import { VscMail } from 'react-icons/vsc'
import { Popover, ArrowContainer } from 'react-tiny-popover'
-import Link from '../components/link'
/**
*
@@ -118,39 +116,6 @@ export default function ManageKeys({ user }) {
API Keys
- {!user?.tags.HasAccountRestriction &&
- !user?.tags.HasPsaAccess &&
- !user?.pendingTagProposals?.HasPsaAccess && (
-
- NFT.Storage is capable of efficiently ingesting
- billions of records. Whether or not your data is
- already on PDFS, we have simple APIs for bulk data
- import. You do not need to request bulk API access if
- you are just looking to upload your data to
- NFT.Storage. Check out{' '}
-
- the docs
- {' '}
- for more details.
-
- }
- overlayClassName="ns-tooltip"
- id="request-api-pinning-info"
- >
-
- Request bulk
- pinning API access
-
-
- )}
-
{user?.tags.HasAccountRestriction ? (
} e
- */
- function checkCar(e) {
- const file = e.target.files && e.target.files[0]
- if (file && file.name.endsWith('.car')) {
- setIsCar(true)
- } else {
- setIsCar(false)
- }
- }
-
- /**
- * @param {import('react').ChangeEvent} e
- */
- async function handleUploadSubmit(e) {
- e.preventDefault()
- const data = new FormData(e.target)
- const file = data.get('file')
- if (file && file instanceof File) {
- const client = new NFTStorage({
- token: await getToken(),
- endpoint: new URL(API + '/'),
- })
- setUploading(true)
- setError('')
- try {
- /** @type File|Blob */
- let car
- if (isCar) {
- car = file
- } else {
- ;({ car } = await packToBlob({
- input: [file],
- wrapWithDirectory: false,
- }))
- }
- let totalBytesSent = 0
- await client.storeCar(car, {
- onStoredChunk: (size) => {
- totalBytesSent += size
- setPercentComplete(Math.round((totalBytesSent / car.size) * 100))
- },
- })
-
- router.push({ pathname: '/files' })
- setError('')
- } catch (/** @type any */ err) {
- console.error(err)
- setError(`Error uploading: ${err.message}`)
- } finally {
- await queryClient.invalidateQueries('get-nfts')
- setUploading(false)
- }
- }
- }
-
- const UploadFileButton = () => (
-
- )
-
- return (
-
-
-
-
Upload File
-
-
-
-
- <>
- {error}{' '}
-
- >
-
-
-
-
-
🌍 Public data
-
- All data uploaded to NFT.Storage is available to anyone who
- requests it using the correct CID. Do not store any private or
- sensitive information in an unencrypted form using NFT.Storage.
-
-
-
-
♾️ Permanent data
-
- Deleting files from the NFT.Storage site’s{' '}
-
- Files
- {' '}
- page will remove them from the file listing for your account, but
- that doesn’t prevent nodes on the decentralized storage network
- from retaining copies of the data indefinitely. Do not use
- NFT.Storage for data that may need to be permanently deleted in
- the future.
-
- NFT.Storage is capable of efficiently ingesting billions of records.
- Whether or not your data is already on PDFS, we have simple APIs for
- bulk data import. You do not need to request bulk API access if you
- are just looking to upload your data to NFT.Storage. Check out{' '}
- the docs for more
- details.
-