diff --git a/.gitignore b/.gitignore index 178e51aed..85340498d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1,29 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -node_modules -.pnp -.pnp.js +/node_modules +**/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions # testing -coverage +/coverage # next.js -.next/ -out/ -build +/.next/ +**/.next/ +/out/ +**/out/ + +# production +/build +**/build +**/dist # misc .DS_Store @@ -23,18 +35,24 @@ yarn-debug.log* yarn-error.log* .pnpm-debug.log* -# local env files -.env.local -.env.development.local -.env.test.local -.env.production.local +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts # turbo .turbo -dist/ +# package-lock files (since we're using Yarn) +**/package-lock.json -sitemap-0.xml +# Storybook build outputs +**/storybook-static # cursor params .cursorrules diff --git a/.turboignore b/.turboignore new file mode 100644 index 000000000..744ac5b66 --- /dev/null +++ b/.turboignore @@ -0,0 +1 @@ +apps/widget diff --git a/.vercelignore b/.vercelignore new file mode 100644 index 000000000..321d9860b --- /dev/null +++ b/.vercelignore @@ -0,0 +1,12 @@ +packages/dexkit-unlock +packages/dexkit-exchange +packages/dexkit-widgets +packages/dexkit-ui +packages/dexappbuilder-render +packages/dexappbuilder-viewer +apps/dexappbuilder/.next +apps/dexappbuilder/node_modules +apps/dexappbuilder/.turbo +node_modules +.turbo +*.log diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 000000000..532cb3d1a --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,3 @@ +nodeLinker: node-modules +enableGlobalCache: false +enableTelemetry: false diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 000000000..718d6fea4 Binary files /dev/null and b/app/favicon.ico differ diff --git a/apps/coinleague/compiled-lang/en-US.json b/apps/coinleague/compiled-lang/en-US.json index d91d3a6e9..09bfcba22 100644 --- a/apps/coinleague/compiled-lang/en-US.json +++ b/apps/coinleague/compiled-lang/en-US.json @@ -262,8 +262,8 @@ "clain.priceToMint": "Claim ({priceToMint})", "clear": "Clear", "clear.all": "Clear all", - "clear.filters": "Clear filters to see nft's", - "clear.filters.to.see.nft.drops": "Clear filters to see nft drop's", + "clear.filters": "Clear filters to see NFTs", + "clear.filters.to.see.nft.drops": "Clear filters to see NFT drops", "clear.transactions": "Clear Transactions", "click.on.nft.to.manage.and.set.claim.conditions.": "Click on NFTs to start manage and set claim conditons.", "clone": "Clone", diff --git a/apps/coinleague/lang/cs-CZ.json b/apps/coinleague/lang/cs-CZ.json index 7093d55d2..e143d10fa 100644 --- a/apps/coinleague/lang/cs-CZ.json +++ b/apps/coinleague/lang/cs-CZ.json @@ -480,7 +480,7 @@ "defaultMessage": "Claim ({priceToMint})" }, "clear.filters.to.see.nft.drops": { - "defaultMessage": "Clear filters to see nft drop's" + "defaultMessage": "Clear filters to see NFT drops" }, "click.on.nft.to.manage.and.set.claim.conditions.": { "defaultMessage": "Click on NFTs to start manage and set claim conditons." diff --git a/apps/coinleague/lang/en-US.json b/apps/coinleague/lang/en-US.json index 719d9a0f3..0766de0dc 100644 --- a/apps/coinleague/lang/en-US.json +++ b/apps/coinleague/lang/en-US.json @@ -3253,7 +3253,7 @@ "defaultMessage": "Clear all" }, "clear.filters": { - "defaultMessage": "Clear filters to see nft's" + "defaultMessage": "Clear filters to see NFTs" }, "clone.page": { "defaultMessage": "Clone page" diff --git a/apps/coinleague/lang/main.json b/apps/coinleague/lang/main.json index fcb3760ab..fd7503e86 100644 --- a/apps/coinleague/lang/main.json +++ b/apps/coinleague/lang/main.json @@ -653,10 +653,10 @@ "defaultMessage": "Clear all" }, "clear.filters": { - "defaultMessage": "Clear filters to see nft's" + "defaultMessage": "Clear filters to see NFTs" }, "clear.filters.to.see.nft.drops": { - "defaultMessage": "Clear filters to see nft drop's" + "defaultMessage": "Clear filters to see NFT drops" }, "click.on.nft.to.manage.and.set.claim.conditions.": { "defaultMessage": "Click on NFTs to start manage and set claim conditons." diff --git a/apps/coinleague/src/modules/wallet/components/WalletCoinsTab.tsx b/apps/coinleague/src/modules/wallet/components/WalletCoinsTab.tsx index 1fc128f67..ae02da375 100644 --- a/apps/coinleague/src/modules/wallet/components/WalletCoinsTab.tsx +++ b/apps/coinleague/src/modules/wallet/components/WalletCoinsTab.tsx @@ -64,7 +64,7 @@ export default function WalletCoinsTab({}: Props) { const currency = useAtomValue(currencyAtom); const balancesVisibility = useBalancesVisibility(); const { chainId, account, provider } = useWeb3React(); - const transakRef = useRef(); + const transakRef = useRef(null); useEffect(() => { transakRef.current = InitTransak({currency: currency}) diff --git a/apps/dexappadmin/next-env.d.ts b/apps/dexappadmin/next-env.d.ts index 4f11a03dc..254b73c16 100644 --- a/apps/dexappadmin/next-env.d.ts +++ b/apps/dexappadmin/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +/// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information. diff --git a/apps/dexappadmin/pages/_document.tsx b/apps/dexappadmin/pages/_document.tsx index c2bcf5802..9947c36e6 100644 --- a/apps/dexappadmin/pages/_document.tsx +++ b/apps/dexappadmin/pages/_document.tsx @@ -1,3 +1,4 @@ +// @ts-nocheck import createEmotionServer from '@emotion/server/create-instance'; import Document, { Head, Html, Main, NextScript } from 'next/document'; @@ -25,7 +26,7 @@ export default class MyDocument extends Document { /> {appConfig?.font && ( )} diff --git a/apps/dexappadmin/src/modules/admin/components/DecimalInput.tsx b/apps/dexappadmin/src/modules/admin/components/DecimalInput.tsx index 8bdc3aaa8..e692471ed 100644 --- a/apps/dexappadmin/src/modules/admin/components/DecimalInput.tsx +++ b/apps/dexappadmin/src/modules/admin/components/DecimalInput.tsx @@ -1,3 +1,4 @@ +// @ts-nocheck // in LatLongInput.js import { TextField, useInput } from 'react-admin'; diff --git a/apps/dexappadmin/tsconfig.json b/apps/dexappadmin/tsconfig.json index d390c8aee..c497354fa 100644 --- a/apps/dexappadmin/tsconfig.json +++ b/apps/dexappadmin/tsconfig.json @@ -4,7 +4,8 @@ "lib": ["dom", "dom.iterable", "esnext", "ES2021.String"], "allowJs": true, "skipLibCheck": true, - "strict": true, + "strict": false, + "noImplicitAny": false, "forceConsistentCasingInFileNames": true, "noEmit": true, "esModuleInterop": true, @@ -28,7 +29,8 @@ { "name": "next" } - ] + ], + "types": [] }, "include": [ "next-env.d.ts", diff --git a/apps/dexappbuilder/.eslintrc.json b/apps/dexappbuilder/.eslintrc.json index 736375474..ce496c3d9 100644 --- a/apps/dexappbuilder/.eslintrc.json +++ b/apps/dexappbuilder/.eslintrc.json @@ -1,6 +1,6 @@ { "root": true, - "extends": "next/core-web-vitals", + "extends": ["next/core-web-vitals"], "rules": { "react-hooks/exhaustive-deps": "off", "@next/next/no-img-element": "off" diff --git a/apps/dexappbuilder/.vercelignore b/apps/dexappbuilder/.vercelignore new file mode 100644 index 000000000..54e0bde75 --- /dev/null +++ b/apps/dexappbuilder/.vercelignore @@ -0,0 +1,40 @@ +# Dependencies +node_modules +.pnp +.pnp.js + +# Testing +coverage + +# Next.js +.next/ +out/ + +# Production +build + +# Misc +.DS_Store +*.pem + +# Debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Local env files +.env*.local + +# Vercel +.vercel + +# TypeScript +*.tsbuildinfo +next-env.d.ts + +# IDE +.vscode +.idea + +# OS +Thumbs.db \ No newline at end of file diff --git a/apps/dexappbuilder/.yarnrc.yml b/apps/dexappbuilder/.yarnrc.yml new file mode 100644 index 000000000..532cb3d1a --- /dev/null +++ b/apps/dexappbuilder/.yarnrc.yml @@ -0,0 +1,3 @@ +nodeLinker: node-modules +enableGlobalCache: false +enableTelemetry: false diff --git a/apps/dexappbuilder/compiled-lang/cs-CZ.json b/apps/dexappbuilder/compiled-lang/cs-CZ.json index 5f5247146..e6eb099d5 100644 --- a/apps/dexappbuilder/compiled-lang/cs-CZ.json +++ b/apps/dexappbuilder/compiled-lang/cs-CZ.json @@ -6,7 +6,7 @@ "24h.volume": "Objem (24h)", "24h.volume.amount": "Objem (24h): {amount}", "AI": "Umělá inteligence", - "Airdrop": "Airdrop", + "Airdrop": "Rozdávání", "Airdrop token": "Airdrop tokenu", "Airdropped token": "Token", "Allow.list.file": "Soubor povolených položek", @@ -103,7 +103,7 @@ "addresses": "Adresy", "adjust.marketplace.fees.title": "Upravit poplatky za NFT tržiště", "adjust.your.app.swap.fees.title": "Upravit poplatky za swap", - "admin": "Admin", + "admin": "Správce", "admin.setup.description": "Vytvořte svoji krypto stránku/tržiště v řádu vteřin a staňte se krypto-podnikatelem ve dvou krocích.", "advanced": "Pokročilé", "advanced.info": "Pouze adresy peněženek, které vložíte níže můžou koupit toto NFT. Nechejte prázdné, pokud chcete nabídku nechat dostupnou pro všechny.", @@ -113,7 +113,7 @@ "ai.edit": "AI Úprava", "ai.generator": "AI Generátor", "ai.image.generator": "AI generátor obrázků", - "airdrop": "Airdrop", + "airdrop": "Rozdávání", "airdrop.claim.token.seo.title.message": "Airdrop tokenu {tokenSymbol} na síti {network}", "airdrop.claimable.contract": "Kontrakt s airdropem", "airdrop.requirements": "Požadavky airdropu", @@ -159,7 +159,7 @@ "apps": "Aplikace", "are.you.sure.you.want.to.delete.this.account": "Účet k odstranění: {account}", "artificial.inteligence": "Umělá inteligence", - "asset": "Asset", + "asset": "Aktiva", "asset.will.be.added.to.favorites": "Toto NFT bude přidané mezi Vaše oblíbené", "attributes": "Atributy", "auto.slippage": "Automatické proklouznutí", @@ -181,7 +181,7 @@ "base.token": "Výchozí token", "billing": "Fakturace", "billing.and.usage": "Fakturace a použití", - "bio": "Bio", + "bio": "Bios", "block.explorer": "Průzkumník bloků", "boost.number": "Číslo zvýšení", "boost.percentage": "Procenta navýšení", @@ -222,7 +222,7 @@ "center": "Střed", "chainId": "ID Blockchainu", "change.cat.head": "např. změna hlavy", - "changelog-dev": "Dev Changelog", + "changelog-dev": "Změny vývoje", "changes.unsaved": "Změny nebyly uloženy", "changing.network": "Změna sítě", "check.deploy.status": "Zkontrolujte stav", @@ -231,7 +231,7 @@ "checked.successfully": "Úspěšně zkontrolováno", "checking.domain": "Kontroluji doménu", "checking.eligibility": "Kontrola způsobilosti...", - "checkout": "Checkout", + "checkout": "Pokladna", "choose.app.theme.color.for.each.mode ": "Vyberte barvu motivu aplikace pro každý režim", "choose.collections.to.show": "Vyberte kolekce, které chcete zobrazit na Vašem NFT tržišti", "choose.default.settings.for.exchange.interface": "Vyberte výchozí nastavení pro rozhraní aplikace", @@ -259,6 +259,7 @@ "clear": "Odstranit", "clear.all": "Vymazat vše", "clear.filters": "Pro zobrazení NFTs vymažte filtry ", + "clear.filters.button": "Vymazat filtry", "clear.filters.to.see.nft.drops": "Pro zobrazení NFT dropů vymažte filtry", "clear.transactions": "Vymazat transakce", "click.on.nft.to.manage.and.set.claim.conditions.": "Klikněte na NFT pro správu a nastavení podmínek.", @@ -493,7 +494,7 @@ "domain.records": "Záznamy domény", "domains": "Doména", "down": "Dolů", - "drop": "Drop", + "drop": "Seskupení", "drop.details": "Detaily dropu", "drop.is.starting.soon. Please check back later.": "Drop startuje brzy. Zkuste to prosím později.", "drop.is.starting.soon.please.check.back.later": "Drop startuje brzy. Zkuste to prosím později.", @@ -589,7 +590,7 @@ "external": "Externí", "external.url": "Externí URL", "facebook": "Facebook", - "favicon": "Favicon", + "favicon": "Oblíbený symbol", "favicon.helper.explainer": "Malá ikona, která představuje webovou stránku a zobrazuje se na kartě prohlížeče", "favorite": "Oblíbené", "favorites": "Oblíbené", @@ -615,7 +616,7 @@ "finish": "Dokončit", "fix.spelling.and.grammar": "Opravte pravopis a gramatiku", "floor.price": "Nejnižší cena", - "font": "Font", + "font": "Písmo", "footer.menu": "Menu v zápatí", "footer.wizard.description": "Vytvořte a upravte menu v zápatí", "forbidden": "Zakázaný", @@ -632,7 +633,7 @@ "function.name": "Název funkce", "gallery": "Galerie", "gas.cost": "Náklady na gas", - "gas.gas": "Gas: {gas} Gwei", + "gas.gas": "Plyn: {gas} Gwei", "gas.price": "Cena gas", "gated.conditions": "Uzavřené podmínky", "general": "Všeobecné", @@ -648,7 +649,7 @@ "generating.variants": "Generování variant", "generic": "Obecné", "google.analytics.example.tag": "Ukázka tagu: G-LWRHJH7JLF", - "google.analytics.tag": "Google analytics tag", + "google.analytics.tag": "Google analytická značka", "height.for.desktop": "Výška pro počítače", "height.for.mobile": "Výška pro mobilní zařízení", "height.px": "Výška (px)", @@ -708,7 +709,7 @@ "insufficient.symbol": "Nedostatečné množství {symbol}", "insufficient.symbol.balance": "Nedostatečný zůstatek {symbol}", "integrations": "Integrace", - "interval": "Interval", + "interval": "Proměřený", "invalid address": "Neplatná adresa", "invalid.address": "Neplatná adresa", "invalid.file.column.column.is.missing": "Neplatný soubor: chybí sloupec {column}", @@ -717,7 +718,7 @@ "item.type": "Typ položky", "items": "Položky", "items.spacing": "Mezery položek", - "kit.airdrop": "KIT Airdrop", + "kit.airdrop": "KIT Rozdávání", "kit.claim.submitted": "Žádost o získání odměn KIT odeslána", "label": "Označení", "language": "Jazyk", @@ -792,8 +793,8 @@ "mint": "Mint", "mint.free": "Mint (Zdarma)", "mint.nft": "Vymintovat NFT", - "mint.price.value": "Mint ({priceToMint})", - "mint.priceToMint": "Mint {priceToMint}", + "mint.price.value": "Ražba ({priceToMint})", + "mint.priceToMint": "Ražba {priceToMint}", "mint.token.value": "Mintovat token \"{tokenName}\"", "mismatch.account.admin.view": "Jste připojeni k účtu {account}, ale přihlášeni jako {loggedAccount}. Pokud chcete zobrazit aplikace spojené s aktuálně připojeným účtem, klikněte na", "more": "Více", @@ -830,7 +831,7 @@ "nft.created": "NFT vytvořeno", "nft.description": "Popis NFT", "nft.detail": "Detaily NFT", - "nft.drop": "NFT Drop", + "nft.drop": "NFT Rozdávání", "nft.edition.airdrop": "Airdrop NFT edice", "nft.image": "Obrázek NFT", "nft.imported": "NFT bylo importované", @@ -1199,7 +1200,7 @@ "store.without.order": "Zatím zde nejsou žádné nabídky.", "subtitle": "Podtitulek", "success.color": "Barva úspěchu", - "swap": "Swap", + "swap": "Výměna", "swap.apps": "Aplikace SWAPU", "swap.fees": "Poplatky Swapu", "swap.fees.menu.container": "Poplatky SWAPU", @@ -1475,4 +1476,4 @@ "your.wallet.is.not.connected": "Vaše peněženka není připojena", "youtube": "Vimeo", "youtube.channel": "Youtube kanál" -} +} \ No newline at end of file diff --git a/apps/dexappbuilder/compiled-lang/de-DE.json b/apps/dexappbuilder/compiled-lang/de-DE.json index 876b81634..77468467c 100644 --- a/apps/dexappbuilder/compiled-lang/de-DE.json +++ b/apps/dexappbuilder/compiled-lang/de-DE.json @@ -263,6 +263,7 @@ "clear": "Löschen", "clear.all": "Alle löschen", "clear.filters": "Filter löschen, um NFTs zu sehen", + "clear.filters.button": "Filter löschen", "clear.filters.to.see.nft.drops": "Filter löschen, um NFT-Drops zu sehen", "clear.transactions": "Transaktionen löschen", "click.on.nft.to.manage.and.set.claim.conditions.": "Klicken Sie auf NFTs, um Bedingungen zu verwalten und festzulegen.", @@ -457,7 +458,7 @@ "disable.burn": "Verbrennung deaktivieren", "disable.info": "Info deaktivieren", "disable.proxy": "Proxy deaktivieren", - "disable.secondary.sells": "Disable secondary sells", + "disable.secondary.sells": "Sekundärverkäufe deaktivieren", "disable.transfer": "Transfer deaktivieren", "discord.username": "Discord-Benutzername", "do.you.really.want.to.clone.this.form": "Möchten Sie dieses Formular wirklich klonen?", @@ -536,7 +537,7 @@ "edit.user.profile": "Benutzerprofil bearbeiten: {username}", "edit.version": "Version bearbeiten", "editing.nft": "Bearbeiten von NFT-Metadaten", - "editing.site.metadata": "Editing site metadata", + "editing.site.metadata": "Metadaten der Website bearbeiten", "email": "E-Mail", "email.to.receive.notifications": "E-Mail zum Empfang von Benachrichtigungen", "email.verified": "E-Mail verifiziert", @@ -551,7 +552,7 @@ "enable.drop": "Darkblock aktivieren", "enable.fiat": "Fiat aktivieren", "enable.searchbar": "Suchleiste aktivieren", - "end": "End", + "end": "Ende", "enter.amount.to.claim": "Betrag eingeben, um zu beanspruchen", "error": "Fehler", "error.404": "Fehler 404", @@ -566,14 +567,14 @@ "error.updating.app.leaderboard": "Fehler beim Aktualisieren der App-Bestenliste", "error.while.burning": "Fehler bei der Verbrennung", "error.while.deploying.contract": "Fehler beim Bereitstellen des Vertrags", - "error.while.generating.images": "Error while generating images", + "error.while.generating.images": "Fehler beim Generieren von Bildern", "error.while.importing.nft": "Fehler beim Importieren des NFT: {error}", "error.while.minting": "Fehler beim Prägen", "error.while.switching.network": "Fehler beim Wechseln des Netzwerks", - "error.while.tranfer": "Error while transfer", + "error.while.tranfer": "Fehler beim Transfer", "error.while.transferring": "Fehler beim Transfer", "events": "Ereignisse", - "ex.an.image.of.a.cat": "ex. An image of a cat", + "ex.an.image.of.a.cat": "z.B. Ein Bild einer Katze", "exchange": "Austausch", "exchange.app.builder": "Austausch App Builder", "execute": "Ausführen", @@ -621,7 +622,7 @@ "filter.by.data": "Filtern nach Datum", "filters": "Filter", "finish": "Beenden", - "fix.spelling.and.grammar": "Fix spelling and grammar", + "fix.spelling.and.grammar": "Rechtschreibung und Grammatik korrigieren", "floor.price": "Mindestpreis", "font": "Schriftart", "footer.menu": "Fußmenü", @@ -646,19 +647,19 @@ "general": "Allgemein", "general.information": "Allgemeine Information", "general.information.description": "Geben Sie die allgemeinen Informationen Ihrer App ein", - "generate": "Generate", - "generate.image": "Generate image", - "generate.new.text": "Generate new text", - "generate.variant": "Generate variant", - "generate.variants": "Generate Variants", - "generating": "Generating", + "generate": "Generieren", + "generate.image": "Bild generieren", + "generate.new.text": "Neuen Text generieren", + "generate.variant": "Variante generieren", + "generate.variants": "Varianten generieren", + "generating": "Generieren", "generating.image": "Bild wird generiert...", - "generating.variants": "Generating Variants", + "generating.variants": "Varianten generieren", "generic": "Generisch", "google.analytics.example.tag": "Beispiel für Tag: G-LWRHJH7JLF", "google.analytics.tag": "Google Analytics-Tag", - "height.for.desktop": "Height for desktop", - "height.for.mobile": "Height for mobile", + "height.for.desktop": "Höhe für Desktop", + "height.for.mobile": "Höhe für Mobilgeräte", "height.px": "Höhe (px)", "hidden": "Versteckt", "hide": "Verstecken", @@ -684,15 +685,15 @@ "image": "Bild", "image.deleted": "Bild gelöscht", "image.url": "Bild-URL", - "images.generated": "Images generated", - "images.notGenerated": "You haven't generated any images yet. Start generating images now to make the most out of our service.", + "images.generated": "Bilder generiert", + "images.notGenerated": "Sie haben noch keine Bilder generiert. Beginnen Sie jetzt damit, Bilder zu generieren, um das Beste aus unserem Service herauszuholen.", "import": "Importieren", "import.nft": "NFT importieren", "import.or.favorite.nfts": "Importieren oder favorisierte NFTs", "import.token": "Token importieren", "import.token.lists": "Tokenlisten importieren", - "improve.writing": "Improve writing", - "in.milliseconds": "In milliseconds", + "improve.writing": "Schreiben verbessern", + "in.milliseconds": "In Millisekunden", "info.about.custom.section": "Anstatt vorgegebene Abschnitte zu verwenden, haben Sie die Freiheit, durch einfaches Ziehen und Ablegen funktionaler Blöcke eine personalisierte Sektion zu erstellen, um Ihr ideales Layout zu entwerfen.", "info.alert.description.gated.form.modal": "Als Besitzer dieser privaten Webseite geben Sie bitte die spezifischen Bedingungen an, die Benutzer erfüllen müssen, um auf Ihre Seite zugreifen zu können. Durch Festlegung dieser Bedingungen gewährleisten Sie, dass nur berechtigte Benutzer Zugriff erhalten.", "info.alert.title.filter.ranking.points": "Definieren und Punkte für jedes Benutzerereignis vergeben, um ein Ranking zu erstellen", @@ -711,12 +712,12 @@ "insert.valid.html": "Gültiges HTML einfügen", "instagram": "Instagram", "insufficient": "Unzureichend {symbol}", - "insufficient.balance": "Insufficient balance", + "insufficient.balance": "Unzureichendes Guthaben", "insufficient.funds": "Unzureichende Geldmittel", "insufficient.symbol": "unzureichend {symbol}", "insufficient.symbol.balance": "Unzureichendes {symbol}-Guthaben", "integrations": "Integrationen", - "interval": "Interval", + "interval": "Intervall", "invalid address": "Ungültige Adresse", "invalid.address": "Ungültige Adresse", "invalid.file.column.column.is.missing": "Ungültige Datei: Spalte {column} fehlt", @@ -724,7 +725,7 @@ "is.powered.by": "wird unterstützt von", "item.type": "Artikeltyp", "items": "Artikel", - "items.spacing": "Items spacing", + "items.spacing": "Abstand zwischen Elementen", "kit.airdrop": "KIT Luftabwurf", "kit.claim.submitted": "KIT-Anspruch eingereicht", "label": "Etikett", @@ -736,7 +737,7 @@ "leaderboard": "Bestenliste", "leaderboard.preview": "Vorschau der Bestenliste", "least.recent": "Am wenigsten aktuell", - "left": "Left", + "left": "Links", "light": "Licht", "limit": "Limit", "link": "Verbindung", @@ -767,9 +768,9 @@ "make.an.offer.for.this.nft": "Beschreibung für dieses NFT abgeben", "make.an.offer.instead": "Stattdessen ein Angebot machen", "make.at.least.one.form.field.visible.to.see.a.preview": "Machen Sie mindestens ein Formularfeld sichtbar, um eine Vorschau anzuzeigen", - "make.longer": "Make longer", + "make.longer": "Länger machen", "make.offer": "Angebot machen", - "make.shorter": "Make shorter", + "make.shorter": "Kürzer machen", "make.token.available.on.the.marketplace": "Token auf dem Marktplatz verfügbar machen", "manage": "Verwalten", "manage.contract": "Vertrag verwalten", @@ -835,7 +836,7 @@ "network_not_supported": "Netzwerk nicht unterstützt", "networks": "Netzwerke", "new": "Neu", - "new.ai.features": "New AI Features", + "new.ai.features": "Neue KI-Funktionen", "nft": "NFT", "nft.already.imported": "NFT bereits importiert", "nft.amount.of.tokenId.is.selected.to.stake": "{amount} of \"#{tokenId}\" ist ausgewählt zum Verstaken", @@ -873,7 +874,7 @@ "no.coins.found": "Keine Münzen gefunden", "no.collections": "Keine Sammlungen", "no.contracts.found": "Keine Verträge gefunden", - "no.credits": "No Credits", + "no.credits": "Keine Credits", "no.description": "no description", "no.forms.yet": "Noch keine Formulare", "no.hidden.nfts.found": "Keine versteckten NFTs gefunden", diff --git a/apps/dexappbuilder/compiled-lang/en-US.json b/apps/dexappbuilder/compiled-lang/en-US.json index 8f65296a9..0b4b3b5d6 100644 --- a/apps/dexappbuilder/compiled-lang/en-US.json +++ b/apps/dexappbuilder/compiled-lang/en-US.json @@ -262,8 +262,9 @@ "clain.priceToMint": "Claim ({priceToMint})", "clear": "Clear", "clear.all": "Clear all", - "clear.filters": "Clear filters to see nft's", - "clear.filters.to.see.nft.drops": "Clear filters to see nft drop's", + "clear.filters": "Clear filters to see NFTs", + "clear.filters.button": "Clear filters", + "clear.filters.to.see.nft.drops": "Clear filters to see NFT drops", "clear.transactions": "Clear Transactions", "click.on.nft.to.manage.and.set.claim.conditions.": "Click on NFTs to start manage and set claim conditons.", "clone": "Clone", diff --git a/apps/dexappbuilder/compiled-lang/es-ES.json b/apps/dexappbuilder/compiled-lang/es-ES.json index 726096e57..2f0de80fd 100644 --- a/apps/dexappbuilder/compiled-lang/es-ES.json +++ b/apps/dexappbuilder/compiled-lang/es-ES.json @@ -264,6 +264,7 @@ "clear": "Limpiar", "clear.all": "Borrar todo", "clear.filters": "Borrar filtros para ver NFTs", + "clear.filters.button": "Limpiar filtros", "clear.filters.to.see.nft.drops": "Limpiar filtros para ver las gotas de NFT", "clear.transactions": "Borrar transacciones", "click.on.nft.to.manage.and.set.claim.conditions.": "Haz clic en los NFT para comenzar a gestionar y establecer condiciones de reclamación.", @@ -568,14 +569,14 @@ "error.updating.app.leaderboard": "Error al actualizar la tabla de clasificación de la aplicación", "error.while.burning": "Error al quemar", "error.while.deploying.contract": "Error al implementar contrato", - "error.while.generating.images": "Error while generating images", + "error.while.generating.images": "Error al generar imágenes", "error.while.importing.nft": "Error importando NFT: {error}", "error.while.minting": "Error al acuñar", "error.while.switching.network": "Error al cambiar de red", - "error.while.tranfer": "Error while transfer", + "error.while.tranfer": "Error al transferir", "error.while.transferring": "Error al transferir", "events": "Eventos", - "ex.an.image.of.a.cat": "ex. An image of a cat", + "ex.an.image.of.a.cat": "ej. Una imagen de un gato", "exchange": "Intercambio", "exchange.app.builder": "Generador de aplicaciones de intercambio", "execute": "Ejecutar", @@ -603,7 +604,7 @@ "favicon.url": "URL del favicon", "favorite": "Favorito", "favorites": "Favoritos", - "feature": "Feature", + "feature": "Característica", "featured": "Destacado", "featured.token.in.your.app": "Tokens destacados en tu app", "fee": "Comisiones", @@ -624,7 +625,7 @@ "filter.by.data": "Filtrar por fecha", "filters": "Filtros", "finish": "Finalizar", - "fix.spelling.and.grammar": "Fix spelling and grammar", + "fix.spelling.and.grammar": "Corregir ortografía y gramática", "floor.price": "Precio de suelo", "font": "Fuente", "footer.menu": "Menú de pie de página", @@ -644,24 +645,24 @@ "gallery": "Galería", "gas.cost": "Coste de gas", "gas.gas": "Gas: {gas} Gwei", - "gas.price": "Gas price", + "gas.price": "Precio del gas", "gated.conditions": "Condiciones cerradas", "general": "General", "general.information": "Información general", "general.information.description": "Ingrese los detalles generales de su aplicación", - "generate": "Generate", - "generate.image": "Generate image", - "generate.new.text": "Generate new text", - "generate.variant": "Generate variant", - "generate.variants": "Generate Variants", - "generating": "Generating", + "generate": "Generar", + "generate.image": "Generar imagen", + "generate.new.text": "Generar nuevo texto", + "generate.variant": "Generar variante", + "generate.variants": "Generar Variantes", + "generating": "Generando", "generating.image": "Generando imagen...", - "generating.variants": "Generating Variants", + "generating.variants": "Generando Variantes", "generic": "Genérico", "google.analytics.example.tag": "Ejemplo de etiqueta: G-LWRHJH7JLF", "google.analytics.tag": "Etiqueta de analíticas de Google", - "height.for.desktop": "Height for desktop", - "height.for.mobile": "Height for mobile", + "height.for.desktop": "Altura para escritorio", + "height.for.mobile": "Altura para móvil", "height.px": "Altura (px)", "hidden": "Oculto", "hide": "Ocultar", @@ -688,15 +689,15 @@ "image": "Imagen", "image.deleted": "Imagen eliminada", "image.url": "URL de la imagen", - "images.generated": "Images generated", - "images.notGenerated": "You haven't generated any images yet. Start generating images now to make the most out of our service.", + "images.generated": "Imágenes generadas", + "images.notGenerated": "Aún no has generado ninguna imagen. Comienza a generar imágenes ahora para aprovechar al máximo nuestro servicio.", "import": "Importar", "import.nft": "Importar NFT", "import.or.favorite.nfts": "Importar o añadir NFTs a favoritos", "import.token": "Importar Token", "import.token.lists": "Importar listas de tokens", - "improve.writing": "Improve writing", - "in.milliseconds": "In milliseconds", + "improve.writing": "Mejorar escritura", + "in.milliseconds": "En milisegundos", "info.about.custom.section": "En lugar de utilizar secciones predefinidas, tienes la libertad de crear una sección personalizada arrastrando y soltando bloques funcionales para diseñar tu diseño ideal de forma sencilla.", "info.alert.description.gated.form.modal": "Como propietario de esta página web privada, introduce las condiciones específicas que deben cumplir los usuarios para acceder a tu página. Al definir estas condiciones, te aseguras de que solo se conceda acceso a los usuarios elegibles.", "info.alert.title.filter.ranking.points": "Definir y atribuir puntos a cada evento del usuario para construir un ranking", @@ -715,35 +716,35 @@ "inputs": "Entradas", "insert.valid.html": "Inserta un HTML válido", "instagram": "Instagram", - "insufficient": "Insufficient {symbol}", - "insufficient.balance": "Insufficient balance", + "insufficient": "Insuficiente {symbol}", + "insufficient.balance": "Saldo insuficiente", "insufficient.funds": "Fondos insuficientes", - "insufficient.symbol": "insufficient {symbol}", - "insufficient.symbol.balance": "Insufficient {symbol} balance", + "insufficient.symbol": "insuficiente {symbol}", + "insufficient.symbol.balance": "Saldo de {symbol} insuficiente", "integrations": "Integraciones", - "interval": "Interval", - "invalid address": "Invalid address", + "interval": "Intervalo", + "invalid address": "Dirección no válida", "invalid.address": "Dirección inválida", - "invalid.file.column.column.is.missing": "Invalid file: column {column} is missing", + "invalid.file.column.column.is.missing": "Archivo no válido: falta la columna {column}", "invalid.price": "Precio inválido", "is.powered.by": "es desarrollado por", "item.type": "Tipo de artículo", "items": "Elementos", - "items.spacing": "Items spacing", + "items.spacing": "Espaciado de elementos", "kit.airdrop": "Airdrop de KIT", "kit.claim.submitted": "Los tokens KIT fueron enviados satisfactoriamente!", "label": "Etiqueta", "language": "Idioma", - "last.price": "Last price", - "last.price.amount": "Last price: {amount}", + "last.price": "Último precio", + "last.price.amount": "Último precio: {amount}", "last.version.set": "Última versión establecida", "layout": "Disposición", "leaderboard": "Tabla de clasificación", "leaderboard.preview": "Vista previa de la tabla de clasificación", "least.recent": "Menos reciente", - "left": "Left", + "left": "Izquierda", "light": "Ligero", - "limit": "Limit", + "limit": "Límite", "link": "Enlace", "linkedin.company": "Compañía en LinkedIn", "listing": "Listado", @@ -752,7 +753,7 @@ "listings": "Listados", "lists": "Listas", "loading": "Cargando", - "loading.quote": "Loading quote...", + "loading.quote": "Cargando cotización...", "lock.inputs": "Bloquear entradas", "logged": "Conectado", "login": "Iniciar sesión", @@ -774,18 +775,18 @@ "make.an.offer.for.this.nft": "Haz una oferta por esta NFT", "make.an.offer.instead": "Haz una oferta en cambio", "make.at.least.one.form.field.visible.to.see.a.preview": "Haz visible al menos un campo de formulario para ver una vista previa", - "make.longer": "Make longer", + "make.longer": "Alargar", "make.offer": "Ofertar", - "make.shorter": "Make shorter", + "make.shorter": "Acortar", "make.token.available.on.the.marketplace": "Hacer que el token esté disponible en el mercado", "manage": "Administrar", "manage.contract": "Administrar Contrato", "manage.networks.for.your.app": "Administrar redes para tu aplicación", "markdown": "Markdown", - "market": "Market", + "market": "Mercado", "market.cap": "Capital de mercado", - "market.cap.amount": "Market Cap: {amount}", - "market.settings": "Market Settings", + "market.cap.amount": "Capitalización de mercado: {amount}", + "market.settings": "Configuración de mercado", "marketplace.domain.added": "Dominio de mercado agregado", "marketplace.fee": "Comisión del mercado", "marketplace.fees": "Tarifas del mercado", @@ -796,9 +797,9 @@ "marketplace.theme": "Tema del mercado", "marketplaces": "Mercados", "max": "Máximo", - "max.fee": "Max fee", + "max.fee": "Tarifa máxima", "max.image.size": "El tamaño máximo para las imágenes es de 1 Mb", - "max.priority.fee": "Max priority fee", + "max.priority.fee": "Tarifa de prioridad máxima", "max.quantity": "Cantidad máxima", "max.slippage.is.value.percent": "Max slippage is 50 percent", "max.supply": "Suministro Máx", diff --git a/apps/dexappbuilder/compiled-lang/fr-FR.json b/apps/dexappbuilder/compiled-lang/fr-FR.json index 18cc75734..7db87c445 100644 --- a/apps/dexappbuilder/compiled-lang/fr-FR.json +++ b/apps/dexappbuilder/compiled-lang/fr-FR.json @@ -87,7 +87,7 @@ "add.record": "Ajouter un enregistrement", "add.ref.to.track.referrals": "Ajouter une référence à votre URL pour suivre les renvois sur vos événements. Ex: votreSite.com?ref=your-referral", "add.rule": "Ajouter une règle", - "add.section": "Add Section", + "add.section": "Ajouter une section", "add.team.members.to.read.and.do.updates": "Ajouter des membres de l'équipe pour mettre à jour votre application", "add.versions.to.your.app": "Ajouter des versions à votre application", "add.versions.to.your.app.for.backup.and.to.enable.rollback": "Ajouter des versions à votre application pour la sauvegarde et pour permettre le retour en arrière", @@ -253,6 +253,7 @@ "clear": "Effacer", "clear.all": "Effacer tout", "clear.filters": "Effacer les filtres pour voir les NFT", + "clear.filters.button": "Effacer les filtres", "clear.filters.to.see.nft.drops": "Effacer les filtres pour voir les drop de NFT", "click.on.nft.to.manage.and.set.claim.conditions.": "Cliquez sur des NFT pour commencer à les gérer et à définir les conditions de réclamation.", "clone": "Cloner", @@ -314,7 +315,7 @@ "connect.wallet.to.see.or.upload.images": "Connecter le portefeuille pour voir ou télécharger des images.", "connect.wallet.to.start.create.collections": "Connecter le portefeuille pour commencer à créer des collections", "connect.with.email": "Se connecter par e-mail", - "connect.your.wallet": "Connect Your Wallet", + "connect.your.wallet": "Connecter votre portefeuille", "connected.wallet.not.authorized.to.access.this.account.switch.to.account.that.owns.this.account": "Portefeuille connecté non autorisé à accéder à cette application. Passez au compte propriétaire de cette application et connectez-vous", "contact.us": "Contactez-nous", "continue": "Continuer", @@ -353,7 +354,7 @@ "create.marketplace.title": "Créez votre site/marketplace crypto en quelques secondes.", "create.menu": "Créer un menu", "create.metadata": "Créer des métadonnées", - "create.nft": "Create NFT", + "create.nft": "Créer NFT", "create.nft.order": "Créer un ordre NFT", "create.nft.store.app": "Créer une application de magasin NFT", "create.nfts": "Créer des NFT", @@ -431,17 +432,17 @@ "deposit": "Mettre à jour", "deposit.reward": "Récompense de dépôt", "description": "Description", - "deselect.all": "Deselect All", + "deselect.all": "Désélectionner tout", "detailed": "Détails", "details": "Détails", "dev.changelog": "Journal des modifications Dev", "dex.generator": "Générateur Dex", "dexappbuilder.ann.app.bar": "Soutenez-nous sur {Giveth} et permettez à notre service d'être gratuit pour tous. {Gitcoin} score 4 et les dons sur Polygon à notre égard bénéficient de dons correspondants !", - "dexappbuilder.ann.app.bar2": "Support us on {Giveth} and allow our service to be free for all. Each donation is matched by ENS builders round.", + "dexappbuilder.ann.app.bar2": "Soutenez-nous sur {Giveth} et permettez à notre service d'être gratuit pour tous. Chaque don est doublé par les constructeurs ENS.", "disable.burn": "Désactiver Burn", "disable.info": "Désactiver Info", "disable.proxy": "Désactiver le proxy", - "disable.secondary.sells": "Disable secondary sells", + "disable.secondary.sells": "Désactiver les ventes secondaires", "disable.transfer": "Désactiver le transfert", "discord.username": "Nom d'utilisateur Discord", "do.you.really.want.to.clone.this.form": "Voulez-vous vraiment cloner ce formulaire ?", @@ -503,13 +504,13 @@ "edit.nft.id": "Éditer le NFT {id}", "edit.nft.metadata": "Modifier les métadonnées du NFT", "edit.profile": "Modifier le profil", - "edit.section": "Edit Section", + "edit.section": "Modifier la section", "edit.social.description": "Ajoutez des médias sociaux liés à votre application", "edit.templateName": "Modifier : {templateName}", "edit.user.profile": "Modifier le profil de l'utilisateur : {username}", "edit.version": "Modifier la version", "editing.nft": "Modification des métadonnées NFT", - "editing.site.metadata": "Editing site metadata", + "editing.site.metadata": "Modification des métadonnées du site", "email": "E-mail", "email.to.receive.notifications": "Adresse e-mail pour recevoir des notifications", "email.verified": "E-mail vérifié", @@ -524,7 +525,7 @@ "enable.drop": "Activer Darkblock", "enable.fiat": "Activer Fiat", "enable.searchbar": "Activer la barre de recherche", - "end": "End", + "end": "Fin", "enter.amount.to.claim": "Entrer le montant à réclamer", "error": "Erreur", "error.404": "Erreur 404", @@ -539,14 +540,14 @@ "error.updating.app.leaderboard": "Erreur lors de la mise à jour du classement de l'application", "error.while.burning": "Erreur lors de la combustion", "error.while.deploying.contract": "Erreur lors du déploiement du contrat", - "error.while.generating.images": "Error while generating images", + "error.while.generating.images": "Erreur lors de la génération d'images", "error.while.importing.nft": "Erreur lors de l'importation de NFT : {error}", "error.while.minting": "Erreur lors de l'estampillage", "error.while.switching.network": "Erreur lors du changement de réseau", - "error.while.tranfer": "Error while transfer", + "error.while.tranfer": "Erreur lors du transfert", "error.while.transferring": "Erreur lors du transfert", "events": "Événements", - "ex.an.image.of.a.cat": "ex. An image of a cat", + "ex.an.image.of.a.cat": "par ex. Une image d'un chat", "exchange": "Échange", "exchange.app.builder": "Constructeur d'applications d'échange", "execute": "Exécuter", @@ -573,29 +574,29 @@ "favicon.helper.explainer": "Petite icône représentant un site web et apparaissant dans l'onglet du navigateur", "favorite": "Favori", "favorites": "Favoris", - "feature": "Feature", + "feature": "Fonctionnalité", "featured": "Mis en avant", "fee": "Frais", "fee.amount": "Montant des frais", "fee.percentage": "Pourcentage de frais", - "fee.recipient.address": "Fee recipient address", + "fee.recipient.address": "Adresse du bénéficiaire des frais", "fiat.price": "Prix {devise}", "field.is.invalid": "Le champ {field} est invalide", "field.is.invalid.address": "Le champ {field} est une adresse invalide", "field.is.required": "Le champ {field} est requis", - "fill.amount": "Fill amount", - "fill.amount.per.token": "Fill amount per token", - "fill.order": "Fill Order", - "fillable.amount": "Fillable amount", + "fill.amount": "Remplir le montant", + "fill.amount.per.token": "Remplir le montant par jeton", + "fill.order": "Remplir l'ordre", + "fillable.amount": "Montant remplissable", "filled": "Rempli", "filter": "Filtrer", "filter.by.data": "Filtrer par date", "filters": "Filtres", "finish": "Terminer", - "fix.spelling.and.grammar": "Fix spelling and grammar", + "fix.spelling.and.grammar": "Corriger l'orthographe et la grammaire", "floor.price": "Prix de réserve", "font": "Police", - "footer.menu": "Footer", + "footer.menu": "Pied de page", "footer.wizard.description": "Créez et modifiez le pied de page de votre application", "forbidden": "Interdit", "form.created.successfully": "Formulaire créé avec succès", @@ -610,25 +611,25 @@ "front.image.size": "Taille de l'image de couverture", "function.name": "Nom de la fonction", "gallery": "Galerie", - "gas.cost": "Gas cost", - "gas.gas": "Gas: {gas} Gwei", - "gas.price": "Gas price", + "gas.cost": "Coût du gaz", + "gas.gas": "Gaz : {gas} Gwei", + "gas.price": "Prix du gaz", "gated.conditions": "Conditions sécurisées", "general": "Général", "general.information.description": "Saisissez les détails généraux de votre application", - "generate": "Generate", - "generate.image": "Generate image", - "generate.new.text": "Generate new text", - "generate.variant": "Generate variant", - "generate.variants": "Generate Variants", - "generating": "Generating", + "generate": "Générer", + "generate.image": "Générer une image", + "generate.new.text": "Générer un nouveau texte", + "generate.variant": "Générer une variante", + "generate.variants": "Générer des variantes", + "generating": "Génération", "generating.image": "Génération d'image en cours...", - "generating.variants": "Generating Variants", + "generating.variants": "Génération de variantes", "generic": "Générique", "google.analytics.example.tag": "Exemple de tag : G-LWRHJH7JLF", "google.analytics.tag": "Balise d'analyse Google", - "height.for.desktop": "Height for desktop", - "height.for.mobile": "Height for mobile", + "height.for.desktop": "Hauteur pour ordinateur de bureau", + "height.for.mobile": "Hauteur pour mobile", "height.px": "Hauteur (px)", "hidden": "Caché", "hide": "Masquer", @@ -636,7 +637,7 @@ "hide.collections.on.search": "Masquer les collections dans la recherche", "hide.drops": "Masquer les drops", "hide.filters": "Masquer les filtres", - "hide.form.info": "Hide form info", + "hide.form.info": "Masquer les infos du formulaire", "hide.form.info.tooltip": "Masquer les informations du formulaire telles que : l'adresse du contrat, la description et le nom de la section", "hide.header": "Masquer l'en-tête", "hide.header.form.info": "Masquer les informations de l'en-tête", @@ -654,15 +655,15 @@ "image": "Image", "image.deleted": "Image supprimée", "image.url": "URL de l'image", - "images.generated": "Images generated", - "images.notGenerated": "You haven't generated any images yet. Start generating images now to make the most out of our service.", + "images.generated": "Images générées", + "images.notGenerated": "Vous n'avez encore généré aucune image. Commencez maintenant à générer des images pour profiter au maximum de notre service.", "import": "Importer", "import.nft": "Importer un NFT", "import.or.favorite.nfts": "Importer ou mettre en favori des NFT", "import.token": "Importer le token", "import.token.lists": "Importer des listes de tokens", - "improve.writing": "Improve writing", - "in.milliseconds": "In milliseconds", + "improve.writing": "Améliorer l'écriture", + "in.milliseconds": "En millisecondes", "info.about.custom.section": "Au lieu d'utiliser des sections prédéfinies, vous avez la liberté de créer une section personnalisée en déplaçant facilement des blocs fonctionnels pour concevoir votre mise en page idéale.", "info.alert.description.gated.form.modal": "En tant que propriétaire de cette page Web privée, veuillez saisir les conditions spécifiques que les utilisateurs doivent remplir pour accéder à votre page. En définissant ces conditions, vous vous assurez que seuls les utilisateurs éligibles ont accès.", "info.alert.title.filter.ranking.points": "Définir et attribuer des points à chaque événement utilisateur pour établir un classement", @@ -680,16 +681,16 @@ "inputs": "Entrées", "insert.valid.html": "Insérer un code HTML valide", "instagram": "Instagram", - "insufficient": "Insufficient {symbol}", - "insufficient.balance": "Insufficient balance", + "insufficient": "Symbole insuffisant {symbol}", + "insufficient.balance": "Solde insuffisant", "insufficient.funds": "Fonds insuffisants", "insufficient.symbol": "insufficient {symbol}", "insufficient.symbol.balance": "Insufficient {symbol} balance", "integrations": "Intégrations", "interval": "Interval", - "invalid address": "Invalid address", + "invalid address": "Adresse invalide", "invalid.address": "Adresse invalide", - "invalid.file.column.column.is.missing": "Invalid file: column {column} is missing", + "invalid.file.column.column.is.missing": "Fichier invalide: la colonne {column} est manquante", "invalid.price": "Prix invalide", "item.type": "Type d'article", "items": "Articles", @@ -715,7 +716,7 @@ "listings": "Annonces", "lists": "Listes", "loading": "Chargement", - "loading.quote": "Loading quote...", + "loading.quote": "Chargement de la cotation...", "lock.inputs": "Verrouiller les entrées", "logged": "Connecté", "login": "Connexion", @@ -740,8 +741,8 @@ "markdown": "Markdown", "market": "Market", "market.cap": "Capitalisation boursière", - "market.cap.amount": "Market Cap: {amount}", - "market.settings": "Market Settings", + "market.cap.amount": "Capitalisation boursière: {amount}", + "market.settings": "Paramètres du marché", "marketplace.domain.added": "Domaine de marché ajouté", "marketplace.fee": "Frais de marché", "marketplace.fees.menu.container": "Frais de marché", @@ -777,7 +778,7 @@ "my.collections": "Mes Collections", "my.contracts": "Mes contrats", "my.nfts": "Mes NFTs", - "my.orders": "My Orders", + "my.orders": "Mes commandes", "my.wallet": "Mon Portefeuille", "name": "Nom", "name.of.your.app": "Nom de votre application", @@ -827,30 +828,30 @@ "no.app.versions": "Pas de versions d'applications", "no.apps": "Aucune application", "no.available.offers": "Pas d'offres disponibles", - "no.coins": "No coins", - "no.coins.found": "No coins found", + "no.coins": "Aucune pièce", + "no.coins.found": "Aucune pièce trouvée", "no.collections": "Pas de collections", "no.contracts.found": "Aucun contrat trouvé", - "no.credits": "No Credits", + "no.credits": "Aucun crédit", "no.description": "no description", "no.forms.yet": "Pas encore de formulaires", "no.hidden.nfts.found": "Pas de NFTs cachés trouvés", - "no.images": "No Images", + "no.images": "Aucune image", "no.images.found.with.that.name": "Aucune image trouvée avec ce nom.", - "no.listings.yet": "No listings yet", + "no.listings.yet": "Aucune annonce pour le moment", "no.networks": "Pas de réseaux", "no.networks.are.available": "Aucun réseau n'est disponible", "no.nfts": "Pas de NFTs", - "no.nfts.found": "No NFTs found", + "no.nfts.found": "Aucun NFT trouvé", "no.offers.yet": "Pas encore d'offres", "no.orders.found": "Aucune commande trouvée", "no.page.templates": "Aucun modèle de page", "no.results": "Aucun résultat", "no.selected.networks": "Aucun réseau sélectionné", "no.team.members": "Pas de membres d'équipe", - "no.templates.found.for.this.usecase": "No templates found for this usecase", + "no.templates.found.for.this.usecase": "Aucun modèle trouvé pour ce cas d'usage", "no.tokens": "Pas de tokens", - "no.usage": "No usage", + "no.usage": "Aucune utilisation", "no.user.with.this.name": "Aucun utilisateur avec ce nom", "no.wallet.connected": "Pas de Portefeuille connecté", "nonce": "Nonce", @@ -928,14 +929,14 @@ "paper.color": "Couleur du papier", "paste": "Coller", "pay.amount.symbol": "Pay {amount} {tokenSymbol}", - "payment.confirmation.message": "Please wait for 10 confirmations for payment recognition.", + "payment.confirmation.message": "Veuillez attendre 10 confirmations pour la reconnaissance du paiement.", "payment.confirmed": "Payment expired", "payment.method": "Payment method", - "payment.pending": "Payment Pending", + "payment.pending": "Paiement en attente", "payments": "Payments", "per.wallet": "par portefeuille", "phases": "Phases", - "place.order": "Place Order", + "place.order": "Passer commande", "plan.details": "Plan details", "please.confirm.the.transaction.in.your.wallet.and.wait.for.confirmation": "Veuillez confirmer la transaction dans votre portefeuille et attendre la confirmation", "please.connect.your.wallet": "Veuillez connecter votre portefeuille pour voir les commandes", @@ -946,7 +947,7 @@ "please.sign.the.settings.with.your.wallet": "Veuillez signer les paramètres avec votre portefeuille", "please.switch.to.networks": "Please, switch to {networks}", "please.try.again.later": "Veuillez réessayer plus tard", - "please.use.wrapped.version.of.native.token": "Please use wrapped version of native token", + "please.use.wrapped.version.of.native.token": "Veuillez utiliser la version wrapped du token natif", "please.wait.for.the.block.confirmation": "Wait for the block confirmation", "points": "Points", "post.offers": "Publier des offres", @@ -1012,7 +1013,7 @@ "request.sent.successfully": "Request sent successfully", "required.field": "champ requis", "reset": "Réinitialiser", - "review.order": "Review Order", + "review.order": "Examiner la commande", "reward.per.time.unit": "Récompense par unité de temps", "reward.per.unit.time": "Récompense par unité de temps", "reward.ratio": "Ratio de récompense", @@ -1053,7 +1054,7 @@ "search.token.out": "Rechercher un token en sortie", "searchbar": "Barre de recherche", "secondary.color": "Couleur secondaire", - "section.addItemsPrompt": "Please add items to the section below.", + "section.addItemsPrompt": "Veuillez ajouter des éléments à la section ci-dessous.", "section.editor": "Éditeur de section", "see.all": "Voir tout", "select": "Sélectionner", @@ -1177,11 +1178,11 @@ "switch": "Switch", "switch.network": "Changer de réseau", "switch.network.content.text": "Please, switch to {chainName} network to create listings or offers for this asset", - "switch.to.network": "Switch to {network}", - "switch.to.network.network": "Switch to {network} network", - "switch.to.network.value": "Switch to {networkName} network", + "switch.to.network": "Passer à {network}", + "switch.to.network.network": "Passer au réseau {network}", + "switch.to.network.value": "Passer au réseau {networkName}", "switch.wallet": "Changer de portefeuille", - "switch.wallet.network": "Switch wallet to {networkName}", + "switch.wallet.network": "Passer le portefeuille à {networkName}", "switch.your.wallet.to.another.account.and.click.connect.account": "Basculez votre portefeuille vers un autre compte et cliquez sur connecter le compte", "symbol": "Symbole", "team": "Équipe", @@ -1191,9 +1192,9 @@ "text.color": "Couleur du texte", "text.field": "Champ de texte", "the.amount.cannot.be.zero": "Le montant ne peut pas être zéro", - "the.base.token.is.required.on.chain": "The quote token is required on {chainName}", + "the.base.token.is.required.on.chain": "Le jeton de cotation est requis sur {chainName}", "the.buyer.will.pay.percentage.in.fees": "L'acheteur paiera {price} {symbol} +{percentage} de frais", - "the.max.fee.is.ten.percent": "The max fee is 10%", + "the.max.fee.is.ten.percent": "Les frais maximum sont de 10%", "the.maximum.is.95": "the maximum is 95", "the.minimum.is.five": "the minimum is 5", "the.nft.has.no.metadata": "Le NFT n'a pas de métadonnées", @@ -1372,33 +1373,33 @@ "wrap": "Wrap", "write": "Écrire", "you": "vous", - "you.are.buying": "You are buying", + "you.are.buying": "Vous achetez", "you.are.cloning": "Vous clonez le site : {site}. Vérifiez-le en direct ici", "you.are.cloning.page.message": "Vous clonez la page {page}", "you.are.not.eligible.to.mint.at.this.time": "Vous n'êtes pas éligible pour créer à ce moment.", "you.are.not.eligible.to.mint.quantity.tokens": "Vous n'êtes pas éligible pour créer {quantity} tokens.", "you.are.not.eligible.to.mint.tokens.quantity.value": "Vous n'êtes pas éligible pour créer {quantity} tokens.", - "you.are.not.the.owner.of.this.NFT": "You are not the owner of this NFT", + "you.are.not.the.owner.of.this.NFT": "Vous n'êtes pas le propriétaire de ce NFT", "you.are.on.a.network.different.of.the.contract": "Vous êtes sur un réseau différent du contrat", "you.are.paying.percentage.in.fees": "Vous payez {price} {symbol} + {percentage} en frais", - "you.are.selling": "You are selling", + "you.are.selling": "Vous vendez", "you.are.using.a.airdrop.claimable.contract": "Vous utilisez un contrat réclamable par airdrop", "you.are.using.a.stake.contract": "Vous utilisez un contrat de mise en jeu", "you.can.deploy.contracts.fromo.our.list.and.from.the.community.in.the.future": "Vous pouvez déployer des contrats à partir de notre liste et de la communauté à l'avenir", - "you.cant.use.the.connected.account.to.burn": "You can't use the connected account to burn", - "you.cant.use.the.connected.account.to.transfer": "You can't use the connected to transfer", + "you.cant.use.the.connected.account.to.burn": "Vous ne pouvez pas utiliser le compte connecté pour brûler", + "you.cant.use.the.connected.account.to.transfer": "Vous ne pouvez pas utiliser le compte connecté pour transférer", "you.do.not.have.enough.balance.for.your.airdrop": "Vous n'avez pas assez de solde pour votre Airdrop", "you.dont.have.any.forms": "Vous n'avez pas encore de formulaires", "you.dont.have.any.leaderboards": "Vous n'avez pas encore de classements", "you.dont.have.enough.currency.to.mint": "Vous n'avez pas assez de devise pour créer.", "you.have.changes.unsaved.do.you.want.to.proceed.without.saving": "Vous avez des modifications non enregistrées, voulez-vous continuer sans enregistrer ?", "you.need.at.least.one.network.selected": "Vous devez sélectionner au moins un réseau", - "you.need.to.add.credits.to.use.ai.features": "You need to add credits to use AI features", + "you.need.to.add.credits.to.use.ai.features": "Vous devez ajouter des crédits pour utiliser les fonctionnalités IA", "you.need.to.add.or.import.tokens.so.users.can.make.trades": "Vous devez ajouter ou importer des tokens afin que les utilisateurs puissent effectuer des échanges", "you.need.to.approve.tokens.for.airdrop": "Vous devez approuver les tokens pour l'airdrop", "you.need.to.hold.kit.value": "Vous devez détenir {value} KIT sur l'un de ces réseaux : BSC, ETH, ou Polygon pour utiliser cette fonctionnalité", "you.own": "Vous possédez", - "you.own.nfts": "You own {balance} NFTs", + "you.own.nfts": "Vous possédez {balance} NFTs", "you.pay": "Vous payez", "you.receive": "Vous recevez", "you.selected.more.than.amoount": "Vous avez sélectionné {amount} tokens. La limite est de {tokenLimit}", diff --git a/apps/dexappbuilder/compiled-lang/it-IT.json b/apps/dexappbuilder/compiled-lang/it-IT.json index 4f204efba..be04f2285 100644 --- a/apps/dexappbuilder/compiled-lang/it-IT.json +++ b/apps/dexappbuilder/compiled-lang/it-IT.json @@ -233,7 +233,7 @@ "checked.successfully": "Controllato con successo", "checking.domain": "Controllo dominio", "checking.eligibility": "Verifica l'elibilità...", - "checkout": "Checkout", + "checkout": "Pagamento", "choose.a.wallet.to.proceed": "Scegli un portafoglio per procedere", "choose.app.theme.color.for.each.mode ": "Scegli il colore del tema dell'app per ogni modalità", "choose.collections.to.show": "Scegli le collezioni da mostrare nel tuo marketplace", @@ -263,6 +263,7 @@ "clear": "Pulisci", "clear.all": "Cancella tutto", "clear.filters": "Cancella i filtri per visualizzare gli NFT", + "clear.filters.button": "Cancella filtri", "clear.filters.to.see.nft.drops": "Cancella i filtri per visualizzare i drop di NFT", "clear.transactions": "Cancella transazioni", "click.on.nft.to.manage.and.set.claim.conditions.": "Clicca sugli NFT per iniziare a gestire e impostare condizioni di richiesta.", @@ -566,14 +567,14 @@ "error.updating.app.leaderboard": "Errore durante l'aggiornamento della classifica dell'app", "error.while.burning": "Errore durante la combustione", "error.while.deploying.contract": "Errore durante il rilascio del contratto", - "error.while.generating.images": "Error while generating images", + "error.while.generating.images": "Errore durante la generazione delle immagini", "error.while.importing.nft": "Errore durante l'importazione di NFT: {error}", "error.while.minting": "Errore durante la coniazione", "error.while.switching.network": "Errore durante il cambio di rete", - "error.while.tranfer": "Error while transfer", + "error.while.tranfer": "Errore durante il trasferimento", "error.while.transferring": "Errore durante il trasferimento", "events": "Eventi", - "ex.an.image.of.a.cat": "ex. An image of a cat", + "ex.an.image.of.a.cat": "es. Un'immagine di un gatto", "exchange": "Scambio", "exchange.app.builder": "Costruttore di App Exchange", "execute": "Esegui", @@ -600,7 +601,7 @@ "favicon.helper.explainer": "Piccola icona che rappresenta un sito web e viene visualizzata nella scheda del browser", "favorite": "Preferito", "favorites": "Preferiti", - "feature": "Feature", + "feature": "Caratteristica", "featured": "In primo piano", "featured.token.in.your.app": "Token in primo piano nella tua app", "fee": "Tasse", @@ -621,7 +622,7 @@ "filter.by.data": "Filtra per data", "filters": "Filtri", "finish": "Fine", - "fix.spelling.and.grammar": "Fix spelling and grammar", + "fix.spelling.and.grammar": "Correggi errori di ortografia e grammatica", "floor.price": "Prezzo minimo", "font": "Carattere", "footer.menu": "Menu a piè di pagina", @@ -646,19 +647,19 @@ "general": "Generale", "general.information": "Informazioni generali", "general.information.description": "Inserisci i dettagli generali della tua app", - "generate": "Generate", - "generate.image": "Generate image", - "generate.new.text": "Generate new text", - "generate.variant": "Generate variant", - "generate.variants": "Generate Variants", - "generating": "Generating", + "generate": "Genera", + "generate.image": "Genera immagine", + "generate.new.text": "Genera nuovo testo", + "generate.variant": "Genera variante", + "generate.variants": "Genera Varianti", + "generating": "Generazione", "generating.image": "Generazione dell'immagine in corso...", - "generating.variants": "Generating Variants", + "generating.variants": "Generazione Varianti", "generic": "Generico", "google.analytics.example.tag": "Esempio di tag: G-LWRHJH7JLF", "google.analytics.tag": "Tag Google analytics", - "height.for.desktop": "Height for desktop", - "height.for.mobile": "Height for mobile", + "height.for.desktop": "Altezza per desktop", + "height.for.mobile": "Altezza per mobile", "height.px": "Altezza (px)", "hidden": "Nascosto", "hide": "Nascondi", @@ -684,15 +685,15 @@ "image": "Immagine", "image.deleted": "Immagine eliminata", "image.url": "URL dell'immagine", - "images.generated": "Images generated", - "images.notGenerated": "You haven't generated any images yet. Start generating images now to make the most out of our service.", + "images.generated": "Immagini generate", + "images.notGenerated": "Non hai ancora generato immagini. Inizia a generare immagini ora per trarre il massimo vantaggio dal nostro servizio.", "import": "Importa", "import.nft": "Importa NFT", "import.or.favorite.nfts": "Importa o favorisci NFT", "import.token": "Importa Token", "import.token.lists": "Importa liste di Token", - "improve.writing": "Improve writing", - "in.milliseconds": "In milliseconds", + "improve.writing": "Migliora la scrittura", + "in.milliseconds": "In millisecondi", "info.about.custom.section": "Invece di utilizzare sezioni predefinite, hai la libertà di creare una sezione personalizzata trascinando e rilasciando blocchi funzionali per progettare il layout ideale.", "info.alert.description.gated.form.modal": "Come proprietario di questa pagina web privata, inserisci le condizioni specifiche che gli utenti devono rispettare per accedere alla tua pagina. Definendo queste condizioni, ti assicuri che solo gli utenti idonei ottengano l'accesso.", "info.alert.title.filter.ranking.points": "Definisci e attribuisci punti a ciascun evento dell'utente per creare una classifica", @@ -710,35 +711,35 @@ "inputs": "Input", "insert.valid.html": "Inserisci HTML valido", "instagram": "Instagram", - "insufficient": "Insufficient {symbol}", - "insufficient.balance": "Insufficient balance", + "insufficient": "Quantità insufficiente {symbol}", + "insufficient.balance": "Saldo insufficiente", "insufficient.funds": "Fondi insufficienti", - "insufficient.symbol": "insufficient {symbol}", - "insufficient.symbol.balance": "Insufficient {symbol} balance", + "insufficient.symbol": "insufficiente {symbol}", + "insufficient.symbol.balance": "Saldo {symbol} insufficiente", "integrations": "Integrazioni", - "interval": "Interval", - "invalid address": "Invalid address", + "interval": "Intervallo", + "invalid address": "Indirizzo non valido", "invalid.address": "Indirizzo non valido", - "invalid.file.column.column.is.missing": "Invalid file: column {column} is missing", + "invalid.file.column.column.is.missing": "File non valido: manca la colonna {column}", "invalid.price": "Prezzo non valido", "is.powered.by": "è alimentato da", "item.type": "Tipo di elemento", "items": "Elementi", - "items.spacing": "Items spacing", + "items.spacing": "Spaziatura degli elementi", "kit.airdrop": "Distribuzione Airdrop KIT", "kit.claim.submitted": "Richiesta di claim KIT inviata", "label": "Etichetta", "language": "Lingua", - "last.price": "Last price", - "last.price.amount": "Last price: {amount}", + "last.price": "Ultimo prezzo", + "last.price.amount": "Ultimo prezzo: {amount}", "last.version.set": "Ultima versione impostata", "layout": "Layout", "leaderboard": "Classifica", "leaderboard.preview": "Anteprima classifica", "least.recent": "Meno recente", - "left": "Left", + "left": "Sinistra", "light": "Luce", - "limit": "Limit", + "limit": "Limite", "link": "Collegamento", "linkedin.company": "Azienda Linkedin", "listing.price": "Prezzo di quotazione", @@ -746,7 +747,7 @@ "listings": "Elenco", "lists": "Elenchi", "loading": "Caricamento", - "loading.quote": "Loading quote...", + "loading.quote": "Caricamento quotazione...", "lock.inputs": "Blocca input", "logged": "Loggato", "login": "Accesso", @@ -767,18 +768,18 @@ "make.an.offer.for.this.nft": "Fai un'offerta per questo NFT", "make.an.offer.instead": "Fai invece un'offerta", "make.at.least.one.form.field.visible.to.see.a.preview": "Rendi visibile almeno un campo del modulo per vedere un'anteprima", - "make.longer": "Make longer", + "make.longer": "Rendi più lungo", "make.offer": "Fai un'offerta", - "make.shorter": "Make shorter", + "make.shorter": "Rendi più corto", "make.token.available.on.the.marketplace": "Rendi il token disponibile sul mercato", "manage": "Gestisci", "manage.contract": "Gestisci Contratto", "manage.networks.for.your.app": "Gestisci reti per la tua app", "markdown": "Markdown", - "market": "Market", + "market": "Mercato", "market.cap": "Capitalizzazione di mercato", - "market.cap.amount": "Market Cap: {amount}", - "market.settings": "Market Settings", + "market.cap.amount": "Capitalizzazione di mercato: {amount}", + "market.settings": "Impostazioni del mercato", "marketplace.domain.added": "Dominio del marketplace aggiunto", "marketplace.fee": "Tassa di transazione", "marketplace.fees": "Spese di transazione", @@ -789,9 +790,9 @@ "marketplace.theme": "Tema del Marketplace", "marketplaces": "Marketplace", "max": "Massimo", - "max.fee": "Max fee", + "max.fee": "Commissione massima", "max.image.size": "Dimensione massima dell'immagine: 1 Mb", - "max.priority.fee": "Max priority fee", + "max.priority.fee": "Commissione massima prioritaria", "max.quantity": "Quantità massima", "max.slippage.is.value.percent": "Max slippage is 50 percent", "max.supply": "Fornitura Massima", @@ -818,7 +819,7 @@ "my.collections": "Le mie Collezioni", "my.contracts": "I miei contratti", "my.nfts": "I miei NFT", - "my.orders": "My Orders", + "my.orders": "I miei ordini", "my.wallet": "Il mio Portafoglio", "name": "Nome", "name.of.your.app": "Nome della tua app", @@ -869,15 +870,15 @@ "no.app.versions": "Versioni app non disponibili", "no.apps": "Nessuna App", "no.available.offers": "Offerte non disponibili", - "no.coins": "No coins", - "no.coins.found": "No coins found", + "no.coins": "Nessuna moneta", + "no.coins.found": "Nessuna moneta trovata", "no.collections": "Collezioni non disponibili", "no.contracts.found": "Nessun contratto trovato", - "no.credits": "No Credits", + "no.credits": "Nessun credito", "no.description": "no description", "no.forms.yet": "Ancora nessun modulo disponibile", "no.hidden.nfts.found": "Nessun NFT nascosto trovato", - "no.images": "No Images", + "no.images": "Nessuna immagine", "no.images.found.with.that.name": "Nessuna immagine trovata con questo nome.", "no.listings.yet": "Nessuna offerta", "no.networks": "Nessuna rete", @@ -890,9 +891,9 @@ "no.results": "Nessun risultato", "no.selected.networks": "Nessuna rete selezionata", "no.team.members": "Nessun membro del team", - "no.templates.found.for.this.usecase": "No templates found for this usecase", + "no.templates.found.for.this.usecase": "Nessun modello trovato per questo caso d'uso", "no.tokens": "Nessun token", - "no.usage": "No usage", + "no.usage": "Nessun utilizzo", "no.user.with.this.name": "Nessun utente con questo nome", "no.wallet.connected": "Nessun portafoglio connesso", "nonce": "Nonce", @@ -971,14 +972,14 @@ "paper.color": "Colore della Carta", "paste": "Incolla", "pay.amount.symbol": "Pay {amount} {tokenSymbol}", - "payment.confirmation.message": "Please wait for 10 confirmations for payment recognition.", + "payment.confirmation.message": "Attendere 10 conferme per il riconoscimento del pagamento.", "payment.confirmed": "Payment expired", "payment.method": "Payment method", - "payment.pending": "Payment Pending", + "payment.pending": "Pagamento in sospeso", "payments": "Payments", "per.wallet": "per portafoglio", "phases": "Fasi", - "place.order": "Place Order", + "place.order": "Effettua ordine", "plan.details": "Plan details", "please.confirm.the.transaction.in.your.wallet.and.wait.for.confirmation": "Per favore, conferma la transazione nel tuo portafoglio e attendi la conferma", "please.connect.your.wallet": "Per favore, connetti il tuo portafoglio per vedere gli ordini", @@ -989,7 +990,7 @@ "please.sign.the.settings.with.your.wallet": "Per favore, firma le impostazioni con il tuo portafoglio", "please.switch.to.networks": "Please, switch to {networks}", "please.try.again.later": "Per favore, riprova più tardi", - "please.use.wrapped.version.of.native.token": "Please use wrapped version of native token", + "please.use.wrapped.version.of.native.token": "Utilizzare la versione wrapped del token nativo", "please.wait.for.the.block.confirmation": "Aspetta la conferma del blocco", "points": "Punti", "post.offers": "Pubblica offerte", @@ -1056,7 +1057,7 @@ "request.sent.successfully": "Request sent successfully", "required.field": "campo obbligatorio", "reset": "Reimpostare", - "review.order": "Review Order", + "review.order": "Rivedi ordine", "reward.per.time.unit": "Ricompensa per unità di tempo", "reward.per.unit.time": "Ricompensa per unità di tempo", "reward.ratio": "Rapporto di ricompensa", @@ -1097,7 +1098,7 @@ "search.token.out": "Cerca token out", "searchbar": "Barra di ricerca", "secondary.color": "Colore secondario", - "section.addItemsPrompt": "Please add items to the section below.", + "section.addItemsPrompt": "Aggiungere elementi alla sezione sottostante.", "section.editor": "Editor di sezione", "section.type": "Tipo di sezione", "see.all": "Visualizza tutto", @@ -1229,10 +1230,10 @@ "switch.network": "Cambia rete", "switch.network.content.text": "Si prega di cambiare alla rete {chainName} nel tuo portafoglio per continuare", "switch.to.network": "Cambia alla rete {network}", - "switch.to.network.network": "Switch to {network} network", - "switch.to.network.value": "Switch to {networkName} network", + "switch.to.network.network": "Passa alla rete {network}", + "switch.to.network.value": "Passa alla rete {networkName}", "switch.wallet": "Cambia portafoglio", - "switch.wallet.network": "Switch wallet to {networkName}", + "switch.wallet.network": "Passa il portafoglio a {networkName}", "switch.your.wallet.to.another.account.and.click.connect.account": "Cambia il tuo portafoglio ad un altro account e clicca su collega account", "symbol": "Simbolo", "team": "Squadra", @@ -1242,9 +1243,9 @@ "text.color": "Colore testo", "text.field": "Campo di testo", "the.amount.cannot.be.zero": "L'importo non può essere zero", - "the.base.token.is.required.on.chain": "The quote token is required on {chainName}", + "the.base.token.is.required.on.chain": "Il token di quotazione è richiesto su {chainName}", "the.buyer.will.pay.percentage.in.fees": "Il compratore pagherà {price} {symbol} +{percentage} in commissioni", - "the.max.fee.is.ten.percent": "The max fee is 10%", + "the.max.fee.is.ten.percent": "La commissione massima è del 10%", "the.maximum.is.95": "the maximum is 95", "the.minimum.is.five": "the minimum is 5", "the.nft.has.no.metadata": "L'NFT non ha metadati", @@ -1425,33 +1426,33 @@ "wrap": "Wrap", "write": "Scrivi", "you": "tu", - "you.are.buying": "You are buying", + "you.are.buying": "Stai acquistando", "you.are.cloning": "Stai clonando il sito: {site}. Controllalo in diretta qui", "you.are.cloning.page.message": "Stai clonando la pagina {page}", "you.are.not.eligible.to.mint.at.this.time": "Attualmente non hai diritto di coniare in questo momento.", "you.are.not.eligible.to.mint.quantity.tokens": "Non hai il diritto di coniare {quantity} token.", "you.are.not.eligible.to.mint.tokens.quantity.value": "Non hai il diritto di coniare {quantity} token.", - "you.are.not.the.owner.of.this.NFT": "You are not the owner of this NFT", + "you.are.not.the.owner.of.this.NFT": "Non sei il proprietario di questo NFT", "you.are.on.a.network.different.of.the.contract": "Sei in una rete diversa dal contratto", "you.are.paying.percentage.in.fees": "Stai pagando {price} {symbol} + {percentage} in commissioni", - "you.are.selling": "You are selling", + "you.are.selling": "Stai vendendo", "you.are.using.a.airdrop.claimable.contract": "Stai utilizzando un contratto di distribuzione gratuita di token", "you.are.using.a.stake.contract": "Stai utilizzando un contratto di stake", "you.can.deploy.contracts.fromo.our.list.and.from.the.community.in.the.future": "Puoi rilasciare contratti dalla nostra lista e dalla community in futuro", - "you.cant.use.the.connected.account.to.burn": "You can't use the connected account to burn", - "you.cant.use.the.connected.account.to.transfer": "You can't use the connected to transfer", + "you.cant.use.the.connected.account.to.burn": "Non puoi usare l'account connesso per bruciare", + "you.cant.use.the.connected.account.to.transfer": "Non puoi usare l'account connesso per trasferire", "you.do.not.have.enough.balance.for.your.airdrop": "Non hai abbastanza balance per il tuo Airdrop", "you.dont.have.any.forms": "Non hai ancora creato nessun modulo", "you.dont.have.any.leaderboards": "Non hai ancora creato nessuna classifica", "you.dont.have.enough.currency.to.mint": "Non hai abbastanza valuta per coniare.", "you.have.changes.unsaved.do.you.want.to.proceed.without.saving": "Hai delle modifiche non salvate, vuoi procedere senza salvare?", "you.need.at.least.one.network.selected": "Hai bisogno di selezionare almeno una rete", - "you.need.to.add.credits.to.use.ai.features": "You need to add credits to use AI features", + "you.need.to.add.credits.to.use.ai.features": "Devi aggiungere crediti per usare le funzionalità IA", "you.need.to.add.or.import.tokens.so.users.can.make.trades": "Hai bisogno di aggiungere o importare i token in modo che gli utenti possano effettuare scambi", "you.need.to.approve.tokens.for.airdrop": "Hai bisogno di approvare i token per l'airdrop", "you.need.to.hold.kit.value": "Hai bisogno di avere {value} KIT su una di queste reti: BSC, ETH, o Polygon per utilizzare questa funzione", "you.own": "Sei in possesso di", - "you.own.nfts": "You own {balance} NFTs", + "you.own.nfts": "Possiedi {balance} NFTs", "you.pay": "Paghi", "you.receive": "Ricevi", "you.selected.more.than.amoount": "Hai selezionato {amount} token. Il limite è {tokenLimit}", diff --git a/apps/dexappbuilder/compiled-lang/nn-NO.json b/apps/dexappbuilder/compiled-lang/nn-NO.json index 267414571..437005ae6 100644 --- a/apps/dexappbuilder/compiled-lang/nn-NO.json +++ b/apps/dexappbuilder/compiled-lang/nn-NO.json @@ -109,7 +109,7 @@ "ai.assistant": "AI-assistent", "ai.completation": "AI fullføring", "ai.edit": "AI Redigering", - "ai.generator": "AI Generator", + "ai.generator": "AI-generator", "ai.image.generator": "AI Bildegenerator", "airdrop": "Luftslipp", "airdrop.claim.token.seo.title.message": "Airdrop av {tokenSymbol} på {network}", @@ -253,6 +253,7 @@ "clear": "Tøm", "clear.all": "Tøm alle", "clear.filters": "Fjern filtrene for å se nft'ene", + "clear.filters.button": "Fjern filtre", "clear.filters.to.see.nft.drops": "Fjern filtrene for å se nft-dukkene", "click.on.nft.to.manage.and.set.claim.conditions.": "Klikk på NFT-ar for å starte å handtere og setje krav tilstandar.", "clone": "Kopier", @@ -509,7 +510,7 @@ "edit.user.profile": "Rediger brukerprofil: {username}", "edit.version": "Rediger versjon", "editing.nft": "Redigerer NFT-metadata", - "editing.site.metadata": "Editing site metadata", + "editing.site.metadata": "Redigerer nettstedsdata", "email": "E-post", "email.to.receive.notifications": "E-post for å motta varsler", "email.verified": "E-post bekreftet", @@ -524,7 +525,7 @@ "enable.drop": "Aktiver Darkblock", "enable.fiat": "Aktiver Fiat", "enable.searchbar": "Aktiver søkefelt", - "end": "End", + "end": "Slutt", "enter.amount.to.claim": "Skriv inn beløp som skal kreves", "error": "Feil", "error.404": "Feil 404", @@ -539,14 +540,14 @@ "error.updating.app.leaderboard": "Feil ved oppdatering av app-leaderboard", "error.while.burning": "Feil ved brenning", "error.while.deploying.contract": "Feil ved distribusjon av kontrakt", - "error.while.generating.images": "Error while generating images", + "error.while.generating.images": "Feil under generering av bilder", "error.while.importing.nft": "Feil mens NFT-importeres: {error}", "error.while.minting": "Feil ved prøvemynting", "error.while.switching.network": "Feil ved bytte av nettverk", - "error.while.tranfer": "Error while transfer", + "error.while.tranfer": "Feil under overføring", "error.while.transferring": "Feil ved overføring", "events": "Arrangementer", - "ex.an.image.of.a.cat": "ex. An image of a cat", + "ex.an.image.of.a.cat": "f.eks. Et bilde av en katt", "exchange": "Børs", "exchange.app.builder": "Bytteapp-bygger", "execute": "Utføre", @@ -573,7 +574,7 @@ "favicon.helper.explainer": "Liten ikon som representerer et nettsted og vises i nettlesertabben", "favorite": "Favoritt", "favorites": "Favoritter", - "feature": "Feature", + "feature": "Funksjon", "featured": "Utvalgt", "fee": "Avgifter", "fee.amount": "Gebyrbeløp", @@ -592,10 +593,10 @@ "filter.by.data": "Filtrer etter dato", "filters": "Filtre", "finish": "Fullfør", - "fix.spelling.and.grammar": "Fix spelling and grammar", + "fix.spelling.and.grammar": "Fiks stavefeil og grammatikk", "floor.price": "Gulvpris", "font": "Skrifttype", - "footer.menu": "Footer", + "footer.menu": "Bunntekst", "footer.wizard.description": "Opprett og rediger appens bunntekstmeny", "forbidden": "Forbudt", "form.created.successfully": "Skjema opprettet vellykket", @@ -610,25 +611,25 @@ "front.image.size": "Fremre bildestørrelse", "function.name": "Funksjonsnavn", "gallery": "Galleri", - "gas.cost": "Gas cost", - "gas.gas": "Gas: {gas} Gwei", - "gas.price": "Gas price", + "gas.cost": "Gasskostnad", + "gas.gas": "Gass: {gas} Gwei", + "gas.price": "Gasspris", "gated.conditions": "Gatede betingelser", "general": "Generelt", "general.information.description": "Oppgi appens generelle detaljer", - "generate": "Generate", - "generate.image": "Generate image", - "generate.new.text": "Generate new text", - "generate.variant": "Generate variant", - "generate.variants": "Generate Variants", - "generating": "Generating", + "generate": "Generer", + "generate.image": "Generer bilde", + "generate.new.text": "Generer ny tekst", + "generate.variant": "Generer variant", + "generate.variants": "Generer varianter", + "generating": "Genererer", "generating.image": "Genererer bilde...", - "generating.variants": "Generating Variants", + "generating.variants": "Genererer varianter", "generic": "Generisk", "google.analytics.example.tag": "Eksempel på tagg: G-LWRHJH7JLF", "google.analytics.tag": "Google Analytics-tag", - "height.for.desktop": "Height for desktop", - "height.for.mobile": "Height for mobile", + "height.for.desktop": "Høyde for skrivebord", + "height.for.mobile": "Høyde for mobil", "height.px": "Høyde (px)", "hidden": "Skjult", "hide": "Skjul", @@ -636,7 +637,7 @@ "hide.collections.on.search": "Skjul samlinger i søk", "hide.drops": "Skjul dropp", "hide.filters": "Skjul filtre", - "hide.form.info": "Hide form info", + "hide.form.info": "Skjul skjemainformasjon", "hide.form.info.tooltip": "Skjul forminformasjon som: kontraktsadresse, beskrivelse og navn fra seksjonen", "hide.header": "Skjul overskrift", "hide.header.form.info": "Skjul header form info", @@ -654,15 +655,15 @@ "image": "Bilde", "image.deleted": "Bilde slettet", "image.url": "Bilde-URL", - "images.generated": "Images generated", - "images.notGenerated": "You haven't generated any images yet. Start generating images now to make the most out of our service.", + "images.generated": "Bilder generert", + "images.notGenerated": "Du har ikke generert noen bilder ennå. Begynn å generere bilder nå for å få mest mulig ut av vår tjeneste.", "import": "Importer", "import.nft": "Importer NFT", "import.or.favorite.nfts": "Importer eller favoritt NFTer", "import.token": "Importer Token", "import.token.lists": "Importer tokenlister", - "improve.writing": "Improve writing", - "in.milliseconds": "In milliseconds", + "improve.writing": "Forbedre skriving", + "in.milliseconds": "I millisekunder", "info.about.custom.section": "I stedet for å bruke forhåndsdefinerte seksjoner, har du friheten til å opprette en personlig seksjon ved å dra og slippe funksjonelle blokker for å designe din ideelle layout.", "info.alert.description.gated.form.modal": "Som eieren av denne private nettsiden, vennligst oppgi de spesifikke vilkårene som brukerne må oppfylle for å få tilgang til siden din. Ved å definere disse vilkårene sikrer du at bare kvalifiserte brukere får tilgang.", "info.alert.title.filter.ranking.points": "Definer og tildel poeng til hvert brukerarrangement for å bygge en rangering", @@ -680,34 +681,34 @@ "inputs": "Inndata", "insert.valid.html": "Sett inn gyldig HTML", "instagram": "Instagram", - "insufficient": "Insufficient {symbol}", - "insufficient.balance": "Insufficient balance", + "insufficient": "Utilstrekkelig {symbol}", + "insufficient.balance": "Utilstrekkelig konto saldo", "insufficient.funds": "Utilstrekkelige midler", - "insufficient.symbol": "insufficient {symbol}", - "insufficient.symbol.balance": "Insufficient {symbol} balance", + "insufficient.symbol": "utilstrekkelig {symbol}", + "insufficient.symbol.balance": "Utilstrekkelig {symbol} saldo", "integrations": "Integrasjoner", - "interval": "Interval", - "invalid address": "Invalid address", + "interval": "Intervall", + "invalid address": "Ugyldig adresse", "invalid.address": "Ugyldig adresse", - "invalid.file.column.column.is.missing": "Invalid file: column {column} is missing", + "invalid.file.column.column.is.missing": "Ugyldig fil: kolonne {column} mangler", "invalid.price": "Ugyldig pris", "item.type": "Elementtype", "items": "Elementer", - "items.spacing": "Items spacing", + "items.spacing": "Avstand mellom elementer", "kit.airdrop": "KIT-luftslipp", "kit.claim.submitted": "KIT-krav sendt inn", "label": "Etikett", "language": "Språk", - "last.price": "Last price", - "last.price.amount": "Last price: {amount}", + "last.price": "Siste pris", + "last.price.amount": "Siste pris: {amount}", "last.version.set": "Siste versjon satt", "layout": "Utforming", "leaderboard": "Ledertavle", "leaderboard.preview": "Forhåndsvisning av ledertavlen", "least.recent": "Minst nylig", - "left": "Left", + "left": "Venstre", "light": "Lys", - "limit": "Limit", + "limit": "Begrensning", "link": "Lenkje", "linkedin.company": "Linkedin-firma", "listing.price": "Oppføringspris", @@ -715,7 +716,7 @@ "listings": "Oppføringer", "lists": "Lister", "loading": "Laster", - "loading.quote": "Loading quote...", + "loading.quote": "Laster sitat...", "lock.inputs": "Lås inndata", "logged": "Logget", "login": "Logg på", @@ -730,7 +731,7 @@ "logout.wallet": "Logg ut lommeboken", "made.with.love.by": "Laget med ❤️ av", "make.at.least.one.form.field.visible.to.see.a.preview": "Gjør minst én skjemafelt synlig for å se en forhåndsvisning", - "make.longer": "Make longer", + "make.longer": "Gjør lengre", "make.offer": "Gjør tilbud", "make.shorter": "Make shorter", "make.token.available.on.the.marketplace": "Gjør token tilgjengelig på markedsplassen", diff --git a/apps/dexappbuilder/compiled-lang/pt-BR.json b/apps/dexappbuilder/compiled-lang/pt-BR.json index 70ecd8c28..ae8dd4db0 100644 --- a/apps/dexappbuilder/compiled-lang/pt-BR.json +++ b/apps/dexappbuilder/compiled-lang/pt-BR.json @@ -264,6 +264,7 @@ "clear": "Limpar", "clear.all": "Limpar tudo", "clear.filters": "Limpar filtros para ver os NFTs", + "clear.filters.button": "Limpar filtros", "clear.filters.to.see.nft.drops": "Limpar filtros para ver as cairdas de NFT", "clear.transactions": "Limpar transações", "click.on.nft.to.manage.and.set.claim.conditions.": "Clique em NFTs para começar a gerenciar e definir condições de reivindicação.", @@ -530,7 +531,7 @@ "edit.nft.metadata": "Editar metadados do NFT", "edit.page.sections": "Editar seções da página", "edit.profile": "Editar perfil", - "edit.section": "Edit Section", + "edit.section": "Editar seção", "edit.social": "Editar social", "edit.social.description": "Adicionar mídia social relacionada ao seu aplicativo", "edit.swap.fees": "Editar taxas de troca", @@ -575,7 +576,7 @@ "error.while.tranfer": "Erro durante a transferência", "error.while.transferring": "Erro ao transferir", "events": "Eventos", - "ex.an.image.of.a.cat": "ex. An image of a cat", + "ex.an.image.of.a.cat": "ex. Uma imagem de um gato", "exchange": "Troca", "exchange.app.builder": "Criador de Aplicativo de Troca", "execute": "Executar", @@ -603,7 +604,7 @@ "favicon.url": "Favicon URL", "favorite": "Favorito", "favorites": "Favoritos", - "feature": "Feature", + "feature": "Recurso", "featured": "Destaque", "featured.token.in.your.app": "Tokens em destaque no seu aplicativo", "fee": "Taxas", @@ -624,7 +625,7 @@ "filter.by.data": "Filtrar por data", "filters": "Filtros", "finish": "Concluir", - "fix.spelling.and.grammar": "Fix spelling and grammar", + "fix.spelling.and.grammar": "Corrigir ortografia e gramática", "floor.price": "Preço mínimo", "font": "Fonte", "footer.menu": "Menu de rodapé", @@ -649,19 +650,19 @@ "general": "Geral", "general.information": "Informações gerais", "general.information.description": "Insira os detalhes gerais do seu aplicativo", - "generate": "Generate", - "generate.image": "Generate image", - "generate.new.text": "Generate new text", - "generate.variant": "Generate variant", - "generate.variants": "Generate Variants", - "generating": "Generating", + "generate": "Gerar", + "generate.image": "Gerar imagem", + "generate.new.text": "Gerar novo texto", + "generate.variant": "Gerar variante", + "generate.variants": "Gerar variantes", + "generating": "Gerando", "generating.image": "Gerando Imagem...", - "generating.variants": "Generating Variants", + "generating.variants": "Gerando Variantes", "generic": "Genérico", "google.analytics.example.tag": "Exemplo de tag: G-LWRHJH7JLF", "google.analytics.tag": "Tag do Google Analytics", - "height.for.desktop": "Height for desktop", - "height.for.mobile": "Height for mobile", + "height.for.desktop": "Altura para desktop", + "height.for.mobile": "Altura para dispositivo móvel", "height.px": "Altura (px)", "hidden": "Oculto", "hide": "Ocultar", @@ -688,15 +689,15 @@ "image": "Imagem", "image.deleted": "Imagem excluída", "image.url": "Image URL", - "images.generated": "Images generated", - "images.notGenerated": "You haven't generated any images yet. Start generating images now to make the most out of our service.", + "images.generated": "Imagens geradas", + "images.notGenerated": "Você ainda não gerou nenhuma imagem. Comece a gerar imagens agora para aproveitar ao máximo nosso serviço.", "import": "Importar", "import.nft": "Importar NFT", "import.or.favorite.nfts": "Importar ou favoritar NFTs", "import.token": "Importar token", "import.token.lists": "Importar listas de tokens", - "improve.writing": "Improve writing", - "in.milliseconds": "In milliseconds", + "improve.writing": "Melhorar escrita", + "in.milliseconds": "Em milissegundos", "info.about.custom.section": "Em vez de usar seções predefinidas, você tem a liberdade de criar uma seção personalizada arrastando e soltando blocos funcionais para projetar seu layout ideal.", "info.alert.description.gated.form.modal": "Como proprietário desta página da web privada, insira as condições específicas que os usuários devem cumprir para acessar sua página. Ao definir essas condições, você garante que apenas usuários elegíveis tenham acesso.", "info.alert.title.filter.ranking.points": "Defina e atribua pontos a cada evento do usuário para construir uma classificação", @@ -716,34 +717,34 @@ "insert.valid.html": "Insira HTML válido", "instagram": "Instagram", "insufficient": "Insuficiente {symbol}", - "insufficient.balance": "Insufficient balance", + "insufficient.balance": "Saldo insuficiente", "insufficient.funds": "Fundos insuficientes", - "insufficient.symbol": "insufficient {symbol}", - "insufficient.symbol.balance": "Insufficient {symbol} balance", + "insufficient.symbol": "saldo {symbol} insuficiente", + "insufficient.symbol.balance": "Saldo {symbol} insuficiente", "integrations": "Integrações", - "interval": "Interval", - "invalid address": "Invalid address", + "interval": "Intervalo", + "invalid address": "Endereço inválido", "invalid.address": "Endereço inválido", - "invalid.file.column.column.is.missing": "Invalid file: column {column} is missing", + "invalid.file.column.column.is.missing": "Arquivo inválido: a coluna {column} está faltando", "invalid.price": "Preço inválido", "is.powered.by": "é desenvolvido por", "item.type": "Tipo de Item", "items": "Itens", - "items.spacing": "Items spacing", + "items.spacing": "Espaçamento dos Itens", "kit.airdrop": "KIT Distribuição Aérea", "kit.claim.submitted": "Solicitação de reivindicação de KIT enviada", "label": "Rótulo", "language": "Idioma", - "last.price": "Last price", - "last.price.amount": "Last price: {amount}", + "last.price": "Último preço", + "last.price.amount": "Último preço: {amount}", "last.version.set": "Última versão definida", "layout": "Layout", "leaderboard": "Tabela de Classificação", "leaderboard.preview": "Prévia da Tabela de Classificação", "least.recent": "Menos recente", - "left": "Left", + "left": "Esquerda", "light": "Leve", - "limit": "Limit", + "limit": "Limite", "link": "Link", "linkedin.company": "Empresa do Linkedin", "listing.price": "Preço de listagem", @@ -751,7 +752,7 @@ "listings": "Listagens", "lists": "Listas", "loading": "Carregando", - "loading.quote": "Loading quote...", + "loading.quote": "Carregando cotação...", "lock.inputs": "Bloquear entradas", "logged": "Registrado", "login": "Entrar", @@ -771,18 +772,18 @@ "logout.wallet": "Carteira desconectada", "made.with.love.by": "feito com ❤️ por", "make.at.least.one.form.field.visible.to.see.a.preview": "Faça pelo menos um campo de formulário visível para ver uma prévia", - "make.longer": "Make longer", + "make.longer": "Alongar", "make.offer": "Fazer oferta", - "make.shorter": "Make shorter", + "make.shorter": "Encurtar", "make.token.available.on.the.marketplace": "Disponibilizar token no marketplace", "manage": "Gerenciar", "manage.contract": "Gerenciar Contrato", "manage.networks.for.your.app": "Gerenciar redes para seu aplicativo", "markdown": "Markdown", - "market": "Market", + "market": "Mercado", "market.cap": "Capitalização de mercado", - "market.cap.amount": "Market Cap: {amount}", - "market.settings": "Market Settings", + "market.cap.amount": "Capitalização de Mercado: {amount}", + "market.settings": "Configurações do Mercado", "marketplace.domain.added": "Domínio do marketplace adicionado", "marketplace.fee": "Taxa do marketplace", "marketplace.fees": "Taxas do marketplace", @@ -793,11 +794,11 @@ "marketplace.theme": "Tema do Marketplace", "marketplaces": "Mercados", "max": "Máx.", - "max.fee": "Max fee", + "max.fee": "Taxa máxima", "max.image.size": "Tamanho máximo da imagem: 1 Mb", - "max.priority.fee": "Max priority fee", + "max.priority.fee": "Taxa de prioridade máxima", "max.quantity": "Quantidade máxima", - "max.slippage.is.value.percent": "Max slippage is 50 percent", + "max.slippage.is.value.percent": "A variação máxima é de 50 por cento", "max.supply": "Oferta máxima", "member": "Membro", "member.added": "Membro adicionado", @@ -805,16 +806,16 @@ "member.permissions.updated": "Permissões do membro atualizadas", "member.removed": "Membro removido", "menu": "Menu", - "message.you.are.signing": "Message you are signing", + "message.you.are.signing": "Mensagem que você está assinando", "metadata": "Metadados", "mint": "Mint", "mint.free": "Cunhar (Gratuitamente)", "mint.nft": "Cunhar NFT", "mint.price.value": "Cunhar ({priceToMint})", "mint.priceToMint": "Cunhar {priceToMint}", - "mint.token.value": "Mint token \"{tokenName}\"", + "mint.token.value": "Criar token \"{tokenName}\"", "mismatch.account.admin.view": "Você está conectado à conta {account} mas logado como {loggedAccount}. Se deseja ver os aplicativos associados à conta conectada atualmente, clique em", - "more": "More", + "more": "Mais", "most.recent": "Mais recente", "move.section.down": "Mover seção para baixo", "move.section.up": "Mover seção para cima", @@ -822,17 +823,17 @@ "my.collections": "Minhas Coleções", "my.contracts": "Meus contratos", "my.nfts": "Meus NFTs", - "my.orders": "My Orders", + "my.orders": "Meus Pedidos", "my.wallet": "Minha carteira", "name": "Nome", "name.of.your.app": "Nome do seu aplicativo", "name.of.your.marketplace": "Nome do seu marketplace", - "native.coins.are.not.supported.on.limit.orders": "Native coins are not supported on limited orders", + "native.coins.are.not.supported.on.limit.orders": "Moedas nativas não são suportadas em pedidos limitados", "navbar": "Barra de navegação", "navbar.wizard.description": "Organize a barra de navegação do seu aplicativo. Você pode editar os menus e a barra de pesquisa", "network": "Rede", "network.info": "Informações da rede", - "network.not.supported.msg": "Network not supported. Please change to a supported network: {networks}", + "network.not.supported.msg": "Rede não suportada. Por favor, mude para uma rede suportada: {networks}", "network.swap.options.info": "Escolha os tokens padrão e o slippage para cada rede.", "network.switched": "Rede alterada", "network.value": "{network}", @@ -873,15 +874,15 @@ "no.app.versions": "Nenhuma versão de aplicativo", "no.apps": "Sem Aplicativos", "no.available.offers": "Nenhuma oferta disponível", - "no.coins": "No coins", - "no.coins.found": "No coins found", + "no.coins": "Nenhuma moeda", + "no.coins.found": "Nenhuma moeda encontrada", "no.collections": "Nenhuma coleção", "no.contracts.found": "Nenhum contrato encontrado", - "no.credits": "No Credits", + "no.credits": "Nenhum crédito", "no.description": "no description", "no.forms.yet": "Sem formulários ainda", "no.hidden.nfts.found": "Nenhum NFT oculto encontrado", - "no.images": "No Images", + "no.images": "Nenhuma imagem", "no.images.found.with.that.name": "Nenhuma imagem encontrada com esse nome", "no.listings.yet": "Nenhuma listagem ainda", "no.networks": "Nenhuma rede", @@ -894,9 +895,9 @@ "no.results": "Sem resultados", "no.selected.networks": "Nenhuma rede selecionada", "no.team.members": "Nenhum membro da equipe", - "no.templates.found.for.this.usecase": "No templates found for this usecase", + "no.templates.found.for.this.usecase": "Nenhum modelo encontrado para este caso de uso", "no.tokens": "Nenhum Token", - "no.usage": "No usage", + "no.usage": "Nenhum uso", "no.user.with.this.name": "Nenhum usuário com esse nome", "no.wallet.connected": "Nenhuma carteira conectada", "nonce": "Nonce", @@ -975,14 +976,14 @@ "paper.color": "Cor de Papel", "paste": "Colar", "pay.amount.symbol": "Pay {amount} {tokenSymbol}", - "payment.confirmation.message": "Please wait for 10 confirmations for payment recognition.", + "payment.confirmation.message": "Aguarde 10 confirmações para o reconhecimento do pagamento.", "payment.confirmed": "Payment expired", "payment.method": "Payment method", - "payment.pending": "Payment Pending", + "payment.pending": "Pagamento pendente", "payments": "Payments", "per.wallet": "por carteira", "phases": "Fases", - "place.order": "Place Order", + "place.order": "Fazer pedido", "plan.details": "Plan details", "please.confirm.the.transaction.in.your.wallet.and.wait.for.confirmation": "Por favor, confirme a transação em sua carteira e aguarde a confirmação", "please.connect.your.wallet": "Por favor, conecte sua carteira para ver as ordens", @@ -993,7 +994,7 @@ "please.sign.the.settings.with.your.wallet": "Por favor, assine as configurações com sua carteira", "please.switch.to.networks": "Please, switch to {networks}", "please.try.again.later": "Por favor, tente novamente mais tarde", - "please.use.wrapped.version.of.native.token": "Please use wrapped version of native token", + "please.use.wrapped.version.of.native.token": "Use a versão wrapped do token nativo", "please.wait.for.the.block.confirmation": "Aguarde a confirmação do bloco", "points": "Pontos", "post.offers": "Publicar ofertas", @@ -1060,7 +1061,7 @@ "request.sent.successfully": "Request sent successfully", "required.field": "campo obrigatório", "reset": "Redefinir", - "review.order": "Review Order", + "review.order": "Revisar pedido", "reward.per.time.unit": "Recompensa por unidade de tempo", "reward.per.unit.time": "Recompensa por Unidade de Tempo", "reward.ratio": "Taxa de recompensa", @@ -1101,7 +1102,7 @@ "search.token.out": "Buscar token fora", "searchbar": "Barra de pesquisa", "secondary.color": "Cor secundária", - "section.addItemsPrompt": "Please add items to the section below.", + "section.addItemsPrompt": "Adicione itens à seção abaixo.", "section.editor": "Editor de seção", "section.type": "Tipo de seção", "see.all": "Ver todos", @@ -1234,10 +1235,10 @@ "switch.network": "Trocar rede", "switch.network.content.text": "Por favor, troque para a rede {chainName} para criar listagens ou ofertas para este ativo", "switch.to.network": "Trocar para a rede {network}", - "switch.to.network.network": "Switch to {network} network", - "switch.to.network.value": "Switch to {networkName} network", + "switch.to.network.network": "Mudar para a rede {network}", + "switch.to.network.value": "Mudar para a rede {networkName}", "switch.wallet": "Trocar carteira", - "switch.wallet.network": "Switch wallet to {networkName}", + "switch.wallet.network": "Mudar carteira para {networkName}", "switch.your.wallet.to.another.account.and.click.connect.account": "Troque sua carteira para outra conta e clique em conectar conta", "symbol": "Símbolo", "team": "Equipe", @@ -1247,9 +1248,9 @@ "text.color": "Cor do texto", "text.field": "Campo de texto", "the.amount.cannot.be.zero": "A quantidade não pode ser zero", - "the.base.token.is.required.on.chain": "The quote token is required on {chainName}", + "the.base.token.is.required.on.chain": "O token de cotação é necessário em {chainName}", "the.buyer.will.pay.percentage.in.fees": "O comprador irá pagar {price} {symbol} +{percentage} em taxas", - "the.max.fee.is.ten.percent": "The max fee is 10%", + "the.max.fee.is.ten.percent": "A taxa máxima é de 10%", "the.maximum.is.95": "the maximum is 95", "the.minimum.is.five": "the minimum is 5", "the.nft.has.no.metadata": "O NFT não tem metadados", @@ -1430,33 +1431,33 @@ "wrap": "Wrap", "write": "Escrever", "you": "Você", - "you.are.buying": "You are buying", + "you.are.buying": "Você está comprando", "you.are.cloning": "Você está clonando o site: {site}. Verifique ao vivo aqui", "you.are.cloning.page.message": "Você está clonando a página {page}", "you.are.not.eligible.to.mint.at.this.time": "Você não está elegível para criar neste momento.", "you.are.not.eligible.to.mint.quantity.tokens": "Você não está elegível para criar {quantity} tokens.", "you.are.not.eligible.to.mint.tokens.quantity.value": "Você não está elegível para criar {quantity} tokens.", - "you.are.not.the.owner.of.this.NFT": "You are not the owner of this NFT", + "you.are.not.the.owner.of.this.NFT": "Você não é o proprietário deste NFT", "you.are.on.a.network.different.of.the.contract": "Você está em uma rede diferente do contrato", "you.are.paying.percentage.in.fees": "Você está pagando {price} {symbol} + {percentage} em taxas", - "you.are.selling": "You are selling", + "you.are.selling": "Você está vendendo", "you.are.using.a.airdrop.claimable.contract": "Você está usando um contrato de airdrop reivindicável", "you.are.using.a.stake.contract": "Você está usando um contrato de estaca", "you.can.deploy.contracts.fromo.our.list.and.from.the.community.in.the.future": "Você pode implantar contratos de nossa lista e da comunidade no futuro", - "you.cant.use.the.connected.account.to.burn": "You can't use the connected account to burn", - "you.cant.use.the.connected.account.to.transfer": "You can't use the connected to transfer", + "you.cant.use.the.connected.account.to.burn": "Você não pode usar a conta conectada para queimar", + "you.cant.use.the.connected.account.to.transfer": "Você não pode usar a conta conectada para transferir", "you.do.not.have.enough.balance.for.your.airdrop": "Você não tem saldo suficiente para o seu Airdrop", "you.dont.have.any.forms": "Você ainda não possui formulários", "you.dont.have.any.leaderboards": "Você ainda não possui classificações", "you.dont.have.enough.currency.to.mint": "Você não possui moeda suficiente para criar.", "you.have.changes.unsaved.do.you.want.to.proceed.without.saving": "Você tem alterações não salvas, deseja prosseguir sem salvar?", "you.need.at.least.one.network.selected": "Você precisa selecionar pelo menos uma rede", - "you.need.to.add.credits.to.use.ai.features": "You need to add credits to use AI features", + "you.need.to.add.credits.to.use.ai.features": "Você precisa adicionar créditos para usar recursos de IA", "you.need.to.add.or.import.tokens.so.users.can.make.trades": "Você precisa adicionar ou importar tokens para que os usuários possam fazer negociações", "you.need.to.approve.tokens.for.airdrop": "Você precisa aprovar tokens para a distribuição aérea", "you.need.to.hold.kit.value": "Você precisa possuir {value} KIT em uma dessas redes: BSC, ETH ou Polygon para usar esse recurso", "you.own": "Você possui", - "you.own.nfts": "You own {balance} NFTs", + "you.own.nfts": "Você possui {balance} NFTs", "you.pay": "Você paga", "you.receive": "Você recebe", "you.selected.more.than.amoount": "Você selecionou {amount} tokens. O limite é {tokenLimit}", diff --git a/apps/dexappbuilder/config/app.json b/apps/dexappbuilder/config/app.json index c80697542..dfac756a3 100644 --- a/apps/dexappbuilder/config/app.json +++ b/apps/dexappbuilder/config/app.json @@ -559,10 +559,16 @@ { "type": "showcase", "settings": { + "layout": "carousel", "alignItems": "center", "itemsSpacing": 2, "paddingTop": 0, "paddingBottom": 0, + "columns": { + "desktop": 2, + "tablet": 2, + "mobile": 1 + }, "items": [ { "type": "image", diff --git a/apps/dexappbuilder/global.d.ts b/apps/dexappbuilder/global.d.ts new file mode 100644 index 000000000..57f623590 --- /dev/null +++ b/apps/dexappbuilder/global.d.ts @@ -0,0 +1,76 @@ +// Global type declarations to fix build issues with Next 15 and React 19 + +declare module 'json-stable-stringify' { + export interface Options { + cmp?: (a: any, b: any) => number; + space?: string | number; + replacer?: (key: string, value: any) => any; + } + + function stringify(value: any, options?: Options): string; + export = stringify; +} + +declare module 'minimatch' { + interface IMinimatch { + pattern: string; + set: string[][]; + regexp: RegExp | null; + negate: boolean; + comment: boolean; + empty: boolean; + match(s: string): boolean; + makeRe(): RegExp | false; + } + + interface IOptions { + nobrace?: boolean; + nocomment?: boolean; + nonegate?: boolean; + debug?: boolean; + noglobstar?: boolean; + noext?: boolean; + nocase?: boolean; + nonull?: boolean; + matchBase?: boolean; + flipNegate?: boolean; + } + + function minimatch(target: string, pattern: string, options?: IOptions): boolean; + namespace minimatch { + function filter(pattern: string, options?: IOptions): (target: string) => boolean; + function match(list: string[], pattern: string, options?: IOptions): string[]; + function makeRe(pattern: string, options?: IOptions): RegExp | false; + var Minimatch: new (pattern: string, options?: IOptions) => IMinimatch; + } + export = minimatch; +} + +declare module 'react' { + function findDOMNode(instance: any): Element | null; +} + +declare module 'next/document' { + interface DocumentProps { + emotionStyleTags?: React.ReactElement[]; + } +} + +declare module 'next/script' { + interface ScriptProps { + src?: string; + strategy?: 'afterInteractive' | 'beforeInteractive' | 'lazyOnload'; + } +} + +declare module 'next/document' { + interface DocumentProps { + emotionStyleTags?: React.ReactElement[]; + } + + class Document extends React.Component { + static getInitialProps(ctx: any): Promise; + } + + export { Head, Html, Main, NextScript }; +} diff --git a/apps/dexappbuilder/lang/cs-CZ.json b/apps/dexappbuilder/lang/cs-CZ.json index f3bf77ddf..29a84500a 100644 --- a/apps/dexappbuilder/lang/cs-CZ.json +++ b/apps/dexappbuilder/lang/cs-CZ.json @@ -1,1370 +1,1364 @@ { + "description.markdown.helper": { + "defaultMessage": "Můžete použít markdown formátování pro bohaté textové popisy" + }, ".step.theme.info": { - "defaultMessage": "Choose swap app theme and font." + "defaultMessage": "Vyberte motiv aplikace a písmo." }, "0x.api": { - "defaultMessage": "0x API" + "defaultMessage": "API 0x" }, "0x.dashboard": { - "defaultMessage": "0x Dashboard" + "defaultMessage": "Řídicí panel 0x" }, "0x.is.a.decentralized.exchange.protocol.description": { - "defaultMessage": "0x is a decentralized exchange protocol on Ethereum, enabling peer-to-peer trading of various digital assets through open standards and smart contracts. This API key is used for the swap and limit order features." + "defaultMessage": "0x je decentralizovaný protokol na síti Ethereum, který umožňuje peer-to-peer obchodování digitálních aktiv pomocí otevřených standardů a chytrých kontraktů. API klíč se používá pro funkce směnárny a liminálních objednávek." }, "Airdrop": { - "defaultMessage": "Airdrop" + "defaultMessage": "Rozdávání" }, "Airdrop token": { - "defaultMessage": "Airdrop token" + "defaultMessage": "Airdrop tokenu" }, "Airdropped token": { - "defaultMessage": "Airdropped Token" + "defaultMessage": "Token" }, "Allow.list.file": { - "defaultMessage": "Allow list file" + "defaultMessage": "Soubor povolených položek" }, "Amount": { - "defaultMessage": "Amount" + "defaultMessage": "Částka" }, "Amount in": { - "defaultMessage": "Amount In" + "defaultMessage": "Částka In" }, "Amount.nft": { - "defaultMessage": "Amount NFT" + "defaultMessage": "Počet NFT" }, "Choose app font": { - "defaultMessage": "Choose app font" + "defaultMessage": "Vyberte písmo aplikace" }, "Claiming not available": { - "defaultMessage": "Claiming not available" + "defaultMessage": "Odměna není k dispozici" }, "Create forms": { - "defaultMessage": "Create forms" + "defaultMessage": "Vytvořit formuláře" }, "Create.Order": { - "defaultMessage": "Create Order" + "defaultMessage": "Vytvořit objednávku" }, "Created": { - "defaultMessage": "Created" + "defaultMessage": "Vytvořeno" }, "Deploy": { - "defaultMessage": "Deploy" + "defaultMessage": "Spustit" }, "Edit claimers": { - "defaultMessage": "Edit claimers" + "defaultMessage": "Upravit claimers" }, "Export": { - "defaultMessage": "Export" + "defaultMessage": "Exportovat" }, "Free": { - "defaultMessage": "Free" + "defaultMessage": "Zdarma" }, "From": { - "defaultMessage": "From" + "defaultMessage": "Od" }, "New.page": { - "defaultMessage": "New page" + "defaultMessage": "Nová stránka" }, "Open.claim": { - "defaultMessage": "Open claim" + "defaultMessage": "Otevřít nárok" }, "Price": { - "defaultMessage": "Price" + "defaultMessage": "Cena" }, "Save": { - "defaultMessage": "Save" + "defaultMessage": "Uložit" }, "Switch Network": { - "defaultMessage": "Switch Network" + "defaultMessage": "Přepnout síť" }, "Update": { - "defaultMessage": "Update" + "defaultMessage": "Aktualizovat" }, "You.are.not.eligible.to.mint.at.this.time.": { - "defaultMessage": "You are not eligible to mint at this time." + "defaultMessage": "Momentálně nejste oprávněni k mintu." }, "abi": { "defaultMessage": "ABI" }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Access darkblock to get more information" - }, "access.requirements": { - "defaultMessage": "Access Requirements" + "defaultMessage": "Požadavky pro přístup" }, "access.requirements.description.gated.view.conditions": { - "defaultMessage": "To access this private page, please ensure that you meet all the conditions below, as defined by the page owner:" + "defaultMessage": "Pro přístup na tuto stránku zkontrolujte, jestli splňujete níže uvedené podmínky:" }, "access.requirements.message": { - "defaultMessage": "Access requirements message" + "defaultMessage": "Zpráva o požadavcích na přístup" }, "access.the.0x.dashboard.to.get.your.api.key": { - "defaultMessage": "Access the 0x dashboard to get your API Key" + "defaultMessage": "Pro získání API klíče se připojte do řídicího panelu 0x" }, "account": { - "defaultMessage": "Account" + "defaultMessage": "Účet" }, "account.which.you.signed.message.to.authenticate.to.app": { - "defaultMessage": "Account which you signed message to authenticate to app" + "defaultMessage": "Účet, který jste použili k oveření aplikace" }, "accounts": { - "defaultMessage": "Accounts" + "defaultMessage": "Účty" }, "action.type": { - "defaultMessage": "Action type" + "defaultMessage": "Typ akce" }, "add.accounts.and.manage.their.permissions": { - "defaultMessage": "Add accounts and manage their permissions" + "defaultMessage": "Přidat účty a spravujte jejich oprávnění" }, "add.addresses.to.airdrop": { - "defaultMessage": "Add addresses to airdrop" + "defaultMessage": "Přidat adresy peněženek pro airdrop" }, "add.app.ranking": { - "defaultMessage": "Add app ranking" + "defaultMessage": "Přidat hodnocení aplikace" }, "add.app.version": { - "defaultMessage": "Add app version" + "defaultMessage": "Přidat verzi aplikace" }, "add.claim.condition": { - "defaultMessage": "Add claim condition" + "defaultMessage": "Přidat podmínku nároku" }, "add.collection.to.your.app": { - "defaultMessage": "Add collection to your app" + "defaultMessage": "Přidat kolekci do aplikace" }, "add.condition": { - "defaultMessage": "Add condition" + "defaultMessage": "Přidat podmínku" }, "add.custom": { - "defaultMessage": "Add Custom" + "defaultMessage": "Přidat vlastní" }, "add.gated.conditions": { - "defaultMessage": "Add gated conditions" + "defaultMessage": "Přidat gated podmínky" }, "add.items": { - "defaultMessage": "Add items" + "defaultMessage": "Přidat položky" }, "add.leaderboard": { - "defaultMessage": "Add leaderboard" + "defaultMessage": "Přidat žebříček" }, "add.leaderboards.to.your.app": { - "defaultMessage": "Add leaderboards to your app" + "defaultMessage": "Přidat žebříček do aplikace" }, "add.member": { - "defaultMessage": "Add member" + "defaultMessage": "Přidat člena" }, "add.network": { - "defaultMessage": "Add Network" + "defaultMessage": "Přidat síť" }, "add.networks": { - "defaultMessage": "Add Networks" + "defaultMessage": "Přidat sítě" }, "add.payment.method": { - "defaultMessage": "Add Payment Method" + "defaultMessage": "Přidat způsob platby" }, "add.ref.to.track.referrals": { - "defaultMessage": "Append ref to your url to track referrals on your events. Ex: yourSite.com?ref=your-referral" + "defaultMessage": "Přidat ref k adrese URL, aby jste mohli sledovat své doporučení. Např: vaseaplikace.cz?ref=vas-ref" }, "add.rule": { - "defaultMessage": "Add rule" + "defaultMessage": "Přidat podmínku" }, "add.team.members.to.read.and.do.updates": { - "defaultMessage": "Add team members to update your app" + "defaultMessage": "Přidat členy týmu pro správu a aktualizace aplikace" }, "add.versions.to.your.app": { - "defaultMessage": "Add versions to your app" + "defaultMessage": "Přidat verze aplikace" }, "add.versions.to.your.app.for.backup.and.to.enable.rollback": { - "defaultMessage": "Add versions to your app for backup and to enable rollback" + "defaultMessage": "Přidejte do aplikace verze pro zálohování a povolení obnovení" }, "adding.app.ranking": { - "defaultMessage": "Adding app ranking" + "defaultMessage": "Přidávání hodnocení aplikace" }, "adding.app.version": { - "defaultMessage": "Adding app version" + "defaultMessage": "Přidávání verze aplikace" }, "adding.member": { - "defaultMessage": "Adding Member" + "defaultMessage": "Přidávání člena" }, "adding.ranking": { - "defaultMessage": "Adding ranking" + "defaultMessage": "Přidávání hodnocení" }, "adding.version": { - "defaultMessage": "Adding version" + "defaultMessage": "Přidávání verze" }, "address": { - "defaultMessage": "Address" + "defaultMessage": "Adresa" }, "addresses": { - "defaultMessage": "Addresses" + "defaultMessage": "Adresy" }, "adjust.marketplace.fees.title": { - "defaultMessage": "Adjust your app's Marketplace fees" + "defaultMessage": "Upravit poplatky za NFT tržiště" }, "adjust.your.app.swap.fees.title": { - "defaultMessage": "Adjust your app's Swap fees" + "defaultMessage": "Upravit poplatky za swap" }, "admin.setup.description": { - "defaultMessage": "Start your own crypto site/marketplace in seconds. Start now being a crypto enterpreneur in two steps: create wallet, fill name of your marketplace and you are ready to go." + "defaultMessage": "Vytvořte svoji krypto stránku/tržiště v řádu vteřin a staňte se krypto-podnikatelem ve dvou krocích." }, "ai.assistant": { - "defaultMessage": "AI Assistant" + "defaultMessage": "AI Asistent" }, "airdrop": { - "defaultMessage": "Airdrop" + "defaultMessage": "Rozdávání" }, "airdrop.claim.token.seo.title.message": { - "defaultMessage": "Airdrop of {tokenSymbol} on {network}" + "defaultMessage": "Airdrop tokenu {tokenSymbol} na síti {network}" }, "airdrop.claimable.contract": { - "defaultMessage": "Airdrop Claimable Contract" + "defaultMessage": "Kontrakt s airdropem" }, "airdrop.requirements": { - "defaultMessage": "Airdrop requirements" + "defaultMessage": "Požadavky airdropu" }, "airdrop.token.seo.description.message": { - "defaultMessage": "Claim aidrop of {tokenSymbol} on {network}" + "defaultMessage": "Získat airdrop tokenu {tokenSymbol} na síti {network}" }, "airdrop.user.info": { - "defaultMessage": "Airdrop for users that complete profile and connect to both Discord and Twitter" + "defaultMessage": "Airdrop pro uživatele, kteří dokončí svůj profil a propojí ho s Discordem a Twitterem." }, "airdrop.user.info.completed": { - "defaultMessage": "Airdrop campaign completed" + "defaultMessage": "Kampaň airdropu u konce." }, "airdrop.user.info.web.submmit": { - "defaultMessage": "Note: You need to be on Rio de Janeiro to claim this airdrop" + "defaultMessage": "Upozornění: Pro uplatnění airdropu musíte být v Rio de Janeiro." }, "align.items": { - "defaultMessage": "Align Items" + "defaultMessage": "Seřadit položky" }, "all": { - "defaultMessage": "All" + "defaultMessage": "Všechny" }, "amount": { - "defaultMessage": "Amount" + "defaultMessage": "Množství" }, "amount.exceeds.the.amount.staked": { - "defaultMessage": "Amount exceeds the amount staked" + "defaultMessage": "Množství převyšuje množství stakovaných tokenů" }, "amount.exceeds.the.balance": { - "defaultMessage": "Amount exceeds the balance" + "defaultMessage": "Částka převyšuje zůstatek" }, "amount.exceeds.the.nft.balance": { - "defaultMessage": "amount exceeds the NFT balance" + "defaultMessage": "Množství převyšuje zůstatek NFT" }, "amount.nfts.selected.to.stake": { - "defaultMessage": "NFTs {tokens} are selected to stake" + "defaultMessage": "NFTs {tokens} vybrané ke stakování" }, "amount.of.tokenId.is.selected.to.unstake": { - "defaultMessage": "{amount} of \"#{tokenId}\" is selected to unstake" + "defaultMessage": "{amount} z \"#{tokenId}\" je vybrané k odstakování." }, "amount.tokens.selected.to.stake": { - "defaultMessage": "NFTs \"{tokens}\" is selected to stake" + "defaultMessage": "NFTs \"{tokens}\" je vybrané ke stakování." }, "analytics.wizard.description": { - "defaultMessage": "Add Google Analytics to your app" + "defaultMessage": "Přidat Google Analytics do aplikace" }, "and": { - "defaultMessage": "And" + "defaultMessage": "Přidat" }, "animation.url": { - "defaultMessage": "Animation URL" + "defaultMessage": "URL Animace" }, "api.key": { - "defaultMessage": "API Key" + "defaultMessage": "API Klíč" }, "app.builder.setup": { - "defaultMessage": "App Builder Setup" + "defaultMessage": "Nastavení app builderu" }, "app.leaderboard.removed": { - "defaultMessage": "App leaderboard removed" + "defaultMessage": "žebříček aplikace je odstraněn" }, "app.leaderboard.updated": { - "defaultMessage": "App leaderboard updated" + "defaultMessage": "žebříček aplikace je aktualizovný" }, "app.name": { - "defaultMessage": "App name" + "defaultMessage": "Název aplikace" }, "app.ranking": { - "defaultMessage": "App ranking" + "defaultMessage": "Hodnocení aplikace" }, "app.ranking.updated": { - "defaultMessage": "App ranking updated" + "defaultMessage": "Hodnocení aplikace je aktualizované" }, "app.removed": { - "defaultMessage": "App removed" + "defaultMessage": "Aplikace je odstraněna" }, "app.version": { - "defaultMessage": "App version" + "defaultMessage": "Verze aplikace" }, "app.version.removed": { - "defaultMessage": "App version removed" + "defaultMessage": "Verze aplikace byla odstraněna" }, "app.version.set": { - "defaultMessage": "App version set" + "defaultMessage": "Verze aplikace byla nastavena" }, "app.version.updated": { - "defaultMessage": "App version updated" + "defaultMessage": "Verze aplikace byla aktualizovaná" }, "app.versions": { - "defaultMessage": "App versions" + "defaultMessage": "Verze aplikace" }, "approve": { - "defaultMessage": "Approve" + "defaultMessage": "Schválit" }, "apps": { - "defaultMessage": "Apps" + "defaultMessage": "Aplikace" }, "are.you.sure.you.want.to.delete.this.account": { - "defaultMessage": "Account to remove: {account}" + "defaultMessage": "Účet k odstranění: {account}" }, "artificial.inteligence": { - "defaultMessage": "Artificial Inteligence" + "defaultMessage": "Umělá inteligence" }, "available.amount": { - "defaultMessage": "Available Amount" + "defaultMessage": "Dostupný zůstatek" }, "available.balance.amount": { - "defaultMessage": "Available amount: {amount}" + "defaultMessage": "Dostupný zůstatek: {amount}" }, "available.to.sell": { - "defaultMessage": "Available to sell: {quantity}" + "defaultMessage": "K dispozici na prodej: {quantity}" }, "availclaimableable.rewards": { - "defaultMessage": "Claimable rewards" + "defaultMessage": "Nárokovatelné odměny" }, "back.to.home": { - "defaultMessage": "Back to Home" + "defaultMessage": "Domů" }, "back.to.leaderboard.list": { - "defaultMessage": "Back to leaderboard List" + "defaultMessage": "Zpět na žebříček" }, "back.to.nft.list": { - "defaultMessage": "Back to NFT List" + "defaultMessage": "Zpět na seznam NFT" }, "background.color": { - "defaultMessage": "Background Color" + "defaultMessage": "Barva pozadí" }, "backgroundImage": { - "defaultMessage": "Background Image" + "defaultMessage": "Obrázek na pozadí" }, "billing": { - "defaultMessage": "Billing" + "defaultMessage": "Fakturace" }, "bio": { - "defaultMessage": "Bio" + "defaultMessage": "Bios" }, "block.explorer": { - "defaultMessage": "Block explorer" + "defaultMessage": "Průzkumník bloků" }, "border.radius": { - "defaultMessage": "Border Radius" + "defaultMessage": "Poloměr okraje" }, "builder.kits.description": { - "defaultMessage": "Select a kit to preview features for building your app." + "defaultMessage": "Vyberte sadu pro náhled funkcí k vytvoření vaší aplikace." }, "burn": { - "defaultMessage": "Burn" + "defaultMessage": "Spálit" }, "burn.token": { - "defaultMessage": "Burn Token" + "defaultMessage": "Spálit token" }, "button.cation": { - "defaultMessage": "Button caption" + "defaultMessage": "Popisek tlačítka" }, "buy.and.sell": { - "defaultMessage": "Buy and sell" + "defaultMessage": "Nákup a prodej" }, "buy.app": { - "defaultMessage": "Buy App" + "defaultMessage": "Koupit aplikaci" }, "buy.token.page": { - "defaultMessage": "Buy token page" + "defaultMessage": "Stránka pro nákup tokenu" }, "bytecode": { - "defaultMessage": "Bytecode" + "defaultMessage": "Bajtkód" }, "call.label": { - "defaultMessage": "Call label" + "defaultMessage": "Popisek Call" }, "call.on.view": { - "defaultMessage": "Call on view" + "defaultMessage": "Call na zobrazení" }, "carousel": { - "defaultMessage": "Carousel" + "defaultMessage": "Slider" }, "carousel.image.aspectRatio": { - "defaultMessage": "The image must have a 16/9 aspect ratio to be displayed correctly in the carousel." + "defaultMessage": "Aby se obrázek ve slideru správně zobrazil, musí mít poměr stran 16/9." }, "center": { - "defaultMessage": "Center" + "defaultMessage": "Střed" }, "changelog-dev": { - "defaultMessage": "Dev Changelog" + "defaultMessage": "Změny vývoje" }, "changes.unsaved": { - "defaultMessage": "Changes unsaved" + "defaultMessage": "Změny nebyly uloženy" }, "check.out.our.dev.changelog.for.more.technical.updates": { - "defaultMessage": "Checkout dev changelog for more technical updates" + "defaultMessage": "Pro další technické aktualizace navštivte dev changelog." }, "check.out.our.video.changelog.from.dexappbuilder.with.last.updates": { - "defaultMessage": "Checkout video changelog with last updates" + "defaultMessage": "Podívejte se na changelog video s posledními aktualizacemi" }, "checking.eligibility": { - "defaultMessage": "Checking eligibility..." + "defaultMessage": "Kontrola způsobilosti..." }, "checkout": { - "defaultMessage": "Checkout" + "defaultMessage": "Pokladna" }, "choose.app.theme.color.for.each.mode ": { - "defaultMessage": "Choose app theme color for each mode" + "defaultMessage": "Vyberte barvu motivu aplikace pro každý režim" }, "choose.default.settings.for.exchange.interface": { - "defaultMessage": "Choose default settings for exchange interface" + "defaultMessage": "Vyberte výchozí nastavení pro rozhraní aplikace" }, "choose.default.settings.for.swap.interface": { - "defaultMessage": "Choose default settings for swap interface" + "defaultMessage": "Vyberte výchozí nastavení pro rozhraní swapu" }, "choose.default.tokens.on.wallet.app": { - "defaultMessage": "Choose default tokens on your wallet app." + "defaultMessage": "Vyberte výchozí tokeny pro aplikaci peněženky." }, "choose.network": { - "defaultMessage": "Choose Network" + "defaultMessage": "Zvolte síť" }, "claim.airdrop": { - "defaultMessage": "Claim airdrop" + "defaultMessage": "Získat odměny" }, "claim.amount": { - "defaultMessage": "Claim amount" + "defaultMessage": "Získat množství" }, "claim.conditions": { - "defaultMessage": "claim.conditions" + "defaultMessage": "Podmínky pro získání" }, "claim.erc20.tokens.from.contractName": { - "defaultMessage": "Claim ERC20 Tokens from {contractName}" + "defaultMessage": "Získejte ERC20 tokeny z {contractName}" }, "claim.erc721.tokens.from.contractName": { - "defaultMessage": "Claim ERC721 Tokens from {contractName}" + "defaultMessage": "Získejte ERC721 tokeny z {contractName}" }, "claim.free": { - "defaultMessage": "Claim free" + "defaultMessage": "Získejte zdarma" }, "claim.kit.airdrop": { - "defaultMessage": "Claim KIT airdrop" + "defaultMessage": "Získejte airdrop tokenu KIT" }, "claim.nfts": { - "defaultMessage": "Claim NFTs" + "defaultMessage": "Získejte NFTs" }, "claim.rewards": { - "defaultMessage": "Claim rewards" + "defaultMessage": "Získejte odměny" }, "claim.submitted.wait.for.transaction.confirm.onchain.to.receive.airdropped.kit": { - "defaultMessage": "Your claim has been submitted. Please wait for the transaction to be confirmed on the blockchain to receive your airdropped KIT!" + "defaultMessage": "Váš požadavek byl odeslán. Vyčkejte na potvrzení transakce na blockchainu, aby jste dostali airdrop tokenu KIT!" }, "claim.tokens": { - "defaultMessage": "Claim tokens" + "defaultMessage": "Získat tokeny" }, "claimable.rewards": { - "defaultMessage": "Claimable rewards" + "defaultMessage": "Dostupné odměny" }, "claimed": { - "defaultMessage": "Claimed" + "defaultMessage": "Získané" }, "claimed.supply": { - "defaultMessage": "Claimed supply" + "defaultMessage": "Získaná dodávka" }, "claiming.not.available": { - "defaultMessage": "Claiming not available" + "defaultMessage": "Odměny nejsou k dispozici" }, "clain.priceToMint": { - "defaultMessage": "Claim ({priceToMint})" + "defaultMessage": "Získat ({priceToMint})" }, "clear.filters.to.see.nft.drops": { - "defaultMessage": "Clear filters to see nft drop's" + "defaultMessage": "Pro zobrazení NFT dropů vymažte filtry" }, "click.on.nft.to.manage.and.set.claim.conditions.": { - "defaultMessage": "Click on NFTs to start manage and set claim conditons." + "defaultMessage": "Klikněte na NFT pro správu a nastavení podmínek." }, "clone": { - "defaultMessage": "Clone" + "defaultMessage": "Duplikovat" }, "code": { - "defaultMessage": "Code" + "defaultMessage": "Kód" }, "coin": { - "defaultMessage": "Coin" + "defaultMessage": "Mince" }, "collapse": { - "defaultMessage": "Collapse" + "defaultMessage": "Rozbalit" }, "collected": { - "defaultMessage": "Collected" + "defaultMessage": "Vlastněné" }, "collection.address": { - "defaultMessage": "Collection address" + "defaultMessage": "Adresa kolekce" }, "collection.without.orders": { - "defaultMessage": "Collection without listings. Came back later!" + "defaultMessage": "Kolekce nemá žádné prodejní nabídky. Zkuste to později!" }, "coming.soon": { - "defaultMessage": "Coming soon" + "defaultMessage": "Již brzy" }, "complete.profile": { - "defaultMessage": "Complete Profile" + "defaultMessage": "Vyplnit profil" }, "complete.profile.info": { - "defaultMessage": "Please complete your profile by clicking on complete profile" + "defaultMessage": "Vyplňte prosím svůj profil kliknutím na vyplnit profil" }, "complete.socials info": { - "defaultMessage": "Please connect your socials medias" + "defaultMessage": "Připojte prosím své sociální sítě" }, "complete.user.profile": { - "defaultMessage": "Complete user profile" + "defaultMessage": "Doplnit uživatelský profil" }, "condition": { - "defaultMessage": "Condition" + "defaultMessage": "Podmínka" }, "condition.amount": { - "defaultMessage": "Condition amount" + "defaultMessage": "Částka podmínky" }, "condition.amount.in": { - "defaultMessage": "Condition amount in" + "defaultMessage": "Podmíněné vstupní množství" }, "condition.amount.nft": { - "defaultMessage": "Condition amount NFT" + "defaultMessage": "Podmíněné množství NFT" }, "condition.amount.out": { - "defaultMessage": "Condition amount out" + "defaultMessage": "Podmíněné výstupní množství" }, "condition.index.value": { - "defaultMessage": "Condition {index}" + "defaultMessage": "Podmínka {index}" }, "config.sent": { - "defaultMessage": "Config sent" + "defaultMessage": "Nastavení odeslané" }, "configure.0x.text": { - "defaultMessage": "Ensure a smooth experience by configuring your 0x API key for access to our swap and exchange services." + "defaultMessage": "Pro přístup k funkci SWAPu použijte Váš 0x API klíč" }, "confirm.transaction": { - "defaultMessage": "Confirm Transaction" + "defaultMessage": "Potvrdit transakci" }, "congrats.you.claimed.your.kit.airdrop": { - "defaultMessage": "Congrats you claimed your KIT airdrop" + "defaultMessage": "Získali jste airdrop tokenu KIT. Gratulujeme." }, "connect.account": { - "defaultMessage": "Connect account" + "defaultMessage": "Připojit účet" }, "connect.discord": { - "defaultMessage": "Connect Discord" + "defaultMessage": "Připojit Discord" }, "connect.social.media": { - "defaultMessage": "Connect social media" + "defaultMessage": "Připojit sociální sítě" }, "connect.socials": { - "defaultMessage": "Connect socials" + "defaultMessage": "Připojit sociální sítě" }, "connect.twitter": { - "defaultMessage": "Connect Twitter" + "defaultMessage": "Připojit twitter" }, "connect.wallet.to.see.apps.associated.with.your.account": { - "defaultMessage": "Connect wallet to see apps associated with your account" + "defaultMessage": "Připojte peněženku, abyste viděli aplikace spojené s vaším účtem" }, "connect.wallet.to.see.contracts.associated.with.your.account": { - "defaultMessage": "Connect wallet to see contracts associated with your account" + "defaultMessage": "Připojte peněženku, abyste viděli chytré kontrakty spojené s vaším účtem" }, "connect.wallet.to.start.create.collections": { - "defaultMessage": "Connect wallet to start create collections" + "defaultMessage": "Připojte peněženku a začněte vytvářet kolekce" }, "connected.wallet.not.authorized.to.access.this.account.switch.to.account.that.owns.this.account": { - "defaultMessage": "Connected wallet not authorized to access this app. Switch to account that owns this app and login" + "defaultMessage": "Připojená peněženka nemá oprávnění pro přístup k této aplikaci. Přepněte na účet, který vlastní tuto aplikaci a přihlaste se." }, "contract": { - "defaultMessage": "Contract" + "defaultMessage": "Chytrý kontrakt" }, "contract.deployed": { - "defaultMessage": "Contract deployed" + "defaultMessage": "Chytrý kontrakt spuštěn" }, "contract.deployed.succefully": { - "defaultMessage": "Contract deployed successfully" + "defaultMessage": "Chytrý kontrakt úspěšně spuštěn" }, "contract.deployed.successfully": { - "defaultMessage": "Contract deployed successfully" + "defaultMessage": "Chytrý kontrakt úspěšně spuštěn" }, "contract.generator": { - "defaultMessage": "Contract generator" + "defaultMessage": "Generátor chytrých kontraktů" }, "contract.instances": { - "defaultMessage": "Contract instances" + "defaultMessage": "Instance chytrého kontraktu" }, "contract.is.not.supported.yet": { - "defaultMessage": "Contract not supported yet" + "defaultMessage": "Chytrý kontrakt zatím není podporovaný" }, "contract.not.supported": { - "defaultMessage": "Contract not supported" + "defaultMessage": "Chytrý kontrakt není podporovaný" }, "contract.templates": { - "defaultMessage": "Contract Templates" + "defaultMessage": "Vzory chytrých kontraktů" }, "contract.type": { - "defaultMessage": "Contract Type" + "defaultMessage": "Typ chytrého kontraktu" }, "contract.wizard": { - "defaultMessage": "Contract Wizard" + "defaultMessage": "Průvodce chytrým kontraktem" }, "contract.wizard.description": { - "defaultMessage": "Easily create your digital collectibles (NFTs) using AI image generation tools and create them on the blockchain of your choice in one click." + "defaultMessage": "Snadno vytvořte své NFTs pomocí AI generátoru obrázků a vymintujte je na blockchainu na jedno kliknutí" }, "contracts": { - "defaultMessage": "Contracts" + "defaultMessage": "Chytré kontrakty" }, "contracts.you.deployed": { - "defaultMessage": "Contracts you deployed" + "defaultMessage": "Chytré kontrakty, které jste spustili" }, "copy.address": { - "defaultMessage": "Copy address", + "defaultMessage": "Zkopírovat adresu", "description": "Copy text" }, "create.a.form.to.interact.with.your.new.contract": { - "defaultMessage": "Create a form to interact with your new contract" + "defaultMessage": "Vytvořit formulář pro interakci s novým chytrým kontraktem" }, "create.an.exchange.with.our.quick.app.builder.in.seconds": { - "defaultMessage": "Create an advanced crypto limit order exchange app in seconds using our quick app builder" + "defaultMessage": "Vytvořte aplikaci kryptosměnárny během několika sekund prostřednictvím našeho nástroje pro tvorbu aplikací" }, "create.and.manage.your.collections": { - "defaultMessage": "Create and manage your collections" + "defaultMessage": "Vytvářejte a spravujte své NFT kolekce" }, "create.app": { - "defaultMessage": "Create app" + "defaultMessage": "Vytvořit aplikaci" }, "create.claim.conditions": { - "defaultMessage": "Create claim conditions" + "defaultMessage": "Vytvořit podmínky pro získání" }, "create.custom.form": { - "defaultMessage": "Create custom form" + "defaultMessage": "Vytvořit vlastní formulář" }, "create.form": { - "defaultMessage": "Create form" + "defaultMessage": "Vytvořit formulář" }, "create.forms.to interact.with.contracts": { - "defaultMessage": "Create forms to interact with contracts" + "defaultMessage": "Vytvořit formulář pro interakci s chytrými kontrakty" }, "create.image": { - "defaultMessage": "Generate AI Image" + "defaultMessage": "Vygenerujte AI obrázek" }, "create.leaderboards.and.gamify.your.app": { - "defaultMessage": "Create leaderboards from your events and gamify your app" + "defaultMessage": "Vytvářejte žebříčky a gamifikujte svou aplikaci" }, "create.marketplace.title": { - "defaultMessage": "Create your crypto site/marketplace in seconds." + "defaultMessage": "Vytvořte si svůj kryptoměnový web/aplikaci během několika sekund." }, "create.metadata": { - "defaultMessage": "Create metadata" + "defaultMessage": "Vytvořit metadata" }, "create.nft.order": { - "defaultMessage": "Create NFT order" + "defaultMessage": "Vytvořit objednávku NFT" }, "create.nft.store.app": { - "defaultMessage": "Create nft store app" + "defaultMessage": "Vytvořit aplikaci NFT tržiště" }, "create.one.to.start.selling.NFTs.or.crypto": { - "defaultMessage": "Create one App to start trade NFTs or crypto" + "defaultMessage": "Vytvořte jednu aplikaci a začněte obchodovat NFTs nebo kryptoměny" }, "create.order": { - "defaultMessage": "Create Order" + "defaultMessage": "Vytvořit objednávku" }, "create.swap.app": { - "defaultMessage": "Create swap app" + "defaultMessage": "Vytvořit aplikaci SWAP" }, "create.swap.title": { - "defaultMessage": "Create your crypto site/swap in seconds." + "defaultMessage": "Vytvořte swap kryptoměn během několika sekund." }, "create.template.pages": { - "defaultMessage": "Create template pages" + "defaultMessage": "Vytvořit šablonu stránky" }, "create.user.profile": { - "defaultMessage": "Create user profile" + "defaultMessage": "Vytvořit uživatelský profil" }, "create.wallet.app": { - "defaultMessage": "Create wallet app" + "defaultMessage": "Vytvořit aplikaci peněženky" }, "create.your.app": { - "defaultMessage": "Create your App" + "defaultMessage": "Vytvořte vlastní aplikaci" }, "created.by.address": { - "defaultMessage": "Created by: {address}" + "defaultMessage": "Vytvořil: {address}" }, "creating.nft": { - "defaultMessage": "Creating NFT" + "defaultMessage": "Vytváření NFT" }, "creating.nft.on.server": { - "defaultMessage": "Creating NFT on chain and saving metadata" + "defaultMessage": "Vytváření NFT na blockchainu a ukládání metadat" }, "creating.site.metadata": { - "defaultMessage": "Creating site metadata" + "defaultMessage": "Vytváření metadat stránky" }, "creating.user.profile": { - "defaultMessage": "Creating user profile" + "defaultMessage": "Vytváření uživatelského profilu" }, "creator": { - "defaultMessage": "Creator" + "defaultMessage": "Tvůrce" }, "creator.address": { - "defaultMessage": "Creator: {address}" + "defaultMessage": "Tvůrce: {address}" }, "credit.history": { - "defaultMessage": "Credit History" + "defaultMessage": "Historie kreditu" }, "credited": { - "defaultMessage": "Credited" + "defaultMessage": "Připsané" }, "credits": { - "defaultMessage": "Credits" + "defaultMessage": "Kredity" }, "credits.below0.50": { - "defaultMessage": "Your credits are now below $0.50. Please consider adding more credits to continue using our services." + "defaultMessage": "Vaš kredit je nižší, než 0,50 $. Chcete-li naše služby nadále používat, vložte prosím další kredity." }, "credits.expire.oneYear": { - "defaultMessage": "Your added credits will expire one year from the date of addition. Please utilize them before expiry." + "defaultMessage": "Platnost Vašich kreditů je jeden rok od data přidání. Využijte je prosím před vypršením jejich platnosti. " }, "crypto.app.setup": { - "defaultMessage": "Crypto App Setup" + "defaultMessage": "Nastavení krypto aplikace" }, "csv.file.to.import.on.aidrop.contract": { - "defaultMessage": "CSV file to be imported on airdrop contracts" + "defaultMessage": "Import CSV souboru pro airdrop chytrého kontraktu" }, "current.app.version": { - "defaultMessage": "Current app version" + "defaultMessage": "Aktuální verze aplikace" }, "current.phase": { - "defaultMessage": "Current phase" + "defaultMessage": "Aktuální fáze" }, "current.phase.ends.in": { - "defaultMessage": "Current phase ends in" + "defaultMessage": "Aktuální fáze končí v" }, "custom": { - "defaultMessage": "Custom" - }, - "darkblock": { - "defaultMessage": "Darkblock" - }, - "darkblock.io": { - "defaultMessage": "Darkblock.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock is a decentralized protocol that allows content creators to publish and distribute exclusive content to their fans without the need for centralized token-gating platforms. This integration is utilized on the Asset page for the networks supported by Darkblock." + "defaultMessage": "Vlastní" }, "default.amount.to.send.to.the.contract": { - "defaultMessage": "Default amount to send to the contract" + "defaultMessage": "Výchozí částka k odeslání do chytrého kontraktu" }, "default.currency": { - "defaultMessage": "Default currency" + "defaultMessage": "Výchozí měna" }, "default.network": { - "defaultMessage": "Default network" + "defaultMessage": "Výchozí síť" }, "default.network.info.swap.form": { - "defaultMessage": "Default network when wallet is not connected" + "defaultMessage": "Výchozí síť, pokud není připojená peněženka" }, "default.slippage.percentage": { - "defaultMessage": "Default slippage (0-50%)" + "defaultMessage": "Výchozí proklouznutí (0–50 %)" }, "default.theme.mode": { - "defaultMessage": "Default Theme mode" + "defaultMessage": "Výchozí motiv" }, "default.value": { - "defaultMessage": "Default value" + "defaultMessage": "Výchozí hodnota" }, "delete": { - "defaultMessage": "Delete" + "defaultMessage": "Odstranit" }, "delete.account.from.user": { - "defaultMessage": "Delete account from user" + "defaultMessage": "Odstranit účet od uživatele" }, "delete.app.leaderboard": { - "defaultMessage": "Delete app leaderboard" + "defaultMessage": "Odstranit žebříček aplikace" }, "delete.app.version": { - "defaultMessage": "Delete app version" + "defaultMessage": "Odstranit verzi aplikace" }, "denominator": { - "defaultMessage": "Denominator" + "defaultMessage": "Jmenovatel" }, "deploy.a.collection.to.see.it.here": { - "defaultMessage": "Deploy a collection to see it here" + "defaultMessage": "Pro zobrazení kolekce ji nejprve vytvořte" }, "deploy.contract.template": { - "defaultMessage": "Deploy Contract Template" + "defaultMessage": "Spustit šablonu chytrého kontraktu" }, "deploy.your.own.contract": { - "defaultMessage": "Deploy your own contract" + "defaultMessage": "Spustit vlastní chytrý kontrakt" }, "deploying.contract": { - "defaultMessage": "Deploying Contract" + "defaultMessage": "Spoštění chytrého kontraktu" }, "deposit": { - "defaultMessage": "Update" + "defaultMessage": "Aktualizace" }, "deposit.reward": { - "defaultMessage": "Deposit Reward" + "defaultMessage": "Vložit odměnu" }, "detailed": { - "defaultMessage": "Detailed" + "defaultMessage": "Detailní" }, "dev.changelog": { - "defaultMessage": "Dev changelog" + "defaultMessage": "Seznam změn" }, "dex.generator": { - "defaultMessage": "DexContracts" + "defaultMessage": "DEX Generátor" }, "dexappbuilder.ann.app.bar2": { - "defaultMessage": "Support us on {Giveth} and allow our service to be free for all. Each donation is matched by ENS builders round." + "defaultMessage": "Podpořte nás na {Giveth}, aby naše služba byla pro všechny zdarma. Každý příspěvek se shoduje s ENS." }, "disable.burn": { - "defaultMessage": "Disable Burn" + "defaultMessage": "Zakáz pálení" }, "disable.info": { - "defaultMessage": "Disable Info" + "defaultMessage": "Zakáz informací" }, "disable.proxy": { - "defaultMessage": "Disable proxy" + "defaultMessage": "Zákaz proxy" }, "disable.secondary.sells": { - "defaultMessage": "Disable secondary sells" + "defaultMessage": "Zákaz sekundárních prodejů" }, "disable.transfer": { - "defaultMessage": "Disable Transfer" + "defaultMessage": "Zákaz převodů" }, "discord.username": { - "defaultMessage": "Discord username" + "defaultMessage": "Uživatelské jméno Discordu" }, "do.you.really.want.to.clone.this.form": { - "defaultMessage": "Do you really want to clone this form?" + "defaultMessage": "Opravdu chcete duplikovat tento formulář?" }, "do.you.really.want.to.create.a.nft.info": { - "defaultMessage": "Do you really want to create a NFT representing ownership of this app? After you create this NFT you are not able to delete anymore the app! You can sell or transfer this NFT, if you do so, you lose ownership of the app." + "defaultMessage": "Opravdu chcete vytvořit NFT pro vlastnictví této aplikace? Po vytvoření NFT nemůžete aplikaci smazat! Toto NFT můžete prodat, nebo převést. Vlastník NFT bude vlastníkem aplikace." }, "do.you.really.want.to.create.a.nft.store.app": { - "defaultMessage": "Do you really want to create a nft store app?" + "defaultMessage": "Opravdu chcete vytvořit aplikaci NFT tržiště?" }, "do.you.really.want.to.create.a.swap.app": { - "defaultMessage": "Do you really want to create a swap app?" + "defaultMessage": "Opravdu chcete vytvořit aplikaci SWAPU?" }, "do.you.really.want.to.create.a.wallet.app": { - "defaultMessage": "Do you really want to create a wallet app?" + "defaultMessage": "Opravdu chcete vytvořit aplikaci peněženky?" }, "do.you.really.want.to.create.this.form": { - "defaultMessage": "Do you really want to create this form?" + "defaultMessage": "Opravdu chcete vytvořit tento formulář?" }, "do.you.really.want.to.create.this.token": { - "defaultMessage": "Do you really want to create this token?" + "defaultMessage": "Opravdu chcete vytvořit tento token" }, "do.you.really.want.to.create.your.user.profile": { - "defaultMessage": "Do you really want to create your user profile?" + "defaultMessage": "Opravdu chcete vytvořit svůj uživatelský profil?" }, "do.you.really.want.to.remove.this.app": { - "defaultMessage": "Do you really want to remove this app" + "defaultMessage": "Opravdu chcete tuto aplikaci odstranit?" }, "do.you.really.want.to.remove.this.app.leaderboard": { - "defaultMessage": "Do you really want to remove this app leaderboard {title}" + "defaultMessage": "Opravdu chcete odstranit žebříček aplikace {title}?" }, "do.you.really.want.to.remove.this.app.version": { - "defaultMessage": "Do you really want to remove this app version {version}" + "defaultMessage": "Opravdu chcete odstranit verzi {version} aplikace?" }, "do.you.really.want.to.remove.this.condition": { - "defaultMessage": "Do you really want to remove this Condition?" + "defaultMessage": "Opravdu chcete odstranit tuto podmínku?" }, "do.you.really.want.to.remove.this.form": { - "defaultMessage": "Do you really want to remove this form?" + "defaultMessage": "Opravdu chcete tento formulář odstranit?" }, "do.you.really.want.to.remove.this.member": { - "defaultMessage": "Do you really want to remove this member {member}" + "defaultMessage": "Opravdu chcete člena {member} odebrat?" }, "do.you.really.want.to.send.this.app.settings": { - "defaultMessage": "Do you really want to send it?" + "defaultMessage": "Opravdu to chcete odeslat?" }, "do.you.really.want.to.set.to.this.app.version": { - "defaultMessage": "Do you really want to set this app to version {version}. Make sure you backup any changes in a new version." + "defaultMessage": "Opravdu chcete tuto aplikaci nastavit na verzi {version}? Ujistěte se, že máte zálohu veškerých změn v nové verzi. " }, "do.you.really.want.to.update.a.nft.info": { - "defaultMessage": "Do you really want to update this NFT representing ownership of this app?" + "defaultMessage": "Opravdu chcete aktualizovat toto NFT, které představuje vlastnictví této aplikace?" }, "do.you.really.want.to.update.this.form": { - "defaultMessage": "Do you really want to update this form?" + "defaultMessage": "Opravdu chcete aktualizovat tento formulář?" }, "domain": { - "defaultMessage": "Domain" + "defaultMessage": "Doména" }, "drop": { - "defaultMessage": "Drop" + "defaultMessage": "Seskupení" }, "drop.details": { - "defaultMessage": "Drop details" + "defaultMessage": "Detaily dropu" }, "drop.is.starting.soon. Please check back later.": { - "defaultMessage": "Drop is starting soon. Please check back later." + "defaultMessage": "Drop startuje brzy. Zkuste to prosím později." }, "drop.is.starting.soon.please.check.back.later": { - "defaultMessage": "Drop is starting soon. Please check back later." + "defaultMessage": "Drop startuje brzy. Zkuste to prosím později." }, "drop.not.ready.to.mint.yet": { - "defaultMessage": "This drop is not ready to be minted yet." + "defaultMessage": "Tento drop zatím není připravený na mint." }, "drops": { - "defaultMessage": "Drops" + "defaultMessage": "Dropy" }, "drops.are.not.available.for.this.contract": { - "defaultMessage": "Drops are not available for this contract" + "defaultMessage": "Dropy nejsou k dispozici pro tento kontrakt." }, "drops.not.found": { - "defaultMessage": "Drop's not found" + "defaultMessage": "Dropy nebyly nalezeny." }, "drops.of.same.collection": { - "defaultMessage": "Drops of same collection" + "defaultMessage": "Dropy stejné kolekce" }, "edit.app": { - "defaultMessage": "Edit App" + "defaultMessage": "Upravit aplikaci" }, "edit.claim.conditions": { - "defaultMessage": "Edit claim conditions" + "defaultMessage": "Upravid podmínky odměny" }, "edit.claimers": { - "defaultMessage": "Edit claimers" + "defaultMessage": "Upravit nároky" }, "edit.leaderboard": { - "defaultMessage": "Edit leaderboard" + "defaultMessage": "Upravit žebříček" }, "edit.name": { - "defaultMessage": "Edit \"{name}\"" + "defaultMessage": "Upravit \"{name}\"" }, "edit.name.name": { - "defaultMessage": "Edit \"{name}\"" + "defaultMessage": "Upravit \"{name}\"" }, "edit.profile": { - "defaultMessage": "Edit profile" + "defaultMessage": "Upravit profil" }, "edit.social.description": { - "defaultMessage": "Add social media related to your app" + "defaultMessage": "Přidat socílní sítě" }, "edit.templateName": { - "defaultMessage": "Edit: {templateName}" + "defaultMessage": "Upravit: {templateName}" }, "edit.user.profile": { - "defaultMessage": "Edit user profile: {username}" + "defaultMessage": "Upravit uživatelský profil: {username}" }, "edit.version": { - "defaultMessage": "Edit version" + "defaultMessage": "Upravit verzi" }, "editing.site.metadata": { - "defaultMessage": "Editing site metadata" + "defaultMessage": "Upravuji metadata stránky" }, "email.verified": { - "defaultMessage": "Email verified" + "defaultMessage": "Email byl potvrzený" }, "email.verified.with.success": { - "defaultMessage": "Email verified with success" + "defaultMessage": "Email byl úspěšně potvrzený" }, "empty": { - "defaultMessage": "Empty" + "defaultMessage": "Prázné" }, "empty.leaderboard": { - "defaultMessage": "Empty leaderboard" - }, - "enable.darkblock": { - "defaultMessage": "Enable Darkblock Asset" - }, - "enable.darkblock.collection": { - "defaultMessage": "Enable Darkblock Collection" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Enable Darkblock on Asset page" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Enable Darkblock on Collection page" + "defaultMessage": "Prázdný žebříček" }, "enable.drop": { - "defaultMessage": "Enable Darkblock" + "defaultMessage": "Povolit Darkblock" }, "enable.fiat": { - "defaultMessage": "Enable Fiat" + "defaultMessage": "Povolit Fiat měnu" }, "enable.searchbar": { - "defaultMessage": "Enable searchbar" + "defaultMessage": "Povolit vyhledávání" }, "end": { - "defaultMessage": "End" + "defaultMessage": "Konec" }, "enter.amount.to.claim": { - "defaultMessage": "Enter amount to claim" + "defaultMessage": "Vložte množství k získání odměn" }, "error.404": { - "defaultMessage": "Error 404" + "defaultMessage": " Chyba 404" }, "error.color": { - "defaultMessage": "Error color" + "defaultMessage": "Barva chyby" }, "error.generating.image": { - "defaultMessage": "Error generating image" + "defaultMessage": "Při generování obrázku došlo k chybě" }, "error.reason": { - "defaultMessage": "Error reason: {value}" + "defaultMessage": "Důvod chyby: {value}" }, "error.removing.app.leaderboard": { - "defaultMessage": "Error on removing app leaderboard" + "defaultMessage": "Při odstraňování žebříčku došlo k chybě" }, "error.removing.app.version": { - "defaultMessage": "Error on removing app version" + "defaultMessage": "Při odstraňování aplikace došlo k chybě" }, "error.removing.member": { - "defaultMessage": "Error on removing member" + "defaultMessage": "Při odebírání člena došlo k chybě" }, "error.set.app.version": { - "defaultMessage": "Error on set app version" + "defaultMessage": "Při nastavování verze aplikace došlo k chybě" }, "error.updating.app.leaderboard": { - "defaultMessage": "Error on updating app leaderboard" + "defaultMessage": "Při aktualizaci aplikace došlo k chybě" }, "error.while.deploying.contract": { - "defaultMessage": "Error while deploying contract" + "defaultMessage": "Při spouštění chytrého kontraktu došlo k chybě" }, "error.while.minting": { - "defaultMessage": "Error while minting" + "defaultMessage": "Při mintování NFT došlo k chybě" }, "error.while.switching.network": { - "defaultMessage": "Error while switching network" + "defaultMessage": "Při přepínání sítě došlo k chybě" }, "error.while.tranfer": { - "defaultMessage": "Error while transfer" + "defaultMessage": "Při přenosu došlo k chybě" }, "events": { - "defaultMessage": "Events" + "defaultMessage": "Události" }, "exchange": { - "defaultMessage": "Exchange" + "defaultMessage": "Směnárna" }, "exchange.app.builder": { - "defaultMessage": "Exchange App Builder" + "defaultMessage": "Aplikace směnárny" }, "expire.at": { - "defaultMessage": "Expire at" + "defaultMessage": "Expirace" }, "explore.our.new.tool.dexgenerator": { - "defaultMessage": "Explore our new tool: DexContracts" + "defaultMessage": "Vyzkoušejte náš nový nástroj: DexContracts" }, "explorer": { - "defaultMessage": "Explorer" + "defaultMessage": "Prohlížeč" }, "export.leaderboard": { - "defaultMessage": "Export leaderboard" + "defaultMessage": "Export žebříčku" }, "export.leaderboard.as.csv": { - "defaultMessage": "Export leaderboard as CSV" + "defaultMessage": "Exportovat žebříček ve formátu CSV" }, "export.leaderboard.as.json": { - "defaultMessage": "Export leaderboard as JSON" + "defaultMessage": "Exportovat žebříček ve formátu JSON" }, "export.leaderboard.csv ": { - "defaultMessage": "Export leaderboard csv" + "defaultMessage": "Exportovat žebříček jako CSV" }, "external.url": { - "defaultMessage": "External URL" + "defaultMessage": "Externí URL" }, "facebook": { "defaultMessage": "Facebook" }, "favicon.helper.explainer": { - "defaultMessage": "Small icon that represents a website and is displayed in the browser tab" + "defaultMessage": "Malá ikona, která představuje webovou stránku a zobrazuje se na kartě prohlížeče" }, "favorites": { - "defaultMessage": "Favorites" + "defaultMessage": "Oblíbené" }, "feature": { - "defaultMessage": "Feature" + "defaultMessage": "Funkce" }, "field.is.invalid": { - "defaultMessage": "{field} is invalid" + "defaultMessage": "{field} je neplatný" }, "field.is.invalid.address": { - "defaultMessage": "{field} is invalid address" + "defaultMessage": "{field} je neplatná adresa" }, "field.is.required": { - "defaultMessage": "{field} is required" + "defaultMessage": "{field} je požadované" }, "filled": { - "defaultMessage": "Filled" + "defaultMessage": "Naplněno" }, "filter": { - "defaultMessage": "Filter" + "defaultMessage": "Filtr" }, "filter.by.data": { - "defaultMessage": "Filter by date" + "defaultMessage": "Filtrovat podle data" }, "filters": { - "defaultMessage": "Filters" + "defaultMessage": "Filtry" + }, + "filter.by": { + "defaultMessage": "Filtrovat podle {variable}" + }, + "filter.all": { + "defaultMessage": "Všechny" + }, + "filter.recent": { + "defaultMessage": "Nedávné (30 dní)" + }, + "filter.active": { + "defaultMessage": "Aktivní (7 dní)" + }, + "filter.popular": { + "defaultMessage": "Populární" }, "finish": { - "defaultMessage": "Finish" + "defaultMessage": "Dokončit" }, "font": { - "defaultMessage": "Font" + "defaultMessage": "Písmo" }, "footer.wizard.description": { - "defaultMessage": "Create and edit your app's footer" + "defaultMessage": "Vytvořte a upravte menu v zápatí" }, "forbidden": { - "defaultMessage": "Forbidden" + "defaultMessage": "Zakázaný" }, "form.created.successfully": { - "defaultMessage": "Fomr created successfully" + "defaultMessage": "Formulář byl úspěšně vytvořen" }, "form.deleted.successfully": { - "defaultMessage": "Form deleted successfully" + "defaultMessage": "Formulář byl úspěšně odstraněný" }, "form.name": { - "defaultMessage": "Form: {name}" + "defaultMessage": "Formulář: {name}" }, "form.preview": { - "defaultMessage": "Form Preview" + "defaultMessage": "Náhled formuláře" }, "form.updated": { - "defaultMessage": "Form updated" + "defaultMessage": "Formulář byl aktualizovaný" }, "formatted.decimal": { - "defaultMessage": "Formatted decimal" + "defaultMessage": "Naformátovaný decimal" }, "forms": { - "defaultMessage": "Forms" + "defaultMessage": "Formuláře" }, "front.image": { - "defaultMessage": "Front Image" + "defaultMessage": "Obrázek na popředí" }, "front.image.size": { - "defaultMessage": "Front image size" + "defaultMessage": "Velikost obrázku na popředí" }, "function.name": { - "defaultMessage": "Function name" + "defaultMessage": "Název funkce" }, "gated.conditions": { - "defaultMessage": "Gated conditions" + "defaultMessage": "Uzavřené podmínky" }, "general.information.description": { - "defaultMessage": "Input your app's general details" + "defaultMessage": "Zadejte obecné informace o aplikaci" }, "generating.image": { - "defaultMessage": "Generating Image..." + "defaultMessage": "Generování obrázku..." }, "height.for.desktop": { - "defaultMessage": "Height for desktop" + "defaultMessage": "Výška pro počítače" }, "height.for.mobile": { - "defaultMessage": "Height for mobile" + "defaultMessage": "Výška pro mobilní zařízení" }, "height.px": { - "defaultMessage": "Height (px)" + "defaultMessage": "Výška (px)" }, "hidden": { - "defaultMessage": "Hidden" + "defaultMessage": "Skryté" }, "hide.assets": { - "defaultMessage": "Hide Assets" + "defaultMessage": "Skrýt aktiva" }, "hide.collections.on.search": { - "defaultMessage": "Hide collections on search" + "defaultMessage": "Skrýt kolekce ve vyhledávání" }, "hide.drops": { - "defaultMessage": "Hide Drops" + "defaultMessage": "Skrýt dropy" }, "hide.filters": { - "defaultMessage": "Hide Filters" + "defaultMessage": "Skrýt filtry" }, "hide.form.info.tooltip": { - "defaultMessage": "Hide form info like: contract address, description and name from the section" + "defaultMessage": "Skrýt informace formuláře. Např.: Adresa kontraktu, popis a název sekce" }, "hide.header": { - "defaultMessage": "Hide Header" + "defaultMessage": "Skrýt záhlaví" }, "hide.header.form.info": { - "defaultMessage": "Hide header form info" + "defaultMessage": "Skrýt informace o formuláři záhlaví" }, "hide.inputs": { - "defaultMessage": "Hide inputs" + "defaultMessage": "Skrýt vstupy" }, "hide.label": { - "defaultMessage": "Hide label" + "defaultMessage": "Skrýt štítek" }, "hide.on.desktop": { - "defaultMessage": "Hide on desktop" + "defaultMessage": "Skrýt na počítači" }, "hide.on.mobile": { - "defaultMessage": "Hide on mobile" + "defaultMessage": "Skrýt na mobilním zařízení" }, "hide.powered.by.dexkit": { - "defaultMessage": "Hide Powered by DexKit" + "defaultMessage": "Odstranit používá technologii DexKit" }, "hide.tokens.on.search": { - "defaultMessage": "Hide tokens on search" + "defaultMessage": "Nezobrazovat tokeny ve vyhledávání" }, "hold.kit": { - "defaultMessage": "Hold KIT" + "defaultMessage": "Držet KIT" }, "holding.kit.info": { - "defaultMessage": "You need to hold 1000 KIT on one of supported networks (ETH, BSC and Polygon) to use this feature!" + "defaultMessage": "Pro aktivaci této funkce musíte mít minimálně 1000 tokenů KIT v peněžence na jedné z podporovaných sítí (ETH, BSC, nebo POLYGON)!" }, "image": { - "defaultMessage": "Image" + "defaultMessage": "Obrázek" }, "in.milliseconds": { - "defaultMessage": "In milliseconds" + "defaultMessage": "V milisekundách" }, "info.about.custom.section": { - "defaultMessage": "Instead of using pre-defined sections, you have the freedom to create a personalized section by effortlessly dragging and dropping functional blocks to design your ideal layout." + "defaultMessage": "Místo použití předdefinovaných sekcí můžete vytvořit vlastní sekce jednoduchým přetažením bloků." }, "info.alert.description.gated.form.modal": { - "defaultMessage": "As the owner of this private web page, please enter the specific conditions that users must meet to access your page. By defining these conditions, you ensure that only eligible users are granted access." + "defaultMessage": "Zadejte podmínky, které musí uživatelé splnit, aby dostali přístup na tuto stránku. Definováním těchto podmínek zajistíte přístup pouze uživatelům, kteří splní týto podmínky." }, "info.alert.title.filter.ranking.points": { - "defaultMessage": "Define and attribute points to each user event to build a ranking" + "defaultMessage": "Pro vytvoření hodnocení definujte a přiřaďte body pro každou aktivitu uživatele" }, "info.alert.title.gated.form.modal": { - "defaultMessage": "Define access conditions for your private page" + "defaultMessage": "Definujte podmínky pro získání přístupu na soukromou stránku" }, "info.color": { - "defaultMessage": "Info Color" + "defaultMessage": "Barva informace" }, "info.create.collection.page": { - "defaultMessage": "Create a collection of NFT's easily using our contract wizard. You now can use our generate AI feature to generate an image for your collection. Please note that you need to hold {holdAmount} KIT in one of our supported networks: BSC, Polygon or Ethereum (Max. 50 images per month). Fill description first and generate image. If you need support or a bigger plan for AI generation please reach us on our dedicated Discord channel or email info@dexkit.com!" + "defaultMessage": "Vytvořte snadno vlastní NFT kolekci prostřednictvím našeho průvodce. Nyný můžete využít funkci AI generátoru pro vytvoření obrázku Vaší kolekce. Nezapomeňte, že musíte vlastnit minimálně {holdAmount} tokenů KIT na jedné z podporovaných sítí (BSC, Polygon a nebo Ethereum). Můžete vygenerovat maximálně 50 obrázků za měsíc. Nejprve popište obrázek, který chcete vytvořit a následně jej vygenerujte. Pokud potřebujete podporu, nebo větší množství vygenerovaných obrázků, kontaktujte nás na našem Discordu a nebo emailem na info@dexkit.com" }, "info.quick.wizard.store.account": { - "defaultMessage": "Fill first your store account with the address from where you want to sell your NFTs." + "defaultMessage": "Nejprve vyplňte adresu svého účtu, kde chcete prodávat své NFTs." }, "input.type": { - "defaultMessage": "Input Type" + "defaultMessage": "Typ vstupu" }, "inputs": { - "defaultMessage": "Inputs" + "defaultMessage": "Vstupy" }, "insufficient.balance": { - "defaultMessage": "Insufficient balance" + "defaultMessage": "Nedostatečný zůstatek" }, "integrations": { - "defaultMessage": "Integrations" + "defaultMessage": "Integrace" }, "interval": { - "defaultMessage": "Interval" + "defaultMessage": "Proměřený" }, "invalid.address": { - "defaultMessage": "Invalid address" + "defaultMessage": "Neplatná adresa" }, "items.spacing": { - "defaultMessage": "Items spacing" + "defaultMessage": "Mezery položek" }, "kit.airdrop": { - "defaultMessage": "KIT Airdrop" + "defaultMessage": "KIT Rozdávání" }, "kit.claim.submitted": { - "defaultMessage": "KIT claim submitted" + "defaultMessage": "Žádost o získání odměn KIT odeslána" }, "label": { - "defaultMessage": "Label" + "defaultMessage": "Označení" }, "last.version.set": { - "defaultMessage": "Last version set" + "defaultMessage": "Poslední verze" }, "leaderboard": { - "defaultMessage": "Leaderboard" + "defaultMessage": "Žebříček" }, "leaderboard.preview": { - "defaultMessage": "Leaderboard preview" + "defaultMessage": "Náhled žebříčku" }, "left": { - "defaultMessage": "Left" + "defaultMessage": "V levo" }, "link": { - "defaultMessage": "Link" + "defaultMessage": "Odkaz" }, "linkedin.company": { - "defaultMessage": "Linkedin company" + "defaultMessage": "Linkedin" }, "listing.price.per.item": { - "defaultMessage": "Listing price per item" + "defaultMessage": "Prodejní cena za položku" }, "loading": { - "defaultMessage": "Loading" + "defaultMessage": "Načítání" }, "lock.inputs": { - "defaultMessage": "Lock inputs" + "defaultMessage": "Uzamknout vstupy" }, "logged": { - "defaultMessage": "Logged" + "defaultMessage": "Přihlášeno" }, "login": { - "defaultMessage": "Login" + "defaultMessage": "Přihlášení" }, "login.app": { - "defaultMessage": "Login app" + "defaultMessage": "Přihlášení do aplikace" }, "login.app.to.edit.your.user.profile.you.just.need.to.sign.a.message.with.your.wallet": { - "defaultMessage": "Login to app to edit your user profile. You just need to sign a message with your wallet" + "defaultMessage": "Pro upravení uživatelského profilu se přihlašte do aplikace podepsáním zprávy ve Vaší peněžence." }, "login.by.connect.wallet": { - "defaultMessage": "Login with your wallet. You will need to sign a message" + "defaultMessage": "Přihlašte do aplikace připojením peněženky a podepsáním zprávy." }, "logo.for.dark.mode": { - "defaultMessage": "Logo for dark mode" + "defaultMessage": "Logo pro tmavý motiv" }, "logo.for.light.mode": { - "defaultMessage": "Logo for light mode" + "defaultMessage": "Logo pro světlý motiv" }, "logo.on.desktop": { - "defaultMessage": "Logo on desktop" + "defaultMessage": "Logo na počítači" }, "logo.on.mobile": { - "defaultMessage": "Logo on mobile" + "defaultMessage": "Logo na mobilním zařízení" }, "made.with.love.by": { - "defaultMessage": "made with ❤️ by", + "defaultMessage": "Vytvořeno s ❤️ od", "description": "made with ❤️ by" }, "make.at.least.one.form.field.visible.to.see.a.preview": { - "defaultMessage": "Make at least one form field visible to see a preview" + "defaultMessage": "Chcete-li zobrazit náhled formuláře, zviditelněte minimálně jedno pole" }, "manage": { - "defaultMessage": "Manage" + "defaultMessage": "Spravovat" }, "manage.contract": { - "defaultMessage": "Manage Contract" + "defaultMessage": "Spravovat chytré kontrakty" }, "manage.networks.for.your.app": { - "defaultMessage": "Manage networks for your app" + "defaultMessage": "Spravovat sítě pro Vaši aplikaci" }, "markdown": { - "defaultMessage": "Markdown" + "defaultMessage": "Snížení" }, "marketplace.fees.menu.container": { - "defaultMessage": "Marketplace Fees" + "defaultMessage": "Poplatky NFT tržiště" }, "marketplace.fees.title": { - "defaultMessage": "Marketplace Fees" + "defaultMessage": "Poplatky NFT tržiště" }, "max.quantity": { - "defaultMessage": "Max quantity" + "defaultMessage": "Maximální množství" }, "max.supply": { - "defaultMessage": "Max Supply" + "defaultMessage": "Maximální zásoba" }, "member": { - "defaultMessage": "Member" + "defaultMessage": "Uživatel" }, "member.added": { - "defaultMessage": "Member added" + "defaultMessage": "Uživatel byl přidán" }, "member.permission": { - "defaultMessage": "Member permissions" + "defaultMessage": "Práva uživatele" }, "member.permissions.updated": { - "defaultMessage": "Member permissions updated" + "defaultMessage": "Práva uživatele byla aktualizovaná" }, "member.removed": { - "defaultMessage": "Member removed" + "defaultMessage": "Uživatel byl odstraněn" }, "metadata": { "defaultMessage": "Metadata" @@ -1373,1728 +1367,1749 @@ "defaultMessage": "Mint" }, "mint.free": { - "defaultMessage": "Mint (Free)" + "defaultMessage": "Mint (Zdarma)" }, "mint.nft": { - "defaultMessage": "Mint NFT" + "defaultMessage": "Vymintovat NFT" }, "mint.price.value": { - "defaultMessage": "Mint ({priceToMint})" + "defaultMessage": "Ražba ({priceToMint})" }, "mint.priceToMint": { - "defaultMessage": "Mint {priceToMint}" + "defaultMessage": "Ražba {priceToMint}" }, "mismatch.account.admin.view": { - "defaultMessage": "You are connected to {account} but logged as {loggedAccount}. If you want to see apps associated with current connected account, click on" + "defaultMessage": "Jste připojeni k účtu {account}, ale přihlášeni jako {loggedAccount}. Pokud chcete zobrazit aplikace spojené s aktuálně připojeným účtem, klikněte na" }, "must.have": { - "defaultMessage": "Must have" + "defaultMessage": "Musíte mít" }, "my.collections": { - "defaultMessage": "My Collections" + "defaultMessage": "Moje kolekce" }, "my.contracts": { - "defaultMessage": "My contracts" + "defaultMessage": "Moje chytré kontrakty" }, "my.nfts": { - "defaultMessage": "My NFTs" + "defaultMessage": "Moje NFTs" }, "my.wallet": { - "defaultMessage": "My Wallet" + "defaultMessage": "Moje peněženka" }, "name.of.your.app": { - "defaultMessage": "Name of your app" + "defaultMessage": "Název Vaší aplikace" }, "navbar": { - "defaultMessage": "Navbar" + "defaultMessage": "Navigace" }, "navbar.wizard.description": { - "defaultMessage": "Organize your app navbar. You can edit menus and searchbar" + "defaultMessage": "Upravte si navigaci aplikace. Můžete upravovat nabídky a vyhledávací panel" }, "network": { - "defaultMessage": "Network" + "defaultMessage": "Síť" }, "network.info": { - "defaultMessage": "Network info" + "defaultMessage": "Informace o síti" }, "network.swap.options.info": { - "defaultMessage": "Choose the default tokens and slippage for each network." + "defaultMessage": "Vyberte výchozí tokeny a míru proklouznutí pro každou síť." }, "network.switched": { - "defaultMessage": "Network changed" + "defaultMessage": "Síť byla změněná" }, "new.ai.features": { - "defaultMessage": "New AI Features" + "defaultMessage": "Nové AI funkce" }, "nft": { "defaultMessage": "NFT" }, "nft.amount.of.tokenId.is.selected.to.stake": { - "defaultMessage": "{amount} of \"#{tokenId}\" is selected to stake" + "defaultMessage": "{amount} z \"#{tokenId}\" je vybráno ke stakování" }, "nft.attributes": { - "defaultMessage": "NFT attributes" + "defaultMessage": "Atributy NFT" }, "nft.collection.airdrop": { - "defaultMessage": "NFT Collection Airdrop" + "defaultMessage": "Airdrop NFT kolekce" }, "nft.created": { - "defaultMessage": "NFT created" + "defaultMessage": "NFT vytvořeno" }, "nft.description": { - "defaultMessage": "NFT description" + "defaultMessage": "Popis NFT" }, "nft.detail": { - "defaultMessage": "NFT detail" + "defaultMessage": "Detaily NFT" }, "nft.drop": { - "defaultMessage": "NFT Drop" + "defaultMessage": "NFT Rozdávání" }, "nft.edition.airdrop": { - "defaultMessage": "NFT Edition Airdrop" + "defaultMessage": "Airdrop NFT edice" }, "nft.metadata": { "defaultMessage": "NFT metadata" }, "nft.name": { - "defaultMessage": "NFT name" + "defaultMessage": "Název NFT" }, "nft.store": { - "defaultMessage": "NFT store" + "defaultMessage": "NFT tržiště" }, "nft.store.quick.builder": { - "defaultMessage": "NFT store quick builder" + "defaultMessage": "Rychlé vytvoření NFT tržiště" }, "nfts.created.close.modal": { - "defaultMessage": "NFT created! Close modal" + "defaultMessage": "NFT bylo vytvořeno! Zavřít okno" }, "nfts.staked": { - "defaultMessage": "NFTs staked" + "defaultMessage": "NFTs jsou stakované" }, "no.app.leaderboards": { - "defaultMessage": "No app leaderboards" + "defaultMessage": "Žádný žebříček aplikace" }, "no.app.versions": { - "defaultMessage": "No app versions" + "defaultMessage": "Žádné verze aplikace" }, "no.apps": { - "defaultMessage": "No Apps" + "defaultMessage": "Žádné aplikace" }, "no.collections": { - "defaultMessage": "No collections" + "defaultMessage": "Žádné kolekce" }, "no.contracts.found": { - "defaultMessage": "No contracts found" + "defaultMessage": "Chytré kontrakty nebyly nalezeny" }, "no.description": { - "defaultMessage": "no description" + "defaultMessage": "Žádný popis" }, "no.forms.yet": { - "defaultMessage": "No forms yet" + "defaultMessage": "Žádné formuláře" }, "no.networks": { - "defaultMessage": "No networks" + "defaultMessage": "Žádné sítě" }, "no.networks.are.available": { - "defaultMessage": "No networks are available" + "defaultMessage": "Žádné sítě nejsou k dispozici" }, "no.nfts": { - "defaultMessage": "No NFTs" + "defaultMessage": "Žádné NFTs" }, "no.page.templates": { - "defaultMessage": "No page templates" + "defaultMessage": "Žádné šablony stránky" }, "no.results": { - "defaultMessage": "No results", + "defaultMessage": "Žádné výsledky", "description": "No Available offers message" }, "no.selected.networks": { - "defaultMessage": "No selected networks" + "defaultMessage": "Nebyly vybrány žádné sítě" }, "no.team.members": { - "defaultMessage": "No team members" + "defaultMessage": "Žádní členové týmu" }, "no.templates.found.for.this.usecase": { - "defaultMessage": "No templates found for this usecase" + "defaultMessage": "Pro tento účel nebyly nalezeny žádné šablony" }, "no.usage": { - "defaultMessage": "No usage" + "defaultMessage": "Žádné využití" }, "no.user.with.this.name": { - "defaultMessage": "No user with this name" + "defaultMessage": "Uživatel s tímto jménem neexistuje" }, "no.wallet.connected": { - "defaultMessage": "No Wallet connected" + "defaultMessage": "Není připojena žádná peněženka" }, "not.available": { - "defaultMessage": "Not available" + "defaultMessage": "Není k dispozici" }, "not.enough.kit": { - "defaultMessage": "Not enough KIT" + "defaultMessage": "Nedostatek KIT tokenů" }, "notification.email": { - "defaultMessage": "Notification email" + "defaultMessage": "Notifikační e-mail" }, "numerator": { - "defaultMessage": "Rewards per Unit Time" + "defaultMessage": "Odměny za čas" }, "offchain.events": { - "defaultMessage": "Offchain events" + "defaultMessage": "Události mimo blockchain" }, "onboarding.builder.collections": { - "defaultMessage": "Add your highlighted collections to appear on your app's collection page and NFT sections. By featuring collections, you can draw attention to specific NFTs and increase the visibility and sales of these items. This can help promote your app and generate revenue for your business." + "defaultMessage": "" }, "onboarding.builder.domain": { - "defaultMessage": "Deploy your app on your own domain to make it accessible to a wider audience. To do so, you'll need to configure your domain settings and follow our step-by-step guide to ensure a smooth deployment process. Once complete, your app will be up and running on your very own domain!" + "defaultMessage": "Přidejte své oblíbené NFT kolekce na stránku kolekcí ve vaší aplikaci." }, "onboarding.builder.footer.menu": { - "defaultMessage": "Customize your app's footer to provide additional information and improve navigation for your users. You can use page links to direct users to specific pages within your app, or external links to connect users to related resources or information outside of your app. By customizing your footer, you can create a more complete and user-friendly experience for your audience." + "defaultMessage": "Přizpůsobte si zápatí Vaší aplikace a přidejte další informace, aby jste zlepšili navigaci pro vaše uživatele. Můžete použít odkazy na specifické stránky ve vaší aplikaci a nebo externí odkazy. Přizpůsobením zápatí můžete pro své uživatele vytvořit kompletnější a přívětivější prostředí." }, "onboarding.builder.general": { - "defaultMessage": "Customize your app by editing its name and logos, as well as defining your default currency and language. These settings not only help make your app unique, but also ensure a seamless user experience for your audience." + "defaultMessage": "Upravte název a logo Vaší aplikace a definujte její výchozí měnu i jazyk. Tato nastavení udělají Vaši aplikaci originální a vytvoříte dojem na její uživatele." }, "onboarding.builder.marketplace.fees": { - "defaultMessage": "Set your marketplace fees that will be added on top of NFT sales or offers. By setting fees, you can earn a commission on each sale made on your app's marketplace. This can help generate revenue and sustain the growth and development of your app over time." + "defaultMessage": "Nastavte poplatky vašeho tržiště, které budou přidané k prodejům a nabídkám NFT. Nastavením poplatků získáte provizi z každého prodeje, který bude provedený prostřednictvím Vaší aplikace." }, "onboarding.builder.menu": { - "defaultMessage": "Customize your app's navbar menu links to improve navigation and highlight key features of your app. You can use page links to direct users to specific pages within your app, or external links to connect users to related resources or information outside of your app. By customizing your navbar menu links, you can create a more intuitive and user-friendly experience for your audience" + "defaultMessage": "Přizpůsobte navigaci Vaší aplikace. Můžete použít odkazy na konkrétní stránky v aplikaci a nebo externí odkazy. Přizpůsobením navigace vytvoříte intuitivnější a uživatelsky přívětivější prostředí." }, "onboarding.builder.menu.kits": { - "defaultMessage": "Use our KITs to filter tools based on your needs. Choose from ALL to see all available tools, NFT to see non-fungible token-related tools, or Swap to see tools related to swapping. With our KITs, you have the flexibility to customize your app-building experience to your preferences." + "defaultMessage": "Použijte naše přednastavené balíčky funkcí přizbůsobené Vašim potřebám. Vyberte si ze všech dostupných funkcí a nástrojů. S přednastavenými balíčky máte možnost vytvořit aplikaci podle svých preferencí." }, "onboarding.builder.ownership": { - "defaultMessage": "Get ownership of your app content by creating a non-fungible token (NFT) associated with your app. An NFT is a unique digital asset that represents ownership of a specific piece of content, such as your app. By creating an NFT for your app, you can establish its uniqueness and ownership, helping to protect your intellectual property and increase its value." + "defaultMessage": "Vytvořte NFT, které bude reprezentovat vlasnictví Vaší aplikace. Vytvořením NFT pro vaši aplikaci můžete jednoduše prokázat její vlastnictví a také chránit vaše autorské práva." }, "onboarding.builder.pages": { - "defaultMessage": "Build pages using our Web3 KITs, which provide you with pre-built templates and components for creating swap interfaces, NFT marketplaces, NFT stores, or even generic pages. With our KITs, you can easily customize your pages and create a unique user experience that aligns with your app's goals and objectives." + "defaultMessage": "Vytvořte stránky pomocí našich Web3 balíčků, které obsahují předem vytvořené šablony a komponenty pro vytvoření SWAPU, NFT tržišť a nebo generických stránek." }, "onboarding.builder.preview.app.button": { - "defaultMessage": "Preview your app in a modal right after saving your changes. This allows you to see your updates in real time and make any necessary adjustments before publishing your app." + "defaultMessage": "Po uložení změn máte k dispozici náhled aplikace ve vyskakovacím okně. Díky tomu můžete vidět aktualizace v reálném čase a provést případné úpravy před zveřejněním aplikace." }, "onboarding.builder.preview.app.link": { - "defaultMessage": "Preview your app on the associated DexKit domain, which can be used for both testing and production. This provides you with a unique URL where you can view your app in a web browser and share it with others for feedback or to showcase your finished product. It's a great way to see how your app looks and functions in a real-world environment." + "defaultMessage": "Prohlédněte si svou aplikaci v přidělené DexKit doméně, kterou lze použít pro testování i produkci. Získáte unikátní URL adresu, na které si můžete prohlížet svou aplikaci a sdílet ji s ostatními pro zpětnou vazbu nebo ji používat pro svůj hotový produkt." }, "onboarding.builder.seo": { - "defaultMessage": "Customize the SEO fields for each page to improve your app's visibility and search engine rankings. By optimizing fields such as page titles, and descriptions, you can help search engines understand the content of your pages and rank them higher in search results. By customizing your SEO fields, you can attract more traffic to your app and increase your chances of success" + "defaultMessage": "Upravte SEO nastavení pro každou stránku, aby jste zlepšíli viditelnost aplikace a získali lepší pozice ve vyhledávačích. Optimalizací názvů stránek a jejich popisů můžete pomoci vyhledávačům porozumět obsahu vašich stránek." }, "onboarding.builder.social.media": { - "defaultMessage": "Set up your social media profiles for your app to increase its visibility and connect with your audience. By creating a strong social media presence, you can promote your app, build a community around it, and receive valuable feedback from your users." + "defaultMessage": "Nastavte profily sociálních sítí pro Vaši aplikaci, aby jste zvýšili její viditelnost a spojili se se svým publikem. Vytvořením silné prezentace na sociálních sítích můžete propagovat svou aplikaci, vybudovat kolem ní komunitu a získat cennou zpětnou vazbu od svých uživatelů." }, "onboarding.builder.swap.fees": { - "defaultMessage": "Set your swap fees that will be added on top of swap trades. By setting fees, you can earn a commission on each swap trade made on your app's interface. This can help generate revenue and sustain the growth and development of your app over time" + "defaultMessage": "Nastavte poplatky SWAPU, které budou přidané ke každé transakci. Nastavením poplatků získáte provizi za každý uskutečněný obchod prostřednictvím Vaší aplikace." }, "onboarding.builder.theme": { - "defaultMessage": "Select your global theme and font for your app to ensure a consistent and visually appealing experience for your users. By choosing a theme and font that aligns with your brand identity, you can create a cohesive look and feel that strengthens your brand recognition and credibility." + "defaultMessage": "Zvolte motiv a písmo pro Vaši aplikaci, aby jste uživatelům zajistili vizuálně příjemný zážitek. Výběrem motivu a písma, které jsou v souladu s Vaším brandingem můžete vytvořit soudržný vzhled a dojem, který posílí důvěryhodnost vaší značky." }, "onboarding.builder.tokens": { - "defaultMessage": "Add tokens to be featured on your app's swap component. By featuring tokens, you can draw attention to specific tokens and increase their visibility and trading volume. This can help promote your app and generate revenue for your business." + "defaultMessage": "Přidejte tokeny, které se budou zobrazovat ve Vaší aplikaci SWAPU. Přidáním tokenů do aplikace můžete zacílit aplikaci na konkrétní token(y) a zvýšit jejich objem obchodování. " }, "onboarding.welcome.dexappbuilder": { - "defaultMessage": "'Welcome to DexAppBuilder, the powerful tool that makes it easy to build and edit your own app! With our intuitive interface and robust feature set, you'll be up and running in no time. Whether you're a seasoned developer or just starting out, our comprehensive documentation and dedicated support team are here to help you every step of the way. So let's get started and see all that DexAppBuilder has to offer!" + "defaultMessage": "Vítejte v DexAppBuilderu, výkonném nástroji, který usnadňuje tvorbu a správu Vašich vlastních aplikací. Intutivní rozhrání a velká sada funkcí a nástrojů Vám umožní spustit Vaši vlastní aplikaci během pár vteřin. Ať už jste začátečník, nebo zkušený vývojář, naše kompletní dokumentace a specializovaný tým podpory Vám se vším pomůžou. Pojďme na to!" }, "onchain.events": { - "defaultMessage": "Onchain events" + "defaultMessage": "Události na blockchainu" }, "only.visible": { - "defaultMessage": "Only visible" + "defaultMessage": "Pouze viditelné" }, "oop.page.not.found": { - "defaultMessage": "Oops, page not found" + "defaultMessage": "Jejda, stránka nebyla nenalezena" }, "open.file": { - "defaultMessage": "Open file" + "defaultMessage": "Otevřít soubor" }, "open.in.new.page": { - "defaultMessage": "Open in new page" + "defaultMessage": "Otevřít na nové stránce" }, "open.url": { - "defaultMessage": "Open url" + "defaultMessage": "Otevřít URL" }, "order.type": { - "defaultMessage": "Order type" + "defaultMessage": "Typ nabídky" }, "orders": { - "defaultMessage": "Orders" + "defaultMessage": "Nabídky" }, "output": { - "defaultMessage": "Output" + "defaultMessage": "Výstup" }, "output.type": { - "defaultMessage": "Output Type" + "defaultMessage": "Typ výstupu" }, "overlay.color": { - "defaultMessage": "Overlay color" + "defaultMessage": "Barva překrytí" }, "owner": { - "defaultMessage": "Owner" + "defaultMessage": "Vlastník" }, "ownership": { - "defaultMessage": "Ownership" + "defaultMessage": "Vlastnictví" }, "ownership.explainer": { - "defaultMessage": "This NFT represents app ownership and editing rights. You can sell or transfer your app ownership through this NFT, hosted on Polygon. Who owns this NFT can edit it." + "defaultMessage": "Toto NFT představuje vlastnictví aplikace. Prostřednictvím tohoto NFT na síti Polygon můžete převést vlastnictví své aplikace na jiného majitele. Kdo vlastní toto NFT, vlastní tuto aplikaci." }, "ownership.nft.info": { - "defaultMessage": "To access this feature, simply hold 1000 KIT tokens on one of our supported networks: ETH, BSC, or Polygon. Note: NFT-associated apps are not clonable." + "defaultMessage": "Pro přístup k této funkci musíte vlastnit minimálně 1000 KIT tokenů na jedné z podporovaných sítí (ETH, BSC nebo Polygon). Poznámka: Aplikace vlastněné prostřednictvím NFT nelze klonovat." }, "ownership.settings.description": { - "defaultMessage": "Associate an NFT with your app for ownership control and update site metadata for marketing" + "defaultMessage": "Přidružte NFT ke své aplikaci pro její vlastnictví a aktualizace." }, "padding.bottom": { - "defaultMessage": "Padding bottom" + "defaultMessage": "Padding spodní okraj" }, "padding.top": { - "defaultMessage": "Padding top" + "defaultMessage": "Padding horní okraj" }, "page.template": { - "defaultMessage": "Page Template" + "defaultMessage": "Šablona stránky" }, "pages.wizard.description": { - "defaultMessage": "Create and manage your app's pages" + "defaultMessage": "Vytvářejte a spravujte stránky Vaší aplikace" }, "paper.color": { - "defaultMessage": "Paper Color" + "defaultMessage": "Barva karty" }, "paste": { - "defaultMessage": "Paste" + "defaultMessage": "Vložit" }, "pay.amount.symbol": { - "defaultMessage": "Pay {amount} {tokenSymbol}" + "defaultMessage": "Zaplatit {amount} {tokenSymbol}" }, "payment.confirmed": { - "defaultMessage": "Payment expired" + "defaultMessage": "Platba byla potvrzena" }, "payment.pending": { - "defaultMessage": "Payment Pending" + "defaultMessage": "Čekání na platbu" }, "payments": { - "defaultMessage": "Payments" + "defaultMessage": "Platby" }, "per.wallet": { - "defaultMessage": "per wallet" + "defaultMessage": "Na peněženku" }, "phases": { - "defaultMessage": "Phases" + "defaultMessage": "Fáze" }, "plan.details": { - "defaultMessage": "Plan details" + "defaultMessage": "Podrobnosti plánu" }, "please.confirm.the.transaction.in.your.wallet.and.wait.for.confirmation": { - "defaultMessage": "Please, confirm the transaction in your wallet and wait for confirmation" + "defaultMessage": "Potvrďte prosím transakci ve své peněžence a počkejte" }, "please.connect.your.wallet.to.see.balance": { - "defaultMessage": "Please, connect your wallet to see your balance" + "defaultMessage": "Chcete-li zobrazit zůstatek, připojte peněženku" }, "please.create.a.form.to.start.using.it.here": { - "defaultMessage": "Please, create a form to start using it here" + "defaultMessage": "Nejprve vytvořte formulář" }, "please.create.a.leaderboard.to.start.using.it.here": { - "defaultMessage": "Please, create a leaderboard to start using it here" + "defaultMessage": "Nejprve vytvořte žebříček" }, "points": { - "defaultMessage": "Points" + "defaultMessage": "Body" }, "powered.by.dexkit.info": { - "defaultMessage": "To remove the \"Powered by DexKit\" branding, click \"Create NFT\" to associate an NFT with your app." + "defaultMessage": "Pro odstranění značky DexKit v zápatí klikněte na vytvořit NFT a přířaďte ho k Vaší aplikaci." }, "preview.app": { - "defaultMessage": "Preview App" + "defaultMessage": "Náhled aplikace" }, "preview.app.leaderboard": { - "defaultMessage": "Preview app leaderboard" + "defaultMessage": "Náhled žebříčku aplikace" }, "preview.app.version": { - "defaultMessage": "Preview app version" + "defaultMessage": "Náhled verze aplikace" }, "preview.section": { - "defaultMessage": "Preview section" + "defaultMessage": "Náhled sekce" }, "price.in.next.phase": { - "defaultMessage": "Price in next phase" + "defaultMessage": "Cena v další fázi" }, "price.per.item": { - "defaultMessage": "Price per item", + "defaultMessage": "Cena za položku", "description": "Price label per item" }, "primary.color": { - "defaultMessage": "Primary color" + "defaultMessage": "Primární barva" }, "profile.image": { - "defaultMessage": "Profile Image" + "defaultMessage": "Profilová fotka" }, "profileImage": { - "defaultMessage": "Profile Image" + "defaultMessage": "Profilová fotka" }, "published.by.publisher": { - "defaultMessage": "Published by: {publisher}" + "defaultMessage": "Zveřejnil: {publisher}" }, "quantity": { - "defaultMessage": "Quantity" + "defaultMessage": "Množství" }, "quick.exchange.builder": { - "defaultMessage": "Quick Exchange Builder" + "defaultMessage": "Nástroj pro Rychlou tvorbu aplikace směnárny" }, "quick.exchange.builder.description": { - "defaultMessage": "Elevate your cryptocurrency trading game with our Quick Builder for exchanges. Effortlessly create your exchange platform, tailor it to your needs, and embark on a journey of financial innovation. Explore the possibilities and redefine the way you build exchanges." + "defaultMessage": "Rychle a bez námahy vytvořte svou platformu pro směnu kryptoměn a přizpůsobte ji svým potřebám." }, "quick.nft.store.builder": { - "defaultMessage": "Quick NFT store builder" + "defaultMessage": "Nástroj pro Rychlou tvorbu NFT tržiště" }, "quick.store.builder.title": { - "defaultMessage": "Create a NFT store app in seconds using our quick app builder" + "defaultMessage": "Vytvořte si vlastní NFT tržiště během několika sekund pomocí našeho nástroje pro tvorbu aplikací" }, "quick.swap.builder": { - "defaultMessage": "Quick swap builder" + "defaultMessage": "Nástroj pro tvorbu aplikace SWAPU" }, "quick.swap.builder.description": { - "defaultMessage": "Create a crypto wallet for your token. You can configure it to match the brand of your project" + "defaultMessage": "Vytvořte kryptopeněženku pro svůj token. Můžete ji nakonfigurovat tak, aby odpovídala Vašemu brandingu." }, "quick.swap.builder.title": { - "defaultMessage": "Create a crypto aggregator app in seconds using our quick app builder" + "defaultMessage": "Vytvořte vlastní krypto agregátor během několika sekund pomocí našeho nástroje pro tvorbu aplikací" }, "quick.swap.wizard.description": { - "defaultMessage": "Create a NFT store for your account. Share your store to users easily buy the offers you post. A dedicated store to show your NFTs" + "defaultMessage": "Vytvořte NFT tržiště pro Váš účet a sdílejte ho s uživateli, kteří mohou snadno koupit Vaše NFTs." }, "quick.wallet.builder.title": { - "defaultMessage": "Create a crypto wallet in seconds using our quick app builder" + "defaultMessage": "Vytvořte si kryptopeněženku během několika sekund pomocí našeho nástroje pro tvorbu aplikací" }, "quick.waççet.builder": { - "defaultMessage": "Quick wallet builder" + "defaultMessage": "Nástroj pro tvorbu krypto peněženky" }, "quick.wizard.nft.store.welcome.index.message": { - "defaultMessage": "Welcome to DexAppBuilder! Here you can quick start your NFT store. If you need support please reach us on our dedicated Discord channel. Please check our docs for whitelabels. Reach us at our email info@dexkit.com if you need a custom solution that the wizard not attend." + "defaultMessage": "Vítejte v DexAppBuilderu! Tady můžete jednoduše a rychle vytvořit vlastní NFT tržiště. Pokud potřebujete funkce, které nejsou součástí DexAppBuilderu, kontaktujte nás emailem na info@dextrit.com!" }, "quick.wizard.swap.welcome.index.message": { - "defaultMessage": "Welcome to DexAppBuilder! Here you can quick start your crypto aggregator If you need support please reach us on our dedicated Discord channel. Please check our docs for whitelabels. Reach us at our email info@dexkit.com if you need a custom solution that the wizard not attend." + "defaultMessage": "Vítejte v DexAppBuilderu! Tady můžete jednoduše a rychle vytvořit vlastní SWAP kryptoměn. Pokud potřebujete funkce, které nejsou součástí DexAppBuilderu, kontaktujte nás emailem na info@dextrit.com" }, "quick.wizard.wallet.welcome.index.message": { - "defaultMessage": "Welcome to DexAppBuilder! Here you can quick start your wallet. If you need support please reach us on our dedicated Discord channel. Please check our docs for whitelabels. Reach us at our email info@dexkit.com if you need a custom solution that the wizard not attend." + "defaultMessage": "Vítejte v DexAppBuilderu! Tady můžete jednoduše a rychle vytvořit vlastní kryptopeněženku. Pokud potřebujete funkce, které nejsou součástí DexAppBuilderu, kontaktujte nás emailem na info@dextrit.com" }, "ranking.added": { - "defaultMessage": "Ranking added" + "defaultMessage": "Žebříček byl přidaný" }, "ranking.created": { - "defaultMessage": "Ranking created" + "defaultMessage": "Žebříček byl vytvořený" }, "read": { - "defaultMessage": "Read" + "defaultMessage": "Přečíst" }, "receive": { - "defaultMessage": "Receive" + "defaultMessage": "Obdržet" }, "reddit": { "defaultMessage": "Reddit" }, "ref.period": { - "defaultMessage": "Ref. period" + "defaultMessage": "Ref. doba" }, "remove.account.from.user": { - "defaultMessage": "Remove account from user" + "defaultMessage": "Odstranit účet od uživatele" }, "remove.condition": { - "defaultMessage": "Remove condition" + "defaultMessage": "Odstranit podmínku" }, "remove.member": { - "defaultMessage": "Remove member" + "defaultMessage": "Odstranit člena" }, "required.field": { - "defaultMessage": "required field" + "defaultMessage": "Povinné pole" }, "reset": { - "defaultMessage": "Reset" + "defaultMessage": "Restartovat" }, "reward.per.time.unit": { - "defaultMessage": "Reward per time Unit" + "defaultMessage": "Odměna za jednotku času" }, "reward.per.unit.time": { - "defaultMessage": "Reward per Unit Time" + "defaultMessage": "Odměna za jednotku času" }, "reward.ratio": { - "defaultMessage": "Reward Ratio" + "defaultMessage": "Poměr odměn" }, "reward.time": { - "defaultMessage": "Reward time" + "defaultMessage": "Čas odměny" }, "rewards": { - "defaultMessage": "Rewards" + "defaultMessage": "Odměny" }, "rewards.second": { - "defaultMessage": "Rewards/second" + "defaultMessage": "Odměny/sekundu" }, "right": { - "defaultMessage": "Right" + "defaultMessage": "V pravo" }, "rule.index.value": { - "defaultMessage": "Rule {index}" + "defaultMessage": "Pravidlo {index}" }, "rules": { - "defaultMessage": "Rules" + "defaultMessage": "Pravidla" }, "save.payment": { - "defaultMessage": "Save payment" + "defaultMessage": "Uložit platbu" }, "save.your.row.changes.before.confirm": { - "defaultMessage": "Save your row changes before confirm" + "defaultMessage": "Před potvrzením uložte změny" }, "saved.successfully": { - "defaultMessage": "Saved successfully" + "defaultMessage": "Úspěšně uloženo" }, "scan": { - "defaultMessage": "Scan" + "defaultMessage": "Sken" }, "scan.code": { - "defaultMessage": "Scan code", + "defaultMessage": "Naskenovat kód", "description": "Select currency" }, "scan.using.crypto.mobile.app": { - "defaultMessage": "Scan QR code using crypto mobile app like Metamask or Trust" + "defaultMessage": "Naskenujte QR kód pomocí aplikace kryptopeněženky, jako je Metamask nebo Trust Wallet" }, "search.default.base.token": { - "defaultMessage": "Search default base token" + "defaultMessage": "Vyhledat výchozí token" + }, + "search.sites": { + "defaultMessage": "Hledat weby..." }, "search.default.input.token": { - "defaultMessage": "Search default input token" + "defaultMessage": "Vyhledat výchozí vstupní token" }, "search.default.output.token": { - "defaultMessage": "Search default output token" + "defaultMessage": "Vyhledat výchozí výstupní token" }, "search.for.a.contract": { - "defaultMessage": "Search for a contract" + "defaultMessage": "Vyhledat adresu chytrého kontraktu" }, "search.in.collection": { - "defaultMessage": "Search in collection" + "defaultMessage": "Vyhledat v kolekci" }, "search.in.store": { - "defaultMessage": "Search in store" + "defaultMessage": "Vyhledat v obchodě" }, "search.not.returned.results": { - "defaultMessage": "Search not returned results. Try other search words." + "defaultMessage": "Nebyly nalezeny žádné výsledky." }, "search.token": { - "defaultMessage": "Search token" + "defaultMessage": "Vyhledat token" }, "search.token.in": { - "defaultMessage": "Search token in" + "defaultMessage": "Hledat token v" }, "search.token.out": { - "defaultMessage": "Search token out" + "defaultMessage": "Vyhledat token" }, "searchbar": { - "defaultMessage": "Searchbar" + "defaultMessage": "Vyhledávání" }, "secondary.color": { - "defaultMessage": "Secondary color" + "defaultMessage": "Sekundární barva" }, "section.addItemsPrompt": { - "defaultMessage": "Please add items to the section below." + "defaultMessage": "Přidejte položky do sekce níže." }, "select.a.edition": { - "defaultMessage": "Select a edition" + "defaultMessage": "Vyberte vydání" }, "select.a.token.for.your.airdrop": { - "defaultMessage": "Select a token for your airdrop" + "defaultMessage": "Vyberte token pro Váš Airdrop" }, "select.a.token.to.pay": { - "defaultMessage": "Select a token to pay" + "defaultMessage": "Vyberte token, kterým chcete zaplatit" }, "select.an.nft": { - "defaultMessage": "Select an NFT" + "defaultMessage": "Vyberte NFT" }, "select.collection": { - "defaultMessage": "Select collection" + "defaultMessage": "Vyberte kolekci" }, "select.collections.to.display.in.your.app": { - "defaultMessage": "Select collections to display in your app" + "defaultMessage": "Vyberte kolekce, které chcete zobrazit ve Vaší aplikaci" }, "select.nfts": { - "defaultMessage": "Select NFTs" + "defaultMessage": "Vyberte NFTs" }, "select.nfts.to.unstake": { - "defaultMessage": "Select NFTs to unstake" + "defaultMessage": "Vyberte NFTs, které chcete odstakovat" }, "select.or.import.nft": { - "defaultMessage": "Select or import a NFT to create an order" + "defaultMessage": "Pro vytvoření objednávky vyberte, nebo importujte NFT" }, "select.or.import.tokens.for.your.app": { - "defaultMessage": "Select or import tokens for your app" + "defaultMessage": "Vyberte, nebo importujte tokeny pro Vaši aplikaci" }, "select.page": { - "defaultMessage": "Select page" + "defaultMessage": "Vybrat stránku" }, "select.plan": { - "defaultMessage": "Select Plan" + "defaultMessage": "Vybrat plán" }, "select.recipients": { - "defaultMessage": "Select" + "defaultMessage": "Vybrat" }, "select.type": { - "defaultMessage": "All" + "defaultMessage": "Všechny" }, "selected.addresses.amount": { - "defaultMessage": "Selected addresses: {amount}" + "defaultMessage": "Vybrané adresy: {amount}" }, "sell.token.page": { - "defaultMessage": "Sell token page" + "defaultMessage": "Stránka prodeje tokenu" }, "send": { - "defaultMessage": "Send" + "defaultMessage": "Odeslat" }, "sending.airdrop.to.your.wallet": { - "defaultMessage": "Sending airdrop to your wallet" + "defaultMessage": "Odesílání airdropu do vaší peněženky" }, "sending.app.settings": { - "defaultMessage": "Sending app settings" + "defaultMessage": "Odesílání nastavení aplikace" }, "sending.user.profile.data": { - "defaultMessage": "Complete profile data" + "defaultMessage": "Doplňte informace profilu" }, "sent.successfully.be.aware.info": { - "defaultMessage": "Sent successfully. Be aware that it takes several minutes to update and reflect on the live site." + "defaultMessage": "Aktualizace byla odeslaná. Berte prosím na vědomí, že aktualizace se projeví až během několika minut." }, "seo.wizard.description": { - "defaultMessage": "Configure your app's SEO" + "defaultMessage": "Nastavte SEO Vaší aplikace" }, "set.api.key": { - "defaultMessage": "Set api key" + "defaultMessage": "Nastavte API klíč" }, "set.app.to.this.version": { - "defaultMessage": "Set app to this version" + "defaultMessage": "Nastavte aplikaci na tuto verzi" }, "set.claim.conditions.to.enable.drop.info": { - "defaultMessage": "Set claim conditions to enable the drop. You can edit anytime the claim conditions." + "defaultMessage": "Nastavte podmínky aidropu pro jeho aktivaci. Podmínky můžete kdykoliv upravit." }, "set.custom.domain.container.description": { - "defaultMessage": "Set a custom domain for your app" + "defaultMessage": "Nastavte vlastní doménu Vaší aplikace" }, "set.integrations.settings.for.your.app": { - "defaultMessage": "Integration settings for your app." + "defaultMessage": "Nastavení integrace pro Vaši aplikaci." }, "set.up": { - "defaultMessage": "Set up" + "defaultMessage": "Nastavit" }, "settings.to.configure.store": { - "defaultMessage": "Settings to configure your NFT Store" + "defaultMessage": "Nastavení pro konfiguraci vašeho NFT tržiště" }, "setup.your.zrx.configure.0x.text": { - "defaultMessage": "Setup your 0x API key for access to our services." + "defaultMessage": "Použijte Váš 0x API klíč pro přístup k těmto službám." }, "short.description": { - "defaultMessage": "Short description" + "defaultMessage": "Stručný popis" }, "shortbio": { - "defaultMessage": "Short Bio" + "defaultMessage": "Stručné BIO" }, "show": { - "defaultMessage": "Show" + "defaultMessage": "Zobrazit" }, "show.all": { - "defaultMessage": "Show all" + "defaultMessage": "Zobrazit všechny" }, "show.token.details": { - "defaultMessage": "Show token details" + "defaultMessage": "Zobrazit detaily tokenu" }, "showcase": { - "defaultMessage": "Showcase Gallery" + "defaultMessage": "Prezentace galerie" }, "site.email.not.verified.on.admin.message": { - "defaultMessage": "Your app email is not verified. Please verify it using the verification email we sent. If you haven't received the email or need it sent again, request a confirmation email here" + "defaultMessage": "Zadaný e-mail není oveřený. Ověřte jej pomocí ověřovacího e-mailu, který jsme Vám zaslali. Pokud jste e-mail neobdrželi, nebo ho potřebujete poslat znova, klikněte zde." }, "site.list": { - "defaultMessage": "Site list" + "defaultMessage": "Seznam stránek" }, "site.list.description": { - "defaultMessage": "Start your own site/marketplace/app in seconds. Here you can view and be inspired by other community apps. Start now being a crypto enterpreneur" + "defaultMessage": "Spusťe vlastní krypto web, NFT tržiště a nebo aplikaci běhěm pár vteřin." }, "site.metada.image": { - "defaultMessage": "Site metadata image" + "defaultMessage": "Obrázek metadat webu" }, "site.metadata": { - "defaultMessage": "Site metadata" + "defaultMessage": "Metadata webu" }, "site.metadata.created": { - "defaultMessage": "Site metadata created" + "defaultMessage": "Metadata webu byla vytvořena" }, "site.metadata.created.error": { - "defaultMessage": "Site metadata created error" + "defaultMessage": "Při vytváření metadat webu došlo k chybě" }, "site.metadata.edited": { - "defaultMessage": "Site metadata edited" + "defaultMessage": "Metadata webu byla upravena" }, "site.metadata.edited.error": { - "defaultMessage": "Site metadata edited error" + "defaultMessage": "Při úpravě metadat webu došlo k chybě" }, "site.subtitle": { - "defaultMessage": "Site subtitle" + "defaultMessage": "Podnadpis webové stránky" }, "site.templates": { - "defaultMessage": "Site templates" + "defaultMessage": "Šablony webové stránky" }, "site.templates.description": { - "defaultMessage": "Start your own site/marketplace/app in seconds. Here you can view and clone apps with various usecases. Start now being a crypto enterpreneur" + "defaultMessage": "Spusťe vlastní krypto web, NFT tržiště a nebo aplikaci běhěm pár vteřin" }, "site.title": { - "defaultMessage": "Site title" + "defaultMessage": "Název webové stránky" }, "social.media": { - "defaultMessage": "Social Media" + "defaultMessage": "Sociální sitě" }, "social.media.title": { - "defaultMessage": "Social Media" + "defaultMessage": "Sociální sitě" }, "socials": { - "defaultMessage": "Socials" + "defaultMessage": "Sociální sitě" }, "sold.out": { - "defaultMessage": "Sold out" + "defaultMessage": "Vyprodáno" }, "something.went.wrong.with.section.type.contact.support": { - "defaultMessage": "Oops, something went wrong with section type {sectionType}. Contact support", + "defaultMessage": "Jejda, něco se pokazilo s typem sekce {sectionType}. Kontaktujte prosím podporu.", "description": "Something went wrong error message" }, "stake": { - "defaultMessage": "Stake" + "defaultMessage": "Stakovat" }, "stake.contract": { - "defaultMessage": "Stake Contract" + "defaultMessage": "Stakovat chytrý kontrakt" }, "start": { - "defaultMessage": "Start" + "defaultMessage": "Spustit" }, "start.by.connect.wallet": { - "defaultMessage": "Connect wallet to account that owns this app: {slug}" + "defaultMessage": "Připojte peněženku k účtu, který vlastní tuto aplikaci: {slug}" }, "start.time": { - "defaultMessage": "Start Time" + "defaultMessage": "Doba spuštění" }, "steps.completed.finished.stepper": { - "defaultMessage": "All steps completed - you finished swap configuration" + "defaultMessage": "Všechny kroky dokončeny - dokončili jste konfiguraci aplikace SWAP" }, "store.account": { - "defaultMessage": "Store account" + "defaultMessage": "Účet tržiště" }, "store.without.order": { - "defaultMessage": "Store without offers. Came back later!" + "defaultMessage": "Zatím zde nejsou žádné nabídky." }, "success.color": { - "defaultMessage": "Success color" + "defaultMessage": "Barva úspěchu" }, "swap.apps": { - "defaultMessage": "Swap apps" + "defaultMessage": "Aplikace SWAPU" }, "swap.fees.menu.container": { - "defaultMessage": "Swap Fees" + "defaultMessage": "Poplatky SWAPU" }, "swap.fees.title": { - "defaultMessage": "Swap Fees" + "defaultMessage": "Poplatky SWAPU" }, "swap.quick.builder": { - "defaultMessage": "Swap quick builder" + "defaultMessage": "Nástroj pro tvorbu aplikace SWAPU" }, "swap.step.general.info": { - "defaultMessage": "Set general info for your wallet app." + "defaultMessage": "Nastavte základní informace pro aplikaci krypto peněženky." }, "swap.step.theme.info": { - "defaultMessage": "Choose swap app theme and font." + "defaultMessage": "Vyberte motiv a písmo aplikace swap." }, "switch.to.network.network": { - "defaultMessage": "Switch to {network} network" + "defaultMessage": "Přepněte na síť {network}" }, "switch.wallet": { - "defaultMessage": "Switch wallet" + "defaultMessage": "Přepnout peněženku" }, "switch.your.wallet.to.another.account.and.click.connect.account": { - "defaultMessage": "Switch your wallet to another account and click connect account" + "defaultMessage": "Přepněte peněženku na jiný účet a klikněte na připojit účet" }, "team": { - "defaultMessage": "Team" + "defaultMessage": "Tým" }, "team.management": { - "defaultMessage": "Team management" + "defaultMessage": "Týmové řízení" }, "template.created": { - "defaultMessage": "Contract template updated" + "defaultMessage": "Šablona chytrého kontraktu byla aktualizovaná" }, "templates": { - "defaultMessage": "Templates" + "defaultMessage": "Šablony" }, "text.color": { - "defaultMessage": "Text color" + "defaultMessage": "Barva textu" }, "the.amount.cannot.be.zero": { - "defaultMessage": "The amount cannot be zero" + "defaultMessage": "Částka musí být vyšší, než 0" }, "themes": { - "defaultMessage": "Themes" + "defaultMessage": "Motivy" }, "thirdweb.contracts": { - "defaultMessage": "ThirdWeb Contracts" + "defaultMessage": "ThirdWeb chytré kontrakty" }, "this.app.is.not.clonable": { - "defaultMessage": "This app is not clonable." + "defaultMessage": "Tuto aplikaci nelze duplikovat." }, "this.drop.is.not.ready.to.be.minted": { - "defaultMessage": "This drop is not ready to be minted." + "defaultMessage": "Tento drop zatím není připravený na mint." }, "this.drop.is.not.ready.to.be.minted.": { - "defaultMessage": "This drop is not ready to be minted." + "defaultMessage": "Tento drop zatím není připravený na mint." }, "this.drop.is.not.ready.to.be.minted.yet.no.claim.condition.set": { - "defaultMessage": "This drop is not ready to be minted yet. (No claim condition set)" + "defaultMessage": "Tento drop není připravený na mint (Nejsou nastavené žádné podmínky)." }, "time.unit": { - "defaultMessage": "Time unit" + "defaultMessage": "Časová jednotka" }, "to": { - "defaultMessage": "to" + "defaultMessage": "Do" }, "token.drop": { - "defaultMessage": "Token Drop" + "defaultMessage": "Drop tokenu" }, "token.import.info": { - "defaultMessage": "You can search tokens on our API or import it directly by contract address" + "defaultMessage": "Tokeny můžete vyhledat prostřednictvím našeho API, nebo je importovat přímo podle adresy kontraktu." }, "token.not.supported": { - "defaultMessage": "Token not supported" + "defaultMessage": "Token není podporovaný" }, "token.standard": { - "defaultMessage": "Token Standard" + "defaultMessage": "Standard tokenu" }, "token.symbol.message": { "defaultMessage": "Token {tokenSymbol}" }, "token.trade": { - "defaultMessage": "Token Trade" + "defaultMessage": "Směna tokenů" }, "tokenId": { - "defaultMessage": "Token Id" + "defaultMessage": "ID tokenu" }, "total.cost": { - "defaultMessage": "Total cost" + "defaultMessage": "Cena celkem" }, "total.for.airdrop": { - "defaultMessage": "Total for Airdrop" + "defaultMessage": "Celkem pro airdrop" }, "total.items.to.claim": { - "defaultMessage": "Total items to claim" + "defaultMessage": "Celkové množství k získání" }, "total.items.to.claim.per.wallet": { - "defaultMessage": "Total items to claim per wallet" + "defaultMessage": "Celkové množství k získání na jednu peněženku" }, "total.minted": { - "defaultMessage": "Total minted" + "defaultMessage": "Celkem vymintované" }, "total.recipients": { - "defaultMessage": "Total recipients" + "defaultMessage": "Celkový počet příjemců" }, "total.rewards": { - "defaultMessage": "Total Rewards" + "defaultMessage": "Celkové odměny" }, "total.staked": { - "defaultMessage": "Total staked" + "defaultMessage": "Celkový počet staknutých" }, "total.supply": { - "defaultMessage": "Total Supply" + "defaultMessage": "Celkové množství" }, "total.to.mint": { - "defaultMessage": "Total to mint" + "defaultMessage": "Celkové množství k mintu" }, "total.to.receive": { - "defaultMessage": "Total to receive" + "defaultMessage": "Celkem k získání" }, "total.usd": { - "defaultMessage": "Total in USD" + "defaultMessage": "Celkem v USD" }, "trade.token.page": { - "defaultMessage": "Trade token page" + "defaultMessage": "Stránka obchodování tokenu" }, "trade.token.seo..title.message": { - "defaultMessage": "The easiest way to {orderMarketType} {tokenSymbol} on {network}" + "defaultMessage": "Nejjednodušší způsob, jak {orderMarketType} {tokenSymbol} na síti {network}" }, "trade.token.seo.description.message": { - "defaultMessage": "Discover the optimal way to {orderMarketType} {tokenSymbol} on the {network}. Our platform ensures swift and secure transactions, making {orderMarketType}ing {tokenSymbol} a breeze. Join now for the ultimate trading experience on the {network}!" + "defaultMessage": "Objevte ideální způsob, jak {orderMarketType} {tokenSymbol} na síti {network}. Naše platforma zajišťuje rychlé a bezpečné transakce. " }, "trade.type": { - "defaultMessage": "Trade type" + "defaultMessage": "Typ obchodu" }, "trades": { - "defaultMessage": "Trades" + "defaultMessage": "Obchody" }, "traits": { - "defaultMessage": "Traits" + "defaultMessage": "Vlastnosti" }, "transaction.submitted": { - "defaultMessage": "Transaction Submitted" + "defaultMessage": "Transakce odeslána" }, "transfer": { - "defaultMessage": "Transfer" + "defaultMessage": "Převod" }, "transfer.amount.symbol": { - "defaultMessage": "Transfer {amount} {symbol}" + "defaultMessage": "Převést {amount} {symbol}" }, "transfer.nft": { - "defaultMessage": "Transfer NFT" + "defaultMessage": "Převést NFT" }, "transfering.amount.to.pay": { - "defaultMessage": "Transfering amount to pay" + "defaultMessage": "Převod částky k zaplacení" }, "try.gain": { - "defaultMessage": "Try again" + "defaultMessage": "Zkuste to prosím znovu" }, "twitter.username": { - "defaultMessage": "Twitter username" + "defaultMessage": "Uživatelské jméno Twitteru" }, "unclaimed.supply": { - "defaultMessage": "Unclaimed Supply" + "defaultMessage": "Nevyzvednuté odměny" }, "unlimited": { - "defaultMessage": "Unlimited" + "defaultMessage": "Neomezené" }, "unstake": { - "defaultMessage": "Unstake" + "defaultMessage": "Odstakovat" }, "update": { - "defaultMessage": "Update" + "defaultMessage": "Aktualizovat" }, "update.form": { - "defaultMessage": "Save form" + "defaultMessage": "Uložit formulář" }, "update.metadata": { - "defaultMessage": "Update metadata" + "defaultMessage": "Aktualizace metadat" }, "update.site.metadata": { - "defaultMessage": "Update site metadata?" + "defaultMessage": "Aktualizovat metadata webu?" }, "updating.app.ranking": { - "defaultMessage": "Updating app ranking" + "defaultMessage": "Aktualizace žebříčku" }, "updating.app.versions": { - "defaultMessage": "Updating app version" + "defaultMessage": "Aktualizace verze aplikace" }, "updating.member.permissions": { - "defaultMessage": "Updating member permissions" + "defaultMessage": "Aktualizace oprávnění člena" }, "updating.user.profile": { - "defaultMessage": "Updating user profile" + "defaultMessage": "Aktualizace uživatelského profilu" }, "usage.periods": { - "defaultMessage": "Usage periods" + "defaultMessage": "Období používání" }, "usecases": { - "defaultMessage": "Use cases" + "defaultMessage": "Případy užití" }, "user.accounts": { - "defaultMessage": "User accounts:" + "defaultMessage": "Uživatelské účty:" }, "user.contract.form": { - "defaultMessage": "User contract form" + "defaultMessage": "Formulář uživatelského kontraktu" }, "user.edit": { - "defaultMessage": "User Edit" + "defaultMessage": "Upravit uživatele" }, "user.event": { - "defaultMessage": "User Event" + "defaultMessage": "Události uživatele" }, "user.events.analytics": { - "defaultMessage": "User events analytics" + "defaultMessage": "Analýza událostí uživatele" }, "user.events.analytics.wizard.description": { - "defaultMessage": "User events analytics on your app" + "defaultMessage": "Analýza událostí uživatele ve Vaší aplikaci" }, "user.login": { - "defaultMessage": "User login" + "defaultMessage": "Uživatelské přihlášení" }, "user.name.variable": { - "defaultMessage": "User: {username}" + "defaultMessage": "Uživatel: {username}" }, "user.not.found": { - "defaultMessage": "User not found" + "defaultMessage": "Uživatel nebyl nalezen" }, "user.profile": { - "defaultMessage": "User profile" + "defaultMessage": "Uživatelský profil" }, "user.profile.value": { - "defaultMessage": "User Profile: {username}" + "defaultMessage": "Uživatelský profil: {username}" }, "user.verified.social": { - "defaultMessage": "Verified in: {discord} {twitter}" + "defaultMessage": "Ověřeno v: {discord} {twitter}" }, "username": { - "defaultMessage": "Username" + "defaultMessage": "Uživatelské jméno" }, "verify.discord": { - "defaultMessage": "Verify Twitter" + "defaultMessage": "Ověřit účet Twitteru" }, "version": { - "defaultMessage": "Version" + "defaultMessage": "Verze" }, "version.added": { - "defaultMessage": "Version added" + "defaultMessage": "Verze byla přidaná" }, "video.changelog": { - "defaultMessage": "Video changelog" + "defaultMessage": "Video aktualizace" }, "view.app": { - "defaultMessage": "View App" + "defaultMessage": "Zobrazit aplikaci" }, "view.apps": { - "defaultMessage": "View Apps" + "defaultMessage": "Zobrazit aplikace" }, "view.contracts": { - "defaultMessage": "View contracts" + "defaultMessage": "Zobrazit chytré kontrakty" }, "view.details": { - "defaultMessage": "View details" + "defaultMessage": "Zobrazit detaily" }, "view.form": { - "defaultMessage": "View form" + "defaultMessage": "Zobrazit formulář" }, "view.less": { - "defaultMessage": "view less" + "defaultMessage": "Zobrazit méně" }, "view.more": { - "defaultMessage": "view more" + "defaultMessage": "Zobrazit více" }, "view.nft": { - "defaultMessage": "View NFT" + "defaultMessage": "Zobrazit NFT" }, "view.nft.drop": { - "defaultMessage": "View nft drop" + "defaultMessage": "Zobrazit NFT drop" }, "view.on.explorer": { - "defaultMessage": "View on explorer" + "defaultMessage": "Zobrazit v průzkumníku blockchainu" }, "view.profile": { - "defaultMessage": "View profile" + "defaultMessage": "Zobrazit profil" }, "view.public.page": { - "defaultMessage": "View public page" + "defaultMessage": "Zobrazit veřejnou stránku" }, "view.public.profile": { - "defaultMessage": "View public profile" + "defaultMessage": "Zobrazit veřejný profil" }, "view.site": { - "defaultMessage": "View" + "defaultMessage": "Zobrazit stránku" }, "view.site.metadata": { - "defaultMessage": "View site metadata" + "defaultMessage": "Zobrazit metadata stránky" }, "view.template": { - "defaultMessage": "View template" + "defaultMessage": "Zobrazit šablonu" }, "view.user.profile": { - "defaultMessage": "View user profile" + "defaultMessage": "Zobrazit profil uživatele" }, "wait.in.seconds": { - "defaultMessage": "Wait in seconds" + "defaultMessage": "Počkejte několik vteřin" }, "wait.nft.creation.by.dexkit": { - "defaultMessage": "Wait for NFT creation by DexKit" + "defaultMessage": "počkejte na vytvoření NFT pomocí DexKitu" }, "waiting.confirmation": { - "defaultMessage": "Waiting confirmation" + "defaultMessage": "Čekání na potvrzení" }, "wallet.connected.account": { - "defaultMessage": "Wallet connected account" + "defaultMessage": "Účet připojený k peněžence" }, "wallet.quick.builder": { - "defaultMessage": "Wallet quick builder" + "defaultMessage": "Rychlá tvorba aplikace peněženky" }, "wallet.section.form.info": { - "defaultMessage": "Wallet section don't accepts configs at the moment. In next updates, you will be able to customize buttons and networks" + "defaultMessage": "Sekce krypto peněženky momentálně nepřijímá konfigurace. V příštích aktualizacích si budete moci přizpůsobit tlačítka a sítě." }, "wallet.step.theme.info": { - "defaultMessage": "Choose wallet app theme and font." + "defaultMessage": "Vyberte motiv a písmo aplikace peněženky." }, "warning.color": { - "defaultMessage": "Warning Color" + "defaultMessage": "Barva varování" }, "web3forms.deplopy": { - "defaultMessage": "DexContracts" + "defaultMessage": "DEX Generátor" }, "width.px": { - "defaultMessage": "Width (px)" + "defaultMessage": "Šířka (px)" }, "withdraw.rewards": { - "defaultMessage": "Withdraw Reward" + "defaultMessage": "Vybrat odměnu" }, "write": { - "defaultMessage": "Write" + "defaultMessage": "Psát" }, "you.are.not.eligible.to.mint.at.this.time": { - "defaultMessage": "You are not eligible to mint at this time." + "defaultMessage": "V tuto chvíli nejste oprávněný mintovat." }, "you.are.not.eligible.to.mint.quantity.tokens": { - "defaultMessage": "You are not eligible to mint {quantity} tokens." + "defaultMessage": "V tuto chvíli nejste oprávněný mintovat {quantity} tokenů." }, "you.are.not.eligible.to.mint.tokens.quantity.value": { - "defaultMessage": "You are not eligible to mint {quantity} tokens." + "defaultMessage": "V tuto chvíli nejste oprávněný mintovat {quantity} tokenů." }, "you.are.on.a.network.different.of.the.contract": { - "defaultMessage": "You are on a network different of the contract" + "defaultMessage": "Jste připojený na jiné síti, než je síť chytrého kontraktu" }, "you.are.using.a.airdrop.claimable.contract": { - "defaultMessage": "You are using a airdrop claimable contract" + "defaultMessage": "Použiváte chytrý kontrakt s nárokem na airdrop" }, "you.are.using.a.stake.contract": { - "defaultMessage": "You are using a stake contract" + "defaultMessage": "Používáte chytrý kontrakt určený ke stakingu" }, "you.can.deploy.contracts.fromo.our.list.and.from.the.community.in.the.future": { - "defaultMessage": "You can deploy contracts from our list and from the community in the future" + "defaultMessage": "V budoucnu můžete použít chytré kontrakty z našeho seznamu, nebo komunity" }, "you.do.not.have.enough.balance.for.your.airdrop": { - "defaultMessage": "You do not have enough balance for your Airdrop" + "defaultMessage": "Pro airop nemáte disponibilní zůstatek" }, "you.dont.have.any.forms": { - "defaultMessage": "You don't have any forms yet" + "defaultMessage": "Zatím nemáte žádné formuláře" }, "you.dont.have.any.leaderboards": { - "defaultMessage": "You don't have any leaderboards yet" + "defaultMessage": "Zatím nemáte žádné žebříčky" }, "you.dont.have.enough.currency.to.mint": { - "defaultMessage": "You don't have enough currency to mint." + "defaultMessage": "Nemáte dostatek prostředků na mint." }, "you.have.changes.unsaved.do.you.want.to.proceed.without.saving": { - "defaultMessage": "You have changes unsaved do you want to proceed without saving?" + "defaultMessage": "Máte neuložené změny, chcete pokračovat bez uložení?" }, "you.need.at.least.one.network.selected": { - "defaultMessage": "You need at least one network selected" + "defaultMessage": "Musíte vybrat alespoň jednu síť" }, "you.need.to.approve.tokens.for.airdrop": { - "defaultMessage": "You need to approve tokens for airdrop" + "defaultMessage": "Pro airdrop musíte schválit tokeny" }, "you.need.to.hold.kit.value": { - "defaultMessage": "You need to hold {value} KIT on one of these networks: BSC, ETH, or Polygon to use this feature" + "defaultMessage": "Chcete-li použít tuto funkci, musíte mít alespoň {value} tokenů KIT na jedné z těchto sítí: BSC, ETH nebo Polygon" }, "you.still.dont.have.any.records": { - "defaultMessage": "You still don't have any records." + "defaultMessage": "Stále nemáte žádné záznamy." }, "your.airdrop.balance": { - "defaultMessage": "Your airdrop balance" + "defaultMessage": "Váš zůstatek airdropu" }, "your.app.domain.was.added.to.our.system": { - "defaultMessage": "Your app domain was added to our system. Please add CNAME to your DNS provider and after that check domain status often till propagate" + "defaultMessage": "Doména pro Vaši aplikaci byla přidána do našeho systému. Přidejte záznam CNAME u Vašeho poskytovatele DNS a počkejte, než se projeví změny." }, "your.app.domain.was.verified.to.our.system": { - "defaultMessage": "Your app domain was verified on our system. Wait for domain to propagate and then visit your domain." + "defaultMessage": "Doména vaší aplikace byla ověřena v našem systému." }, "your.balance": { - "defaultMessage": "Your balance" + "defaultMessage": "Váš zůstatek" }, "your.collections": { - "defaultMessage": "your collections" + "defaultMessage": "Vaše kolekce" }, "your.editions": { - "defaultMessage": "Your Editions" + "defaultMessage": "Vaše edice" }, "your.nft.not.created": { - "defaultMessage": "Your NFT were not created" + "defaultMessage": "Vaše NFT nebylo vytvořeno" }, "your.nft.were.created": { - "defaultMessage": "Your NFT were created" + "defaultMessage": "Vaše NFT bylo vytvořeno" }, "your.payment.is.confirmed": { - "defaultMessage": "Your payment is confirmed" + "defaultMessage": "Vaše platba je potvrzena" }, "your.site.metadata.was.created": { - "defaultMessage": "Your site metadata was created" + "defaultMessage": "Metadata vašeho webu byla vytvořena" }, "your.site.metadata.was.edited": { - "defaultMessage": "Your site metadata was edited" + "defaultMessage": "Metadata vašeho webu byla upravena" }, "your.site.metadata.was.not.created": { - "defaultMessage": "Your site metadata was not created" + "defaultMessage": "Metadata vašeho webu nebyla vytvořena" }, "your.site.metadata.was.not.edited": { - "defaultMessage": "Your site metadata was not edited" + "defaultMessage": "Metadata vašeho webu nebyla upravena" }, "your.tokens": { - "defaultMessage": "Your tokens" + "defaultMessage": "Vaše tokeny" }, "your.transaction.requires.10.confirmations.for.full.validation": { - "defaultMessage": "Your transaction requires 10 confirmations for full validation" + "defaultMessage": "Transakce vyžaduje 10 potvrzení v síti pro její úplné ověření" }, "your.user.profile.was.created": { - "defaultMessage": "Your user profile was created" + "defaultMessage": "Váš uživatelský profil byl vytvořen" }, "your.user.profile.was.updated": { - "defaultMessage": "Your user profile was updated" + "defaultMessage": "Váš uživatelský profil byl upravený" }, "youtube.channel": { - "defaultMessage": "Youtube channel" + "defaultMessage": "Youtube kanál" }, "AI": { - "defaultMessage": "AI" + "defaultMessage": "Umělá inteligence" }, "activate": { - "defaultMessage": "Activate AI" + "defaultMessage": "Aktivovat umělou inteligenci" }, "activate.ai": { - "defaultMessage": "Activate AI" + "defaultMessage": "Aktivovat umělou inteligenci" }, "add.credit": { - "defaultMessage": "Add Credit" + "defaultMessage": "Přidat credit" }, "add.credits": { - "defaultMessage": "Add credits" + "defaultMessage": "Přidat credits" }, "add.record": { - "defaultMessage": "Add record" + "defaultMessage": "Přidat záznam" }, "address.or.ens": { - "defaultMessage": "Address or ENS" + "defaultMessage": "Adresa, nebo ENS" }, "ai.activated": { - "defaultMessage": "AI Activated" + "defaultMessage": "AI aktivováno" }, "ai.completation": { - "defaultMessage": "AI Completation" + "defaultMessage": "AI Dokončení" }, "ai.edit": { - "defaultMessage": "AI Edit" + "defaultMessage": "AI Úprava" }, "ai.generator": { - "defaultMessage": "AI Generator" + "defaultMessage": "AI Generátor" }, "ai.image.generator": { - "defaultMessage": "AI Image Generator" + "defaultMessage": "AI generátor obrázků" }, "answer": { - "defaultMessage": "Answer:" + "defaultMessage": "Odpověď:" }, "billing.and.usage": { - "defaultMessage": "Billing & Usage" + "defaultMessage": "Fakturace a použití" }, "burn.name.value": { - "defaultMessage": "Burn Token \"{tokenName}\"" + "defaultMessage": "Spálit token \"{tokenName}\"" }, "burning": { - "defaultMessage": "Burning" + "defaultMessage": "Pálení" }, "change.cat.head": { - "defaultMessage": "ex. Change cat head" + "defaultMessage": "např. změna hlavy" }, "changing.network": { - "defaultMessage": "Changing Network" + "defaultMessage": "Změna sítě" }, "clear": { - "defaultMessage": "Clear" + "defaultMessage": "Odstranit" }, "close.anyway": { - "defaultMessage": "Close anyway" + "defaultMessage": "Zavřít" }, "coin.on.network": { - "defaultMessage": "{name} on {network}" + "defaultMessage": "{name} na síti {network}" }, "confirming": { - "defaultMessage": "Confirming" + "defaultMessage": "Potvrzuji" }, "connect.with.email": { - "defaultMessage": "Connect with e-mail" + "defaultMessage": "Připojit e-mailem" }, "credit.card.soming.soon": { - "defaultMessage": "Credit Card (Coming Soon)" + "defaultMessage": " Kreditní karta (Již brzy)" }, "cryptocurrency": { - "defaultMessage": "Cryptocurrency" + "defaultMessage": "Kryptoměna" }, "delete.column": { - "defaultMessage": "Delete column" + "defaultMessage": "Smazat sloupec" }, "deselect.all": { - "defaultMessage": "Deselect All" + "defaultMessage": "Zrušit výběr" }, "do.you.really.want.to.edit.this.image": { - "defaultMessage": "Do you really want to edit this image?" + "defaultMessage": "Opravdu chcete upravit tento obrázek?" }, "edit.column": { - "defaultMessage": "Edit column" + "defaultMessage": "Upravit sloupec" }, "edit.image.name": { - "defaultMessage": "Edit image name" + "defaultMessage": "Upravit název obrázku" }, "error.while.burning": { - "defaultMessage": "Error while burning" + "defaultMessage": "Při pálení došlo k chybě" }, "error.while.generating.images": { - "defaultMessage": "Error while generating images" + "defaultMessage": "Při generování obrázků došlo k chybě" }, "error.while.transferring": { - "defaultMessage": "Error while transferring" + "defaultMessage": "Při přenosu došlo k chybě" }, "ex.an.image.of.a.cat": { - "defaultMessage": "ex. An image of a cat" + "defaultMessage": "např. Obrázek psa" }, "execute": { - "defaultMessage": "Execute" + "defaultMessage": "Provést" }, "execute.transaction": { - "defaultMessage": "Execute transaction" + "defaultMessage": "Provést transakci" }, "fix.spelling.and.grammar": { - "defaultMessage": "Fix spelling and grammar" + "defaultMessage": "Opravte pravopis a gramatiku" }, "gas.cost": { - "defaultMessage": "Gas cost" + "defaultMessage": "Náklady na gas" }, "gas.price": { - "defaultMessage": "Gas price" + "defaultMessage": "Cena gas" }, "generate": { - "defaultMessage": "Generate" + "defaultMessage": "Vygenerovat" }, "generate.image": { - "defaultMessage": "Generate image" + "defaultMessage": "Vygenerovat obrázek" }, "generate.new.text": { - "defaultMessage": "Generate new text" + "defaultMessage": "Vygenerovat nový text" }, "generate.variant": { - "defaultMessage": "Generate variant" + "defaultMessage": "Vygenerovat variantu" }, "generate.variants": { - "defaultMessage": "Generate Variants" + "defaultMessage": "Vygenerovat varianty" }, "generating": { - "defaultMessage": "Generating" + "defaultMessage": "Generování" }, "generating.variants": { - "defaultMessage": "Generating Variants" + "defaultMessage": "Generování variant" }, "hide.form.info": { - "defaultMessage": "Hide form info" + "defaultMessage": "Skrýt informace o formuláři" }, "images.generated": { - "defaultMessage": "Images generated" + "defaultMessage": "Vygenerované obrázky" }, "images.notGenerated": { - "defaultMessage": "You haven't generated any images yet. Start generating images now to make the most out of our service." + "defaultMessage": "Zatím jste nevygenerovali žádné obrázky. Začněte generovat obrázky teď." }, "improve.writing": { - "defaultMessage": "Improve writing" + "defaultMessage": "Zlepšit psaní" }, "invalid address": { - "defaultMessage": "Invalid address" + "defaultMessage": "Neplatná adresa" }, "invalid.file.column.column.is.missing": { - "defaultMessage": "Invalid file: column {column} is missing" + "defaultMessage": "Neplatný soubor: chybí sloupec {column}" }, "least.recent": { - "defaultMessage": "Least recent" + "defaultMessage": "Nedávné" }, "make.longer": { - "defaultMessage": "Make longer" + "defaultMessage": "Udělat delší" }, "make.shorter": { - "defaultMessage": "Make shorter" + "defaultMessage": "Udělat kratší" }, "max.fee": { - "defaultMessage": "Max fee" + "defaultMessage": "Maximální poplatek" }, "max.priority.fee": { - "defaultMessage": "Max priority fee" + "defaultMessage": "Maximální prioritní poplatek" }, "message.you.are.signing": { - "defaultMessage": "Message you are signing" + "defaultMessage": "Zpráva, kterou podepisujete" }, "mint.token.value": { - "defaultMessage": "Mint token \"{tokenName}\"" + "defaultMessage": "Mintovat token \"{tokenName}\"" }, "most.recent": { - "defaultMessage": "Most recent" + "defaultMessage": "Nejnovější" }, "network.value": { "defaultMessage": "{network}" }, "no.credits": { - "defaultMessage": "No Credits" + "defaultMessage": "Žádné credits" }, "no.images": { - "defaultMessage": "No Images" + "defaultMessage": "Žádné obrázky" }, "nonce": { - "defaultMessage": "Nonce" + "defaultMessage": "Nikdy" }, "not.enough.balance": { - "defaultMessage": "Not enough balance" + "defaultMessage": "Nedostatečný zůstatek" }, "notifications": { - "defaultMessage": "Notifications", + "defaultMessage": "Oznámení", "description": "Notifications" }, "num.of.images": { - "defaultMessage": "Num. of Images" + "defaultMessage": "Počet obrázků" }, "num.of.variant": { - "defaultMessage": "Num of variants" + "defaultMessage": "Počet variant" }, "num.of.variants": { - "defaultMessage": "Num. of variants" + "defaultMessage": "Počet variant" }, "original.image": { - "defaultMessage": "Original image" + "defaultMessage": "Originální obrázek" }, "owned.by.owner": { - "defaultMessage": "Owned by {owner}" + "defaultMessage": "Vlastník: {owner}" }, "payment.confirmation.message": { - "defaultMessage": "Please wait for 10 confirmations for payment recognition." + "defaultMessage": "Počkejte prosím na 10 potvrzení na síti blockchainu pro akceptaci platby." }, "payment.method": { - "defaultMessage": "Payment method" + "defaultMessage": "Způsob úhrady" }, "prompt": { - "defaultMessage": "Prompt" + "defaultMessage": "Příkaz" }, "receive.on.network.value": { - "defaultMessage": "Receive on {network}" + "defaultMessage": "Přijmout na síti {network}" }, "receiver": { - "defaultMessage": "Receiver" + "defaultMessage": "Příjemce" }, "reject": { - "defaultMessage": "Reject" + "defaultMessage": "Odmítnout" }, "request.sent.successfully": { - "defaultMessage": "Request sent successfully" + "defaultMessage": "Žádost byla úspěšně odeslána" }, "save.column": { - "defaultMessage": "Save column" + "defaultMessage": "Uložit sloupec" }, "save.generated.images": { - "defaultMessage": "Save generated images?" + "defaultMessage": "Uložit vygenerované obrázky?" }, "saved": { - "defaultMessage": "Saved" + "defaultMessage": "Uložené" }, "send.amount": { - "defaultMessage": "Send amount" + "defaultMessage": "Odeslat částku" }, "sending.request": { - "defaultMessage": "Sending request" + "defaultMessage": "Odeslání žádosti" }, "sent.to": { - "defaultMessage": "Sent to" + "defaultMessage": "Odesláno" }, "share.receive.request": { - "defaultMessage": "Share receive request" + "defaultMessage": "Sdílet žádost o platbu" }, "sign": { - "defaultMessage": "Sign" + "defaultMessage": "Podepsat" }, "sort.by": { - "defaultMessage": "Sort by" + "defaultMessage": "Seřadit podle" + }, + "sort.newest": { + "defaultMessage": "Nejnovější" + }, + "sort.oldest": { + "defaultMessage": "Nejstarší" + }, + "sort.most.modified": { + "defaultMessage": "Nejvíce upravené" + }, + "sort.least.modified": { + "defaultMessage": "Nejméně upravené" + }, + "sort.name.asc": { + "defaultMessage": "Název A-Z" + }, + "sort.name.desc": { + "defaultMessage": "Název Z-A" }, "switch.to.network.value": { - "defaultMessage": "Switch to {networkName} network" + "defaultMessage": " Přepnout na síť {networkName}" }, "the.maximum.is.95": { - "defaultMessage": "the maximum is 95" + "defaultMessage": "maximum je 95" }, "the.minimum.is.five": { - "defaultMessage": "the minimum is 5" + "defaultMessage": "minimum je 5" }, "transaction.failed.reason": { - "defaultMessage": "Transaction failed" + "defaultMessage": "Transakce selhala" }, "transfer.name.value": { - "defaultMessage": "Transfer NFT {nftName}" + "defaultMessage": "Převést NFT {nftName}" }, "transferring": { - "defaultMessage": "Transferring" + "defaultMessage": "Probíhá převod" }, "unlock.the.power.of.artificial.intelligence.by.activating.it": { - "defaultMessage": "Unlock the power of artificial intelligence by activating it" + "defaultMessage": "Aktivujte umělou inteligenci a objevte její potenciál" }, "use": { - "defaultMessage": "use" + "defaultMessage": "Použít" }, "use.as.prompt": { - "defaultMessage": "use as prompt" + "defaultMessage": "Použít jako příkaz" }, "validating": { - "defaultMessage": "Validating" + "defaultMessage": "Ověřování" }, "validating.ens": { - "defaultMessage": "Validating ENS name" + "defaultMessage": "Ověřování ENS" }, "variants": { - "defaultMessage": "Variants" + "defaultMessage": "Varianty" }, "waiting.payment": { - "defaultMessage": "Waiting payment" + "defaultMessage": "Čekání na platbu" }, "you.are.not.the.owner.of.this.NFT": { - "defaultMessage": "You are not the owner of this NFT" + "defaultMessage": "Nejste vlastníkem tohoto NFT" }, "you.cant.use.the.connected.account.to.burn": { - "defaultMessage": "You can't use the connected account to burn" + "defaultMessage": "Propojený účet nelze použít ke spálení" }, "you.cant.use.the.connected.account.to.transfer": { - "defaultMessage": "You can't use the connected to transfer" + "defaultMessage": "Přihlášený účet nelze použít k převodu" }, "you.need.to.add.credits.to.use.ai.features": { - "defaultMessage": "You need to add credits to use AI features" + "defaultMessage": "Chcete-li používat funkce AI, musíte dobít kredity" }, "you.own.nfts": { - "defaultMessage": "You own {balance} NFTs" + "defaultMessage": "Vlastníte {balance} NFTs" }, "your.request.was.sent.successfully": { - "defaultMessage": "Your request was sent successfully" + "defaultMessage": "Vaše žádost byla úspěšně odeslána" }, "24h.volume": { - "defaultMessage": "24h volume" + "defaultMessage": "Objem (24h)" }, "24h.volume.amount": { - "defaultMessage": "24h volume: {amount}" + "defaultMessage": "Objem (24h): {amount}" }, "Less": { - "defaultMessage": "Less" + "defaultMessage": "Méně" }, "No.networks.selected": { - "defaultMessage": "No networks selected" + "defaultMessage": "Nebyly vybrané žádné sítě" }, "You will.receive": { - "defaultMessage": "You will receive" + "defaultMessage": "Obdržíte" }, "amount.per.token": { - "defaultMessage": "Amount per token" + "defaultMessage": "Částka za token" }, "approve.token.symbol": { - "defaultMessage": "Approve {tokenSymbol} on wallet" + "defaultMessage": "Povolit {tokenSymbol} v pěněžence" }, "available": { - "defaultMessage": "Available" + "defaultMessage": "Dostupné" }, "available.balance.amount.symbol": { - "defaultMessage": "Available balance: {amount} {symbol}" + "defaultMessage": "Dostupný zůstatek: {amount} {symbol}" }, "base.token": { - "defaultMessage": "Base token" + "defaultMessage": "Výchozí token" }, "buy.symbol": { - "defaultMessage": "Buy {symbol}" + "defaultMessage": "Koupit {symbol}" }, "buy.token.symbol": { - "defaultMessage": "Buy {tokenSymbol}" + "defaultMessage": "Koupit {tokenSymbol}" }, "choose.the.networks.that.your.exchange.will.be.enabled": { - "defaultMessage": "Choose the networks that your exchange will be enabled" + "defaultMessage": "Vyberte sítě, které budou ve Vaší aplikaci povolené" }, "cost": { - "defaultMessage": "Cost" + "defaultMessage": "Cena" }, "define.the.tokens.and.the.default.pair.for.this.network": { - "defaultMessage": "Define the tokens and the default pair for this network" + "defaultMessage": "Definujte tokeny a výchozí pár tokenů pro tuto síť" }, "edit.networks": { - "defaultMessage": "Edit Networks" + "defaultMessage": "Upravit sítě" }, "expire": { - "defaultMessage": "Expire" + "defaultMessage": "Expirace" }, "fee.amount": { - "defaultMessage": "Fee amount" + "defaultMessage": "Výše poplatku" }, "fee.recipient.address": { - "defaultMessage": "Fee recipient address" + "defaultMessage": "Adresa příjemce poplatku" }, "fill.amount": { - "defaultMessage": "Fill amount" + "defaultMessage": "Vyplňte množství" }, "fill.amount.per.token": { - "defaultMessage": "Fill amount per token" + "defaultMessage": "Vyplňte množství za token" }, "fill.order": { - "defaultMessage": "Fill Order" + "defaultMessage": "Vyplňte objednávku" }, "fillable.amount": { - "defaultMessage": "Fillable amount" + "defaultMessage": "Plnitelné množství" }, "insufficient": { - "defaultMessage": "Insufficient {symbol}" + "defaultMessage": "Nedostatečné množství {symbol}" }, "insufficient.symbol": { - "defaultMessage": "insufficient {symbol}" + "defaultMessage": "Nedostatečné množství {symbol}" }, "last.price": { - "defaultMessage": "Last price" + "defaultMessage": "Poslední cena" }, "last.price.amount": { - "defaultMessage": "Last price: {amount}" + "defaultMessage": "Poslední cena: {amount}" }, "limit": { "defaultMessage": "Limit" }, "loading.quote": { - "defaultMessage": "Loading quote..." + "defaultMessage": "Načítání cenové nabídky..." }, "market": { - "defaultMessage": "Market" + "defaultMessage": "Trh" }, "market.cap.amount": { - "defaultMessage": "Market Cap: {amount}" + "defaultMessage": "Tržní kapitalizace: {amount}" }, "market.settings": { - "defaultMessage": "Market Settings" + "defaultMessage": "Nastavení trhu" }, "max.slippage.is.value.percent": { - "defaultMessage": "Max slippage is 50 percent" + "defaultMessage": "Maximální proklouznutí je 50%" }, "more": { - "defaultMessage": "More" + "defaultMessage": "Více" }, "my.orders": { - "defaultMessage": "My Orders" + "defaultMessage": "Moje objednávky" }, "native.coins.are.not.supported.on.limit.orders": { - "defaultMessage": "Native coins are not supported on limited orders" + "defaultMessage": "Nativní mince (např. ETH) nejsou podporované pro limitní objednávky." }, "order.created.message": { - "defaultMessage": "Order created" + "defaultMessage": "Objednávka vytvořena" }, "order.failed": { - "defaultMessage": "Order failed" + "defaultMessage": "Objednávka selhala" }, "place.order": { - "defaultMessage": "Place Order" + "defaultMessage": "Zadat objednávku" }, "please.switch.to.networks": { - "defaultMessage": "Please, switch to {networks}" + "defaultMessage": "Prosím, přepněte na síť {networks}" }, "please.use.wrapped.version.of.native.token": { - "defaultMessage": "Please use wrapped version of native token" + "defaultMessage": "Použijte prosím zabalenou verzi nativní mince (např. WETH)" }, "price.change.24h": { - "defaultMessage": "Price Change 24h" + "defaultMessage": "Změna ceny (24h)" }, "price.change.24h.amount": { - "defaultMessage": "Price Change 24h: {amount}" + "defaultMessage": "Změna ceny (24h): {amount}" }, "quote.token": { - "defaultMessage": "Quote token" + "defaultMessage": "Nabídka tokenu" }, "quote.tokens": { - "defaultMessage": "Quote tokens" + "defaultMessage": "Nabídka tokenů" }, "review.order": { - "defaultMessage": "Review Order" + "defaultMessage": "Zkontrolovat objednávku" }, "search.for.a.token.by.name.symbol.and.address": { - "defaultMessage": "Search for a token by name, symbol and address" + "defaultMessage": "Vyhledejte token podle jména, symbolu a nebo adresy chytrého kontraktu" }, "select.a.pair": { - "defaultMessage": "Select a pair" + "defaultMessage": "Vyberte pár" }, "select.networks": { - "defaultMessage": "Select networks" + "defaultMessage": "Vyberte sítě" }, "select.tokens": { - "defaultMessage": "Select tokens" + "defaultMessage": "Vyberte tokeny" }, "selecte.a.pair": { - "defaultMessage": "Select a pair" + "defaultMessage": "Vyberte pár" }, "sell.symbol": { - "defaultMessage": "Sell {symbol}" + "defaultMessage": "Prodat {symbol}" }, "sell.token.symbol": { - "defaultMessage": "Sell {tokenSymbol}" + "defaultMessage": "Prodat {tokenSymbol}" }, "show.swaps": { - "defaultMessage": "Show Swaps" + "defaultMessage": "Zobrazit swapy" }, "side": { - "defaultMessage": "Side" + "defaultMessage": "Strana" }, "size": { - "defaultMessage": "Size" + "defaultMessage": "Velikost" }, "the.base.token.is.required.on.chain": { - "defaultMessage": "The quote token is required on {chainName}" + "defaultMessage": "Token nabídky je vyžadován na síti {chainName}" }, "the.max.fee.is.ten.percent": { - "defaultMessage": "The max fee is 10%" + "defaultMessage": "Maximální poplatek je 10%" }, "there.are.no.orders.to.show": { - "defaultMessage": "There are no orders to show" + "defaultMessage": "Nejsou zde žádné objednávky k zobrazení" }, "trade": { - "defaultMessage": "Trade" + "defaultMessage": "Obchodovat" }, "unsupported.network": { - "defaultMessage": "Unsupported Network" + "defaultMessage": "Síť není podporovaná" }, "you.are.buying": { - "defaultMessage": "You are buying" + "defaultMessage": "Kupujete" }, "you.are.selling": { - "defaultMessage": "You are selling" + "defaultMessage": "Prodáváte" }, "your.wallet.is.not.connected": { - "defaultMessage": "Your wallet is not connected" + "defaultMessage": "Vaše peněženka není připojena" }, "Unwrap": { - "defaultMessage": "Unwrap" + "defaultMessage": "Rozbalit" }, "buy.crypto": { - "defaultMessage": "Buy Crypto" + "defaultMessage": "Koupit kryptoměny" }, "buy.crypto.with.transak": { - "defaultMessage": "Buy crypto with Transak" + "defaultMessage": "Koupit kryptoměny přes Transak" }, "gas.gas": { - "defaultMessage": "Gas: {gas} Gwei" + "defaultMessage": "Plyn: {gas} Gwei" }, "insufficient.symbol.balance": { - "defaultMessage": "Insufficient {symbol} balance" + "defaultMessage": "Nedostatečný zůstatek {symbol}" }, "network.not.supported.msg": { - "defaultMessage": "Network not supported. Please change to a supported network: {networks}" + "defaultMessage": "Síť není podporovaná. Změňte prosím na podporovanou síť: {networks}" }, "network_not_supported": { - "defaultMessage": "Network not supported" + "defaultMessage": "Síť není podporovaná" }, "no.coins": { - "defaultMessage": "No coins" + "defaultMessage": "Žádné mince" }, "no.coins.found": { - "defaultMessage": "No coins found" + "defaultMessage": "Nebyly nalezeny žádné mince" }, "powered.by.dexkit": { - "defaultMessage": "Powered by {dexkit}" + "defaultMessage": "Používá technologii {dexkit}" }, "price.impact": { - "defaultMessage": "Price impact" + "defaultMessage": "Cenový dopad" }, "price.impact.swap.message.info": { - "defaultMessage": "Price impact refers to the fluctuation in the price of a coin that happens when a trade takes place. When the price impact is high, it can sometimes lead to buying coins at a price lower than what was initially expected." + "defaultMessage": "Cenový dopad znamená kolísání ceny, ke kterému dochází běhěm swapu. Když je dopad na cenu vysoký, může to vést k nákupu mincí za nižší cenu, než se původně očekávalo." }, "recent": { - "defaultMessage": "Recent" + "defaultMessage": "Nedávné" }, "search.for.a.coin.by.name.symbol.and.address": { - "defaultMessage": "Search for a coin by name, symbol and address" + "defaultMessage": "Vyhledejte token podle jména, symbolu a nebo adresy chytrého kontraktu" }, "select.token": { - "defaultMessage": "Select token" + "defaultMessage": "Vyberte token" }, "swap.tokens": { - "defaultMessage": "Swap Tokens" + "defaultMessage": "Swapnout tokeny" }, "switch.wallet.network": { - "defaultMessage": "Switch wallet to {networkName}" + "defaultMessage": "Přepnout peněženku na síť {networkName}" }, "token.balance": { - "defaultMessage": "balance: {balance}" + "defaultMessage": "Zůstatek: {balance}" }, "transaction.rejected": { - "defaultMessage": "Transaction rejected" + "defaultMessage": "Transakce byla zamítnuta" }, "wrap": { - "defaultMessage": "Wrap" + "defaultMessage": "Zabalit" }, "you.send": { - "defaultMessage": "You send" + "defaultMessage": "Odešlete" }, "Analytics": { "defaultMessage": "Analytika" @@ -3103,7 +3118,7 @@ "defaultMessage": "ID" }, "Listing": { - "defaultMessage": "Listing" + "defaultMessage": "Seznam" }, "Network": { "defaultMessage": "Síť", @@ -3142,13 +3157,13 @@ "defaultMessage": "Přidat kolekci" }, "add.collection.to.your.marketplace": { - "defaultMessage": "Přidat kolekci na tržiště" + "defaultMessage": "Přidat kolekci do tržiště" }, "add.custom.section": { "defaultMessage": "Přidat vlastní sekci" }, "add.fee": { - "defaultMessage": "Upravit poplatek" + "defaultMessage": "Přidat poplatek" }, "add.fees.to.your.marketplace": { "defaultMessage": "Přidejte poplatky do svého tržiště" @@ -3169,20 +3184,20 @@ "defaultMessage": "Přidat sekci" }, "admin": { - "defaultMessage": "Admin" + "defaultMessage": "Správce" }, "advanced": { "defaultMessage": "Pokročilé", "description": "Make listing advanced accordion" }, "advanced.info": { - "defaultMessage": "Pouze adresy peněženek vložené níže můžou koupit tuhle nabídku. Nechejte prázdné, pokud chcete nabídku dostupnou pro všechny peněženky." + "defaultMessage": "Pouze adresy peněženek, které vložíte níže můžou koupit toto NFT. Nechejte prázdné, pokud chcete nabídku nechat dostupnou pro všechny." }, "analytics": { "defaultMessage": "Analytika" }, "and.made.with.love.by": { - "defaultMessage": "and made with ❤️ by", + "defaultMessage": "Vytvořeno s ❤️ od", "description": "and made with ❤️ by" }, "approve.asset.description": { @@ -3200,17 +3215,17 @@ "description": "Approve collection for listing" }, "asset": { - "defaultMessage": "Asset" + "defaultMessage": "Aktiva" }, "asset.will.be.added.to.favorites": { - "defaultMessage": "Tento asset bude přidán mezi Vaše oblíbené" + "defaultMessage": "Toto NFT bude přidané mezi Vaše oblíbené" }, "attributes": { "defaultMessage": "Atributy", "description": "Attributes accordion" }, "auto.slippage": { - "defaultMessage": "Auto Slippage" + "defaultMessage": "Automatické proklouznutí" }, "available.balance": { "defaultMessage": "Dostupný zůstatek" @@ -3225,13 +3240,13 @@ "defaultMessage": "Zůstatek" }, "boost.number": { - "defaultMessage": "Boost Number" + "defaultMessage": "Číslo zvýšení" }, "boost.percentage": { - "defaultMessage": "Boost Percentage" + "defaultMessage": "Procenta navýšení" }, "browser.not.support.video.tage": { - "defaultMessage": "Váš prohlížeč nepodporuje video tag" + "defaultMessage": "Váš prohlížeč nepodporuje video tagy" }, "button.title": { "defaultMessage": "Název tlačítka" @@ -3268,7 +3283,7 @@ "defaultMessage": "Zrušit" }, "cancel.listing": { - "defaultMessage": "Zrušit nabídku" + "defaultMessage": "Zrušit prodejní nabídku" }, "cancel.order": { "defaultMessage": "Zrušit nabídku pro {collectionName} #{id}", @@ -3284,7 +3299,7 @@ "defaultMessage": "ID Blockchainu" }, "check.deploy.status": { - "defaultMessage": "Zkontrolujte stav nasazení" + "defaultMessage": "Zkontrolujte stav" }, "checked.successfully": { "defaultMessage": "Úspěšně zkontrolováno" @@ -3293,7 +3308,7 @@ "defaultMessage": "Kontroluji doménu" }, "choose.collections.to.show": { - "defaultMessage": "Vyberte kolekce, které chcete zobrazit na svém tržišti" + "defaultMessage": "Vyberte kolekce, které chcete zobrazit na Vašem NFT tržišti" }, "choose.your.theme": { "defaultMessage": "Zvolte motiv" @@ -3302,7 +3317,13 @@ "defaultMessage": "Vymazat vše" }, "clear.filters": { - "defaultMessage": "Vymažte filtry pro zobrazení NFTs" + "defaultMessage": "Pro zobrazení NFTs vymažte filtry " + }, + "clear.filters.button": { + "defaultMessage": "Vymazat filtry" + }, + "results.count": { + "defaultMessage": "{count} webů nalezeno" }, "clear.transactions": { "defaultMessage": "Vymazat transakce", @@ -3318,7 +3339,7 @@ "defaultMessage": "Zavřít" }, "close.modal": { - "defaultMessage": "Zavřít modal" + "defaultMessage": "Zavřít vyskakovacá okno" }, "cname": { "defaultMessage": "CNAME" @@ -3438,7 +3459,7 @@ "defaultMessage": "Vytvořit podnabídku" }, "create.yout.marketplace": { - "defaultMessage": "Vytvořte svůj Marketplace" + "defaultMessage": "Vytvořte svoje NFT tržiště" }, "created.by": { "defaultMessage": "Vytvořil" @@ -3486,7 +3507,7 @@ "defaultMessage": "Datum" }, "decimals": { - "defaultMessage": "Decimals" + "defaultMessage": "Desetiny" }, "default": { "defaultMessage": "Výchozí" @@ -3650,7 +3671,7 @@ "defaultMessage": "Externí" }, "favicon": { - "defaultMessage": "Favicon" + "defaultMessage": "Oblíbený symbol" }, "favorite": { "defaultMessage": "Oblíbené" @@ -3691,13 +3712,13 @@ "defaultMessage": "Všeobecné informace" }, "generic": { - "defaultMessage": "Obecný" + "defaultMessage": "Obecné" }, "google.analytics.example.tag": { "defaultMessage": "Ukázka tagu: G-LWRHJH7JLF" }, "google.analytics.tag": { - "defaultMessage": "Google analytics tag" + "defaultMessage": "Google analytická značka" }, "hide": { "defaultMessage": "Skrýt" @@ -3712,7 +3733,7 @@ "defaultMessage": "Id" }, "image.deleted": { - "defaultMessage": "Obrázek odstraněn" + "defaultMessage": "Obrázek byl odstraněn" }, "image.url": { "defaultMessage": "URL Obrázku" @@ -3731,22 +3752,22 @@ "description": "Import token dialog title" }, "import.token.lists": { - "defaultMessage": "Importovat seznamy tokenů" + "defaultMessage": "Importovat seznam tokenů" }, "info.create.collection.dialog": { - "defaultMessage": "Neobnovujte aplikaci a nezavírejte modal, dokud nebude dokončeno odesílání dat!" + "defaultMessage": "Neobnovujte stránku a nezavírejte vyskakovací okno, dokud nebude dokončeno odesílání dat!" }, "info.create.nfts": { - "defaultMessage": "Pro vytvoření NFT je nezbytný název a obrázek. Při vytváření počkejte, může to chvíli trvat!" + "defaultMessage": "Pro vytvoření NFT je nutné zadat název a zvolit obrázek. Při vytváření počkejte, může to chvíli trvat!" }, "info.create.nfts.dialog": { - "defaultMessage": "Neobnovujte aplikaci a nezavírejte modal, dokud nebude dokončeno odesílání dat!" + "defaultMessage": "Neobnovujte aplikaci a nezavírejte vyskakovací okno, dokud nebude dokončeno odesílání dat!" }, "info.edit.nft.dialog": { - "defaultMessage": "Neobnovujte aplikaci a nezavírejte modal, dokud nebude dokončeno odesílání dat!" + "defaultMessage": "Neobnovujte aplikaci a nezavírejte vyskakovací okno, dokud nebude dokončeno odesílání dat!" }, "info.wizard.content.cname": { - "defaultMessage": "Nasaďte doménu. První se ujistěte, že vaše doména nepoužívá jiné záznamy. Po úspěšném přidání domény do našeho systému obdržíte záznamy A a CNAME, které přidáte do DNS u svého registrátora. Po přidání záznamů A a CNAME klikněte na tlačítko zkonzrolovat stav. Pokud je stav OVĚŘEN, máte tržiště nasazeno na vlastní doméně. Pokud používáte subdoménu, nezapomeňte nahradit @ s hodnotou subdomény. V případě nejasností kontaktujte podporu." + "defaultMessage": "Nasaďte vlastní doménu. První se ujistěte, že vaše doména nepoužívá jiné záznamy. Po úspěšném přidání domény do našeho systému obdržíte záznamy A a CNAME, které přidáte do DNS u svého registrátora. Po přidání záznamů A a CNAME klikněte na tlačítko zkonzrolovat stav. Pokud je stav OVĚŘEN, je vše v pořádku. Pokud používáte subdoménu, nezapomeňte nahradit @ s hodnotou subdomény. V případě potřeby kontaktujte podporu." }, "info.wizard.title.domain.records.setup": { "defaultMessage": "Informace o nastavení záznamů domény" @@ -3764,7 +3785,7 @@ "defaultMessage": "Neplatná cena" }, "is.powered.by": { - "defaultMessage": "is powered by", + "defaultMessage": "Používá technologii", "description": "is powered by" }, "item.type": { @@ -3798,11 +3819,11 @@ "defaultMessage": "Odpojit peněženku" }, "make.offer": { - "defaultMessage": "Vytvořit nabídku", + "defaultMessage": "Vytvořit nabídku k nákupu", "description": "Make Offer" }, "make.token.available.on.the.marketplace": { - "defaultMessage": "Zpřístupněte token na tržišti" + "defaultMessage": "Povolte token na tržišti" }, "market.cap": { "defaultMessage": "Tržní kapitalizace" @@ -3838,10 +3859,10 @@ "defaultMessage": "Menu" }, "move.section.down": { - "defaultMessage": "Přesunout sekci dolů" + "defaultMessage": "Posunout sekci dolů" }, "move.section.up": { - "defaultMessage": "Přesunout sekci nahoru" + "defaultMessage": "Posunout sekci nahoru" }, "name": { "defaultMessage": "Název" @@ -3898,7 +3919,7 @@ "defaultMessage": "NFTs nenalezeny" }, "no.available.offers": { - "defaultMessage": "Žádné dostupné nabídky", + "defaultMessage": "Žádné dostupné nabídky kupujících", "description": "No Available offers message" }, "no.hidden.nfts.found": { @@ -3908,22 +3929,22 @@ "defaultMessage": "Nebyly nalezeny žádné obrázky s tímto názvem" }, "no.listings.yet": { - "defaultMessage": "Zatím žádné nabídky" + "defaultMessage": "Zatím zde nejsou žádné nabídky prodávajících" }, "no.nfts.found": { "defaultMessage": "Nebyly nalezeny žádné NFTs" }, "no.offers.yet": { - "defaultMessage": "Zatím žádné nabídky" + "defaultMessage": "Zatím žádné nabídky kupujících" }, "no.orders.found": { - "defaultMessage": "Nebyly nalezeny žádné objednávky" + "defaultMessage": "Nebyly nalezeny žádné nákupní objednávky" }, "no.tokens": { "defaultMessage": "Žádné tokeny" }, "not.deployed": { - "defaultMessage": "Nenasazeno" + "defaultMessage": "Nespuštěno" }, "not.verified": { "defaultMessage": "Neověřeno" @@ -3941,7 +3962,7 @@ "defaultMessage": "Nabídky" }, "oops.nothing.here": { - "defaultMessage": "Jejda! Tady nic není" + "defaultMessage": "Jejda! Nic tu není" }, "oops.something.went.wrong": { "defaultMessage": "Jejda! Něco se pokazilo" @@ -3953,10 +3974,10 @@ "defaultMessage": "Nebo" }, "order": { - "defaultMessage": "Objednávka" + "defaultMessage": "Nákupní objednávka" }, "order.created": { - "defaultMessage": "Objednávka #{id} byla vytvořena" + "defaultMessage": "Nákupní objednávka #{id} byla vytvořena" }, "owned.by": { "defaultMessage": "Vlastník" @@ -3971,13 +3992,13 @@ "defaultMessage": "Náhled stránky {title}" }, "page.template.removed": { - "defaultMessage": "Šablona stránky odstraněna" + "defaultMessage": "Šablona stránky byla odstraněna" }, "page.templates": { "defaultMessage": "Šablony stránek" }, "page.wizard": { - "defaultMessage": "Průvodce stránek" + "defaultMessage": "Průvodce" }, "pages": { "defaultMessage": "Stránky" @@ -3989,7 +4010,7 @@ "defaultMessage": "Pro odstranění obrázku se přihlaste pomocí své peněženky" }, "please.sign.the.settings.with.your.wallet": { - "defaultMessage": "Potvrďte nastavení svojí peněženkou" + "defaultMessage": "Potvrďte nastavení ve Vaší peněžence" }, "please.try.again.later": { "defaultMessage": "Zkuste to znovu později" @@ -4047,7 +4068,7 @@ "defaultMessage": "Odstranit sekci" }, "royalty.percentage": { - "defaultMessage": "Royalty (%)" + "defaultMessage": "Licenční poplatek (%)" }, "save": { "defaultMessage": "Uložit" @@ -4108,27 +4129,27 @@ "description": "select network dialog title" }, "select.tokens.for.your.marketplace": { - "defaultMessage": "Vyberte tokeny pro své tržiště" + "defaultMessage": "Vyberte tokeny pro Vaše tržiště" }, "sell": { "defaultMessage": "Prodat", "description": "Sell button" }, "sell.asset": { - "defaultMessage": "Prodat asset", + "defaultMessage": "Prodat NFT", "description": "Sell asset dialog title" }, "send.settings": { "defaultMessage": "Odeslat nastavení" }, "sending.config": { - "defaultMessage": "Odeslání konfigurace" + "defaultMessage": "Odesílání nastavení" }, "sending.marketplace.settings": { "defaultMessage": "Odesílání nastavení tržiště" }, "sending.page.template.data": { - "defaultMessage": "Odesílání dat šablony stránky" + "defaultMessage": "Odesílání šablony stránky" }, "sending.page.template.settings": { "defaultMessage": "Odesílání nastavení šablony stránky" @@ -4160,13 +4181,13 @@ "description": "Sign message dialog title" }, "simple": { - "defaultMessage": "Jednoduchý" + "defaultMessage": "Jednoduché" }, "slippage.is.above.one.hundred.percent": { - "defaultMessage": "Slippage je nad 100 %" + "defaultMessage": "Proklouznutí je nad 100 %" }, "slippage.is.below.zero": { - "defaultMessage": "Slippage je pod 0" + "defaultMessage": "Proklouznutí je pod 0" }, "social": { "defaultMessage": "Sociální sítě" @@ -4182,7 +4203,7 @@ "defaultMessage": "Začněte zdarma" }, "start.posting.offers.collection": { - "defaultMessage": "Začněte dělat nabídky pro tuto kolekci", + "defaultMessage": "Vytvořte nákupní nabídky pro tuto kolekci", "description": "Start posting offers for this collection" }, "status": { @@ -4192,13 +4213,13 @@ "defaultMessage": "Podtitulek" }, "swap": { - "defaultMessage": "Swap" + "defaultMessage": "Výměna" }, "swap.fees": { "defaultMessage": "Poplatky Swapu" }, "swap.notification": { - "defaultMessage": "Swapnout {sellAmount} {sellSymbol} za {buyAmount} {buySymbol}", + "defaultMessage": "Směnit {sellAmount} {sellSymbol} za {buyAmount} {buySymbol}", "description": "Swap notification description" }, "swap.settings": { @@ -4217,7 +4238,7 @@ "description": "Switch network dialog content text" }, "switch.to.network": { - "defaultMessage": "Přepněte na síť {network}" + "defaultMessage": "Přepnout na síť {network}" }, "symbol": { "defaultMessage": "Symbol" @@ -4247,22 +4268,22 @@ "defaultMessage": "Token" }, "token.added": { - "defaultMessage": "Token přidán" + "defaultMessage": "Token byl přidán" }, "token.already.imported": { "defaultMessage": "Token již importován" }, "token.created": { - "defaultMessage": "Token vytvořen" + "defaultMessage": "Token byl vytvořen" }, "token.id": { - "defaultMessage": "Token Id" + "defaultMessage": "ID tokenu" }, "tokens": { "defaultMessage": "Tokeny" }, "total": { - "defaultMessage": "Celkově" + "defaultMessage": "Celkem" }, "total.volume": { "defaultMessage": "Celkový objem" @@ -4336,7 +4357,7 @@ "defaultMessage": "Doména" }, "use.home.as.title.not.allowed": { - "defaultMessage": "Název Home pro stránky není povolen" + "defaultMessage": "Název Home pro vlastní stránky není povolen" }, "value": { "defaultMessage": "Hodnota" @@ -4375,7 +4396,7 @@ "defaultMessage": "Zobrazit NFTs" }, "view.order": { - "defaultMessage": "Zobrazit objednávku" + "defaultMessage": "Zobrazit kupní objednávku" }, "view.page.templates": { "defaultMessage": "Zobrazit šablony stránek" @@ -4415,22 +4436,22 @@ "defaultMessage": "Ty" }, "you.are.cloning": { - "defaultMessage": "Klonování webu {site}. Zkontrolujte to zde" + "defaultMessage": "Duplikování webu {site}. Zkontrolujte zde" }, "you.are.cloning.page.message": { - "defaultMessage": "Klonování stránky {page}" + "defaultMessage": "Duplikování stránky {page}" }, "you.are.paying.percentage.in.fees": { "defaultMessage": "Zaplatíte {price} {symbol} + {percentage} poplatek" }, "you.need.to.add.or.import.tokens.so.users.can.make.trades": { - "defaultMessage": "Musíte přidat nebo importovat tokeny, aby uživatelé mohli obchodovat" + "defaultMessage": "Musíte přidat nebo importovat tokeny, aby je uživatelé mohli obchodovat" }, "you.own": { "defaultMessage": "Vlastníte" }, "you.pay": { - "defaultMessage": "Platíte" + "defaultMessage": "Zaplatíte" }, "you.receive": { "defaultMessage": "Obdržíte" @@ -4521,7 +4542,7 @@ "defaultMessage": "Emoji" }, "chip.text": { - "defaultMessage": "Text Chipu" + "defaultMessage": "Text Čipu" }, "chip.text.placeholder": { "defaultMessage": "např., Chytrý Kontrakt Ověřen" diff --git a/apps/dexappbuilder/lang/de-DE.json b/apps/dexappbuilder/lang/de-DE.json index 90a9eae39..c1f9502ad 100644 --- a/apps/dexappbuilder/lang/de-DE.json +++ b/apps/dexappbuilder/lang/de-DE.json @@ -1,120 +1,123 @@ { + "description.markdown.helper": { + "defaultMessage": "Sie können Markdown-Formatierung für Rich-Text-Beschreibungen verwenden" + }, "Created": { - "defaultMessage": "Created" + "defaultMessage": "Erstellt" }, "action.type": { - "defaultMessage": "Action type" + "defaultMessage": "Aktionstyp" }, "add.items": { - "defaultMessage": "Add items" + "defaultMessage": "Gegenstände hinzufügen" }, "add.payment.method": { - "defaultMessage": "Add Payment Method" + "defaultMessage": "Zahlungsmethode hinzufügen" }, "ai.assistant": { - "defaultMessage": "AI Assistant" + "defaultMessage": "KI-Assistent" }, "align.items": { - "defaultMessage": "Align Items" + "defaultMessage": "Elemente ausrichten" }, "artificial.inteligence": { - "defaultMessage": "Artificial Inteligence" + "defaultMessage": "Künstliche Intelligenz" }, "billing": { - "defaultMessage": "Billing" + "defaultMessage": "Abrechnung" }, "button.cation": { - "defaultMessage": "Button caption" + "defaultMessage": "Schaltflächenbeschriftung" }, "buy.and.sell": { - "defaultMessage": "Buy and sell" + "defaultMessage": "Kaufen und verkaufen" }, "buy.token.page": { - "defaultMessage": "Buy token page" + "defaultMessage": "Seite zum Kaufen von Token" }, "carousel": { - "defaultMessage": "Carousel" + "defaultMessage": "Karussell" }, "carousel.image.aspectRatio": { - "defaultMessage": "The image must have a 16/9 aspect ratio to be displayed correctly in the carousel." + "defaultMessage": "Das Bild muss ein Seitenverhältnis von 16:9 haben, um im Karussell korrekt angezeigt zu werden." }, "center": { - "defaultMessage": "Center" + "defaultMessage": "Zentrieren" }, "checkout": { - "defaultMessage": "Checkout" + "defaultMessage": "Kasse" }, "coming.soon": { - "defaultMessage": "Coming soon" + "defaultMessage": "Demnächst verfügbar" }, "create.metadata": { - "defaultMessage": "Create metadata" + "defaultMessage": "Metadaten erstellen" }, "creating.site.metadata": { - "defaultMessage": "Creating site metadata" + "defaultMessage": "Website-Metadaten erstellen" }, "credit.history": { - "defaultMessage": "Credit History" + "defaultMessage": "Kreditverlauf" }, "credited": { - "defaultMessage": "Credited" + "defaultMessage": "Gutgeschrieben" }, "credits": { - "defaultMessage": "Credits" + "defaultMessage": "Guthaben" }, "credits.below0.50": { - "defaultMessage": "Your credits are now below $0.50. Please consider adding more credits to continue using our services." + "defaultMessage": "Ihr Guthaben liegt nun unter 0,50 $. Bitte fügen Sie mehr Guthaben hinzu, um unsere Dienste weiter nutzen zu können." }, "credits.expire.oneYear": { - "defaultMessage": "Your added credits will expire one year from the date of addition. Please utilize them before expiry." + "defaultMessage": "Die von Ihnen hinzugefügten Gutschriften verfallen ein Jahr nach dem Hinzufügedatum. Bitte nutzen Sie sie vor dem Verfallsdatum." }, "current.phase": { - "defaultMessage": "Current phase" + "defaultMessage": "Aktuelle Phase" }, "current.phase.ends.in": { - "defaultMessage": "Current phase ends in" + "defaultMessage": "Die aktuelle Phase endet in" }, "dexappbuilder.ann.app.bar2": { - "defaultMessage": "Support us on {Giveth} and allow our service to be free for all. Each donation is matched by ENS builders round." + "defaultMessage": "Unterstützen Sie uns auf {Giveth} und ermöglichen Sie uns, unser Service kostenlos für alle anzubieten. Jede Spende wird von den ENS-Entwicklern verdoppelt." }, "disable.secondary.sells": { - "defaultMessage": "Disable secondary sells" + "defaultMessage": "Sekundärverkäufe deaktivieren" }, "editing.site.metadata": { - "defaultMessage": "Editing site metadata" + "defaultMessage": "Metadaten der Website bearbeiten" }, "end": { - "defaultMessage": "End" + "defaultMessage": "Ende" }, "error.while.tranfer": { - "defaultMessage": "Error while transfer" + "defaultMessage": "Fehler beim Transfer" }, "feature": { "defaultMessage": "Feature" }, "height.for.desktop": { - "defaultMessage": "Height for desktop" + "defaultMessage": "Höhe für Desktop" }, "height.for.mobile": { - "defaultMessage": "Height for mobile" + "defaultMessage": "Höhe für Mobilgeräte" }, "in.milliseconds": { - "defaultMessage": "In milliseconds" + "defaultMessage": "In Millisekunden" }, "insufficient.balance": { - "defaultMessage": "Insufficient balance" + "defaultMessage": "Unzureichendes Guthaben" }, "interval": { - "defaultMessage": "Interval" + "defaultMessage": "Intervall" }, "items.spacing": { - "defaultMessage": "Items spacing" + "defaultMessage": "Abstand zwischen Elementen" }, "left": { - "defaultMessage": "Left" + "defaultMessage": "Links" }, "new.ai.features": { - "defaultMessage": "New AI Features" + "defaultMessage": "Neue KI-Funktionen" }, "no.description": { "defaultMessage": "no description" @@ -167,6 +170,9 @@ "search.default.base.token": { "defaultMessage": "Search default base token" }, + "search.sites": { + "defaultMessage": "Webseiten suchen..." + }, "section.addItemsPrompt": { "defaultMessage": "Please add items to the section below." }, @@ -288,103 +294,103 @@ "defaultMessage": "Your transaction requires 10 confirmations for full validation" }, "AI": { - "defaultMessage": "AI" + "defaultMessage": "KI" }, "activate": { - "defaultMessage": "Activate AI" + "defaultMessage": "KI aktivieren" }, "activate.ai": { - "defaultMessage": "Activate AI" + "defaultMessage": "KI aktivieren" }, "add.credit": { - "defaultMessage": "Add Credit" + "defaultMessage": "Kredit hinzufügen" }, "add.credits": { - "defaultMessage": "Add credits" + "defaultMessage": "Guthaben hinzufügen" }, "ai.activated": { - "defaultMessage": "AI Activated" + "defaultMessage": "KI aktiviert" }, "ai.completation": { - "defaultMessage": "AI Completation" + "defaultMessage": "KI-Vervollständigung" }, "ai.edit": { - "defaultMessage": "AI Edit" + "defaultMessage": "KI bearbeiten" }, "ai.generator": { - "defaultMessage": "AI Generator" + "defaultMessage": "KI-Generator" }, "ai.image.generator": { - "defaultMessage": "AI Image Generator" + "defaultMessage": "KI-Bildgenerator" }, "answer": { - "defaultMessage": "Answer:" + "defaultMessage": "Antwort:" }, "billing.and.usage": { - "defaultMessage": "Billing & Usage" + "defaultMessage": "Abrechnung & Nutzung" }, "change.cat.head": { - "defaultMessage": "ex. Change cat head" + "defaultMessage": "z. B. Katzenkopf ändern" }, "close.anyway": { - "defaultMessage": "Close anyway" + "defaultMessage": "So oder so schließen" }, "credit.card.soming.soon": { - "defaultMessage": "Credit Card (Coming Soon)" + "defaultMessage": "Kreditkarte (Demnächst verfügbar)" }, "cryptocurrency": { - "defaultMessage": "Cryptocurrency" + "defaultMessage": "Kryptowährung" }, "deselect.all": { - "defaultMessage": "Deselect All" + "defaultMessage": "Alles abwählen" }, "error.while.generating.images": { - "defaultMessage": "Error while generating images" + "defaultMessage": "Fehler beim Generieren von Bildern" }, "ex.an.image.of.a.cat": { - "defaultMessage": "ex. An image of a cat" + "defaultMessage": "z.B. Ein Bild einer Katze" }, "fix.spelling.and.grammar": { - "defaultMessage": "Fix spelling and grammar" + "defaultMessage": "Rechtschreibung und Grammatik korrigieren" }, "generate": { - "defaultMessage": "Generate" + "defaultMessage": "Generieren" }, "generate.image": { - "defaultMessage": "Generate image" + "defaultMessage": "Bild generieren" }, "generate.new.text": { - "defaultMessage": "Generate new text" + "defaultMessage": "Neuen Text generieren" }, "generate.variant": { - "defaultMessage": "Generate variant" + "defaultMessage": "Variante generieren" }, "generate.variants": { - "defaultMessage": "Generate Variants" + "defaultMessage": "Varianten generieren" }, "generating": { - "defaultMessage": "Generating" + "defaultMessage": "Generieren" }, "generating.variants": { - "defaultMessage": "Generating Variants" + "defaultMessage": "Varianten generieren" }, "images.generated": { - "defaultMessage": "Images generated" + "defaultMessage": "Bilder generiert" }, "images.notGenerated": { - "defaultMessage": "You haven't generated any images yet. Start generating images now to make the most out of our service." + "defaultMessage": "Sie haben noch keine Bilder generiert. Beginnen Sie jetzt damit, Bilder zu generieren, um das Beste aus unserem Service herauszuholen." }, "improve.writing": { - "defaultMessage": "Improve writing" + "defaultMessage": "Schreiben verbessern" }, "make.longer": { - "defaultMessage": "Make longer" + "defaultMessage": "Länger machen" }, "make.shorter": { - "defaultMessage": "Make shorter" + "defaultMessage": "Kürzer machen" }, "no.credits": { - "defaultMessage": "No Credits" + "defaultMessage": "Keine Credits" }, "no.images": { "defaultMessage": "No Images" @@ -1200,9 +1206,6 @@ "You.are.not.eligible.to.mint.at.this.time.": { "defaultMessage": "Sie sind momentan nicht berechtigt, Mintvorgänge durchzuführen." }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Zugriff auf Darkblock, um weitere Informationen zu erhalten" - }, "access.requirements.message": { "defaultMessage": "Zugriffsanforderungen Meldung" }, @@ -1495,15 +1498,6 @@ "csv.file.to.import.on.aidrop.contract": { "defaultMessage": "CSV-Datei, die in Airdrop-Verträge importiert werden soll" }, - "darkblock": { - "defaultMessage": "Dunkelblock" - }, - "darkblock.io": { - "defaultMessage": "Darkblock.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock ist ein dezentralisiertes Protokoll, das es Content-Erstellern ermöglicht, exklusive Inhalte für ihre Fans zu veröffentlichen und zu verteilen, ohne auf zentralisierte Token-Gating-Plattformen angewiesen zu sein. Diese Integration wird auf der Asset-Seite für die von Darkblock unterstützten Netzwerke genutzt." - }, "default.currency": { "defaultMessage": "Standardwährung" }, @@ -1612,18 +1606,6 @@ "empty.leaderboard": { "defaultMessage": "Leere Bestenliste" }, - "enable.darkblock": { - "defaultMessage": "Darkblock Asset aktivieren" - }, - "enable.darkblock.collection": { - "defaultMessage": "Darkblock-Sammlung aktivieren" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Darkblock auf der Asset-Seite aktivieren" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Darkblock auf der Sammlungsseite aktivieren" - }, "enable.drop": { "defaultMessage": "Darkblock aktivieren" }, @@ -2116,6 +2098,24 @@ "sort.by": { "defaultMessage": "Sortieren nach" }, + "sort.newest": { + "defaultMessage": "Neueste" + }, + "sort.oldest": { + "defaultMessage": "Älteste" + }, + "sort.most.modified": { + "defaultMessage": "Meist geändert" + }, + "sort.least.modified": { + "defaultMessage": "Wenig geändert" + }, + "sort.name.asc": { + "defaultMessage": "Name A-Z" + }, + "sort.name.desc": { + "defaultMessage": "Name Z-A" + }, "stake": { "defaultMessage": "Einsatz" }, @@ -2641,6 +2641,21 @@ "filters": { "defaultMessage": "Filter" }, + "filter.by": { + "defaultMessage": "Filtern nach" + }, + "filter.all": { + "defaultMessage": "Alle" + }, + "filter.recent": { + "defaultMessage": "Kürzlich (30 Tage)" + }, + "filter.active": { + "defaultMessage": "Aktiv (7 Tage)" + }, + "filter.popular": { + "defaultMessage": "Beliebt" + }, "finish": { "defaultMessage": "Beenden" }, @@ -3255,6 +3270,12 @@ "clear.filters": { "defaultMessage": "Filter löschen, um NFTs zu sehen" }, + "clear.filters.button": { + "defaultMessage": "Filter löschen" + }, + "results.count": { + "defaultMessage": "{count} Websites gefunden" + }, "clone.page": { "defaultMessage": "Seite klonen" }, @@ -4547,7 +4568,7 @@ "defaultMessage": "Geben Sie einen benutzerdefinierten Titel für Ihre Token-Anspruchsseite ein. Lassen Sie es leer, um den Standardtitel zu verwenden." }, "custom.title.placeholder": { - "defaultMessage": "z.B., Holen Sie sich Ihre Belohnungen" + "defaultMessage": "z.B., Holen Sie sich Ihre {Belohnungen}" }, "custom.subtitle": { "defaultMessage": "Benutzerdefinierter Untertitel" @@ -4568,7 +4589,7 @@ "defaultMessage": "Chips-Bereich Titel" }, "chips.section.title.placeholder": { - "defaultMessage": "z.B., Sicherheitsfeatures" + "defaultMessage": "z.B., Sicherheitsfunktionen" }, "chips.section.title.helper": { "defaultMessage": "Geben Sie einen benutzerdefinierten Titel für den Chips-Bereich ein. Leer lassen, um 'Sicherheitsfeatures' zu verwenden." diff --git a/apps/dexappbuilder/lang/en-US.json b/apps/dexappbuilder/lang/en-US.json index bd93c29d7..dfc2ea9c1 100644 --- a/apps/dexappbuilder/lang/en-US.json +++ b/apps/dexappbuilder/lang/en-US.json @@ -1,4 +1,7 @@ { + "description.markdown.helper": { + "defaultMessage": "You can use markdown formatting for rich text descriptions" + }, "Created": { "defaultMessage": "Created" }, @@ -1248,9 +1251,6 @@ "You.are.not.eligible.to.mint.at.this.time.": { "defaultMessage": "You are not eligible to mint at this time." }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Access darkblock to get more information" - }, "access.requirements.message": { "defaultMessage": "Access requirements message" }, @@ -1495,7 +1495,7 @@ "defaultMessage": "Claim ({priceToMint})" }, "clear.filters.to.see.nft.drops": { - "defaultMessage": "Clear filters to see nft drop's" + "defaultMessage": "Clear filters to see NFT drops" }, "click.on.nft.to.manage.and.set.claim.conditions.": { "defaultMessage": "Click on NFTs to start manage and set claim conditons." @@ -1549,15 +1549,6 @@ "csv.file.to.import.on.aidrop.contract": { "defaultMessage": "CSV file to be imported on airdrop contracts" }, - "darkblock": { - "defaultMessage": "Darkblock" - }, - "darkblock.io": { - "defaultMessage": "Darkblock.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock is a decentralized protocol that allows content creators to publish and distribute exclusive content to their fans without the need for centralized token-gating platforms. This integration is utilized on the Asset page for the networks supported by Darkblock." - }, "default.currency": { "defaultMessage": "Default currency" }, @@ -1672,18 +1663,6 @@ "empty.leaderboard": { "defaultMessage": "Empty leaderboard" }, - "enable.darkblock": { - "defaultMessage": "Enable Darkblock Asset" - }, - "enable.darkblock.collection": { - "defaultMessage": "Enable Darkblock Collection" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Enable Darkblock on Asset page" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Enable Darkblock on Collection page" - }, "enable.drop": { "defaultMessage": "Enable Darkblock" }, @@ -2176,6 +2155,24 @@ "sort.by": { "defaultMessage": "Sort by" }, + "sort.newest": { + "defaultMessage": "Newest" + }, + "sort.oldest": { + "defaultMessage": "Oldest" + }, + "sort.most.modified": { + "defaultMessage": "Most modified" + }, + "sort.least.modified": { + "defaultMessage": "Least modified" + }, + "sort.name.asc": { + "defaultMessage": "Name A-Z" + }, + "sort.name.desc": { + "defaultMessage": "Name Z-A" + }, "stake": { "defaultMessage": "Stake" }, @@ -2701,6 +2698,21 @@ "filters": { "defaultMessage": "Filters" }, + "filter.by": { + "defaultMessage": "Filter by" + }, + "filter.all": { + "defaultMessage": "All" + }, + "filter.recent": { + "defaultMessage": "Recent (30 days)" + }, + "filter.active": { + "defaultMessage": "Active (7 days)" + }, + "filter.popular": { + "defaultMessage": "Popular" + }, "finish": { "defaultMessage": "Finish" }, @@ -3108,7 +3120,7 @@ "defaultMessage": "User accounts:" }, "user.contract.form": { - "defaultMessage": "User Contract Form" + "defaultMessage": "User contract form" }, "user.edit": { "defaultMessage": "User Edit" @@ -3313,7 +3325,13 @@ "defaultMessage": "Clear all" }, "clear.filters": { - "defaultMessage": "Clear filters to see nft's" + "defaultMessage": "Clear filters to see NFTs" + }, + "clear.filters.button": { + "defaultMessage": "Clear filters" + }, + "results.count": { + "defaultMessage": "{count} sites found" }, "clone.page": { "defaultMessage": "Clone page" @@ -3581,7 +3599,7 @@ "defaultMessage": "Floor price" }, "footer.menu": { - "defaultMessage": "Footer menu" + "defaultMessage": "Footer" }, "gallery": { "defaultMessage": "Gallery" @@ -3635,7 +3653,7 @@ "defaultMessage": "Please don't close modal or reload app till finish data submission!" }, "info.wizard.content.cname": { - "defaultMessage": "Deploy your domain, make sure first your domain is not used with other records. After domain successfully added to our system you will receive a CNAME and A record to be added to your DNS provider. After added the CNAME and A record, press button check deploy status, if status VERIFIED, wait for domain to propagate and you will have your marketplace set on your custom domain. Note, if you are on a subdomain, replace @ with subdomain value. Any issue contact our support channels." + "defaultMessage": "Deploy your domain. First, ensure that your domain is not used with other records. After the domain has been successfully added to our system, you will receive a CNAME and A record to be added to your DNS provider. Once you have added the CNAME and A record, click the \"Check Deploy Status\" button. If the status shows as \"VERIFIED\" wait for the domain to propagate, and your app will be set on your custom domain. If you are on a subdomain, replace \"@\" with the subdomain value. If you encounter any issues, please contact our support channels." }, "info.wizard.title.domain.records.setup": { "defaultMessage": "Domain records setup info" @@ -3853,6 +3871,9 @@ "search": { "defaultMessage": "Search" }, + "search.sites": { + "defaultMessage": "Search sites..." + }, "search.for.token": { "defaultMessage": "Search for tokens..." }, diff --git a/apps/dexappbuilder/lang/es-ES.json b/apps/dexappbuilder/lang/es-ES.json index 1fbbf1ae0..cf96fab4b 100644 --- a/apps/dexappbuilder/lang/es-ES.json +++ b/apps/dexappbuilder/lang/es-ES.json @@ -1,117 +1,120 @@ { + "description.markdown.helper": { + "defaultMessage": "Puedes usar formato markdown para descripciones de texto enriquecido." + }, "Created": { - "defaultMessage": "Created" + "defaultMessage": "Creado" }, "action.type": { - "defaultMessage": "Action type" + "defaultMessage": "Tipo de acción" }, "add.items": { - "defaultMessage": "Add items" + "defaultMessage": "Agregar elementos" }, "add.payment.method": { - "defaultMessage": "Add Payment Method" + "defaultMessage": "Agregar Método de Pago" }, "ai.assistant": { - "defaultMessage": "AI Assistant" + "defaultMessage": "Asistente de IA" }, "align.items": { - "defaultMessage": "Align Items" + "defaultMessage": "Alinear Elementos" }, "artificial.inteligence": { - "defaultMessage": "Artificial Inteligence" + "defaultMessage": "Inteligencia Artificial" }, "billing": { - "defaultMessage": "Billing" + "defaultMessage": "Facturación" }, "button.cation": { - "defaultMessage": "Button caption" + "defaultMessage": "Texto del botón" }, "buy.and.sell": { - "defaultMessage": "Buy and sell" + "defaultMessage": "Comprar y vender" }, "buy.token.page": { - "defaultMessage": "Buy token page" + "defaultMessage": "Página de compra de tokens" }, "carousel": { - "defaultMessage": "Carousel" + "defaultMessage": "Carrusel" }, "carousel.image.aspectRatio": { - "defaultMessage": "The image must have a 16/9 aspect ratio to be displayed correctly in the carousel." + "defaultMessage": "La imagen debe tener una relación de aspecto de 16/9 para mostrarse correctamente en el carrusel." }, "center": { - "defaultMessage": "Center" + "defaultMessage": "Centrar" }, "checkout": { - "defaultMessage": "Checkout" + "defaultMessage": "Pagar" }, "coming.soon": { - "defaultMessage": "Coming soon" + "defaultMessage": "Próximamente" }, "create.metadata": { - "defaultMessage": "Create metadata" + "defaultMessage": "Crear metadatos" }, "creating.site.metadata": { - "defaultMessage": "Creating site metadata" + "defaultMessage": "Creando metadatos del sitio" }, "credit.history": { - "defaultMessage": "Credit History" + "defaultMessage": "Historial de Crédito" }, "credited": { - "defaultMessage": "Credited" + "defaultMessage": "Acreditado" }, "credits": { - "defaultMessage": "Credits" + "defaultMessage": "Créditos" }, "credits.below0.50": { - "defaultMessage": "Your credits are now below $0.50. Please consider adding more credits to continue using our services." + "defaultMessage": "Tus créditos ahora están por debajo de $0.50. Por favor, considera agregar más créditos para continuar usando nuestros servicios." }, "credits.expire.oneYear": { - "defaultMessage": "Your added credits will expire one year from the date of addition. Please utilize them before expiry." + "defaultMessage": "Los créditos añadidos caducarán un año después de la fecha de adición. Por favor, úsalos antes de que expiren." }, "current.phase": { - "defaultMessage": "Current phase" + "defaultMessage": "Fase Actual" }, "current.phase.ends.in": { - "defaultMessage": "Current phase ends in" + "defaultMessage": "La fase actual finaliza en" }, "dexappbuilder.ann.app.bar2": { - "defaultMessage": "Support us on {Giveth} and allow our service to be free for all. Each donation is matched by ENS builders round." + "defaultMessage": "Apóyanos en {Giveth} y permite que nuestro servicio sea gratuito para todos. Cada donación es igualada por el equipo de constructores de ENS." }, "disable.secondary.sells": { - "defaultMessage": "Disable secondary sells" + "defaultMessage": "Desactivar ventas secundarias" }, "editing.site.metadata": { - "defaultMessage": "Editing site metadata" + "defaultMessage": "Editando metadatos del sitio" }, "end": { - "defaultMessage": "End" + "defaultMessage": "Fin" }, "error.while.tranfer": { - "defaultMessage": "Error while transfer" + "defaultMessage": "Error al transferir" }, "feature": { - "defaultMessage": "Feature" + "defaultMessage": "Característica" }, "height.for.desktop": { - "defaultMessage": "Height for desktop" + "defaultMessage": "Altura para escritorio" }, "height.for.mobile": { - "defaultMessage": "Height for mobile" + "defaultMessage": "Altura para móvil" }, "in.milliseconds": { - "defaultMessage": "In milliseconds" + "defaultMessage": "En milisegundos" }, "insufficient.balance": { - "defaultMessage": "Insufficient balance" + "defaultMessage": "Saldo insuficiente" }, "interval": { - "defaultMessage": "Interval" + "defaultMessage": "Intervalo" }, "items.spacing": { - "defaultMessage": "Items spacing" + "defaultMessage": "Espaciado de elementos" }, "left": { - "defaultMessage": "Left" + "defaultMessage": "Izquierda" }, "new.ai.features": { "defaultMessage": "New AI Features" @@ -288,100 +291,100 @@ "defaultMessage": "Your transaction requires 10 confirmations for full validation" }, "AI": { - "defaultMessage": "AI" + "defaultMessage": "IA" }, "activate": { - "defaultMessage": "Activate AI" + "defaultMessage": "Activar IA" }, "activate.ai": { - "defaultMessage": "Activate AI" + "defaultMessage": "Activar IA" }, "add.credit": { - "defaultMessage": "Add Credit" + "defaultMessage": "Agregar Crédito" }, "add.credits": { - "defaultMessage": "Add credits" + "defaultMessage": "Agregar créditos" }, "ai.activated": { - "defaultMessage": "AI Activated" + "defaultMessage": "IA Activada" }, "ai.completation": { - "defaultMessage": "AI Completation" + "defaultMessage": "Completado por IA" }, "ai.edit": { - "defaultMessage": "AI Edit" + "defaultMessage": "Editar IA" }, "ai.generator": { - "defaultMessage": "AI Generator" + "defaultMessage": "Generador de IA" }, "ai.image.generator": { - "defaultMessage": "AI Image Generator" + "defaultMessage": "Generador de Imágenes IA" }, "answer": { - "defaultMessage": "Answer:" + "defaultMessage": "Respuesta:" }, "billing.and.usage": { - "defaultMessage": "Billing & Usage" + "defaultMessage": "Facturación y Uso" }, "change.cat.head": { - "defaultMessage": "ex. Change cat head" + "defaultMessage": "ej. Cambiar cabeza de gato" }, "close.anyway": { - "defaultMessage": "Close anyway" + "defaultMessage": "Cerrar de todos modos" }, "credit.card.soming.soon": { - "defaultMessage": "Credit Card (Coming Soon)" + "defaultMessage": "Tarjeta de Crédito (Próximamente)" }, "cryptocurrency": { - "defaultMessage": "Cryptocurrency" + "defaultMessage": "Criptomoneda" }, "deselect.all": { - "defaultMessage": "Deselect All" + "defaultMessage": "Deseleccionar Todo" }, "error.while.generating.images": { - "defaultMessage": "Error while generating images" + "defaultMessage": "Error al generar imágenes" }, "ex.an.image.of.a.cat": { - "defaultMessage": "ex. An image of a cat" + "defaultMessage": "ej. Una imagen de un gato" }, "fix.spelling.and.grammar": { - "defaultMessage": "Fix spelling and grammar" + "defaultMessage": "Corregir ortografía y gramática" }, "generate": { - "defaultMessage": "Generate" + "defaultMessage": "Generar" }, "generate.image": { - "defaultMessage": "Generate image" + "defaultMessage": "Generar imagen" }, "generate.new.text": { - "defaultMessage": "Generate new text" + "defaultMessage": "Generar nuevo texto" }, "generate.variant": { - "defaultMessage": "Generate variant" + "defaultMessage": "Generar variante" }, "generate.variants": { - "defaultMessage": "Generate Variants" + "defaultMessage": "Generar Variantes" }, "generating": { - "defaultMessage": "Generating" + "defaultMessage": "Generando" }, "generating.variants": { - "defaultMessage": "Generating Variants" + "defaultMessage": "Generando Variantes" }, "images.generated": { - "defaultMessage": "Images generated" + "defaultMessage": "Imágenes generadas" }, "images.notGenerated": { - "defaultMessage": "You haven't generated any images yet. Start generating images now to make the most out of our service." + "defaultMessage": "Aún no has generado ninguna imagen. Comienza a generar imágenes ahora para aprovechar al máximo nuestro servicio." }, "improve.writing": { - "defaultMessage": "Improve writing" + "defaultMessage": "Mejorar escritura" }, "make.longer": { - "defaultMessage": "Make longer" + "defaultMessage": "Alargar" }, "make.shorter": { - "defaultMessage": "Make shorter" + "defaultMessage": "Acortar" }, "no.credits": { "defaultMessage": "No Credits" @@ -492,19 +495,19 @@ "defaultMessage": "Coste de gas" }, "gas.price": { - "defaultMessage": "Gas price" + "defaultMessage": "Precio del gas" }, "invalid address": { - "defaultMessage": "Invalid address" + "defaultMessage": "Dirección no válida" }, "invalid.file.column.column.is.missing": { - "defaultMessage": "Invalid file: column {column} is missing" + "defaultMessage": "Archivo no válido: falta la columna {column}" }, "max.fee": { - "defaultMessage": "Max fee" + "defaultMessage": "Tarifa máxima" }, "max.priority.fee": { - "defaultMessage": "Max priority fee" + "defaultMessage": "Tarifa de prioridad máxima" }, "message.you.are.signing": { "defaultMessage": "Message you are signing" @@ -661,31 +664,31 @@ "defaultMessage": "Cantidad completarble" }, "insufficient": { - "defaultMessage": "Insufficient {symbol}" + "defaultMessage": "Insuficiente {symbol}" }, "insufficient.symbol": { - "defaultMessage": "insufficient {symbol}" + "defaultMessage": "insuficiente {symbol}" }, "last.price": { - "defaultMessage": "Last price" + "defaultMessage": "Último precio" }, "last.price.amount": { - "defaultMessage": "Last price: {amount}" + "defaultMessage": "Último precio: {amount}" }, "limit": { - "defaultMessage": "Limit" + "defaultMessage": "Límite" }, "loading.quote": { - "defaultMessage": "Loading quote..." + "defaultMessage": "Cargando cotización..." }, "market": { - "defaultMessage": "Market" + "defaultMessage": "Mercado" }, "market.cap.amount": { - "defaultMessage": "Market Cap: {amount}" + "defaultMessage": "Capitalización de mercado: {amount}" }, "market.settings": { - "defaultMessage": "Market Settings" + "defaultMessage": "Configuración de mercado" }, "max.slippage.is.value.percent": { "defaultMessage": "Max slippage is 50 percent" @@ -796,7 +799,7 @@ "defaultMessage": "Gas: {gas} Gwei" }, "insufficient.symbol.balance": { - "defaultMessage": "Insufficient {symbol} balance" + "defaultMessage": "Saldo de {symbol} insuficiente" }, "network.not.supported.msg": { "defaultMessage": "Network not supported. Please change to a supported network: {networks}" @@ -964,7 +967,7 @@ "defaultMessage": "Ingresa un subtítulo personalizado para describir tu distribución de tokens. Déjalo vacío para usar el nombre del contrato." }, "custom.title.placeholder": { - "defaultMessage": "ej., Reclama tus Recompensas" + "defaultMessage": "ej., Reclama tus {Recompensas}" }, "custom.subtitle.placeholder": { "defaultMessage": "ej., Obtén tus tokens exclusivos de nuestro último lanzamiento" @@ -1248,9 +1251,6 @@ "You.are.not.eligible.to.mint.at.this.time.": { "defaultMessage": "No eres elegible para hacer mint en este momento." }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Accede a darkblock para obtener más información" - }, "access.requirements.message": { "defaultMessage": "Mensaje de requisitos de acceso" }, @@ -1543,15 +1543,6 @@ "csv.file.to.import.on.aidrop.contract": { "defaultMessage": "Archivo CSV para ser importado en contratos de airdrop" }, - "darkblock": { - "defaultMessage": "Bloque oscuro" - }, - "darkblock.io": { - "defaultMessage": "Darkblock.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock es un protocolo descentralizado que permite a los creadores de contenido publicar y distribuir contenido exclusivo a sus fans sin la necesidad de plataformas centralizadas de paso de tokens. Esta integración se utiliza en la página de activos para las redes soportadas por Darkblock." - }, "default.currency": { "defaultMessage": "Divisa predeterminada" }, @@ -1663,18 +1654,6 @@ "empty.leaderboard": { "defaultMessage": "Tabla de clasificación vacía" }, - "enable.darkblock": { - "defaultMessage": "Activar Activo de Darkblock" - }, - "enable.darkblock.collection": { - "defaultMessage": "Activar Colección de Darkblock" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Activar Darkblock en la página de activos" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Activar Darkblock en la página de colección" - }, "enable.drop": { "defaultMessage": "Activar Darkblock" }, @@ -2167,6 +2146,24 @@ "sort.by": { "defaultMessage": "Ordenar por" }, + "sort.newest": { + "defaultMessage": "Más recientes" + }, + "sort.oldest": { + "defaultMessage": "Más antiguos" + }, + "sort.most.modified": { + "defaultMessage": "Más modificados" + }, + "sort.least.modified": { + "defaultMessage": "Less modified" + }, + "sort.name.asc": { + "defaultMessage": "Nombre A-Z" + }, + "sort.name.desc": { + "defaultMessage": "Nombre Z-A" + }, "stake": { "defaultMessage": "Apostar" }, @@ -2692,6 +2689,21 @@ "filters": { "defaultMessage": "Filtros" }, + "filter.by": { + "defaultMessage": "Filtrar por" + }, + "filter.all": { + "defaultMessage": "Todos" + }, + "filter.recent": { + "defaultMessage": "Recientes (30 días)" + }, + "filter.active": { + "defaultMessage": "Activos (7 días)" + }, + "filter.popular": { + "defaultMessage": "Populares" + }, "finish": { "defaultMessage": "Finalizar" }, @@ -3244,6 +3256,12 @@ "clear.filters": { "defaultMessage": "Borrar filtros para ver NFTs" }, + "clear.filters.button": { + "defaultMessage": "Limpiar filtros" + }, + "results.count": { + "defaultMessage": "{count} sitios encontrados" + }, "clone.page": { "defaultMessage": "Clonar página" }, @@ -3614,6 +3632,9 @@ "search": { "defaultMessage": "Buscar" }, + "search.sites": { + "defaultMessage": "Buscar sitios..." + }, "select.image": { "defaultMessage": "Seleccionar imagen" }, diff --git a/apps/dexappbuilder/lang/fr-FR.json b/apps/dexappbuilder/lang/fr-FR.json index 33945a542..1a62b6e73 100644 --- a/apps/dexappbuilder/lang/fr-FR.json +++ b/apps/dexappbuilder/lang/fr-FR.json @@ -1,108 +1,111 @@ { + "description.markdown.helper": { + "defaultMessage": "Vous pouvez utiliser le formatage markdown pour des descriptions de texte enrichi." + }, "Created": { - "defaultMessage": "Created" + "defaultMessage": "Créé" }, "action.type": { - "defaultMessage": "Action type" + "defaultMessage": "Type d'action" }, "add.items": { - "defaultMessage": "Add items" + "defaultMessage": "Ajouter des éléments" }, "add.payment.method": { - "defaultMessage": "Add Payment Method" + "defaultMessage": "Ajouter un mode de paiement" }, "ai.assistant": { - "defaultMessage": "AI Assistant" + "defaultMessage": "Assistant IA" }, "align.items": { - "defaultMessage": "Align Items" + "defaultMessage": "Aligner les éléments" }, "artificial.inteligence": { - "defaultMessage": "Artificial Inteligence" + "defaultMessage": "Intelligence Artificielle" }, "billing": { - "defaultMessage": "Billing" + "defaultMessage": "Facturation" }, "button.cation": { - "defaultMessage": "Button caption" + "defaultMessage": "Libellé du bouton" }, "buy.and.sell": { - "defaultMessage": "Buy and sell" + "defaultMessage": "Acheter et vendre" }, "buy.token.page": { - "defaultMessage": "Buy token page" + "defaultMessage": "Page d'achat de jetons" }, "carousel": { - "defaultMessage": "Carousel" + "defaultMessage": "Carrousel" }, "carousel.image.aspectRatio": { - "defaultMessage": "The image must have a 16/9 aspect ratio to be displayed correctly in the carousel." + "defaultMessage": "L'image doit avoir un rapport largeur/hauteur de 16/9 pour être affichée correctement dans le carrousel." }, "center": { - "defaultMessage": "Center" + "defaultMessage": "Centrer" }, "checkout": { - "defaultMessage": "Checkout" + "defaultMessage": "Paiement" }, "coming.soon": { - "defaultMessage": "Coming soon" + "defaultMessage": "Prochainement" }, "create.metadata": { - "defaultMessage": "Create metadata" + "defaultMessage": "Créer des métadonnées" }, "creating.site.metadata": { - "defaultMessage": "Creating site metadata" + "defaultMessage": "Création des métadonnées du site" }, "credit.history": { - "defaultMessage": "Credit History" + "defaultMessage": "Historique des crédits" }, "credited": { - "defaultMessage": "Credited" + "defaultMessage": "Crédité" }, "credits": { - "defaultMessage": "Credits" + "defaultMessage": "Crédits" }, "credits.below0.50": { - "defaultMessage": "Your credits are now below $0.50. Please consider adding more credits to continue using our services." + "defaultMessage": "Vos crédits sont maintenant inférieurs à 0,50 $. Veuillez envisager d'ajouter plus de crédits pour continuer à utiliser nos services." }, "credits.expire.oneYear": { - "defaultMessage": "Your added credits will expire one year from the date of addition. Please utilize them before expiry." + "defaultMessage": "Les crédits que vous avez ajoutés expireront un an après la date d'ajout. Veuillez les utiliser avant l'expiration." }, "current.phase": { - "defaultMessage": "Current phase" + "defaultMessage": "Phase actuelle" }, "current.phase.ends.in": { - "defaultMessage": "Current phase ends in" + "defaultMessage": "La phase actuelle se termine dans" }, "dexappbuilder.ann.app.bar2": { - "defaultMessage": "Support us on {Giveth} and allow our service to be free for all. Each donation is matched by ENS builders round." + "defaultMessage": "Soutenez-nous sur {Giveth} et permettez à notre service d'être gratuit pour tous. Chaque don est doublé par les constructeurs ENS." }, "disable.secondary.sells": { - "defaultMessage": "Disable secondary sells" + "defaultMessage": "Désactiver les ventes secondaires" }, "editing.site.metadata": { - "defaultMessage": "Editing site metadata" + "defaultMessage": "Modification des métadonnées du site" }, "end": { - "defaultMessage": "End" + "defaultMessage": "Fin" }, "error.while.tranfer": { - "defaultMessage": "Error while transfer" + "defaultMessage": "Erreur lors du transfert" }, "feature": { - "defaultMessage": "Feature" + "defaultMessage": "Fonctionnalité" }, "height.for.desktop": { - "defaultMessage": "Height for desktop" + "defaultMessage": "Hauteur pour ordinateur de bureau" }, "height.for.mobile": { - "defaultMessage": "Height for mobile" + "defaultMessage": "Hauteur pour mobile" }, "in.milliseconds": { - "defaultMessage": "In milliseconds" + "defaultMessage": "En millisecondes" }, "insufficient.balance": { - "defaultMessage": "Insufficient balance" + "defaultMessage": "Solde insuffisant" }, "interval": { "defaultMessage": "Interval" @@ -120,10 +123,10 @@ "defaultMessage": "no description" }, "no.templates.found.for.this.usecase": { - "defaultMessage": "No templates found for this usecase" + "defaultMessage": "Aucun modèle trouvé pour ce cas d'usage" }, "no.usage": { - "defaultMessage": "No usage" + "defaultMessage": "Aucune utilisation" }, "not.available": { "defaultMessage": "Not available" @@ -144,7 +147,7 @@ "defaultMessage": "Payment expired" }, "payment.pending": { - "defaultMessage": "Payment Pending" + "defaultMessage": "Paiement en attente" }, "payments": { "defaultMessage": "Payments" @@ -170,8 +173,11 @@ "search.default.base.token": { "defaultMessage": "Search default base token" }, + "search.sites": { + "defaultMessage": "Rechercher des sites..." + }, "section.addItemsPrompt": { - "defaultMessage": "Please add items to the section below." + "defaultMessage": "Veuillez ajouter des éléments à la section ci-dessous." }, "select.a.token.to.pay": { "defaultMessage": "Select a token to pay" @@ -216,7 +222,7 @@ "defaultMessage": "Start" }, "switch.to.network.network": { - "defaultMessage": "Switch to {network} network" + "defaultMessage": "Passer au réseau {network}" }, "templates": { "defaultMessage": "Templates" @@ -291,94 +297,94 @@ "defaultMessage": "Your transaction requires 10 confirmations for full validation" }, "AI": { - "defaultMessage": "AI" + "defaultMessage": "IA" }, "activate": { - "defaultMessage": "Activate AI" + "defaultMessage": "Activer l'IA" }, "activate.ai": { - "defaultMessage": "Activate AI" + "defaultMessage": "Activer l'IA" }, "add.credit": { - "defaultMessage": "Add Credit" + "defaultMessage": "Ajouter des crédits" }, "add.credits": { - "defaultMessage": "Add credits" + "defaultMessage": "Ajouter des crédits" }, "ai.activated": { - "defaultMessage": "AI Activated" + "defaultMessage": "IA activée" }, "ai.completation": { - "defaultMessage": "AI Completation" + "defaultMessage": "Complétion de l'IA" }, "ai.edit": { - "defaultMessage": "AI Edit" + "defaultMessage": "Éditer l'IA" }, "ai.generator": { - "defaultMessage": "AI Generator" + "defaultMessage": "Générateur d'IA" }, "ai.image.generator": { - "defaultMessage": "AI Image Generator" + "defaultMessage": "Générateur d'image IA" }, "answer": { - "defaultMessage": "Answer:" + "defaultMessage": "Réponse :" }, "billing.and.usage": { - "defaultMessage": "Billing & Usage" + "defaultMessage": "Facturation et utilisation" }, "change.cat.head": { - "defaultMessage": "ex. Change cat head" + "defaultMessage": "par ex. Changer la tête du chat" }, "close.anyway": { - "defaultMessage": "Close anyway" + "defaultMessage": "Fermer de toute façon" }, "credit.card.soming.soon": { - "defaultMessage": "Credit Card (Coming Soon)" + "defaultMessage": "Carte de crédit (Prochainement)" }, "cryptocurrency": { - "defaultMessage": "Cryptocurrency" + "defaultMessage": "Cryptomonnaie" }, "deselect.all": { - "defaultMessage": "Deselect All" + "defaultMessage": "Désélectionner tout" }, "error.while.generating.images": { - "defaultMessage": "Error while generating images" + "defaultMessage": "Erreur lors de la génération d'images" }, "ex.an.image.of.a.cat": { - "defaultMessage": "ex. An image of a cat" + "defaultMessage": "par ex. Une image d'un chat" }, "fix.spelling.and.grammar": { - "defaultMessage": "Fix spelling and grammar" + "defaultMessage": "Corriger l'orthographe et la grammaire" }, "generate": { - "defaultMessage": "Generate" + "defaultMessage": "Générer" }, "generate.image": { - "defaultMessage": "Generate image" + "defaultMessage": "Générer une image" }, "generate.new.text": { - "defaultMessage": "Generate new text" + "defaultMessage": "Générer un nouveau texte" }, "generate.variant": { - "defaultMessage": "Generate variant" + "defaultMessage": "Générer une variante" }, "generate.variants": { - "defaultMessage": "Generate Variants" + "defaultMessage": "Générer des variantes" }, "generating": { - "defaultMessage": "Generating" + "defaultMessage": "Génération" }, "generating.variants": { - "defaultMessage": "Generating Variants" + "defaultMessage": "Génération de variantes" }, "images.generated": { - "defaultMessage": "Images generated" + "defaultMessage": "Images générées" }, "images.notGenerated": { - "defaultMessage": "You haven't generated any images yet. Start generating images now to make the most out of our service." + "defaultMessage": "Vous n'avez encore généré aucune image. Commencez maintenant à générer des images pour profiter au maximum de notre service." }, "improve.writing": { - "defaultMessage": "Improve writing" + "defaultMessage": "Améliorer l'écriture" }, "make.longer": { "defaultMessage": "Make longer" @@ -387,10 +393,10 @@ "defaultMessage": "Make shorter" }, "no.credits": { - "defaultMessage": "No Credits" + "defaultMessage": "Aucun crédit" }, "no.images": { - "defaultMessage": "No Images" + "defaultMessage": "Aucune image" }, "num.of.images": { "defaultMessage": "Num. of Images" @@ -405,7 +411,7 @@ "defaultMessage": "Original image" }, "payment.confirmation.message": { - "defaultMessage": "Please wait for 10 confirmations for payment recognition." + "defaultMessage": "Veuillez attendre 10 confirmations pour la reconnaissance du paiement." }, "payment.method": { "defaultMessage": "Payment method" @@ -441,7 +447,7 @@ "defaultMessage": "Waiting payment" }, "you.need.to.add.credits.to.use.ai.features": { - "defaultMessage": "You need to add credits to use AI features" + "defaultMessage": "Vous devez ajouter des crédits pour utiliser les fonctionnalités IA" }, "add.record": { "defaultMessage": "Ajouter un enregistrement" @@ -478,7 +484,7 @@ "defaultMessage": "Se connecter par e-mail" }, "connect.your.wallet": { - "defaultMessage": "Connect Your Wallet" + "defaultMessage": "Connecter votre portefeuille" }, "delete.column": { "defaultMessage": "Supprimer la colonne" @@ -499,19 +505,19 @@ "defaultMessage": "Exécuter la transaction" }, "gas.cost": { - "defaultMessage": "Gas cost" + "defaultMessage": "Coût du gaz" }, "gas.price": { - "defaultMessage": "Gas price" + "defaultMessage": "Prix du gaz" }, "hide.form.info": { - "defaultMessage": "Hide form info" + "defaultMessage": "Masquer les infos du formulaire" }, "invalid address": { - "defaultMessage": "Invalid address" + "defaultMessage": "Adresse invalide" }, "invalid.file.column.column.is.missing": { - "defaultMessage": "Invalid file: column {column} is missing" + "defaultMessage": "Fichier invalide: la colonne {column} est manquante" }, "max.fee": { "defaultMessage": "Max fee" @@ -580,7 +586,7 @@ "description": "switch" }, "switch.to.network.value": { - "defaultMessage": "Switch to {networkName} network" + "defaultMessage": "Passer au réseau {networkName}" }, "transaction.confirm.transaction": { "defaultMessage": "Confirm transaction" @@ -607,16 +613,16 @@ "defaultMessage": "View Marketplace" }, "you.are.not.the.owner.of.this.NFT": { - "defaultMessage": "You are not the owner of this NFT" + "defaultMessage": "Vous n'êtes pas le propriétaire de ce NFT" }, "you.cant.use.the.connected.account.to.burn": { - "defaultMessage": "You can't use the connected account to burn" + "defaultMessage": "Vous ne pouvez pas utiliser le compte connecté pour brûler" }, "you.cant.use.the.connected.account.to.transfer": { - "defaultMessage": "You can't use the connected to transfer" + "defaultMessage": "Vous ne pouvez pas utiliser le compte connecté pour transférer" }, "you.own.nfts": { - "defaultMessage": "You own {balance} NFTs" + "defaultMessage": "Vous possédez {balance} NFTs" }, "your.request.was.sent.successfully": { "defaultMessage": "Your request was sent successfully" @@ -680,22 +686,22 @@ "defaultMessage": "Montant des frais" }, "fee.recipient.address": { - "defaultMessage": "Fee recipient address" + "defaultMessage": "Adresse du bénéficiaire des frais" }, "fill.amount": { - "defaultMessage": "Fill amount" + "defaultMessage": "Remplir le montant" }, "fill.amount.per.token": { - "defaultMessage": "Fill amount per token" + "defaultMessage": "Remplir le montant par jeton" }, "fill.order": { - "defaultMessage": "Fill Order" + "defaultMessage": "Remplir l'ordre" }, "fillable.amount": { - "defaultMessage": "Fillable amount" + "defaultMessage": "Montant remplissable" }, "insufficient": { - "defaultMessage": "Insufficient {symbol}" + "defaultMessage": "Symbole insuffisant {symbol}" }, "insufficient.symbol": { "defaultMessage": "insufficient {symbol}" @@ -710,16 +716,16 @@ "defaultMessage": "Limit" }, "loading.quote": { - "defaultMessage": "Loading quote..." + "defaultMessage": "Chargement de la cotation..." }, "market": { "defaultMessage": "Market" }, "market.cap.amount": { - "defaultMessage": "Market Cap: {amount}" + "defaultMessage": "Capitalisation boursière: {amount}" }, "market.settings": { - "defaultMessage": "Market Settings" + "defaultMessage": "Paramètres du marché" }, "max.slippage.is.value.percent": { "defaultMessage": "Max slippage is 50 percent" @@ -728,7 +734,7 @@ "defaultMessage": "More" }, "my.orders": { - "defaultMessage": "My Orders" + "defaultMessage": "Mes commandes" }, "native.coins.are.not.supported.on.limit.orders": { "defaultMessage": "Native coins are not supported on limited orders" @@ -740,13 +746,13 @@ "defaultMessage": "Order failed" }, "place.order": { - "defaultMessage": "Place Order" + "defaultMessage": "Passer commande" }, "please.switch.to.networks": { "defaultMessage": "Please, switch to {networks}" }, "please.use.wrapped.version.of.native.token": { - "defaultMessage": "Please use wrapped version of native token" + "defaultMessage": "Veuillez utiliser la version wrapped du token natif" }, "price.change.24h": { "defaultMessage": "Price Change 24h" @@ -761,7 +767,7 @@ "defaultMessage": "Quote tokens" }, "review.order": { - "defaultMessage": "Review Order" + "defaultMessage": "Examiner la commande" }, "search.for.a.token.by.name.symbol.and.address": { "defaultMessage": "Search for a token by name, symbol and address" @@ -794,13 +800,13 @@ "defaultMessage": "Size" }, "switch.to.network": { - "defaultMessage": "Switch to {network}" + "defaultMessage": "Passer à {network}" }, "the.base.token.is.required.on.chain": { - "defaultMessage": "The quote token is required on {chainName}" + "defaultMessage": "Le jeton de cotation est requis sur {chainName}" }, "the.max.fee.is.ten.percent": { - "defaultMessage": "The max fee is 10%" + "defaultMessage": "Les frais maximum sont de 10%" }, "there.are.no.orders.to.show": { "defaultMessage": "There are no orders to show" @@ -812,10 +818,10 @@ "defaultMessage": "Unsupported Network" }, "you.are.buying": { - "defaultMessage": "You are buying" + "defaultMessage": "Vous achetez" }, "you.are.selling": { - "defaultMessage": "You are selling" + "defaultMessage": "Vous vendez" }, "your.wallet.is.not.connected": { "defaultMessage": "Your wallet is not connected" @@ -830,7 +836,7 @@ "defaultMessage": "Acheter de la cryptomonnaie avec Transak" }, "gas.gas": { - "defaultMessage": "Gas: {gas} Gwei" + "defaultMessage": "Gaz : {gas} Gwei" }, "insufficient.symbol.balance": { "defaultMessage": "Insufficient {symbol} balance" @@ -842,10 +848,10 @@ "defaultMessage": "Network not supported" }, "no.coins": { - "defaultMessage": "No coins" + "defaultMessage": "Aucune pièce" }, "no.coins.found": { - "defaultMessage": "No coins found" + "defaultMessage": "Aucune pièce trouvée" }, "powered.by.dexkit": { "defaultMessage": "Powered by {dexkit}" @@ -869,7 +875,7 @@ "defaultMessage": "Swap Tokens" }, "switch.wallet.network": { - "defaultMessage": "Switch wallet to {networkName}" + "defaultMessage": "Passer le portefeuille à {networkName}" }, "token.balance": { "defaultMessage": "balance: {balance}" @@ -1281,9 +1287,6 @@ "defaultMessage": "Accepter", "description": "Accept" }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Accéder à darkblock pour obtenir plus d'informations" - }, "access.requirements": { "defaultMessage": "Conditions d'accès" }, @@ -1391,7 +1394,7 @@ "defaultMessage": "Ajouter une règle" }, "add.section": { - "defaultMessage": "Add Section" + "defaultMessage": "Ajouter une section" }, "add.team.members.to.read.and.do.updates": { "defaultMessage": "Ajouter des membres de l'équipe pour mettre à jour votre application" @@ -1764,6 +1767,12 @@ "clear.filters": { "defaultMessage": "Effacer les filtres pour voir les NFT" }, + "clear.filters.button": { + "defaultMessage": "Effacer les filtres" + }, + "results.count": { + "defaultMessage": "{count} sites trouvés" + }, "clear.filters.to.see.nft.drops": { "defaultMessage": "Effacer les filtres pour voir les drop de NFT" }, @@ -1993,7 +2002,7 @@ "defaultMessage": "Créer un menu" }, "create.nft": { - "defaultMessage": "Create NFT" + "defaultMessage": "Créer NFT" }, "create.nft.order": { "defaultMessage": "Créer un ordre NFT" @@ -2076,15 +2085,6 @@ "dark": { "defaultMessage": "Sombre" }, - "darkblock": { - "defaultMessage": "Bloc sombre" - }, - "darkblock.io": { - "defaultMessage": "Darkblock.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock est un protocole décentralisé qui permet aux créateurs de contenu de publier et de distribuer du contenu exclusif à leurs fans sans avoir besoin de plateformes centralisées à token. Cette intégration est utilisée sur la page des actifs pour les réseaux supportés par Darkblock." - }, "data": { "defaultMessage": "Données" }, @@ -2347,7 +2347,7 @@ "defaultMessage": "Modifier le profil" }, "edit.section": { - "defaultMessage": "Edit Section" + "defaultMessage": "Modifier la section" }, "edit.social.description": { "defaultMessage": "Ajoutez des médias sociaux liés à votre application" @@ -2376,18 +2376,6 @@ "empty.leaderboard": { "defaultMessage": "Classement vide" }, - "enable.darkblock": { - "defaultMessage": "Activer Darkblock Asset" - }, - "enable.darkblock.collection": { - "defaultMessage": "Activer la collection Darkblock" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Activer Darkblock sur la page de l'asset" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Activer Darkblock sur la page de la collection" - }, "enable.drop": { "defaultMessage": "Activer Darkblock" }, @@ -2535,6 +2523,21 @@ "filters": { "defaultMessage": "Filtres" }, + "filter.by": { + "defaultMessage": "Filtrer par" + }, + "filter.all": { + "defaultMessage": "Tous" + }, + "filter.recent": { + "defaultMessage": "Récents (30 jours)" + }, + "filter.active": { + "defaultMessage": "Actifs (7 jours)" + }, + "filter.popular": { + "defaultMessage": "Populaires" + }, "finish": { "defaultMessage": "Terminer" }, @@ -2545,10 +2548,10 @@ "defaultMessage": "Police" }, "footer.menu": { - "defaultMessage": "Footer" + "defaultMessage": "Pied de page" }, "footer.wizard.description": { - "defaultMessage": "Créez et modifiez le menu de pied de page de votre application" + "defaultMessage": "Créez et modifiez le pied de page de votre application" }, "forbidden": { "defaultMessage": "Interdit" @@ -3075,7 +3078,7 @@ "defaultMessage": "Aucune image trouvée avec ce nom." }, "no.listings.yet": { - "defaultMessage": "No listings yet" + "defaultMessage": "Aucune annonce pour le moment" }, "no.networks": { "defaultMessage": "Pas de réseaux" @@ -3087,7 +3090,7 @@ "defaultMessage": "Pas de NFTs" }, "no.nfts.found": { - "defaultMessage": "No NFTs found" + "defaultMessage": "Aucun NFT trouvé" }, "no.offers.yet": { "defaultMessage": "Pas encore d'offres" @@ -3732,6 +3735,24 @@ "sort.by": { "defaultMessage": "Trier par" }, + "sort.newest": { + "defaultMessage": "Plus récents" + }, + "sort.oldest": { + "defaultMessage": "Plus anciens" + }, + "sort.most.modified": { + "defaultMessage": "Plus modifiés" + }, + "sort.least.modified": { + "defaultMessage": "Moins modifiés" + }, + "sort.name.asc": { + "defaultMessage": "Nom A-Z" + }, + "sort.name.desc": { + "defaultMessage": "Nom Z-A" + }, "stake": { "defaultMessage": "Stack" }, @@ -4373,7 +4394,7 @@ "defaultMessage": "Entrez un sous-titre personnalisé pour décrire votre distribution de tokens. Laissez vide pour utiliser le nom du contrat." }, "custom.subtitle.placeholder": { - "defaultMessage": "ex., Obtenez vos tokens exclusifs de notre dernier lancement" + "defaultMessage": "ex., Obtenez vos jetons exclusifs de notre dernier lancement" }, "custom.chips": { "defaultMessage": "Puces Personnalisées" diff --git a/apps/dexappbuilder/lang/it-IT.json b/apps/dexappbuilder/lang/it-IT.json index 46c46263a..43ab9690d 100644 --- a/apps/dexappbuilder/lang/it-IT.json +++ b/apps/dexappbuilder/lang/it-IT.json @@ -1,117 +1,120 @@ { + "description.markdown.helper": { + "defaultMessage": "Puoi utilizzare la formattazione markdown per descrizioni di testo ricco" + }, "Created": { - "defaultMessage": "Created" + "defaultMessage": "Creato" }, "action.type": { - "defaultMessage": "Action type" + "defaultMessage": "Tipo di azione" }, "add.items": { - "defaultMessage": "Add items" + "defaultMessage": "Aggiungi elementi" }, "add.payment.method": { - "defaultMessage": "Add Payment Method" + "defaultMessage": "Aggiungi Metodo di Pagamento" }, "ai.assistant": { - "defaultMessage": "AI Assistant" + "defaultMessage": "Assistente IA" }, "align.items": { - "defaultMessage": "Align Items" + "defaultMessage": "Allinea Elementi" }, "artificial.inteligence": { - "defaultMessage": "Artificial Inteligence" + "defaultMessage": "Intelligenza Artificiale" }, "billing": { - "defaultMessage": "Billing" + "defaultMessage": "Fatturazione" }, "button.cation": { - "defaultMessage": "Button caption" + "defaultMessage": "Didascalia del pulsante" }, "buy.and.sell": { - "defaultMessage": "Buy and sell" + "defaultMessage": "Compra e vendi" }, "buy.token.page": { - "defaultMessage": "Buy token page" + "defaultMessage": "Pagina Acquista Token" }, "carousel": { - "defaultMessage": "Carousel" + "defaultMessage": "Carosello" }, "carousel.image.aspectRatio": { - "defaultMessage": "The image must have a 16/9 aspect ratio to be displayed correctly in the carousel." + "defaultMessage": "L'immagine deve avere un rapporto di aspetto 16/9 per essere visualizzata correttamente nel carosello." }, "center": { - "defaultMessage": "Center" + "defaultMessage": "Centra" }, "checkout": { - "defaultMessage": "Checkout" + "defaultMessage": "Pagamento" }, "coming.soon": { - "defaultMessage": "Coming soon" + "defaultMessage": "Prossimamente" }, "create.metadata": { - "defaultMessage": "Create metadata" + "defaultMessage": "Crea metadata" }, "creating.site.metadata": { - "defaultMessage": "Creating site metadata" + "defaultMessage": "Creazione metadata del sito" }, "credit.history": { - "defaultMessage": "Credit History" + "defaultMessage": "Cronologia Crediti" }, "credited": { - "defaultMessage": "Credited" + "defaultMessage": "Accreditato" }, "credits": { - "defaultMessage": "Credits" + "defaultMessage": "Crediti" }, "credits.below0.50": { - "defaultMessage": "Your credits are now below $0.50. Please consider adding more credits to continue using our services." + "defaultMessage": "I tuoi crediti sono ora inferiori a $0.50. Si prega di considerare l'aggiunta di più crediti per continuare a utilizzare i nostri servizi." }, "credits.expire.oneYear": { - "defaultMessage": "Your added credits will expire one year from the date of addition. Please utilize them before expiry." + "defaultMessage": "I crediti aggiunti scadranno un anno dalla data di aggiunta. Si prega di utilizzarli prima della scadenza." }, "current.phase": { - "defaultMessage": "Current phase" + "defaultMessage": "Fase Attuale" }, "current.phase.ends.in": { - "defaultMessage": "Current phase ends in" + "defaultMessage": "Fase Attuale termina tra" }, "dexappbuilder.ann.app.bar2": { - "defaultMessage": "Support us on {Giveth} and allow our service to be free for all. Each donation is matched by ENS builders round." + "defaultMessage": "Supportaci su {Giveth} e permetti al nostro servizio di essere gratuito per tutti. Ogni donazione è raddoppiata dai costruttori di ENS." }, "disable.secondary.sells": { - "defaultMessage": "Disable secondary sells" + "defaultMessage": "Disabilita vendite secondarie" }, "editing.site.metadata": { - "defaultMessage": "Editing site metadata" + "defaultMessage": "Modifica metadata del sito" }, "end": { - "defaultMessage": "End" + "defaultMessage": "Fine" }, "error.while.tranfer": { - "defaultMessage": "Error while transfer" + "defaultMessage": "Errore durante il trasferimento" }, "feature": { - "defaultMessage": "Feature" + "defaultMessage": "Caratteristica" }, "height.for.desktop": { - "defaultMessage": "Height for desktop" + "defaultMessage": "Altezza per desktop" }, "height.for.mobile": { - "defaultMessage": "Height for mobile" + "defaultMessage": "Altezza per mobile" }, "in.milliseconds": { - "defaultMessage": "In milliseconds" + "defaultMessage": "In millisecondi" }, "insufficient.balance": { - "defaultMessage": "Insufficient balance" + "defaultMessage": "Saldo insufficiente" }, "interval": { - "defaultMessage": "Interval" + "defaultMessage": "Intervallo" }, "items.spacing": { - "defaultMessage": "Items spacing" + "defaultMessage": "Spaziatura degli elementi" }, "left": { - "defaultMessage": "Left" + "defaultMessage": "Sinistra" }, "new.ai.features": { "defaultMessage": "New AI Features" @@ -120,10 +123,10 @@ "defaultMessage": "no description" }, "no.templates.found.for.this.usecase": { - "defaultMessage": "No templates found for this usecase" + "defaultMessage": "Nessun modello trovato per questo caso d'uso" }, "no.usage": { - "defaultMessage": "No usage" + "defaultMessage": "Nessun utilizzo" }, "not.available": { "defaultMessage": "Not available" @@ -144,7 +147,7 @@ "defaultMessage": "Payment expired" }, "payment.pending": { - "defaultMessage": "Payment Pending" + "defaultMessage": "Pagamento in sospeso" }, "payments": { "defaultMessage": "Payments" @@ -167,8 +170,11 @@ "search.default.base.token": { "defaultMessage": "Search default base token" }, + "search.sites": { + "defaultMessage": "Cerca siti..." + }, "section.addItemsPrompt": { - "defaultMessage": "Please add items to the section below." + "defaultMessage": "Aggiungere elementi alla sezione sottostante." }, "select.a.token.to.pay": { "defaultMessage": "Select a token to pay" @@ -213,7 +219,7 @@ "defaultMessage": "Start" }, "switch.to.network.network": { - "defaultMessage": "Switch to {network} network" + "defaultMessage": "Passa alla rete {network}" }, "templates": { "defaultMessage": "Templates" @@ -288,106 +294,106 @@ "defaultMessage": "Your transaction requires 10 confirmations for full validation" }, "AI": { - "defaultMessage": "AI" + "defaultMessage": "IA" }, "activate": { - "defaultMessage": "Activate AI" + "defaultMessage": "Attiva IA" }, "activate.ai": { - "defaultMessage": "Activate AI" + "defaultMessage": "Attiva IA" }, "add.credit": { - "defaultMessage": "Add Credit" + "defaultMessage": "Aggiungi Credito" }, "add.credits": { - "defaultMessage": "Add credits" + "defaultMessage": "Aggiungi crediti" }, "ai.activated": { - "defaultMessage": "AI Activated" + "defaultMessage": "IA Attivata" }, "ai.completation": { - "defaultMessage": "AI Completation" + "defaultMessage": "Completamento IA" }, "ai.edit": { - "defaultMessage": "AI Edit" + "defaultMessage": "Modifica IA" }, "ai.generator": { - "defaultMessage": "AI Generator" + "defaultMessage": "Generatore IA" }, "ai.image.generator": { - "defaultMessage": "AI Image Generator" + "defaultMessage": "Generatore Immagini IA" }, "answer": { - "defaultMessage": "Answer:" + "defaultMessage": "Risposta:" }, "billing.and.usage": { - "defaultMessage": "Billing & Usage" + "defaultMessage": "Fatturazione e Utilizzo" }, "change.cat.head": { - "defaultMessage": "ex. Change cat head" + "defaultMessage": "es. Cambia testa del gatto" }, "close.anyway": { - "defaultMessage": "Close anyway" + "defaultMessage": "Chiudi comunque" }, "credit.card.soming.soon": { - "defaultMessage": "Credit Card (Coming Soon)" + "defaultMessage": "Carta di Credito (Prossimamente)" }, "cryptocurrency": { - "defaultMessage": "Cryptocurrency" + "defaultMessage": "Criptovaluta" }, "deselect.all": { - "defaultMessage": "Deselect All" + "defaultMessage": "Deseleziona tutto" }, "error.while.generating.images": { - "defaultMessage": "Error while generating images" + "defaultMessage": "Errore durante la generazione delle immagini" }, "ex.an.image.of.a.cat": { - "defaultMessage": "ex. An image of a cat" + "defaultMessage": "es. Un'immagine di un gatto" }, "fix.spelling.and.grammar": { - "defaultMessage": "Fix spelling and grammar" + "defaultMessage": "Correggi errori di ortografia e grammatica" }, "generate": { - "defaultMessage": "Generate" + "defaultMessage": "Genera" }, "generate.image": { - "defaultMessage": "Generate image" + "defaultMessage": "Genera immagine" }, "generate.new.text": { - "defaultMessage": "Generate new text" + "defaultMessage": "Genera nuovo testo" }, "generate.variant": { - "defaultMessage": "Generate variant" + "defaultMessage": "Genera variante" }, "generate.variants": { - "defaultMessage": "Generate Variants" + "defaultMessage": "Genera Varianti" }, "generating": { - "defaultMessage": "Generating" + "defaultMessage": "Generazione" }, "generating.variants": { - "defaultMessage": "Generating Variants" + "defaultMessage": "Generazione Varianti" }, "images.generated": { - "defaultMessage": "Images generated" + "defaultMessage": "Immagini generate" }, "images.notGenerated": { - "defaultMessage": "You haven't generated any images yet. Start generating images now to make the most out of our service." + "defaultMessage": "Non hai ancora generato immagini. Inizia a generare immagini ora per trarre il massimo vantaggio dal nostro servizio." }, "improve.writing": { - "defaultMessage": "Improve writing" + "defaultMessage": "Migliora la scrittura" }, "make.longer": { - "defaultMessage": "Make longer" + "defaultMessage": "Rendi più lungo" }, "make.shorter": { - "defaultMessage": "Make shorter" + "defaultMessage": "Rendi più corto" }, "no.credits": { - "defaultMessage": "No Credits" + "defaultMessage": "Nessun credito" }, "no.images": { - "defaultMessage": "No Images" + "defaultMessage": "Nessuna immagine" }, "num.of.images": { "defaultMessage": "Num. of Images" @@ -402,7 +408,7 @@ "defaultMessage": "Original image" }, "payment.confirmation.message": { - "defaultMessage": "Please wait for 10 confirmations for payment recognition." + "defaultMessage": "Attendere 10 conferme per il riconoscimento del pagamento." }, "payment.method": { "defaultMessage": "Payment method" @@ -438,7 +444,7 @@ "defaultMessage": "Waiting payment" }, "you.need.to.add.credits.to.use.ai.features": { - "defaultMessage": "You need to add credits to use AI features" + "defaultMessage": "Devi aggiungere crediti per usare le funzionalità IA" }, "add.record": { "defaultMessage": "Aggiungi record" @@ -495,16 +501,16 @@ "defaultMessage": "Prezzo del gas" }, "invalid address": { - "defaultMessage": "Invalid address" + "defaultMessage": "Indirizzo non valido" }, "invalid.file.column.column.is.missing": { - "defaultMessage": "Invalid file: column {column} is missing" + "defaultMessage": "File non valido: manca la colonna {column}" }, "max.fee": { - "defaultMessage": "Max fee" + "defaultMessage": "Commissione massima" }, "max.priority.fee": { - "defaultMessage": "Max priority fee" + "defaultMessage": "Commissione massima prioritaria" }, "message.you.are.signing": { "defaultMessage": "Message you are signing" @@ -559,7 +565,7 @@ "defaultMessage": "Sign" }, "switch.to.network.value": { - "defaultMessage": "Switch to {networkName} network" + "defaultMessage": "Passa alla rete {networkName}" }, "transaction.failed.reason": { "defaultMessage": "Transaction failed" @@ -577,16 +583,16 @@ "defaultMessage": "Validating ENS name" }, "you.are.not.the.owner.of.this.NFT": { - "defaultMessage": "You are not the owner of this NFT" + "defaultMessage": "Non sei il proprietario di questo NFT" }, "you.cant.use.the.connected.account.to.burn": { - "defaultMessage": "You can't use the connected account to burn" + "defaultMessage": "Non puoi usare l'account connesso per bruciare" }, "you.cant.use.the.connected.account.to.transfer": { - "defaultMessage": "You can't use the connected to transfer" + "defaultMessage": "Non puoi usare l'account connesso per trasferire" }, "you.own.nfts": { - "defaultMessage": "You own {balance} NFTs" + "defaultMessage": "Possiedi {balance} NFTs" }, "your.request.was.sent.successfully": { "defaultMessage": "Your request was sent successfully" @@ -661,31 +667,31 @@ "defaultMessage": "Importo compilabile" }, "insufficient": { - "defaultMessage": "Insufficient {symbol}" + "defaultMessage": "Quantità insufficiente {symbol}" }, "insufficient.symbol": { - "defaultMessage": "insufficient {symbol}" + "defaultMessage": "insufficiente {symbol}" }, "last.price": { - "defaultMessage": "Last price" + "defaultMessage": "Ultimo prezzo" }, "last.price.amount": { - "defaultMessage": "Last price: {amount}" + "defaultMessage": "Ultimo prezzo: {amount}" }, "limit": { - "defaultMessage": "Limit" + "defaultMessage": "Limite" }, "loading.quote": { - "defaultMessage": "Loading quote..." + "defaultMessage": "Caricamento quotazione..." }, "market": { - "defaultMessage": "Market" + "defaultMessage": "Mercato" }, "market.cap.amount": { - "defaultMessage": "Market Cap: {amount}" + "defaultMessage": "Capitalizzazione di mercato: {amount}" }, "market.settings": { - "defaultMessage": "Market Settings" + "defaultMessage": "Impostazioni del mercato" }, "max.slippage.is.value.percent": { "defaultMessage": "Max slippage is 50 percent" @@ -694,7 +700,7 @@ "defaultMessage": "More" }, "my.orders": { - "defaultMessage": "My Orders" + "defaultMessage": "I miei ordini" }, "native.coins.are.not.supported.on.limit.orders": { "defaultMessage": "Native coins are not supported on limited orders" @@ -706,13 +712,13 @@ "defaultMessage": "Order failed" }, "place.order": { - "defaultMessage": "Place Order" + "defaultMessage": "Effettua ordine" }, "please.switch.to.networks": { "defaultMessage": "Please, switch to {networks}" }, "please.use.wrapped.version.of.native.token": { - "defaultMessage": "Please use wrapped version of native token" + "defaultMessage": "Utilizzare la versione wrapped del token nativo" }, "price.change.24h": { "defaultMessage": "Price Change 24h" @@ -727,7 +733,7 @@ "defaultMessage": "Quote tokens" }, "review.order": { - "defaultMessage": "Review Order" + "defaultMessage": "Rivedi ordine" }, "search.for.a.token.by.name.symbol.and.address": { "defaultMessage": "Search for a token by name, symbol and address" @@ -760,10 +766,10 @@ "defaultMessage": "Size" }, "the.base.token.is.required.on.chain": { - "defaultMessage": "The quote token is required on {chainName}" + "defaultMessage": "Il token di quotazione è richiesto su {chainName}" }, "the.max.fee.is.ten.percent": { - "defaultMessage": "The max fee is 10%" + "defaultMessage": "La commissione massima è del 10%" }, "there.are.no.orders.to.show": { "defaultMessage": "There are no orders to show" @@ -775,10 +781,10 @@ "defaultMessage": "Unsupported Network" }, "you.are.buying": { - "defaultMessage": "You are buying" + "defaultMessage": "Stai acquistando" }, "you.are.selling": { - "defaultMessage": "You are selling" + "defaultMessage": "Stai vendendo" }, "your.wallet.is.not.connected": { "defaultMessage": "Your wallet is not connected" @@ -796,7 +802,7 @@ "defaultMessage": "Gas: {gas} Gwei" }, "insufficient.symbol.balance": { - "defaultMessage": "Insufficient {symbol} balance" + "defaultMessage": "Saldo {symbol} insufficiente" }, "network.not.supported.msg": { "defaultMessage": "Network not supported. Please change to a supported network: {networks}" @@ -805,10 +811,10 @@ "defaultMessage": "Network not supported" }, "no.coins": { - "defaultMessage": "No coins" + "defaultMessage": "Nessuna moneta" }, "no.coins.found": { - "defaultMessage": "No coins found" + "defaultMessage": "Nessuna moneta trovata" }, "price.impact": { "defaultMessage": "Price impact" @@ -829,7 +835,7 @@ "defaultMessage": "Swap Tokens" }, "switch.wallet.network": { - "defaultMessage": "Switch wallet to {networkName}" + "defaultMessage": "Passa il portafoglio a {networkName}" }, "token.balance": { "defaultMessage": "balance: {balance}" @@ -1200,9 +1206,6 @@ "You.are.not.eligible.to.mint.at.this.time.": { "defaultMessage": "Non sei idoneo per effettuare il mint in questo momento." }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Accedi a darkblock per ottenere ulteriori informazioni" - }, "access.requirements.message": { "defaultMessage": "Messaggio sui requisiti di accesso" }, @@ -1495,15 +1498,6 @@ "csv.file.to.import.on.aidrop.contract": { "defaultMessage": "File CSV da importare nei contratti di condivisione di massa" }, - "darkblock": { - "defaultMessage": "Blocco scuro" - }, - "darkblock.io": { - "defaultMessage": "Darkblock.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock è un protocollo decentralizzato che permette ai creatori di contenuti di pubblicare e distribuire contenuti esclusivi ai loro fan senza il bisogno di piattaforme centralizzate di token-gating. Questa integrazione è utilizzata nella pagina degli asset per le reti supportate da Darkblock." - }, "default.currency": { "defaultMessage": "Valuta di default" }, @@ -1612,18 +1606,6 @@ "empty.leaderboard": { "defaultMessage": "Classifica vuota" }, - "enable.darkblock": { - "defaultMessage": "Abilita Asset Darkblock" - }, - "enable.darkblock.collection": { - "defaultMessage": "Abilita Collezione Darkblock" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Abilita Darkblock sulla pagina dell'Asset" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Abilita Darkblock sulla pagina della Collezione" - }, "enable.drop": { "defaultMessage": "Abilita Darkblock" }, @@ -2116,6 +2098,24 @@ "sort.by": { "defaultMessage": "Ordina per" }, + "sort.newest": { + "defaultMessage": "Più recenti" + }, + "sort.oldest": { + "defaultMessage": "Più vecchi" + }, + "sort.most.modified": { + "defaultMessage": "Più modificati" + }, + "sort.least.modified": { + "defaultMessage": "Meno modificati" + }, + "sort.name.asc": { + "defaultMessage": "Nome A-Z" + }, + "sort.name.desc": { + "defaultMessage": "Nome Z-A" + }, "stake": { "defaultMessage": "Stake" }, @@ -2641,6 +2641,21 @@ "filters": { "defaultMessage": "Filtri" }, + "filter.by": { + "defaultMessage": "Filtra per" + }, + "filter.all": { + "defaultMessage": "Tutti" + }, + "filter.recent": { + "defaultMessage": "Recenti (30 giorni)" + }, + "filter.active": { + "defaultMessage": "Attivi (7 giorni)" + }, + "filter.popular": { + "defaultMessage": "Popolari" + }, "finish": { "defaultMessage": "Fine" }, @@ -3255,6 +3270,12 @@ "clear.filters": { "defaultMessage": "Cancella i filtri per visualizzare gli NFT" }, + "clear.filters.button": { + "defaultMessage": "Cancella filtri" + }, + "results.count": { + "defaultMessage": "{count} siti trovati" + }, "clone.page": { "defaultMessage": "Clona pagina" }, diff --git a/apps/dexappbuilder/lang/main.json b/apps/dexappbuilder/lang/main.json index eb883f35c..ba9c427df 100644 --- a/apps/dexappbuilder/lang/main.json +++ b/apps/dexappbuilder/lang/main.json @@ -112,9 +112,6 @@ "defaultMessage": "Accept", "description": "Accept" }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Access darkblock to get more information" - }, "access.requirements": { "defaultMessage": "Access Requirements" }, @@ -653,10 +650,10 @@ "defaultMessage": "Clear all" }, "clear.filters": { - "defaultMessage": "Clear filters to see nft's" + "defaultMessage": "Clear filters to see NFTs" }, "clear.filters.to.see.nft.drops": { - "defaultMessage": "Clear filters to see nft drop's" + "defaultMessage": "Clear filters to see NFT drops" }, "click.on.nft.to.manage.and.set.claim.conditions.": { "defaultMessage": "Click on NFTs to start manage and set claim conditons." @@ -1067,15 +1064,6 @@ "dark": { "defaultMessage": "Dark" }, - "darkblock": { - "defaultMessage": "Darkblock" - }, - "darkblock.io": { - "defaultMessage": "Darkblock.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock is a decentralized protocol that allows content creators to publish and distribute exclusive content to their fans without the need for centralized token-gating platforms. This integration is utilized on the Asset page for the networks supported by Darkblock." - }, "data": { "defaultMessage": "Data" }, @@ -1392,20 +1380,8 @@ "empty.leaderboard": { "defaultMessage": "Empty leaderboard" }, - "enable.darkblock": { - "defaultMessage": "Enable Darkblock Asset" - }, - "enable.darkblock.collection": { - "defaultMessage": "Enable Darkblock Collection" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Enable Darkblock on Asset page" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Enable Darkblock on Collection page" - }, "enable.drop": { - "defaultMessage": "Enable Darkblock" + "defaultMessage": "Enable Drop" }, "enable.fiat": { "defaultMessage": "Enable Fiat" diff --git a/apps/dexappbuilder/lang/nn-NO.json b/apps/dexappbuilder/lang/nn-NO.json index 221be06e6..da1390006 100644 --- a/apps/dexappbuilder/lang/nn-NO.json +++ b/apps/dexappbuilder/lang/nn-NO.json @@ -1,117 +1,120 @@ { + "description.markdown.helper": { + "defaultMessage": "Du kan bruke markdown-formatering for rike tekstbeskrivelser" + }, "Created": { - "defaultMessage": "Created" + "defaultMessage": "Oppretta" }, "action.type": { - "defaultMessage": "Action type" + "defaultMessage": "Handlingskarakter" }, "add.items": { - "defaultMessage": "Add items" + "defaultMessage": "Legg til elementer" }, "add.payment.method": { - "defaultMessage": "Add Payment Method" + "defaultMessage": "Legg til betalingsmetode" }, "ai.assistant": { - "defaultMessage": "AI Assistant" + "defaultMessage": "AI-assistent" }, "align.items": { - "defaultMessage": "Align Items" + "defaultMessage": "Juster elementar" }, "artificial.inteligence": { - "defaultMessage": "Artificial Inteligence" + "defaultMessage": "Kunstig intelligens" }, "billing": { - "defaultMessage": "Billing" + "defaultMessage": "Fakturering" }, "button.cation": { - "defaultMessage": "Button caption" + "defaultMessage": "Knappetekst" }, "buy.and.sell": { - "defaultMessage": "Buy and sell" + "defaultMessage": "Kjøp og selg" }, "buy.token.page": { - "defaultMessage": "Buy token page" + "defaultMessage": "Kjøp token side" }, "carousel": { - "defaultMessage": "Carousel" + "defaultMessage": "Karusell" }, "carousel.image.aspectRatio": { - "defaultMessage": "The image must have a 16/9 aspect ratio to be displayed correctly in the carousel." + "defaultMessage": "Bildet må ha et 16/9 sideforhold for å bli vist riktig i karusellen." }, "center": { - "defaultMessage": "Center" + "defaultMessage": "Midtstilt" }, "checkout": { - "defaultMessage": "Checkout" + "defaultMessage": "Sjekk ut" }, "coming.soon": { - "defaultMessage": "Coming soon" + "defaultMessage": "Kommer snart" }, "create.metadata": { - "defaultMessage": "Create metadata" + "defaultMessage": "Opprett metadata" }, "creating.site.metadata": { - "defaultMessage": "Creating site metadata" + "defaultMessage": "Oppretter områdemetadata" }, "credit.history": { - "defaultMessage": "Credit History" + "defaultMessage": "Kreditts historie" }, "credited": { - "defaultMessage": "Credited" + "defaultMessage": "Kreditert" }, "credits": { - "defaultMessage": "Credits" + "defaultMessage": "Kreditter" }, "credits.below0.50": { - "defaultMessage": "Your credits are now below $0.50. Please consider adding more credits to continue using our services." + "defaultMessage": "Kredittene dine er nå under $0.50. Vennligst vurder å legge til flere kreditter for å fortsette å bruke tjenestene våre." }, "credits.expire.oneYear": { - "defaultMessage": "Your added credits will expire one year from the date of addition. Please utilize them before expiry." + "defaultMessage": "De lagte kredittene dine vil utløpe ett år fra tilleggsdatoen. Vennligst bruk dem før utløpet." }, "current.phase": { - "defaultMessage": "Current phase" + "defaultMessage": "Nåværende fase" }, "current.phase.ends.in": { - "defaultMessage": "Current phase ends in" + "defaultMessage": "Nåværende fase slutter om" }, "dexappbuilder.ann.app.bar2": { - "defaultMessage": "Support us on {Giveth} and allow our service to be free for all. Each donation is matched by ENS builders round." + "defaultMessage": "Støtt oss på {Giveth} og la tjenesten vår være gratis for alle. Hver donasjon matches av ENS-byggerne runde." }, "disable.secondary.sells": { - "defaultMessage": "Disable secondary sells" + "defaultMessage": "Deaktiver sekundære salg" }, "editing.site.metadata": { - "defaultMessage": "Editing site metadata" + "defaultMessage": "Redigerer nettstedsdata" }, "end": { - "defaultMessage": "End" + "defaultMessage": "Slutt" }, "error.while.tranfer": { - "defaultMessage": "Error while transfer" + "defaultMessage": "Feil under overføring" }, "feature": { - "defaultMessage": "Feature" + "defaultMessage": "Funksjon" }, "height.for.desktop": { - "defaultMessage": "Height for desktop" + "defaultMessage": "Høyde for skrivebord" }, "height.for.mobile": { - "defaultMessage": "Height for mobile" + "defaultMessage": "Høyde for mobil" }, "in.milliseconds": { - "defaultMessage": "In milliseconds" + "defaultMessage": "I millisekunder" }, "insufficient.balance": { - "defaultMessage": "Insufficient balance" + "defaultMessage": "Utilstrekkelig konto saldo" }, "interval": { - "defaultMessage": "Interval" + "defaultMessage": "Intervall" }, "items.spacing": { - "defaultMessage": "Items spacing" + "defaultMessage": "Avstand mellom elementer" }, "left": { - "defaultMessage": "Left" + "defaultMessage": "Venstre" }, "new.ai.features": { "defaultMessage": "New AI Features" @@ -170,6 +173,9 @@ "search.default.base.token": { "defaultMessage": "Search default base token" }, + "search.sites": { + "defaultMessage": "Søk nettsteder..." + }, "section.addItemsPrompt": { "defaultMessage": "Please add items to the section below." }, @@ -294,94 +300,94 @@ "defaultMessage": "AI" }, "activate": { - "defaultMessage": "Activate AI" + "defaultMessage": "Aktiver AI" }, "activate.ai": { - "defaultMessage": "Activate AI" + "defaultMessage": "Aktiver AI" }, "add.credit": { - "defaultMessage": "Add Credit" + "defaultMessage": "Legg til Kreditt" }, "add.credits": { - "defaultMessage": "Add credits" + "defaultMessage": "Legg til kreditter" }, "ai.activated": { - "defaultMessage": "AI Activated" + "defaultMessage": "AI Aktivert" }, "ai.completation": { - "defaultMessage": "AI Completation" + "defaultMessage": "AI fullføring" }, "ai.edit": { - "defaultMessage": "AI Edit" + "defaultMessage": "AI Redigering" }, "ai.generator": { - "defaultMessage": "AI Generator" + "defaultMessage": "AI-generator" }, "ai.image.generator": { - "defaultMessage": "AI Image Generator" + "defaultMessage": "AI Bildegenerator" }, "answer": { - "defaultMessage": "Answer:" + "defaultMessage": "Svar:" }, "billing.and.usage": { - "defaultMessage": "Billing & Usage" + "defaultMessage": "Fakturering og Bruk" }, "change.cat.head": { - "defaultMessage": "ex. Change cat head" + "defaultMessage": "f.eks. Endre kathode" }, "close.anyway": { - "defaultMessage": "Close anyway" + "defaultMessage": "Lukk likevel" }, "credit.card.soming.soon": { - "defaultMessage": "Credit Card (Coming Soon)" + "defaultMessage": "Kredittkort (Kommer snart)" }, "cryptocurrency": { - "defaultMessage": "Cryptocurrency" + "defaultMessage": "Kryptovaluta" }, "deselect.all": { - "defaultMessage": "Deselect All" + "defaultMessage": "Avvelg alle" }, "error.while.generating.images": { - "defaultMessage": "Error while generating images" + "defaultMessage": "Feil under generering av bilder" }, "ex.an.image.of.a.cat": { - "defaultMessage": "ex. An image of a cat" + "defaultMessage": "f.eks. Et bilde av en katt" }, "fix.spelling.and.grammar": { - "defaultMessage": "Fix spelling and grammar" + "defaultMessage": "Fiks stavefeil og grammatikk" }, "generate": { - "defaultMessage": "Generate" + "defaultMessage": "Generer" }, "generate.image": { - "defaultMessage": "Generate image" + "defaultMessage": "Generer bilde" }, "generate.new.text": { - "defaultMessage": "Generate new text" + "defaultMessage": "Generer ny tekst" }, "generate.variant": { - "defaultMessage": "Generate variant" + "defaultMessage": "Generer variant" }, "generate.variants": { - "defaultMessage": "Generate Variants" + "defaultMessage": "Generer varianter" }, "generating": { - "defaultMessage": "Generating" + "defaultMessage": "Genererer" }, "generating.variants": { - "defaultMessage": "Generating Variants" + "defaultMessage": "Genererer varianter" }, "images.generated": { - "defaultMessage": "Images generated" + "defaultMessage": "Bilder generert" }, "images.notGenerated": { - "defaultMessage": "You haven't generated any images yet. Start generating images now to make the most out of our service." + "defaultMessage": "Du har ikke generert noen bilder ennå. Begynn å generere bilder nå for å få mest mulig ut av vår tjeneste." }, "improve.writing": { - "defaultMessage": "Improve writing" + "defaultMessage": "Forbedre skriving" }, "make.longer": { - "defaultMessage": "Make longer" + "defaultMessage": "Gjør lengre" }, "make.shorter": { "defaultMessage": "Make shorter" @@ -499,19 +505,19 @@ "defaultMessage": "Utføre transaksjon" }, "gas.cost": { - "defaultMessage": "Gas cost" + "defaultMessage": "Gasskostnad" }, "gas.price": { - "defaultMessage": "Gas price" + "defaultMessage": "Gasspris" }, "hide.form.info": { - "defaultMessage": "Hide form info" + "defaultMessage": "Skjul skjemainformasjon" }, "invalid address": { - "defaultMessage": "Invalid address" + "defaultMessage": "Ugyldig adresse" }, "invalid.file.column.column.is.missing": { - "defaultMessage": "Invalid file: column {column} is missing" + "defaultMessage": "Ugyldig fil: kolonne {column} mangler" }, "max.fee": { "defaultMessage": "Max fee" @@ -653,7 +659,7 @@ "defaultMessage": "Tilgjengelig saldo: {amount} {symbol}" }, "base.token": { - "defaultMessage": "Base token" + "defaultMessage": "Basistoken" }, "buy.symbol": { "defaultMessage": "Kjøp {symbol}" @@ -695,22 +701,22 @@ "defaultMessage": "Utfyllbart beløp" }, "insufficient": { - "defaultMessage": "Insufficient {symbol}" + "defaultMessage": "Utilstrekkelig {symbol}" }, "insufficient.symbol": { - "defaultMessage": "insufficient {symbol}" + "defaultMessage": "utilstrekkelig {symbol}" }, "last.price": { - "defaultMessage": "Last price" + "defaultMessage": "Siste pris" }, "last.price.amount": { - "defaultMessage": "Last price: {amount}" + "defaultMessage": "Siste pris: {amount}" }, "limit": { - "defaultMessage": "Limit" + "defaultMessage": "Begrensning" }, "loading.quote": { - "defaultMessage": "Loading quote..." + "defaultMessage": "Laster sitat..." }, "market": { "defaultMessage": "Market" @@ -830,10 +836,10 @@ "defaultMessage": "Kjøp krypto med Transak" }, "gas.gas": { - "defaultMessage": "Gas: {gas} Gwei" + "defaultMessage": "Gass: {gas} Gwei" }, "insufficient.symbol.balance": { - "defaultMessage": "Insufficient {symbol} balance" + "defaultMessage": "Utilstrekkelig {symbol} saldo" }, "network.not.supported.msg": { "defaultMessage": "Network not supported. Please change to a supported network: {networks}" @@ -1281,9 +1287,6 @@ "defaultMessage": "Godta", "description": "Accept" }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Få tilgang til darkblock for å få mer informasjon" - }, "access.requirements": { "defaultMessage": "Tilgangskrav" }, @@ -1764,6 +1767,12 @@ "clear.filters": { "defaultMessage": "Fjern filtrene for å se nft'ene" }, + "clear.filters.button": { + "defaultMessage": "Fjern filtre" + }, + "results.count": { + "defaultMessage": "{count} nettsteder funnet" + }, "clear.filters.to.see.nft.drops": { "defaultMessage": "Fjern filtrene for å se nft-dukkene" }, @@ -2076,15 +2085,6 @@ "dark": { "defaultMessage": "Mørk" }, - "darkblock": { - "defaultMessage": "Mørkeblokk" - }, - "darkblock.io": { - "defaultMessage": "Darkblock.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock er et desentralisert protokoll som lar innholdsskapere publisere og distribuere eksklusivt innhold til sine fans uten behov for sentraliserte token-portplattformer. Denne integrasjonen brukes på Asset-siden for nettverkene som støttes av Darkblock." - }, "data": { "defaultMessage": "Data" }, @@ -2376,18 +2376,6 @@ "empty.leaderboard": { "defaultMessage": "Tomt leaderboard" }, - "enable.darkblock": { - "defaultMessage": "Aktiver Darkblock-ressurs" - }, - "enable.darkblock.collection": { - "defaultMessage": "Aktiver Darkblock-samling" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Aktiver Darkblock på ressurssiden" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Aktiver Darkblock på samlingssiden" - }, "enable.drop": { "defaultMessage": "Aktiver Darkblock" }, @@ -2535,6 +2523,21 @@ "filters": { "defaultMessage": "Filtre" }, + "filter.by": { + "defaultMessage": "Filtrer etter" + }, + "filter.all": { + "defaultMessage": "Alle" + }, + "filter.recent": { + "defaultMessage": "Nylige (30 dager)" + }, + "filter.active": { + "defaultMessage": "Aktive (7 dager)" + }, + "filter.popular": { + "defaultMessage": "Populære" + }, "finish": { "defaultMessage": "Fullfør" }, @@ -2545,7 +2548,7 @@ "defaultMessage": "Skrifttype" }, "footer.menu": { - "defaultMessage": "Footer" + "defaultMessage": "Bunntekst" }, "footer.wizard.description": { "defaultMessage": "Opprett og rediger appens bunntekstmeny" @@ -3732,6 +3735,24 @@ "sort.by": { "defaultMessage": "Sorter etter" }, + "sort.newest": { + "defaultMessage": "Nyeste" + }, + "sort.oldest": { + "defaultMessage": "Eldste" + }, + "sort.most.modified": { + "defaultMessage": "Mest endret" + }, + "sort.least.modified": { + "defaultMessage": "Minst endret" + }, + "sort.name.asc": { + "defaultMessage": "Navn A-Å" + }, + "sort.name.desc": { + "defaultMessage": "Navn Å-Z" + }, "stake": { "defaultMessage": "Innsats" }, diff --git a/apps/dexappbuilder/lang/pt-BR.json b/apps/dexappbuilder/lang/pt-BR.json index 85e00d561..96b493165 100644 --- a/apps/dexappbuilder/lang/pt-BR.json +++ b/apps/dexappbuilder/lang/pt-BR.json @@ -1,117 +1,120 @@ { + "description.markdown.helper": { + "defaultMessage": "Você pode usar formatação markdown para descrições de texto rico" + }, "Created": { - "defaultMessage": "Created" + "defaultMessage": "Criado" }, "action.type": { - "defaultMessage": "Action type" + "defaultMessage": "Tipo de ação" }, "add.items": { - "defaultMessage": "Add items" + "defaultMessage": "Adicionar itens" }, "add.payment.method": { - "defaultMessage": "Add Payment Method" + "defaultMessage": "Adicionar Método de Pagamento" }, "ai.assistant": { - "defaultMessage": "AI Assistant" + "defaultMessage": "Assistente de IA" }, "align.items": { - "defaultMessage": "Align Items" + "defaultMessage": "Alinhar Itens" }, "artificial.inteligence": { - "defaultMessage": "Artificial Inteligence" + "defaultMessage": "Inteligência Artificial" }, "billing": { - "defaultMessage": "Billing" + "defaultMessage": "Faturamento" }, "button.cation": { - "defaultMessage": "Button caption" + "defaultMessage": "Legenda do botão" }, "buy.and.sell": { - "defaultMessage": "Buy and sell" + "defaultMessage": "Comprar e vender" }, "buy.token.page": { - "defaultMessage": "Buy token page" + "defaultMessage": "Página de compra de tokens" }, "carousel": { - "defaultMessage": "Carousel" + "defaultMessage": "Carrossel" }, "carousel.image.aspectRatio": { - "defaultMessage": "The image must have a 16/9 aspect ratio to be displayed correctly in the carousel." + "defaultMessage": "A imagem deve ter uma proporção de 16/9 para ser exibida corretamente no carrossel." }, "center": { - "defaultMessage": "Center" + "defaultMessage": "Centralizar" }, "checkout": { - "defaultMessage": "Checkout" + "defaultMessage": "Pagamento" }, "coming.soon": { - "defaultMessage": "Coming soon" + "defaultMessage": "Em breve" }, "create.metadata": { - "defaultMessage": "Create metadata" + "defaultMessage": "Criar metadados" }, "creating.site.metadata": { - "defaultMessage": "Creating site metadata" + "defaultMessage": "Criando metadados do site" }, "credit.history": { - "defaultMessage": "Credit History" + "defaultMessage": "Histórico de Crédito" }, "credited": { - "defaultMessage": "Credited" + "defaultMessage": "Creditado" }, "credits": { - "defaultMessage": "Credits" + "defaultMessage": "Créditos" }, "credits.below0.50": { - "defaultMessage": "Your credits are now below $0.50. Please consider adding more credits to continue using our services." + "defaultMessage": "Seus créditos agora estão abaixo de $0.50. Por favor, considere adicionar mais créditos para continuar usando nossos serviços." }, "credits.expire.oneYear": { - "defaultMessage": "Your added credits will expire one year from the date of addition. Please utilize them before expiry." + "defaultMessage": "Os créditos adicionados expirarão um ano a partir da data de adição. Por favor, utilize-os antes do vencimento." }, "current.phase": { - "defaultMessage": "Current phase" + "defaultMessage": "Fase atual" }, "current.phase.ends.in": { - "defaultMessage": "Current phase ends in" + "defaultMessage": "A fase atual termina em" }, "dexappbuilder.ann.app.bar2": { - "defaultMessage": "Support us on {Giveth} and allow our service to be free for all. Each donation is matched by ENS builders round." + "defaultMessage": "Nos apoie em {Giveth} e permita que nosso serviço seja gratuito para todos. Cada doação é correspondida pelos construtores da ENS." }, "disable.secondary.sells": { - "defaultMessage": "Disable secondary sells" + "defaultMessage": "Desabilitar vendas secundárias" }, "editing.site.metadata": { - "defaultMessage": "Editing site metadata" + "defaultMessage": "Editando metadados do site" }, "end": { - "defaultMessage": "End" + "defaultMessage": "Fim" }, "error.while.tranfer": { - "defaultMessage": "Error while transfer" + "defaultMessage": "Erro durante a transferência" }, "feature": { - "defaultMessage": "Feature" + "defaultMessage": "Recurso" }, "height.for.desktop": { - "defaultMessage": "Height for desktop" + "defaultMessage": "Altura para desktop" }, "height.for.mobile": { - "defaultMessage": "Height for mobile" + "defaultMessage": "Altura para dispositivo móvel" }, "in.milliseconds": { - "defaultMessage": "In milliseconds" + "defaultMessage": "Em milissegundos" }, "insufficient.balance": { - "defaultMessage": "Insufficient balance" + "defaultMessage": "Saldo insuficiente" }, "interval": { - "defaultMessage": "Interval" + "defaultMessage": "Intervalo" }, "items.spacing": { - "defaultMessage": "Items spacing" + "defaultMessage": "Espaçamento dos Itens" }, "left": { - "defaultMessage": "Left" + "defaultMessage": "Esquerda" }, "new.ai.features": { "defaultMessage": "New AI Features" @@ -120,10 +123,10 @@ "defaultMessage": "no description" }, "no.templates.found.for.this.usecase": { - "defaultMessage": "No templates found for this usecase" + "defaultMessage": "Nenhum modelo encontrado para este caso de uso" }, "no.usage": { - "defaultMessage": "No usage" + "defaultMessage": "Nenhum uso" }, "not.available": { "defaultMessage": "Not available" @@ -144,7 +147,7 @@ "defaultMessage": "Payment expired" }, "payment.pending": { - "defaultMessage": "Payment Pending" + "defaultMessage": "Pagamento pendente" }, "payments": { "defaultMessage": "Payments" @@ -167,8 +170,11 @@ "search.default.base.token": { "defaultMessage": "Search default base token" }, + "search.sites": { + "defaultMessage": "Buscar sites..." + }, "section.addItemsPrompt": { - "defaultMessage": "Please add items to the section below." + "defaultMessage": "Adicione itens à seção abaixo." }, "select.a.token.to.pay": { "defaultMessage": "Select a token to pay" @@ -213,7 +219,7 @@ "defaultMessage": "Start" }, "switch.to.network.network": { - "defaultMessage": "Switch to {network} network" + "defaultMessage": "Mudar para a rede {network}" }, "templates": { "defaultMessage": "Templates" @@ -288,106 +294,106 @@ "defaultMessage": "Your transaction requires 10 confirmations for full validation" }, "AI": { - "defaultMessage": "AI" + "defaultMessage": "IA" }, "activate": { - "defaultMessage": "Activate AI" + "defaultMessage": "Ativar IA" }, "activate.ai": { - "defaultMessage": "Activate AI" + "defaultMessage": "Ativar IA" }, "add.credit": { - "defaultMessage": "Add Credit" + "defaultMessage": "Adicionar Crédito" }, "add.credits": { - "defaultMessage": "Add credits" + "defaultMessage": "Adicionar créditos" }, "ai.activated": { - "defaultMessage": "AI Activated" + "defaultMessage": "IA Ativada" }, "ai.completation": { - "defaultMessage": "AI Completation" + "defaultMessage": "Completamento de IA" }, "ai.edit": { - "defaultMessage": "AI Edit" + "defaultMessage": "Editar IA" }, "ai.generator": { - "defaultMessage": "AI Generator" + "defaultMessage": "Gerador de IA" }, "ai.image.generator": { - "defaultMessage": "AI Image Generator" + "defaultMessage": "Gerador de Imagens de IA" }, "answer": { - "defaultMessage": "Answer:" + "defaultMessage": "Resposta:" }, "billing.and.usage": { - "defaultMessage": "Billing & Usage" + "defaultMessage": "Faturamento e Uso" }, "change.cat.head": { - "defaultMessage": "ex. Change cat head" + "defaultMessage": "ex. Mudar a cabeça do gato" }, "close.anyway": { - "defaultMessage": "Close anyway" + "defaultMessage": "Fechar de qualquer forma" }, "credit.card.soming.soon": { - "defaultMessage": "Credit Card (Coming Soon)" + "defaultMessage": "Cartão de Crédito (Em Breve)" }, "cryptocurrency": { - "defaultMessage": "Cryptocurrency" + "defaultMessage": "Criptomoeda" }, "deselect.all": { - "defaultMessage": "Deselect All" + "defaultMessage": "Desmarcar Todos" }, "error.while.generating.images": { - "defaultMessage": "Error while generating images" + "defaultMessage": "Erro ao gerar imagens" }, "ex.an.image.of.a.cat": { - "defaultMessage": "ex. An image of a cat" + "defaultMessage": "ex. Uma imagem de um gato" }, "fix.spelling.and.grammar": { - "defaultMessage": "Fix spelling and grammar" + "defaultMessage": "Corrigir ortografia e gramática" }, "generate": { - "defaultMessage": "Generate" + "defaultMessage": "Gerar" }, "generate.image": { - "defaultMessage": "Generate image" + "defaultMessage": "Gerar imagem" }, "generate.new.text": { - "defaultMessage": "Generate new text" + "defaultMessage": "Gerar novo texto" }, "generate.variant": { - "defaultMessage": "Generate variant" + "defaultMessage": "Gerar variante" }, "generate.variants": { - "defaultMessage": "Generate Variants" + "defaultMessage": "Gerar variantes" }, "generating": { - "defaultMessage": "Generating" + "defaultMessage": "Gerando" }, "generating.variants": { - "defaultMessage": "Generating Variants" + "defaultMessage": "Gerando Variantes" }, "images.generated": { - "defaultMessage": "Images generated" + "defaultMessage": "Imagens geradas" }, "images.notGenerated": { - "defaultMessage": "You haven't generated any images yet. Start generating images now to make the most out of our service." + "defaultMessage": "Você ainda não gerou nenhuma imagem. Comece a gerar imagens agora para aproveitar ao máximo nosso serviço." }, "improve.writing": { - "defaultMessage": "Improve writing" + "defaultMessage": "Melhorar escrita" }, "make.longer": { - "defaultMessage": "Make longer" + "defaultMessage": "Alongar" }, "make.shorter": { - "defaultMessage": "Make shorter" + "defaultMessage": "Encurtar" }, "no.credits": { - "defaultMessage": "No Credits" + "defaultMessage": "Nenhum crédito" }, "no.images": { - "defaultMessage": "No Images" + "defaultMessage": "Nenhuma imagem" }, "num.of.images": { "defaultMessage": "Num. of Images" @@ -402,7 +408,7 @@ "defaultMessage": "Original image" }, "payment.confirmation.message": { - "defaultMessage": "Please wait for 10 confirmations for payment recognition." + "defaultMessage": "Aguarde 10 confirmações para o reconhecimento do pagamento." }, "payment.method": { "defaultMessage": "Payment method" @@ -438,7 +444,7 @@ "defaultMessage": "Waiting payment" }, "you.need.to.add.credits.to.use.ai.features": { - "defaultMessage": "You need to add credits to use AI features" + "defaultMessage": "Você precisa adicionar créditos para usar recursos de IA" }, "add.record": { "defaultMessage": "Adicionar registro" @@ -495,22 +501,22 @@ "defaultMessage": "Preço do Gás" }, "invalid address": { - "defaultMessage": "Invalid address" + "defaultMessage": "Endereço inválido" }, "invalid.file.column.column.is.missing": { - "defaultMessage": "Invalid file: column {column} is missing" + "defaultMessage": "Arquivo inválido: a coluna {column} está faltando" }, "max.fee": { - "defaultMessage": "Max fee" + "defaultMessage": "Taxa máxima" }, "max.priority.fee": { - "defaultMessage": "Max priority fee" + "defaultMessage": "Taxa de prioridade máxima" }, "message.you.are.signing": { - "defaultMessage": "Message you are signing" + "defaultMessage": "Mensagem que você está assinando" }, "mint.token.value": { - "defaultMessage": "Mint token \"{tokenName}\"" + "defaultMessage": "Criar token \"{tokenName}\"" }, "network.value": { "defaultMessage": "{network}" @@ -559,7 +565,7 @@ "defaultMessage": "Sign" }, "switch.to.network.value": { - "defaultMessage": "Switch to {networkName} network" + "defaultMessage": "Mudar para a rede {networkName}" }, "transaction.failed.reason": { "defaultMessage": "Transaction failed" @@ -577,16 +583,16 @@ "defaultMessage": "Validating ENS name" }, "you.are.not.the.owner.of.this.NFT": { - "defaultMessage": "You are not the owner of this NFT" + "defaultMessage": "Você não é o proprietário deste NFT" }, "you.cant.use.the.connected.account.to.burn": { - "defaultMessage": "You can't use the connected account to burn" + "defaultMessage": "Você não pode usar a conta conectada para queimar" }, "you.cant.use.the.connected.account.to.transfer": { - "defaultMessage": "You can't use the connected to transfer" + "defaultMessage": "Você não pode usar a conta conectada para transferir" }, "you.own.nfts": { - "defaultMessage": "You own {balance} NFTs" + "defaultMessage": "Você possui {balance} NFTs" }, "your.request.was.sent.successfully": { "defaultMessage": "Your request was sent successfully" @@ -664,40 +670,40 @@ "defaultMessage": "Insuficiente {symbol}" }, "insufficient.symbol": { - "defaultMessage": "insufficient {symbol}" + "defaultMessage": "saldo {symbol} insuficiente" }, "last.price": { - "defaultMessage": "Last price" + "defaultMessage": "Último preço" }, "last.price.amount": { - "defaultMessage": "Last price: {amount}" + "defaultMessage": "Último preço: {amount}" }, "limit": { - "defaultMessage": "Limit" + "defaultMessage": "Limite" }, "loading.quote": { - "defaultMessage": "Loading quote..." + "defaultMessage": "Carregando cotação..." }, "market": { - "defaultMessage": "Market" + "defaultMessage": "Mercado" }, "market.cap.amount": { - "defaultMessage": "Market Cap: {amount}" + "defaultMessage": "Capitalização de Mercado: {amount}" }, "market.settings": { - "defaultMessage": "Market Settings" + "defaultMessage": "Configurações do Mercado" }, "max.slippage.is.value.percent": { - "defaultMessage": "Max slippage is 50 percent" + "defaultMessage": "A variação máxima é de 50 por cento" }, "more": { - "defaultMessage": "More" + "defaultMessage": "Mais" }, "my.orders": { - "defaultMessage": "My Orders" + "defaultMessage": "Meus Pedidos" }, "native.coins.are.not.supported.on.limit.orders": { - "defaultMessage": "Native coins are not supported on limited orders" + "defaultMessage": "Moedas nativas não são suportadas em pedidos limitados" }, "order.created.message": { "defaultMessage": "Order created" @@ -706,13 +712,13 @@ "defaultMessage": "Order failed" }, "place.order": { - "defaultMessage": "Place Order" + "defaultMessage": "Fazer pedido" }, "please.switch.to.networks": { "defaultMessage": "Please, switch to {networks}" }, "please.use.wrapped.version.of.native.token": { - "defaultMessage": "Please use wrapped version of native token" + "defaultMessage": "Use a versão wrapped do token nativo" }, "price.change.24h": { "defaultMessage": "Price Change 24h" @@ -727,7 +733,7 @@ "defaultMessage": "Quote tokens" }, "review.order": { - "defaultMessage": "Review Order" + "defaultMessage": "Revisar pedido" }, "search.for.a.token.by.name.symbol.and.address": { "defaultMessage": "Search for a token by name, symbol and address" @@ -760,10 +766,10 @@ "defaultMessage": "Size" }, "the.base.token.is.required.on.chain": { - "defaultMessage": "The quote token is required on {chainName}" + "defaultMessage": "O token de cotação é necessário em {chainName}" }, "the.max.fee.is.ten.percent": { - "defaultMessage": "The max fee is 10%" + "defaultMessage": "A taxa máxima é de 10%" }, "there.are.no.orders.to.show": { "defaultMessage": "There are no orders to show" @@ -775,10 +781,10 @@ "defaultMessage": "Unsupported Network" }, "you.are.buying": { - "defaultMessage": "You are buying" + "defaultMessage": "Você está comprando" }, "you.are.selling": { - "defaultMessage": "You are selling" + "defaultMessage": "Você está vendendo" }, "your.wallet.is.not.connected": { "defaultMessage": "Your wallet is not connected" @@ -796,19 +802,19 @@ "defaultMessage": "Gás: {gas} Gwei" }, "insufficient.symbol.balance": { - "defaultMessage": "Insufficient {symbol} balance" + "defaultMessage": "Saldo {symbol} insuficiente" }, "network.not.supported.msg": { - "defaultMessage": "Network not supported. Please change to a supported network: {networks}" + "defaultMessage": "Rede não suportada. Por favor, mude para uma rede suportada: {networks}" }, "network_not_supported": { "defaultMessage": "Network not supported" }, "no.coins": { - "defaultMessage": "No coins" + "defaultMessage": "Nenhuma moeda" }, "no.coins.found": { - "defaultMessage": "No coins found" + "defaultMessage": "Nenhuma moeda encontrada" }, "price.impact": { "defaultMessage": "Price impact" @@ -829,7 +835,7 @@ "defaultMessage": "Swap Tokens" }, "switch.wallet.network": { - "defaultMessage": "Switch wallet to {networkName}" + "defaultMessage": "Mudar carteira para {networkName}" }, "token.balance": { "defaultMessage": "balance: {balance}" @@ -1200,9 +1206,6 @@ "You.are.not.eligible.to.mint.at.this.time.": { "defaultMessage": "Você não tem permissão para criar neste momento." }, - "access.darkblock.to.get.more.information": { - "defaultMessage": "Acesse darkblock para obter mais informações" - }, "access.requirements.message": { "defaultMessage": "Mensagem de requisitos de acesso" }, @@ -1495,15 +1498,6 @@ "csv.file.to.import.on.aidrop.contract": { "defaultMessage": "Arquivo CSV a ser importado nos contratos de distribuição gratuita" }, - "darkblock": { - "defaultMessage": "Bloco Escuro" - }, - "darkblock.io": { - "defaultMessage": "Bloco Escuro.io" - }, - "darkblock.one.line.description": { - "defaultMessage": "Darkblock é um protocolo descentralizado que permite que criadores de conteúdo publiquem e distribuam conteúdo exclusivo para seus fãs sem a necessidade de plataformas centralizadas baseadas em tokens. Essa integração é utilizada na página de Ativos para as redes suportadas pelo Darkblock." - }, "default.currency": { "defaultMessage": "Moeda padrão" }, @@ -1609,18 +1603,6 @@ "empty.leaderboard": { "defaultMessage": "Classificação vazia" }, - "enable.darkblock": { - "defaultMessage": "Ativar Ativo Darkblock" - }, - "enable.darkblock.collection": { - "defaultMessage": "Ativar Coleção Darkblock" - }, - "enable.darkblock.on.asset.page": { - "defaultMessage": "Ativar Darkblock na página de Ativos" - }, - "enable.darkblock.on.collection.page": { - "defaultMessage": "Ativar Darkblock na página de Coleção" - }, "enable.drop": { "defaultMessage": "Ativar Darkblock" }, @@ -2113,6 +2095,24 @@ "sort.by": { "defaultMessage": "Ordenar por" }, + "sort.newest": { + "defaultMessage": "Mais recentes" + }, + "sort.oldest": { + "defaultMessage": "Mais antigos" + }, + "sort.most.modified": { + "defaultMessage": "More modified" + }, + "sort.least.modified": { + "defaultMessage": "Menos modificados" + }, + "sort.name.asc": { + "defaultMessage": "Nome A-Z" + }, + "sort.name.desc": { + "defaultMessage": "Nome Z-A" + }, "stake": { "defaultMessage": "Aposta" }, @@ -2638,6 +2638,21 @@ "filters": { "defaultMessage": "Filtros" }, + "filter.by": { + "defaultMessage": "Filtrar por" + }, + "filter.all": { + "defaultMessage": "Todos" + }, + "filter.recent": { + "defaultMessage": "Recentes (30 dias)" + }, + "filter.active": { + "defaultMessage": "Ativos (7 dias)" + }, + "filter.popular": { + "defaultMessage": "Populares" + }, "finish": { "defaultMessage": "Concluir" }, @@ -3186,6 +3201,12 @@ "clear.filters": { "defaultMessage": "Limpar filtros para ver os NFTs" }, + "clear.filters.button": { + "defaultMessage": "Limpar filtros" + }, + "results.count": { + "defaultMessage": "{count} sites encontrados" + }, "clone.page": { "defaultMessage": "Clonar página" }, @@ -3852,7 +3873,7 @@ "defaultMessage": "I want to create/edit this Marketplace" }, "edit.section": { - "defaultMessage": "Edit Section" + "defaultMessage": "Editar seção" }, "email": { "defaultMessage": "E-mail" diff --git a/apps/dexappbuilder/middleware.ts b/apps/dexappbuilder/middleware.ts index 9fd7f6e88..bb07d0492 100644 --- a/apps/dexappbuilder/middleware.ts +++ b/apps/dexappbuilder/middleware.ts @@ -3,7 +3,7 @@ import { NextRequest, NextResponse } from 'next/server'; export const config = { matcher: [ '/', - '/([^/.]*)', // exclude `/public` files by matching all paths except for paths containing `.` (e.g. /logo.png) + '/((?!llms\\.txt|robots\\.txt|sitemap\\.xml|favicon\\.ico)[^/.]*)', '/asset/:path*', '/order/:path*', '/collection/:path*', diff --git a/apps/dexappbuilder/next-env.d.ts b/apps/dexappbuilder/next-env.d.ts index 4f11a03dc..36a4fe488 100644 --- a/apps/dexappbuilder/next-env.d.ts +++ b/apps/dexappbuilder/next-env.d.ts @@ -1,5 +1,7 @@ /// /// +/// +/// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/apps/dexappbuilder/next.config.js b/apps/dexappbuilder/next.config.js index e9713bb84..6cdb84a77 100644 --- a/apps/dexappbuilder/next.config.js +++ b/apps/dexappbuilder/next.config.js @@ -1,14 +1,32 @@ /** @type {import('next').NextConfig} */ const nextConfig = { + typescript: { + ignoreBuildErrors: false, + tsconfigPath: './tsconfig.json', + }, experimental: { - productionBrowserSourceMaps: false, - serverSourceMaps: false, - optimizePackageImports: ['ethers'], - turbo: { - resolveAlias: { - 'react/jsx-runtime.js': 'react/jsx-runtime', - 'react/jsx-dev-runtime.js': 'react/jsx-dev-runtime', - }, + optimizePackageImports: ['ethers', '@mui/material', '@mui/icons-material'], + reactCompiler: false, + webpackBuildWorker: true, + }, + compress: true, + poweredByHeader: false, + generateEtags: false, + compiler: { + removeConsole: process.env.NODE_ENV === 'production', + }, + modularizeImports: { + '@mui/material': { + transform: '@mui/material/{{member}}', + }, + '@mui/icons-material': { + transform: '@mui/icons-material/{{member}}', + }, + }, + turbopack: { + resolveAlias: { + 'react/jsx-runtime.js': 'react/jsx-runtime', + 'react/jsx-dev-runtime.js': 'react/jsx-dev-runtime', }, }, transpilePackages: [ @@ -26,6 +44,7 @@ const nextConfig = { 'react-markdown', 'react-dnd', 'mui-color-input', + 'formik-mui', ], webpack(config) { /*config.module.rules.push({ @@ -34,29 +53,73 @@ const nextConfig = { use: ['@svgr/webpack'], })*/ - config.resolve.alias = { ...config.resolve.alias, 'react/jsx-runtime.js': 'react/jsx-runtime', 'react/jsx-dev-runtime.js': 'react/jsx-dev-runtime', }; + + config.resolve.extensionAlias = { + '.js': ['.ts', '.tsx', '.js', '.jsx'], + '.mjs': ['.mts', '.mjs'], + }; + return config; }, images: { - domains: [ - 'i.seadn.io', - 'dweb.link', - 'ipfs.io', - 'ipfs.moralis.io', - 'dashboard.mypinata.cloud', - 'raw.githubusercontent.com', - 'arpeggi.io', - 'arweave.net', - 'i.ibb.co', - 'assets.otherside.xyz', - 'dexkit-storage.nyc3.cdn.digitaloceanspaces.com', - 'dexkit-storage.nyc3.digitaloceanspaces.com', - 'dexkit-test.nyc3.digitaloceanspaces.com', + remotePatterns: [ + { + protocol: 'https', + hostname: 'i.seadn.io', + }, + { + protocol: 'https', + hostname: 'dweb.link', + }, + { + protocol: 'https', + hostname: 'ipfs.io', + }, + { + protocol: 'https', + hostname: 'ipfs.moralis.io', + }, + { + protocol: 'https', + hostname: 'dashboard.mypinata.cloud', + }, + { + protocol: 'https', + hostname: 'raw.githubusercontent.com', + }, + { + protocol: 'https', + hostname: 'arpeggi.io', + }, + { + protocol: 'https', + hostname: 'arweave.net', + }, + { + protocol: 'https', + hostname: 'i.ibb.co', + }, + { + protocol: 'https', + hostname: 'assets.otherside.xyz', + }, + { + protocol: 'https', + hostname: 'dexkit-storage.nyc3.cdn.digitaloceanspaces.com', + }, + { + protocol: 'https', + hostname: 'dexkit-storage.nyc3.digitaloceanspaces.com', + }, + { + protocol: 'https', + hostname: 'dexkit-test.nyc3.digitaloceanspaces.com', + }, ], }, }; diff --git a/apps/dexappbuilder/package.json b/apps/dexappbuilder/package.json index ecf0b8cb8..416483471 100644 --- a/apps/dexappbuilder/package.json +++ b/apps/dexappbuilder/package.json @@ -4,10 +4,10 @@ "private": true, "type": "module", "scripts": { - "dev": "cross-env NODE_OPTIONS=\"--max-old-space-size=160000\" next dev", + "dev": "npx cross-env NODE_OPTIONS=\"--max-old-space-size=160000\" next dev", "prebuild": "node scripts/update-version-json.js", - "build": "next build", - "start": "next start -p $PORT", + "build": "npx cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" next build", + "start": "next start -p 3000", "lint": "next lint", "test": "jest", "post-update": "echo \"codesandbox preview only, need an update\" && yarn upgrade --latest", @@ -15,7 +15,8 @@ "compile": "formatjs compile", "process-all-translations": "./scripts/bash/process-all-translations.sh", "translate-ai": "node --env-file=.env scripts/translate.js", - "sync-language-files": "node scripts/sync-compiled-with-lang.js", + "translate-super-fast": "node --env-file=.env scripts/translate-super-fast.cjs", + "sync-language-files": "node scripts/sync-compiled-with-lang.cjs", "lang-diff": "node scripts/local-diff.js", "generate-lang-files": "yarn extract '(src||pages)/**/*.ts*' --ignore='**/*.d.ts' --out-file lang/main.json --id-interpolation-pattern '[sha512:contenthash:base64:6]'" }, @@ -23,8 +24,10 @@ "build" ], "engines": { - "node": "22.x" + "node": "22.x", + "yarn": ">=1.22.0" }, + "packageManager": "yarn@1.22.22", "browser": { "child_process": false, "fs": false, @@ -40,12 +43,10 @@ "@codemirror/lang-javascript": "^6.2.1", "@date-io/moment": "^2.13.1", "@dexkit/core": "*", - "@dexkit/darkblock-evm-widget": "*", "@dexkit/dexappbuilder-render": "*", "@dexkit/dexappbuilder-viewer": "*", "@dexkit/evm-chains": "1.15.2", "@dexkit/ui": "*", - "@dexkit/unlock-widget": "*", "@dexkit/wallet-connectors": "*", "@dexkit/web3forms": "*", "@dexkit/widgets": "*", @@ -55,21 +56,22 @@ "@emotion/server": "^11.4.0", "@emotion/styled": "^11.8.1", "@indexed-finance/multicall": "^2.0.0", - "@mui/icons-material": "5.14.11", - "@mui/material": "5.14.11", - "@mui/x-data-grid": "^6.16.2", - "@mui/x-date-pickers": "^5.0.0-alpha.2", + "@mui/icons-material": "7.3.2", + "@mui/lab": "^7.0.0-alpha.170", + "@mui/material": "7.3.2", + "@mui/x-data-grid": "^7.27.0", + "@mui/x-date-pickers": "^7.27.0", "@mycrypto/gas-estimation": "^1.1.1", "@next/bundle-analyzer": "^13.5.4", "@noble/curves": "^1.8.1", - "@react-page/editor": "5.4.4", - "@react-page/plugins-background": "^5.4.4", - "@react-page/plugins-divider": "^5.4.4", - "@react-page/plugins-html5-video": "^5.4.4", - "@react-page/plugins-image": "^5.4.4", - "@react-page/plugins-slate": "^5.4.4", - "@react-page/plugins-spacer": "^5.4.4", - "@react-page/plugins-video": "^5.4.4", + "@react-page/editor": "5.4.5", + "@react-page/plugins-background": "5.4.5", + "@react-page/plugins-divider": "5.4.5", + "@react-page/plugins-html5-video": "5.4.5", + "@react-page/plugins-image": "5.4.5", + "@react-page/plugins-slate": "5.4.5", + "@react-page/plugins-spacer": "5.4.5", + "@react-page/plugins-video": "5.4.5", "@reactour/tour": "^3.3.0", "@thirdweb-dev/react": "^4.4.8", "@thirdweb-dev/sdk": "^4.0.35", @@ -89,13 +91,14 @@ "formik-mui-x-date-pickers": "^0.0.1", "html-react-parser": "^3.0.4", "mui-color-input": "2.0.3", - "next": "14.1.4", + "next": "15.5.4", "next-auth": "^4.20.1", "next-remove-imports": "^1.0.10", "next-seo": "^5.4.0", "qrcode.react": "^3.0.2", "qs": "^6.11.0", - "react-error-boundary": "^3.1.4", + "react-draggable": "4.5.0", + "react-error-boundary": "4.0.13", "react-grid-layout": "^1.5.2", "react-markdown": "^8.0.3", "react-query": "^3.34.19", @@ -121,16 +124,21 @@ "@testing-library/user-event": "^14.4.3", "@types/cookie": "^0.5.1", "@types/eth-url-parser": "^1.0.3", + "@types/json-stable-stringify": "^1.2.0", + "@types/minimatch": "^6.0.0", + "@types/node": "^20", "@types/qs": "^6.9.7", + "@types/react": "^19", + "@types/react-dom": "^19", "@types/react-grid-layout": "^1.3.5", "@types/react-resizable": "^3.0.3", "@types/react-syntax-highlighter": "^15.5.5", "@types/react-window": "^1.8.5", "@types/sharp": "^0.31.0", "babel-plugin-transform-remove-imports": "^1.7.0", - "cross-env": "^7.0.3", - "eslint": "^8.14.0", - "eslint-config-next": "^12.2.3", + "cross-env": "^10.0.0", + "eslint": "^9", + "eslint-config-next": "15.5.4", "jest": "^29.0.1", "jest-environment-jsdom": "^29.0.1", "pre-push": "^0.1.4", diff --git a/apps/dexappbuilder/pages/_app.tsx b/apps/dexappbuilder/pages/_app.tsx index 5937dc3a6..fb24f0649 100644 --- a/apps/dexappbuilder/pages/_app.tsx +++ b/apps/dexappbuilder/pages/_app.tsx @@ -2,7 +2,10 @@ import { EmotionCache } from '@emotion/react'; import { Analytics } from '@vercel/analytics/react'; import { AppProps } from 'next/app'; import Head from 'next/head'; -import React from 'react'; +import { useEffect, useState } from 'react'; + +import '../src/polyfills/react-draggable-polyfill'; +import '../src/polyfills/react-polyfills'; import type { } from '@mui/material/themeCssVarsAugmentation'; @@ -13,12 +16,10 @@ import './customCss.css'; import { setupTheme } from '@dexkit/ui/services/app'; -import { - AppMarketplaceProvider, - PageProps, - createEmotionCache, - getTheme, -} from '@dexkit/dexappbuilder-render'; +import { AppMarketplaceProvider } from '../src/AppMarketplaceProvider'; +import { PageProps } from '../src/PageProps'; +import createEmotionCache from '../src/createEmotionCache'; +import { getTheme } from '../src/getTheme'; import { AppConfigContext as AppUIConfigContext } from '@dexkit/ui/context/AppConfigContext'; import SiteProvider from '@dexkit/ui/providers/SiteProvider'; @@ -45,11 +46,11 @@ export default function MyApp(props: MyAppProps) { const { pageProps, Component, emotionCache = clientSideEmotionCache } = props; const router = useRouter(); - const [loading, setLoading] = React.useState(false); + const [loading, setLoading] = useState(false); const { appConfig, appNFT, siteId, site, appPage, appLocaleMessages } = pageProps; - const [queryClient] = React.useState( + const [queryClient] = useState( new QueryClient({ defaultOptions: { queries: { @@ -60,7 +61,7 @@ export default function MyApp(props: MyAppProps) { }), ); - React.useEffect(() => { + useEffect(() => { router.events.on('routeChangeStart', () => { setLoading(true); }); @@ -106,7 +107,7 @@ export default function MyApp(props: MyAppProps) { @@ -127,8 +128,8 @@ export default function MyApp(props: MyAppProps) { open={loading} sx={{ color: - theme?.colorSchemes?.light?.palette?.primary - ?.main, + (theme as any)?.colorSchemes?.light?.palette?.primary + ?.main || theme.palette.primary.main, zIndex: theme.zIndex.drawer + 1, }} > @@ -144,7 +145,7 @@ export default function MyApp(props: MyAppProps) { - + {process.env.NODE_ENV === 'production' && } ); } diff --git a/apps/dexappbuilder/pages/_custom/[site]/[page]/index.tsx b/apps/dexappbuilder/pages/_custom/[site]/[page]/index.tsx index 6ba369267..22cd031ed 100644 --- a/apps/dexappbuilder/pages/_custom/[site]/[page]/index.tsx +++ b/apps/dexappbuilder/pages/_custom/[site]/[page]/index.tsx @@ -41,31 +41,44 @@ const CustomPage: NextPage<{ gatedLayout, slug, layout, +}: { + sections: AppPageSection[]; + account?: string; + isProtected: boolean; + conditions?: GatedCondition[]; + gatedLayout?: GatedPageLayout; + layout?: PageSectionsLayout; + result: boolean; + site: string; + page: string; + partialResults: { [key: number]: boolean }; + balances: { [key: number]: string }; + slug?: string; }) => { - if (isProtected) { + if (isProtected) { + return ( + + + + + + ); + } + return ( - - - - - + + + ); - } - - return ( - - - - ); -}; + }; type Params = { site?: string; diff --git a/apps/dexappbuilder/pages/_document.tsx b/apps/dexappbuilder/pages/_document.tsx index cceb35f01..731bb1d80 100644 --- a/apps/dexappbuilder/pages/_document.tsx +++ b/apps/dexappbuilder/pages/_document.tsx @@ -3,13 +3,15 @@ import createEmotionServer from '@emotion/server/create-instance'; import Document, { Head, Html, Main, NextScript } from 'next/document'; import { AppConfig } from '@dexkit/ui/modules/wizard/types/config'; -import { getInitColorSchemeScript } from '@mui/material/styles'; +import InitColorSchemeScript from '@mui/material/InitColorSchemeScript'; import Script from 'next/script'; import createEmotionCache from '../src/createEmotionCache'; +import '../src/polyfills/react-polyfills'; export default class MyDocument extends Document { + props: any; render() { - const { appConfig } = ((this.props as any).pageProps as { + const { appConfig } = ((this as any).props?.pageProps as { appConfig: AppConfig; }) || { appConfig: {} }; @@ -23,9 +25,9 @@ export default class MyDocument extends Document { href="https://fonts.googleapis.com/css2?family=Sora:wght@100;200;300;400;500;600;700;800&display=swap" rel="stylesheet" /> - {appConfig?.font && ( + {(appConfig as any)?.font && ( )} @@ -33,10 +35,66 @@ export default class MyDocument extends Document { - {(this.props as any).emotionStyleTags} + {(this as any).props?.emotionStyleTags || null} + - {getInitColorSchemeScript()} +
@@ -96,10 +154,10 @@ MyDocument.getInitialProps = async (ctx) => { ctx.renderPage = () => originalRenderPage({ enhanceApp: (App: any) => - function EnhanceApp(props) { + (function EnhanceApp(props: any) { pageProps = props.pageProps; return ; - }, + }), }); const initialProps = await Document.getInitialProps(ctx); diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/[site_id].tsx b/apps/dexappbuilder/pages/_site/[site]/admin/[site_id].tsx index 64cdef19a..d24d2127a 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/[site_id].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/[site_id].tsx @@ -46,7 +46,7 @@ export const WizardPage: NextPage = () => { {isConfigError && ( - + {String(configError)} )} @@ -78,7 +78,7 @@ export const getStaticProps: GetStaticProps = async ({ export const getStaticPaths: GetStaticPaths< Params -> = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/app-version.tsx b/apps/dexappbuilder/pages/_site/[site]/admin/app-version.tsx index 8476b237a..47601d93b 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/app-version.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/app-version.tsx @@ -24,7 +24,7 @@ export function ChangelogDevPage({ changelog }: Props) { return ( - + - + - + {AppVersion.version} - + - + = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/dev-changelog.tsx b/apps/dexappbuilder/pages/_site/[site]/admin/dev-changelog.tsx index 2502ac647..3bc088d5b 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/dev-changelog.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/dev-changelog.tsx @@ -23,7 +23,7 @@ export function ChangelogDevPage({ changelog }: Props) { return ( - + - + {changelog} @@ -80,7 +80,7 @@ export const getStaticProps: GetStaticProps = async ({ export const getStaticPaths: GetStaticPaths< Params -> = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/edit/[slug].tsx b/apps/dexappbuilder/pages/_site/[site]/admin/edit/[slug].tsx index 03788dd95..8ff0a674a 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/edit/[slug].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/edit/[slug].tsx @@ -72,7 +72,7 @@ export const WizardEditPage: NextPage = () => { {isConfigError && ((configError as any)?.response?.status as number) !== 403 && ( - + {String(configError)} )} @@ -162,7 +162,7 @@ export const getStaticProps: GetStaticProps = async ({ export const getStaticPaths: GetStaticPaths< Params -> = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/index.tsx b/apps/dexappbuilder/pages/_site/[site]/admin/index.tsx index 91fc6d58e..5c0f766cb 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/index.tsx @@ -19,13 +19,12 @@ import { Button, Container, Divider, - Grid, InputAdornment, Stack, TableContainer, TextField, Typography, - useTheme, + useTheme } from '@mui/material'; import { QueryClient, dehydrate } from '@tanstack/react-query'; import { @@ -35,23 +34,20 @@ import { GetStaticPropsContext, NextPage, } from 'next'; -import { ChangeEvent, ReactNode, useCallback, useMemo, useState } from 'react'; +import { useCallback, useMemo, useState } from 'react'; import { FormattedMessage, useIntl } from 'react-intl'; import AuthMainLayout from 'src/components/layouts/authMain'; import { DEXKIT_DISCORD_SUPPORT_CHANNEL, WIZARD_DOCS_URL } from 'src/constants'; +import { useWhitelabelConfigsByOwnerPaginatedQuery } from '@dexkit/ui/modules/whitelabel/hooks/useWhitelabelConfigsByOwnerPaginatedQuery'; import { useConnectWalletDialog } from 'src/hooks/app'; -import { useWhitelabelConfigsByOwnerQuery } from 'src/hooks/whitelabel'; import { getAppConfig } from 'src/services/app'; export const AdminIndexPage: NextPage = () => { const { isActive } = useWeb3React(); const { isLoggedIn, user } = useAuth(); const connectWalletDialog = useConnectWalletDialog(); - const configsQuery = useWhitelabelConfigsByOwnerQuery({ - owner: user?.address, - }); const isMobile = useIsMobile(); const theme = useTheme(); @@ -61,6 +57,17 @@ export const AdminIndexPage: NextPage = () => { const [selectedConfig, setSelectedConfig] = useState(); + const [paginationModel, setPaginationModel] = useState({ + page: 0, + pageSize: isMobile ? 5 : 10, + }); + + const configsQuery = useWhitelabelConfigsByOwnerPaginatedQuery({ + owner: user?.address, + page: paginationModel.page, + pageSize: paginationModel.pageSize, + }); + const lazySearch = useDebounce(search, 500); const handleShowConfigureDomain = (config: ConfigResponse) => { @@ -72,11 +79,11 @@ export const AdminIndexPage: NextPage = () => { setIsOpen(false); }; - const handleSearchChange = useCallback((e: ChangeEvent) => { + const handleSearchChange = useCallback((e: React.ChangeEvent) => { setSearch(e.target.value); }, []); - const handleHrefDiscord = (chunks: any): ReactNode => ( + const handleHrefDiscord = (chunks: any): React.ReactNode => ( { ); - const handleHrefDocs = (chunks: any): ReactNode => ( + const handleHrefDocs = (chunks: any): React.ReactNode => ( { ); const configs = useMemo(() => { - if (configsQuery.data && configsQuery.data.length > 0) { + if (configsQuery.data && configsQuery.data.data && configsQuery.data.data.length > 0) { if (lazySearch) { - return configsQuery.data.filter( + return configsQuery.data.data.filter( (c) => c.appConfig.name.toLowerCase().search(lazySearch.toLowerCase()) > -1, ); } - return configsQuery.data; + return configsQuery.data.data; } return []; @@ -132,14 +139,19 @@ export const AdminIndexPage: NextPage = () => { if (configs && configs.length > 0) { return ( @@ -236,9 +248,9 @@ export const AdminIndexPage: NextPage = () => { }} config={selectedConfig} /> - - - + + + { }, ]} /> - - {/* - - */} - + + + - - + + + - - + + + { mb: isMobile ? 1 : 0, py: isMobile ? 1 : undefined, fontSize: isMobile ? '0.875rem' : undefined, - maxHeight: isMobile ? '40px' : undefined + maxHeight: isMobile ? '40px' : undefined, + color: 'white !important', + '&:hover': { + color: 'white !important' + }, + '& .MuiButton-startIcon': { + color: 'white !important' + } }} > @@ -323,48 +342,46 @@ export const AdminIndexPage: NextPage = () => { }} />} - + - + - - - - - - - {!isMobile && - - - - - ), - }} - /> - - } - {renderTable()} + + + + + + {!isMobile && + + + + + ), + }} + /> - - - - - + } + {renderTable()} + + + + ); diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/page-template/index.tsx b/apps/dexappbuilder/pages/_site/[site]/admin/page-template/index.tsx index 61a9fb705..dbc12a510 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/page-template/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/page-template/index.tsx @@ -27,7 +27,7 @@ import { GetStaticPropsContext, NextPage, } from 'next'; -import { ChangeEvent, ReactNode, useCallback, useMemo, useState } from 'react'; +import { useCallback, useMemo, useState } from 'react'; import { FormattedMessage } from 'react-intl'; import AuthMainLayout from 'src/components/layouts/authMain'; import { DEXKIT_DISCORD_SUPPORT_CHANNEL, WIZARD_DOCS_URL } from 'src/constants'; @@ -46,11 +46,11 @@ export const PageTemplateIndexPage: NextPage = () => { const lazySearch = useDebounce(search, 500); - const handleSearchChange = useCallback((e: ChangeEvent) => { + const handleSearchChange = useCallback((e: React.ChangeEvent) => { setSearch(e.target.value); }, []); - const handleHrefDiscord = (chunks: any): ReactNode => ( + const handleHrefDiscord = (chunks: any): React.ReactNode => ( { ); - const handleHrefDocs = (chunks: any): ReactNode => ( + const handleHrefDocs = (chunks: any): React.ReactNode => ( { <> - + { ]} /> - + { /> - + { /> - + - + {renderTable()} diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/preview/[slug]/[page]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/admin/preview/[slug]/[page]/index.tsx index 1f91ebd00..8f987cc14 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/preview/[slug]/[page]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/preview/[slug]/[page]/index.tsx @@ -66,30 +66,34 @@ function PreviewPage() { if (baseTheme && baseTheme.theme) { const colorScheme = isDarkMode ? 'dark' : 'light'; - const themeWithCorrectMode = { - ...baseTheme.theme, - colorSchemes: { - ...baseTheme.theme.colorSchemes, - [colorScheme]: { - ...baseTheme.theme.colorSchemes[colorScheme], - palette: { - ...baseTheme.theme.colorSchemes[colorScheme].palette, - mode: isDarkMode ? 'dark' : 'light', - text: { - ...baseTheme.theme.colorSchemes[colorScheme].palette.text, - primary: isDarkMode ? '#ffffff' : baseTheme.theme.colorSchemes[colorScheme].palette.text?.primary, - secondary: isDarkMode ? '#dddddd' : baseTheme.theme.colorSchemes[colorScheme].palette.text?.secondary, - }, - background: { - ...baseTheme.theme.colorSchemes[colorScheme].palette.background, - default: isDarkMode ? '#121212' : baseTheme.theme.colorSchemes[colorScheme].palette.background?.default, - paper: isDarkMode ? '#1e1e1e' : baseTheme.theme.colorSchemes[colorScheme].palette.background?.paper, + const currentColorScheme = baseTheme.theme.colorSchemes?.[colorScheme]; + + if (currentColorScheme) { + const themeWithCorrectMode = { + ...baseTheme.theme, + colorSchemes: { + ...baseTheme.theme.colorSchemes, + [colorScheme]: { + ...currentColorScheme, + palette: { + ...currentColorScheme.palette, + mode: isDarkMode ? 'dark' : 'light', + text: { + ...currentColorScheme.palette.text, + primary: isDarkMode ? '#ffffff' : currentColorScheme.palette.text?.primary, + secondary: isDarkMode ? '#dddddd' : currentColorScheme.palette.text?.secondary, + }, + background: { + ...currentColorScheme.palette.background, + default: isDarkMode ? '#121212' : currentColorScheme.palette.background?.default, + paper: isDarkMode ? '#1e1e1e' : currentColorScheme.palette.background?.paper, + } } } } - } - }; - return themeWithCorrectMode; + }; + return themeWithCorrectMode; + } } return theme; diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/widget/edit/[id].tsx b/apps/dexappbuilder/pages/_site/[site]/admin/widget/edit/[id].tsx index 6036893f4..141e686c1 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/widget/edit/[id].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/widget/edit/[id].tsx @@ -71,7 +71,7 @@ export const WizardWidgetEditPage: NextPage = () => { {isConfigError && ((configError as any)?.response?.status as number) !== 403 && ( - + {String(configError)} )} @@ -156,7 +156,7 @@ export const getStaticProps: GetStaticProps = async ({ export const getStaticPaths: GetStaticPaths< Params -> = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/admin/widget/index.tsx b/apps/dexappbuilder/pages/_site/[site]/admin/widget/index.tsx index 35c3f9773..321dd233f 100644 --- a/apps/dexappbuilder/pages/_site/[site]/admin/widget/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/admin/widget/index.tsx @@ -39,7 +39,7 @@ import { GetStaticPropsContext, NextPage, } from 'next'; -import { ChangeEvent, useCallback, useMemo, useState } from 'react'; +import { useCallback, useMemo, useState } from 'react'; import { FormattedMessage, useIntl } from 'react-intl'; import AuthMainLayout from 'src/components/layouts/authMain'; @@ -76,7 +76,7 @@ export const AdminWidgetsIndexPage: NextPage = () => { const lazySearch = useDebounce(search, 500); - const handleSearchChange = useCallback((e: ChangeEvent) => { + const handleSearchChange = useCallback((e: React.ChangeEvent) => { setSearch(e.target.value); }, []); @@ -96,7 +96,7 @@ export const AdminWidgetsIndexPage: NextPage = () => { if (parsedConfigs && parsedConfigs.length > 0) { if (lazySearch) { return parsedConfigs.filter( - (c) => c.name.toLowerCase().search(lazySearch.toLowerCase()) > -1, + (c: any) => c.name.toLowerCase().search(lazySearch.toLowerCase()) > -1, ); } @@ -255,8 +255,9 @@ export const AdminWidgetsIndexPage: NextPage = () => { /> - - + + {/* Header Section */} + { }, ]} /> - - + + + {/* Mismatch Account */} + - - + + + {/* Title Section */} + - + {/* Learn more about Web3 Widgets section */} - - + + { - + - + {/* Action Section - Button and Search */} + { startIcon={} variant="contained" color="primary" + size="large" + sx={{ + minWidth: 160, + color: 'white !important', + '&:hover': { + color: 'white !important' + }, + '& .MuiButton-startIcon': { + color: 'white !important' + } + }} > + + + + + ), + }} + /> - + - + {/* Divider */} + - - - - - - - - - - - - ), - }} - /> - - - {renderTable()} - - - - - - + + + {/* Table Section */} + + + + {renderTable()} + + + + ); diff --git a/apps/dexappbuilder/pages/_site/[site]/asset/[network]/[address]/[id].tsx b/apps/dexappbuilder/pages/_site/[site]/asset/[network]/[address]/[id].tsx index 3c1f5eece..632b3eca5 100644 --- a/apps/dexappbuilder/pages/_site/[site]/asset/[network]/[address]/[id].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/asset/[network]/[address]/[id].tsx @@ -10,16 +10,12 @@ import { fetchAssetForQueryClient } from '@dexkit/ui/modules/nft/services/query' import AssetHead from '@dexkit/ui/modules/nft/components/AssetHead'; -import { DARKBLOCK_SUPPORTED_CHAIN_IDS } from '@/modules/wizard/constants'; -import { getIntegrationData } from '@/modules/wizard/services/integrations'; -import { ChainId, MY_APPS_ENDPOINT } from '@dexkit/core/constants'; -import { NETWORK_FROM_SLUG } from '@dexkit/core/constants/networks'; +import { ChainId } from '@dexkit/core/constants'; import { ipfsUriToUrl, truncateAddress } from '@dexkit/core/utils'; import { getChainIdFromSlug, getNetworkSlugFromChainId, } from '@dexkit/core/utils/blockchain'; -import axios from 'axios'; import { NextSeo } from 'next-seo'; import { FormattedMessage } from 'react-intl'; import { REVALIDATE_PAGE_TIME } from 'src/constants'; @@ -41,11 +37,7 @@ import { truncateErc1155TokenId } from '@dexkit/ui/modules/nft/utils'; import { getAppConfig } from '../../../../../../src/services/app'; -const AssetDetailPage: NextPage = ({ - enableDarkblock, -}: { - enableDarkblock: boolean; -}) => { +const AssetDetailPage: NextPage = () => { const router = useRouter(); const { address, id } = router.query; @@ -75,9 +67,9 @@ const AssetDetailPage: NextPage = ({ /> - + - + = ({ address: address as string, network: getNetworkSlugFromChainId(asset?.chainId) || '', tokenId: id as string, - enableDarkblock: enableDarkblock, }, }} /> @@ -166,35 +157,11 @@ export const getStaticProps: GetStaticProps = async ({ } catch (e) { console.log(e); } - let enableDarkblock = false; - - try { - if ( - DARKBLOCK_SUPPORTED_CHAIN_IDS.includes( - NETWORK_FROM_SLUG(network)?.chainId as ChainId, - ) - ) { - const darkBlock = await getIntegrationData({ - siteId: configResponse.siteId ?? undefined, - type: 'darkblock', - instance: axios.create({ - baseURL: MY_APPS_ENDPOINT, - headers: { - 'DexKit-Api-Key': process.env.MARKETPLACE_API_KEY as string, - }, - }), - }); - if (darkBlock?.settings?.enableDarkblock) { - enableDarkblock = true; - } - } - } catch { } return { props: { dehydratedState: dehydrate(queryClient), ...configResponse, - enableDarkblock: enableDarkblock, }, revalidate: REVALIDATE_PAGE_TIME, }; diff --git a/apps/dexappbuilder/pages/_site/[site]/c/[id]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/c/[id]/index.tsx index 2bd9a1be4..1152f5148 100644 --- a/apps/dexappbuilder/pages/_site/[site]/c/[id]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/c/[id]/index.tsx @@ -53,7 +53,7 @@ import { GetStaticPropsContext, } from 'next'; import { useRouter } from 'next/router'; -import { ChangeEvent, ReactNode, useEffect, useMemo, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { FormattedMessage, FormattedNumber } from 'react-intl'; import AuthMainLayout from 'src/components/layouts/authMain'; import { getAppConfig } from 'src/services/app'; @@ -123,7 +123,7 @@ export default function UserCheckout({ siteId }: UserCheckoutProps) { isLoading: isTransferLoading, mutateAsync: transfer, } = useEvmTransferMutation({ - onConfirm: () => {}, + onConfirm: () => { }, onSubmit: async (hash, params) => { setHash(hash); @@ -258,7 +258,7 @@ export default function UserCheckout({ siteId }: UserCheckoutProps) { const handleChangeNetwork = ( e: SelectChangeEvent, - child: ReactNode, + child: React.ReactNode, ) => { const newChainId = e.target.value as number; @@ -288,7 +288,7 @@ export default function UserCheckout({ siteId }: UserCheckoutProps) { id="switch.to.network.network" defaultMessage="Switch to {network} network" values={{ - network: networks.find((n) => n.chainId === chainId)?.name, + network: networks.find((n: any) => n.chainId === chainId)?.name, }} /> @@ -356,7 +356,7 @@ export default function UserCheckout({ siteId }: UserCheckoutProps) { coin: convertTokenToEvmCoin(token as TokenWhitelabelApp), chainId: chainId as number, }); - } catch (err) {} + } catch (err) { } } }; @@ -365,7 +365,7 @@ export default function UserCheckout({ siteId }: UserCheckoutProps) { setHash(undefined); }; - const handleChangeEmail = (e: ChangeEvent) => { + const handleChangeEmail = (e: React.ChangeEvent) => { setEmail(e.target.value); try { @@ -403,7 +403,7 @@ export default function UserCheckout({ siteId }: UserCheckoutProps) { /> - + - + - {({ submitForm, values }) => ( + {({ submitForm, values }: any) => ( <> - + n.chainId === chainId) + networks.find((n: any) => n.chainId === chainId) ?.imageUrl || '', )} style={{ width: '1rem', height: '1rem' }} /> { - networks.find((n) => n.chainId === chainId) + networks.find((n: any) => n.chainId === chainId) ?.name } @@ -578,7 +578,7 @@ export default function UserCheckout({ siteId }: UserCheckoutProps) { ); }} > - {networks.map((n) => ( + {networks.map((n: any) => ( = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/c/content/[orderId]/[productId]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/c/content/[orderId]/[productId]/index.tsx index c7cfaf6d5..e6d5ac7c1 100644 --- a/apps/dexappbuilder/pages/_site/[site]/c/content/[orderId]/[productId]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/c/content/[orderId]/[productId]/index.tsx @@ -46,7 +46,7 @@ export default function ProductContentPage({ return ( - + - + - + {content?.content && ( - + )} - + = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/c/orders/[id]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/c/orders/[id]/index.tsx index f359c1ba3..5e132af26 100644 --- a/apps/dexappbuilder/pages/_site/[site]/c/orders/[id]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/c/orders/[id]/index.tsx @@ -153,7 +153,7 @@ function OrderComponent({ order }: OrderComponentProps) { - + diff --git a/apps/dexappbuilder/pages/_site/[site]/c/product/[id].tsx b/apps/dexappbuilder/pages/_site/[site]/c/product/[id].tsx index 4b441b6a9..32ec4ebb7 100644 --- a/apps/dexappbuilder/pages/_site/[site]/c/product/[id].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/c/product/[id].tsx @@ -39,11 +39,11 @@ export default function CommerceProduct({ siteId }: CommerceProductProps) { uri: string; active?: boolean; }[] = [ - { - caption: , - uri: `/`, - }, - ]; + { + caption: , + uri: `/`, + }, + ]; if (product) { if (product.category) { @@ -67,11 +67,11 @@ export default function CommerceProduct({ siteId }: CommerceProductProps) { <> - + - + @@ -115,7 +115,7 @@ export const getStaticProps: GetStaticProps = async ({ export const getStaticPaths: GetStaticPaths< Params -> = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/c/wishlist/index.tsx b/apps/dexappbuilder/pages/_site/[site]/c/wishlist/index.tsx index 18235c671..ede67e7e4 100644 --- a/apps/dexappbuilder/pages/_site/[site]/c/wishlist/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/c/wishlist/index.tsx @@ -134,7 +134,7 @@ export default function CommerceWishlist({ siteId }: CommerceProductProps) { )} - + - + {wishlist.length === 0 && ( - + @@ -184,7 +184,7 @@ export default function CommerceWishlist({ siteId }: CommerceProductProps) { )} {wishlist.map((productId, index) => ( - + = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/checkout/[id]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/checkout/[id]/index.tsx index fd2363bc1..05ebac1ce 100644 --- a/apps/dexappbuilder/pages/_site/[site]/checkout/[id]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/checkout/[id]/index.tsx @@ -19,6 +19,7 @@ import { useWeb3React } from '@dexkit/wallet-connectors/hooks/useWeb3React'; import { Alert, Avatar, + Box, Button, Card, CardContent, @@ -26,7 +27,6 @@ import { Container, Divider, FormControl, - Grid, InputLabel, ListItemIcon, ListItemText, @@ -46,7 +46,7 @@ import { GetStaticPropsContext, } from 'next'; import { useSnackbar } from 'notistack'; -import { ReactNode, useEffect, useMemo, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { FormattedMessage } from 'react-intl'; import AuthMainLayout from 'src/components/layouts/authMain'; import { getAppConfig } from 'src/services/app'; @@ -309,7 +309,7 @@ export default function CheckoutPage({ id }: CheckoutPageProps) { const handleChangeNetwork = ( e: SelectChangeEvent, - child: ReactNode + child: React.ReactNode ) => { const newChainId = e.target.value as number; @@ -339,7 +339,7 @@ export default function CheckoutPage({ id }: CheckoutPageProps) { id="switch.to.network.network" defaultMessage="Switch to {network} network" values={{ - network: networks.find((n) => n.chainId === chainId)?.name, + network: networks.find((n: any) => n.chainId === chainId)?.name, }} /> @@ -399,9 +399,10 @@ export default function CheckoutPage({ id }: CheckoutPageProps) { isLoading={transferMutation.isLoading} onConfirm={handleConfirm} /> - - - + + + {/* Header Section */} + - + + + {/* Status Alerts */} {checkoutQuery.data?.status === 'confirmed' && ( - + - + )} {checkoutQuery.data?.status === 'expired' && ( - + - + )} - - - - - - - - {total && - ethers.utils.formatUnits(total, token?.decimals || 6)}{' '} - {token ? token?.symbol : 'USD'} - - - - - - - - + {/* Main Content - Two Column Layout */} + + {/* Left Panel - Order Summary */} + + + + + - - + {total && - ethers.utils.formatUnits( - total, - token?.decimals || 6 - )}{' '} - USD + ethers.utils.formatUnits(total, token?.decimals || 6)}{' '} + {token ? token?.symbol : 'USDC'} - - - - - - - - - {chainId !== undefined && ( - - - - - + } + disabled={ + checkoutQuery.data?.status === 'confirmed' || + checkoutQuery.data?.status === 'expired' || + !isActive + } + onChange={handleChangeNetwork} + value={chainId} + name="network" + fullWidth + renderValue={(value: number) => { + return ( + n.chainId === chainId) + ?.imageUrl || '' + )} style={{ width: '1rem', height: '1rem' }} /> - - - - ))} - - - )} - - - {!token && ( - - - - )} - - {token && ( - - + + { + networks.find((n: any) => n.chainId === chainId) + ?.name + } + + + ); + }} + > + {networks + .filter((n: any) => activeChainIds.includes(n.chainId)) + .map((n: any) => ( + + + + + + + ))} + + + )} + + + {!token && ( + - - - {balanceQuery.data ? ( - ethers.utils.formatUnits( - balanceQuery.data, - token?.decimals - ) - ) : ( - - )}{' '} - {token?.symbol} - - - )} - - {renderPayButton()} - - - - - + + )} + + {token && ( + + + + + + {balanceQuery.data ? ( + ethers.utils.formatUnits( + balanceQuery.data, + token?.decimals + ) + ) : ( + + )}{' '} + {token?.symbol} + + + )} + + {renderPayButton()} + + + + + + ); diff --git a/apps/dexappbuilder/pages/_site/[site]/collection/[network]/[address]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/collection/[network]/[address]/index.tsx index 865b0c757..33ea8b4fd 100644 --- a/apps/dexappbuilder/pages/_site/[site]/collection/[network]/[address]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/collection/[network]/[address]/index.tsx @@ -2,7 +2,6 @@ import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; import type { GetStaticProps, GetStaticPropsContext, NextPage } from 'next'; -import { DARKBLOCK_SUPPORTED_CHAIN_IDS } from '@/modules/wizard/constants'; import { getIntegrationData } from '@/modules/wizard/services/integrations'; import { ChainId, MY_APPS_ENDPOINT } from '@dexkit/core'; import { NETWORK_FROM_SLUG } from '@dexkit/core/constants/networks'; @@ -18,7 +17,6 @@ import { import { Collection, TraderOrderFilter } from '@dexkit/ui/modules/nft/types'; import { hexToString } from '@dexkit/ui/utils'; -import { getIsLockAsync } from '@dexkit/unlock-widget'; import { useWeb3React } from '@dexkit/wallet-connectors/hooks/useWeb3React'; import Search from '@mui/icons-material/Search'; import { @@ -71,15 +69,12 @@ import { getRariCollectionStats } from '@dexkit/ui/modules/nft/services/rarible' import { getProviderBySlug } from '@dexkit/ui/services/providers'; const CollectionPage: NextPage<{ - enableDarkblock: boolean; isLock: boolean; disableSecondarySells: boolean; }> = ({ - enableDarkblock, disableSecondarySells, isLock, }: { - enableDarkblock: boolean; disableSecondarySells: boolean; isLock: boolean; }) => { @@ -196,7 +191,6 @@ const CollectionPage: NextPage<{ hideHeader: false, showPageHeader: true, isLock, - enableDarkblock, disableSecondarySells, showCollectionStats: true, showSidebarOnDesktop: true, @@ -212,7 +206,7 @@ const CollectionPage: NextPage<{ ); } else { - return {collectionPage}; + return {collectionPage}; } }; @@ -377,31 +371,6 @@ export const getStaticProps: GetStaticProps = async ({ ); } catch {} - let enableDarkblock = false; - - try { - if ( - DARKBLOCK_SUPPORTED_CHAIN_IDS.includes( - NETWORK_FROM_SLUG(network)?.chainId as ChainId, - ) - ) { - const siteId = - configResponse.siteId === null ? undefined : configResponse.siteId; - const darkBlock = await getIntegrationData({ - siteId, - type: 'darkblock', - instance: axios.create({ - baseURL: MY_APPS_ENDPOINT, - headers: { - 'DexKit-Api-Key': process.env.MARKETPLACE_API_KEY as string, - }, - }), - }); - if (darkBlock?.settings?.enableDarkblockCollection) { - enableDarkblock = true; - } - } - } catch {} const appCollection = configResponse.appConfig.collections?.find( (c) => @@ -409,13 +378,12 @@ export const getStaticProps: GetStaticProps = async ({ isAddressEqual(c.contractAddress, collection?.address), ); - const isLock = await getIsLockAsync({ chainId: chainId, provider, address }); + const isLock = false; // unlock-widget deprecated return { props: { dehydratedState: dehydrate(queryClient), ...configResponse, - enableDarkblock, disableSecondarySells: appCollection?.disableSecondarySells === true, isLock, }, diff --git a/apps/dexappbuilder/pages/_site/[site]/collections.tsx b/apps/dexappbuilder/pages/_site/[site]/collections.tsx index 6adb89308..07ea3609f 100644 --- a/apps/dexappbuilder/pages/_site/[site]/collections.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/collections.tsx @@ -15,7 +15,7 @@ interface Props { appConfig: AppConfig; } -const Collections: NextPage = ({ appConfig }) => { +const Collections: NextPage = ({ appConfig }: Props) => { const { formatMessage } = useIntl(); @@ -31,7 +31,7 @@ const Collections: NextPage = ({ appConfig }) => { - + = ({ appConfig }) => { ]} /> - {appConfig.collections?.map((collection, index) => ( - - + + + {appConfig.collections?.map((collection, index) => ( + + + + ))} - ))} + diff --git a/apps/dexappbuilder/pages/_site/[site]/contract-wizard/collection/[network]/[address]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/contract-wizard/collection/[network]/[address]/index.tsx index 249dc08d7..303033664 100644 --- a/apps/dexappbuilder/pages/_site/[site]/contract-wizard/collection/[network]/[address]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/contract-wizard/collection/[network]/[address]/index.tsx @@ -126,37 +126,37 @@ const ContractWizardCollectionPage: NextPage = () => { <> {renderDrawer()} - + {isDesktop && ( - + {renderSidebar()} )} - + - + - + - + - + - + - + - + { /> - + ( @@ -234,13 +234,13 @@ const ContractWizardCollectionPage: NextPage = () => { {(collection?.syncStatus === CollectionSyncStatus.Synced || collection?.syncStatus === - CollectionSyncStatus.Syncing) && ( - - )} + CollectionSyncStatus.Syncing) && ( + + )} @@ -336,8 +336,7 @@ export const getStaticProps: GetStaticProps = async ({ IS_SUPPORTED_BY_RARIBLE(network as SUPPORTED_RARIBLE_NETWORKS) ) { const { data } = await getRariCollectionStats( - `${ - MAP_NETWORK_TO_RARIBLE[network as SUPPORTED_RARIBLE_NETWORKS] + `${MAP_NETWORK_TO_RARIBLE[network as SUPPORTED_RARIBLE_NETWORKS] }:${address}`, MAP_COIN_TO_RARIBLE[network], ); diff --git a/apps/dexappbuilder/pages/_site/[site]/contract-wizard/index.tsx b/apps/dexappbuilder/pages/_site/[site]/contract-wizard/index.tsx index 082729727..95dca2fcd 100644 --- a/apps/dexappbuilder/pages/_site/[site]/contract-wizard/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/contract-wizard/index.tsx @@ -80,9 +80,9 @@ const WizardIndexPage: NextPage = () => { - + - + { - {/* + {/* = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/contract-wizard/tokens/create.tsx b/apps/dexappbuilder/pages/_site/[site]/contract-wizard/tokens/create.tsx index 9053531ab..a6cf922a1 100644 --- a/apps/dexappbuilder/pages/_site/[site]/contract-wizard/tokens/create.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/contract-wizard/tokens/create.tsx @@ -6,24 +6,24 @@ import AppConfirmDialog from '@dexkit/ui/components/AppConfirmDialog'; import { PageHeader } from '@dexkit/ui/components/PageHeader'; import { useWeb3React } from "@dexkit/wallet-connectors/hooks/useWeb3React"; import { - Box, - Button, - Card, - CardContent, - Container, - Grid, - Stack, - Typography, + Box, + Button, + Card, + CardContent, + Container, + Grid, + Stack, + Typography, } from '@mui/material'; import { QueryClient, dehydrate } from '@tanstack/react-query'; import { Field, Form, Formik } from 'formik'; import { TextField } from 'formik-mui'; import type { - GetStaticPaths, - GetStaticPathsContext, - GetStaticProps, - GetStaticPropsContext, - NextPage, + GetStaticPaths, + GetStaticPathsContext, + GetStaticProps, + GetStaticPropsContext, + NextPage, } from 'next'; import { useRouter } from 'next/router'; import { useSnackbar } from 'notistack'; @@ -186,7 +186,7 @@ const WizardCreateTokenPage: NextPage = () => { - + @@ -195,10 +195,10 @@ const WizardCreateTokenPage: NextPage = () => { initialValues={INITIAL_VALUES} validationSchema={TokenFormSchema} > - {({ submitForm }) => ( + {({ submitForm }: any) => (
- + { } /> - + { fullWidth /> - + { fullWidth /> - + - - {params && ( - - - - - } - /> - - - - - - - `1px solid ${theme.palette.divider}`, - borderRadius: 1, - '& .w-md-editor': { - backgroundColor: 'transparent', - }, - '& .w-md-editor-text-pre, & .w-md-editor-text-input, & .w-md-editor-text': { - fontSize: '14px !important', - lineHeight: '1.4375em !important', - }, - }} - > - setValues((values) => ({ - ...values, - description: val || "" - }))} - /> - - - - - - - + + + + + + + + + {params && ( + + + } + sx={{ maxWidth: 400 }} + /> + + + + + + + + + `1px solid ${theme.palette.divider}`, + borderRadius: 1, + '& .w-md-editor': { + backgroundColor: 'transparent', + }, + '& .w-md-editor-text-pre, & .w-md-editor-text-input, & .w-md-editor-text': { + fontSize: '14px !important', + lineHeight: '1.4375em !important', + }, + }} + > + setValues((values: any) => ({ + ...values, + description: val || "" + }))} + /> + + + + + + + + + + + + + + + + + `1px solid ${theme.palette.divider}`, + borderRadius: 2 + }} + > + {params && hasVisibleFields ? ( + + ) : ( + + + + + + + + + + + + )} + + + + + + + - - - - )} - - - - - - - - + - {params && hasVisibleFields ? ( - - ) : ( - - - - - - - - - - - - - - )} - - + )} + - + diff --git a/apps/dexappbuilder/pages/_site/[site]/forms/[id]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/forms/[id]/index.tsx index f9617efd4..82a2b4625 100644 --- a/apps/dexappbuilder/pages/_site/[site]/forms/[id]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/forms/[id]/index.tsx @@ -3,7 +3,6 @@ import { Box, CircularProgress, Container, - Grid, NoSsr, Stack, Typography, @@ -142,161 +141,45 @@ export default function FormPage() { - - - - - ), - uri: '/', - }, - { - caption: ( - - ), - uri: '/forms', - }, - { - caption: ( - - ), - uri: '/forms/deploy/nft', - active: true, - }, - ]} - /> - - - - + + + ), + uri: '/', + }, + { + caption: ( + + ), + uri: '/forms', + }, + { + caption: ( + + ), + uri: '/forms/deploy/nft', + active: true, + }, + ]} /> - {/* - - - - - {formQuery.isLoading ? ( - - ) : ( - formQuery.data?.name - )} - - - {formQuery.isLoading ? ( - - ) : ( - formQuery.data?.description - )} - - - - - - {formQuery.isLoading ? ( - - ) : ( - truncateAddress(formQuery.data?.creatorAddress) - )} - - - - - - {isAddressEqual( - formQuery.data?.creatorAddress, - account - ) && ( - - )} - {formQuery.data?.templateId && ( - - )} - - - - - */} - - + + + {formQuery.data?.params ? ( ) : ( @@ -311,8 +194,32 @@ export default function FormPage() { )} - - + + + + + + + + ); diff --git a/apps/dexappbuilder/pages/_site/[site]/forms/account/[address].tsx b/apps/dexappbuilder/pages/_site/[site]/forms/account/[address].tsx index 3f4065c96..497eeeb03 100644 --- a/apps/dexappbuilder/pages/_site/[site]/forms/account/[address].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/forms/account/[address].tsx @@ -114,7 +114,7 @@ export default function FormsAccountPage() { - + - + @@ -185,7 +185,7 @@ export default function FormsAccountPage() { {listFormsQuery.data?.length === 0 && ( - + diff --git a/apps/dexappbuilder/pages/_site/[site]/forms/contract-templates/[id]/edit.tsx b/apps/dexappbuilder/pages/_site/[site]/forms/contract-templates/[id]/edit.tsx index cdd60fd86..1182115e6 100644 --- a/apps/dexappbuilder/pages/_site/[site]/forms/contract-templates/[id]/edit.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/forms/contract-templates/[id]/edit.tsx @@ -122,10 +122,10 @@ export default function EditTemplatePage() { onSubmit={handleSubmit} validationSchema={CreateTemplateSchema} > - {({ submitForm, isValid, errors, isSubmitting }) => ( + {({ submitForm, isValid, errors, isSubmitting }: any) => ( - + - + - + - + - + - - - - - - } - /> - - - - - - - `1px solid ${theme.palette.divider}`, - borderRadius: 1, - '& .w-md-editor': { - backgroundColor: 'transparent', - }, - '& .w-md-editor-text-pre, & .w-md-editor-text-input, & .w-md-editor-text': { - fontSize: '14px !important', - lineHeight: '1.4375em !important', - }, - }} - > - setValues((values) => ({ - ...values, - description: val || "" - }))} - /> + + + + + + + + } + sx={{ maxWidth: 400 }} + /> + + + + + + `1px solid ${theme.palette.divider}`, + borderRadius: 1, + '& .w-md-editor': { + backgroundColor: 'transparent', + }, + '& .w-md-editor-text-pre, & .w-md-editor-text-input, & .w-md-editor-text': { + fontSize: '14px !important', + lineHeight: '1.4375em !important', + }, + }} + > + setValues((values: any) => ({ + ...values, + description: val || "" + }))} + /> + + + + + + + + {isAddress(params?.contractAddress || '') ? ( + + ) : ( + + )} - - + + + + + + + + {hasVisibleFields && params ? ( + - - - - - {isAddress(params?.contractAddress || '') ? ( - - ) : ( - - )} - - - - - - - - - {hasVisibleFields && params ? ( - - ) : ( - - - - - - - - + - - - - - - )} + + + + + + + + + + + + )} + + - - + + diff --git a/apps/dexappbuilder/pages/_site/[site]/forms/deploy/[creator]/[slug].tsx b/apps/dexappbuilder/pages/_site/[site]/forms/deploy/[creator]/[slug].tsx index 05e9af4ad..0ff68f4ec 100644 --- a/apps/dexappbuilder/pages/_site/[site]/forms/deploy/[creator]/[slug].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/forms/deploy/[creator]/[slug].tsx @@ -11,7 +11,6 @@ import { Dialog, DialogContent, Divider, - Grid, Link, ListItemText, MenuItem, @@ -24,7 +23,7 @@ import { } from '@mui/material'; import AuthMainLayout from 'src/components/layouts/authMain'; -import { ReactNode, useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { DexkitApiProvider } from '@dexkit/core/providers'; @@ -243,7 +242,7 @@ export default function DeployPage() { const handleChangeChainId = ( event: SelectChangeEvent, - child: ReactNode, + child: React.ReactNode, ) => { setSelectedChainId(parseChainId(event.target.value)); }; @@ -354,56 +353,62 @@ export default function DeployPage() { - - - , - uri: '/', - }, - { - caption: ( - - ), - uri: '/forms', - }, - { - caption: ( - - ), - uri: '/forms/contracts', - }, - { - caption: ( - - ), - uri: `/forms/contracts/create`, - }, - { - caption: thirdwebMetadataQuery.data?.displayName, - uri: `/forms/deploy/${ - creator as string - }/${thirdwebMetadataQuery.data?.name}`, - active: true, - }, - ]} - /> + + + {/* Header Section */} + + , + uri: '/', + }, + { + caption: ( + + ), + uri: '/forms', + }, + { + caption: ( + + ), + uri: '/forms/contracts', + }, + { + caption: ( + + ), + uri: `/forms/contracts/create`, + }, + { + caption: thirdwebMetadataQuery.data?.displayName, + uri: `/forms/deploy/${ + creator as string + }/${thirdwebMetadataQuery.data?.name}`, + active: true, + }, + ]} + /> + + + {/* Main Content */} {formConfigParamsQuery.data && ( - - - - + + {/* Contract Header Card */} + + + ) : ( ({ - height: { xs: theme.spacing(2), sm: theme.spacing(6) }, - width: { xs: theme.spacing(2), sm: theme.spacing(6) }, + height: { xs: theme.spacing(3), sm: theme.spacing(4) }, + width: { xs: theme.spacing(3), sm: theme.spacing(4) }, })} /> )} - + {thirdwebMetadataQuery.data?.displayName ? ( thirdwebMetadataQuery.data?.displayName ) : ( @@ -441,6 +446,7 @@ export default function DeployPage() { gutterBottom color="text.secondary" variant="body1" + sx={{ mb: 1 }} > {thirdwebMetadataQuery.data?.description ? ( thirdwebMetadataQuery.data?.description @@ -448,7 +454,7 @@ export default function DeployPage() { )} - + {thirdwebMetadataQuery.data?.publisher && getBlockExplorerUrl(chainId) ? ( - - + + {/* Network Selection */} + - - + + {/* Form Section */} + - + + {/* Learn More Section */} {contractTutorial && ( - - - + + + - + = 2 ? 'repeat(2, 1fr)' : '1fr', + md: contractTutorial.videos.length >= 2 ? 'repeat(3, 1fr)' : 'repeat(2, 1fr)' + }, + gap: 3 + }}> {contractTutorial.videos.length > 0 && contractTutorial.videos.map((video, index) => ( - = 2 ? 4 : 6} key={video.id}> - + + - + ))} - = 2 ? 4 : 12}> + @@ -599,23 +616,21 @@ export default function DeployPage() { component={Link} href={contractTutorial.documentation.url} target="_blank" - rel="noopener noreferrer" - startIcon={} - fullWidth + sx={{ alignSelf: 'flex-start' }} > - + - - + + - + )} - + )} - + diff --git a/apps/dexappbuilder/pages/_site/[site]/forms/index.tsx b/apps/dexappbuilder/pages/_site/[site]/forms/index.tsx index 3d1141862..93ecf5298 100644 --- a/apps/dexappbuilder/pages/_site/[site]/forms/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/forms/index.tsx @@ -87,132 +87,101 @@ export default function FormsPage() { ]} /> - - + + - - - - - - - {/* - - */} - - - - - - {isActive ? ( - - ) : ( - - )} - - - + + + + + + - - - - - - - - - - - } - description={ - + + + {isActive ? ( + + ) : ( + + )} + + + + + + } + description={ + - - - - {/* - - - - */} - {/* - - - - - - - - - - - - - - */} - + } + creator={{ + imageUrl: + 'https://raw.githubusercontent.com/DexKit/assets/main/images/logo_256x256.png', + name: 'DexKit', + }} + /> + + diff --git a/apps/dexappbuilder/pages/_site/[site]/forms/manage/index.tsx b/apps/dexappbuilder/pages/_site/[site]/forms/manage/index.tsx index ec6b94d02..65e8d71a6 100644 --- a/apps/dexappbuilder/pages/_site/[site]/forms/manage/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/forms/manage/index.tsx @@ -72,6 +72,7 @@ export default function FormsAccountPage() { alignItems="center" alignContent="center" justifyContent="space-between" + sx={{ mb: 2 }} > + - - - + {!address ? ( +
+ +
+ ) : ( + { + return ( + + + + + + {String(error)} + + + + ); + }} > - -
-
- - - - - - {!address ? ( -
- -
- ) : ( - { - return ( - - - - - - {String(error)} - - - - ); - }} - > - { - await listFormsQuery.refetch(); - }} - count={listFormsQuery.data?.length ?? 0} - onSearch={(value: string) => setSearchForm(value)} - /> - - )} -
-
-
+ { + await listFormsQuery.refetch(); + }} + count={listFormsQuery.data?.length ?? 0} + onSearch={(value: string) => setSearchForm(value)} + /> + + )} +
diff --git a/apps/dexappbuilder/pages/_site/[site]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/index.tsx index 4abe79a41..1db5519c0 100644 --- a/apps/dexappbuilder/pages/_site/[site]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/index.tsx @@ -21,12 +21,15 @@ const Home: NextPage<{ sections: AppPageSection[]; layout: PageSectionsLayout; appConfig: AppConfig; -}> = ({ sections, layout, appConfig }) => { +}> = ({ sections, layout, appConfig }: { + sections: AppPageSection[]; + layout: PageSectionsLayout; + appConfig: AppConfig; +}) => { return ( - + - {/**/} ); }; diff --git a/apps/dexappbuilder/pages/_site/[site]/order/[network]/[hash].tsx b/apps/dexappbuilder/pages/_site/[site]/order/[network]/[hash].tsx index 94325bc57..c988c28ae 100644 --- a/apps/dexappbuilder/pages/_site/[site]/order/[network]/[hash].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/order/[network]/[hash].tsx @@ -54,7 +54,7 @@ const OrderDetail: NextPage = () => { return ( - + { ]} /> - + {firstOrder && ( { /> )} - + diff --git a/apps/dexappbuilder/pages/_site/[site]/order/create.tsx b/apps/dexappbuilder/pages/_site/[site]/order/create.tsx index 56ed536db..75b843d45 100644 --- a/apps/dexappbuilder/pages/_site/[site]/order/create.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/order/create.tsx @@ -22,7 +22,7 @@ export const OrdersIndex: NextPage = () => { /> - + { ]} /> - + diff --git a/apps/dexappbuilder/pages/_site/[site]/order/exchange/[network]/[hash]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/order/exchange/[network]/[hash]/index.tsx index c45f01c56..95c65e655 100644 --- a/apps/dexappbuilder/pages/_site/[site]/order/exchange/[network]/[hash]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/order/exchange/[network]/[hash]/index.tsx @@ -90,7 +90,7 @@ export default function ExchangeOrderPage() { return ( - + - + - + {orderQuery.data ? ( - + = ({ sections, layout }) => { - const { formatMessage } = useIntl(); +}> = ({ sections, layout }: { + sections: AppPageSection[]; + layout?: PageSectionsLayout; + appConfig: AppConfig; +}) => { + const { formatMessage } = useIntl(); - return ( - <> - - - - - - - ), - uri: '/', - }, - { - caption: ( - - ), - uri: '/swap', - active: true, - }, - ]} - /> + return ( + <> + + + + + + + ), + uri: '/', + }, + { + caption: ( + + ), + uri: '/swap', + active: true, + }, + ]} + /> + + + + - - - - - - - - ); -}; + + + + ); + }; type Params = { site?: string; @@ -68,7 +72,7 @@ export const getStaticProps: GetStaticProps = async ({ const { appConfig } = configResponse; const page = appConfig.pages['swap'] || {}; - const sections = page?.sections || [ + const sections = (page as any)?.sections || [ { type: 'swap', title: 'Swap', @@ -78,7 +82,7 @@ export const getStaticProps: GetStaticProps = async ({ return { props: { page: 'swap', - layout: page?.layout || null, + layout: (page as any)?.layout || null, sections: sections, site: params?.site, ...configResponse, diff --git a/apps/dexappbuilder/pages/_site/[site]/u/[username]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/[username]/index.tsx index e57010d4e..90c6ad028 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/[username]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/[username]/index.tsx @@ -7,9 +7,9 @@ import { GetStaticProps, GetStaticPropsContext, NextPage } from 'next'; import MainLayout from 'src/components/layouts/main'; import { getAppConfig } from 'src/services/app'; -const User: NextPage<{ username: string }> = ({ username }) => { +const User: NextPage<{ username: string }> = ({ username }: { username: string }) => { return ( - + diff --git a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/categories/create/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/categories/create/index.tsx index dc03f7576..c1e54f4cc 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/categories/create/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/categories/create/index.tsx @@ -37,7 +37,7 @@ function CreateCategoryComponent() { return ( - + - + - + - {({}) => ( + {({ }) => ( <> diff --git a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/collections/create/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/collections/create/index.tsx index c1c9105d4..2f3709814 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/collections/create/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/collections/create/index.tsx @@ -38,7 +38,7 @@ function CreateProductCollectionComponent() { return ( - + - + - + - {({}) => ( + {({ }) => ( <> diff --git a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/index.tsx index 7594cebfc..d77b0d8ac 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/index.tsx @@ -12,12 +12,12 @@ function CommerceHomePageComponent() { return ( - + - + @@ -32,7 +32,7 @@ function CommerceHomePageComponent() { - + diff --git a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/notifications/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/notifications/index.tsx index 1349c8c99..cebe4a7cd 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/notifications/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/notifications/index.tsx @@ -40,7 +40,7 @@ function NotificationsPageComponent() { const handleChangeRowsPerPage = async ( event: React.ChangeEvent, ) => { - setFilter((values) => ({ + setFilter((values: any) => ({ ...values, pageSize: parseInt(event.target.value, 10), })); @@ -48,7 +48,7 @@ function NotificationsPageComponent() { return ( - + - + - + { - setFilter((filter) => ({ ...filter, page: 0, status: value })); + setFilter((filter: any) => ({ ...filter, page: 0, status: value })); await refetch(); }} @@ -127,14 +127,14 @@ function NotificationsPageComponent() { /> - + { - setFilter((values) => ({ ...values, page: value })); + setFilter((values: any) => ({ ...values, page: value })); }} rowsPerPage={filter.pageSize} onRowsPerPageChange={handleChangeRowsPerPage} diff --git a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/orders/[id]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/orders/[id]/index.tsx index 270bc2b35..f22eb1012 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/orders/[id]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/orders/[id]/index.tsx @@ -139,13 +139,13 @@ function OrderComponent({ order }: OrderComponentProps) { - + {order.id.substring(10)} - + @@ -160,7 +160,7 @@ function OrderComponent({ order }: OrderComponentProps) { - + @@ -175,7 +175,7 @@ function OrderComponent({ order }: OrderComponentProps) { - + @@ -183,7 +183,7 @@ function OrderComponent({ order }: OrderComponentProps) { {renderStatusText(order.status)} - + diff --git a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/products/[id]/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/products/[id]/index.tsx index c7a8a8575..d22d7ad85 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/products/[id]/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/products/[id]/index.tsx @@ -38,7 +38,7 @@ function UpdateProductComponent({ product }: UpdateProductComponentProps) { return ( - + - + - {({ isValid, submitForm }) => ( + {({ isValid, submitForm }: any) => ( )} diff --git a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/products/create/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/products/create/index.tsx index 4a16edc5c..01b5ec7a1 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/products/create/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/products/create/index.tsx @@ -36,7 +36,7 @@ function CreateProductComponent() { return ( - + - + - + - {({ isValid, submitForm, errors }) => ( + {({ isValid, submitForm, errors }: any) => ( <> diff --git a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/settings/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/settings/index.tsx index 9bc13a201..301ca8e68 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/settings/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/account/commerce/settings/index.tsx @@ -19,7 +19,7 @@ export default function CommerceProductsPage() { - + @@ -30,7 +30,7 @@ export default function CommerceProductsPage() { /> - + - + - + - + @@ -85,7 +85,7 @@ export default function CommerceProductsPage() { - + diff --git a/apps/dexappbuilder/pages/_site/[site]/u/settings/billing/[id].tsx b/apps/dexappbuilder/pages/_site/[site]/u/settings/billing/[id].tsx index f84253b01..dc7c95988 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/settings/billing/[id].tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/settings/billing/[id].tsx @@ -52,7 +52,7 @@ export default function BillingDetail() { - + - + @@ -93,7 +93,7 @@ export default function BillingDetail() { )} - + @@ -103,7 +103,7 @@ export default function BillingDetail() { )}{' '} - + diff --git a/apps/dexappbuilder/pages/_site/[site]/u/settings/index.tsx b/apps/dexappbuilder/pages/_site/[site]/u/settings/index.tsx index 9f6c39be7..81082d161 100644 --- a/apps/dexappbuilder/pages/_site/[site]/u/settings/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/u/settings/index.tsx @@ -9,7 +9,6 @@ import { import { getAppConfig } from 'src/services/app'; import BillingSection from '@/modules/user/componentes/BillingSection'; -import PaymentsSection from '@/modules/user/componentes/PaymentsSection'; import SettingsLayout from '@/modules/user/componentes/SettingsLayout'; import ApiKeyWizardContainer from '@/modules/wizard/components/containers/ApiKeyWizardContainer'; import { DexkitApiProvider } from '@dexkit/core/providers'; @@ -28,7 +27,6 @@ export default function SettingsPage() { {(tab) => ( <> - {tab === 'payments' && } {/* {tab === 'ai' && } */} {tab === 'billing' && } @@ -73,7 +71,7 @@ export const getStaticProps: GetStaticProps = async ({ export const getStaticPaths: GetStaticPaths< Params -> = ({}: GetStaticPathsContext) => { +> = ({ }: GetStaticPathsContext) => { return { paths: [], fallback: 'blocking', diff --git a/apps/dexappbuilder/pages/_site/[site]/wallet/index.tsx b/apps/dexappbuilder/pages/_site/[site]/wallet/index.tsx index 448469310..a4552e592 100644 --- a/apps/dexappbuilder/pages/_site/[site]/wallet/index.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/wallet/index.tsx @@ -17,48 +17,52 @@ const WalletPage: NextPage<{ sections: AppPageSection[]; layout?: PageSectionsLayout; appConfig: AppConfig; -}> = ({ sections, layout }) => { - const { formatMessage } = useIntl(); +}> = ({ sections, layout }: { + sections: AppPageSection[]; + layout?: PageSectionsLayout; + appConfig: AppConfig; +}) => { + const { formatMessage } = useIntl(); - return ( - <> - - - - - - - ), - uri: '/', - }, - { - caption: ( - - ), - uri: '/wallet', - active: true, - }, - ]} - /> + return ( + <> + + + + + + + ), + uri: '/', + }, + { + caption: ( + + ), + uri: '/wallet', + active: true, + }, + ]} + /> + + + + - - - - - - - - ); -}; + + + + ); + }; type Params = { site?: string; @@ -74,7 +78,7 @@ export const getStaticProps: GetStaticProps = async ({ const { appConfig } = configResponse; const page = appConfig.pages['wallet'] || {}; - const sections = page?.sections || [ + const sections = (page as any)?.sections || [ { type: 'wallet', title: 'Wallet', @@ -84,7 +88,7 @@ export const getStaticProps: GetStaticProps = async ({ return { props: { page: 'wallet', - layout: page?.layout || null, + layout: (page as any)?.layout || null, sections: sections, site: params?.site, ...configResponse, diff --git a/apps/dexappbuilder/pages/_site/[site]/wallet/nfts.tsx b/apps/dexappbuilder/pages/_site/[site]/wallet/nfts.tsx index ba6bd382a..25c09f41f 100644 --- a/apps/dexappbuilder/pages/_site/[site]/wallet/nfts.tsx +++ b/apps/dexappbuilder/pages/_site/[site]/wallet/nfts.tsx @@ -1,26 +1,19 @@ import { PageHeader } from '@dexkit/ui/components/PageHeader'; -import TableSkeleton from '@dexkit/ui/modules/nft/components/tables/TableSkeleton'; import HiddenAssetsSection from '@dexkit/ui/modules/wallet/components/HiddenAssetsSection'; import WalletAssetsFilter from '@dexkit/ui/modules/wallet/components/WalletAssetsFilter'; import WalletAssetsSection from '@dexkit/ui/modules/wallet/components/WalletAssetsSection'; import { useWeb3React } from "@dexkit/wallet-connectors/hooks/useWeb3React"; import { - Box, - Button, - Container, - Drawer, - Grid, - Paper, - Stack, - Tabs, - Typography, + Box, + Container, + Drawer, + Grid, + Tabs } from '@mui/material'; import Tab from '@mui/material/Tab'; -import { QueryErrorResetBoundary } from '@tanstack/react-query'; import { GetStaticProps, GetStaticPropsContext, NextPage } from 'next'; import dynamic from 'next/dynamic'; -import { Suspense, useState } from 'react'; -import { ErrorBoundary } from 'react-error-boundary'; +import { useState } from 'react'; import { FormattedMessage } from 'react-intl'; import { REVALIDATE_PAGE_TIME } from 'src/constants'; import MainLayout from '../../../../src/components/layouts/main'; @@ -46,7 +39,7 @@ const WalletNFTsPage: NextPage = () => { const [activeTab, setActiveTab] = useState(0); - const handleChangeTab = (event: React.SyntheticEvent, newValue: number) => { + const handleChangeTab = (event: any, newValue: number) => { setActiveTab(newValue); }; @@ -79,7 +72,7 @@ const WalletNFTsPage: NextPage = () => { const [showImportAsset, setShowImportAsset] = useState(false); - const handleToggleImportAsset = () => setShowImportAsset((value) => !value); + const handleToggleImportAsset = () => setShowImportAsset((value: boolean) => !value); return ( <> @@ -97,7 +90,7 @@ const WalletNFTsPage: NextPage = () => { - + { ]} /> - + { - + {activeTab === 0 && ( - - {({ reset }) => ( - ( - - - - - - - {String(error)} - - - - - )} - > - }> - - - - )} - + )} - + {activeTab === 1 && ( { /> )} - + {activeTab === 2 && ( - - {({ reset }) => ( - ( - - - - - - - {String(error)} - - - - - )} - > - }> - - - - )} - + )} diff --git a/apps/dexappbuilder/pages/_widget_iframe/index.tsx b/apps/dexappbuilder/pages/_widget_iframe/index.tsx index 943d885c7..5cd169588 100644 --- a/apps/dexappbuilder/pages/_widget_iframe/index.tsx +++ b/apps/dexappbuilder/pages/_widget_iframe/index.tsx @@ -47,6 +47,20 @@ const WidgetIframePage: NextPage<{ layout, slug, hide_powered_by, +}: { + sections: AppPageSection[]; + account?: string; + isProtected: boolean; + conditions?: GatedCondition[]; + gatedLayout?: GatedPageLayout; + layout?: PageSectionsLayout; + result: boolean; + site: string; + page: string; + partialResults: { [key: number]: boolean }; + balances: { [key: number]: string }; + slug?: string; + hide_powered_by?: boolean; }) => { if (isProtected) { return ( diff --git a/apps/dexappbuilder/pages/api/og/payment-url/index.tsx b/apps/dexappbuilder/pages/api/og/payment-url/index.tsx index a951c0048..059a30de8 100644 --- a/apps/dexappbuilder/pages/api/og/payment-url/index.tsx +++ b/apps/dexappbuilder/pages/api/og/payment-url/index.tsx @@ -3,7 +3,7 @@ import { NextRequest } from 'next/server'; //@ts-ignore import qrcode from 'yaqrcode'; export const config = { - runtime: 'experimental-edge', + runtime: 'edge', }; export default async function handler(request: NextRequest) { diff --git a/apps/dexappbuilder/pages/site/index.tsx b/apps/dexappbuilder/pages/site/index.tsx index c76b58a71..9f4e2ae0b 100644 --- a/apps/dexappbuilder/pages/site/index.tsx +++ b/apps/dexappbuilder/pages/site/index.tsx @@ -1,5 +1,25 @@ import Link from '@dexkit/ui/components/AppLink'; -import { Container, Grid, Skeleton, Stack, useMediaQuery, useTheme } from '@mui/material'; +import ClearIcon from '@mui/icons-material/Clear'; +import FilterListIcon from '@mui/icons-material/FilterList'; +import SearchIcon from '@mui/icons-material/Search'; +import { + Box, + Chip, + Collapse, + Container, + FormControl, + IconButton, + InputAdornment, + InputLabel, + MenuItem, + Paper, + Select, + Skeleton, + Stack, + TextField, + useMediaQuery, + useTheme +} from '@mui/material'; import Button from '@mui/material/Button'; import Card from '@mui/material/Card'; import CardActions from '@mui/material/CardActions'; @@ -9,6 +29,7 @@ import Typography from '@mui/material/Typography'; import { QueryClient, dehydrate } from '@tanstack/react-query'; import { GetStaticProps, GetStaticPropsContext, NextPage } from 'next'; import { NextSeo } from 'next-seo'; +import { useMemo, useState } from 'react'; import { FormattedMessage, useIntl } from 'react-intl'; import { PageHeader } from '@dexkit/ui/components/PageHeader'; @@ -21,6 +42,16 @@ import { } from '../../src/hooks/whitelabel'; import { getSites } from '../../src/services/whitelabel'; +type SortOption = 'newest' | 'oldest' | 'mostModified' | 'leastModified' | 'nameAsc' | 'nameDesc'; +type FilterOption = 'all' | 'recent' | 'popular' | 'active'; + +interface FilterState { + search: string; + sortBy: SortOption; + filterBy: FilterOption; + showFilters: boolean; +} + export const SiteIndexPage: NextPage = () => { const sitesQuery = useWhitelabelSitesListQuery({}); const { formatMessage } = useIntl(); @@ -29,6 +60,94 @@ export const SiteIndexPage: NextPage = () => { const isMobile = useMediaQuery(theme.breakpoints.down('sm')); const isTablet = useMediaQuery(theme.breakpoints.down('md')); + const [filters, setFilters] = useState({ + search: '', + sortBy: 'newest', + filterBy: 'all', + showFilters: false + }); + + const updateFilter = (key: keyof FilterState, value: any) => { + setFilters(prev => ({ ...prev, [key]: value })); + }; + + const clearFilters = () => { + setFilters({ + search: '', + sortBy: 'newest', + filterBy: 'all', + showFilters: false + }); + }; + + const truncateDescription = (text: string, isMobile: boolean) => { + if (!text) return ''; + if (!isMobile) return text; + + const words = text.split(' '); + if (words.length <= 8) return text; + + const truncatedWords = words.slice(0, 7); + return truncatedWords.join(' ') + '...'; + }; + + const filteredAndSortedSites = useMemo(() => { + if (!sitesQuery?.data) return []; + + let filtered = [...sitesQuery.data]; + + if (filters.search) { + const searchLower = filters.search.toLowerCase(); + filtered = filtered.filter(site => + site.appConfig?.name?.toLowerCase().includes(searchLower) || + site.appConfig?.seo?.['home']?.description?.toLowerCase().includes(searchLower) + ); + } + + switch (filters.filterBy) { + case 'recent': + filtered = filtered.filter(site => site.id > 0); + break; + case 'popular': + filtered = filtered.filter(site => + site.previewUrl || site.nft + ); + break; + case 'active': + filtered = filtered.filter(site => + (site.previewUrl || site.nft) && site.domainStatus === 'verified' + ); + break; + } + + filtered.sort((a, b) => { + switch (filters.sortBy) { + case 'newest': + return b.id - a.id; + case 'oldest': + return a.id - b.id; + case 'mostModified': + const aScore = (a.previewUrl ? 2 : 0) + (a.nft ? 1 : 0); + const bScore = (b.previewUrl ? 2 : 0) + (b.nft ? 1 : 0); + if (aScore !== bScore) return bScore - aScore; + return b.id - a.id; + case 'leastModified': + const aScoreLeast = (a.previewUrl ? 2 : 0) + (a.nft ? 1 : 0); + const bScoreLeast = (b.previewUrl ? 2 : 0) + (b.nft ? 1 : 0); + if (aScoreLeast !== bScoreLeast) return aScoreLeast - bScoreLeast; + return a.id - b.id; + case 'nameAsc': + return (a.appConfig?.name || '').localeCompare(b.appConfig?.name || ''); + case 'nameDesc': + return (b.appConfig?.name || '').localeCompare(a.appConfig?.name || ''); + default: + return 0; + } + }); + + return filtered; + }, [sitesQuery?.data, filters]); + return ( <> { - - - - ), - uri: '/', - }, - { - caption: ( + + + ), + uri: '/', + }, + { + caption: ( + + ), + uri: '/site', + active: true, + }, + ]} + showTitleOnDesktop={true} + /> + + + + + updateFilter('search', e.target.value)} + InputProps={{ + startAdornment: ( + + + + ), + endAdornment: filters.search && ( + + updateFilter('search', '')} + > + + + + ) + }} + sx={{ + maxWidth: { xs: '100%', sm: 400 }, + '& .MuiInputBase-root': { + fontSize: { xs: '0.9rem', sm: '1rem' } + } + }} + /> + + + + + {(filters.search || filters.filterBy !== 'all' || filters.sortBy !== 'newest') && ( + + )} + + + + + + - ), - uri: '/site', - active: true, - }, - ]} - showTitleOnDesktop={true} - /> - - {sitesQuery?.data?.map((site, key) => ( - + + + + + + + + + + + + + + + + + + + + {filteredAndSortedSites.map((site, key) => ( + { display: 'flex', flexDirection: 'column', transition: 'all 0.2s ease-in-out', + borderRadius: 2, + boxShadow: theme.shadows[2], + minHeight: { xs: '240px', sm: '290px', md: '330px' }, '&:hover': { - transform: 'translateY(-2px)', + transform: 'translateY(-4px)', boxShadow: theme.shadows[8] } }} > { alt="" sx={{ objectFit: 'cover', - minHeight: isMobile ? 120 : 140 + height: { xs: '100px', sm: '120px', md: '140px' }, + minHeight: { xs: '100px', sm: '120px', md: '140px' } }} /> - + {site.appConfig.name} @@ -158,34 +508,39 @@ export const SiteIndexPage: NextPage = () => { color="text.secondary" sx={{ overflow: 'hidden', - height: isMobile ? '80px' : '100px', + height: { xs: '40px', sm: '44px', md: '48px' }, textOverflow: 'ellipsis', display: '-webkit-box', - WebkitLineClamp: isMobile ? 3 : 4, + WebkitLineClamp: { xs: 2, sm: 2, md: 2 }, WebkitBoxOrient: 'vertical', - lineHeight: 1.4 + lineHeight: 1.2, + fontSize: { xs: '0.75rem', sm: '0.8rem', md: '0.875rem' }, + wordBreak: 'break-word', + hyphens: 'auto' }} > - {site.appConfig?.seo && - site.appConfig?.seo['home']?.description} + {truncateDescription( + site.appConfig?.seo?.home?.description || '', + isMobile + )} {site.nft && ( @@ -193,12 +548,13 @@ export const SiteIndexPage: NextPage = () => { variant="contained" href={`/asset/${site.nft.networkId}/${site.nft.address }/${Number(site.nft.tokenId)}`} - size={isMobile ? "medium" : "small"} + size="small" sx={{ - minHeight: isMobile ? '44px' : '36px', - fontSize: isMobile ? '0.9rem' : '0.875rem', + minHeight: { xs: '28px', sm: '32px', md: '36px' }, + fontSize: { xs: '0.7rem', sm: '0.75rem', md: '0.875rem' }, textTransform: 'none', - fontWeight: 600 + fontWeight: 600, + px: { xs: 0.75, sm: 1.5, md: 2 } }} > { display: 'flex', alignItems: 'center', justifyContent: 'center', - minHeight: isMobile ? '44px' : '36px', - px: isMobile ? 2 : 1.5, - py: isMobile ? 1 : 0.5, + minHeight: { xs: '28px', sm: '32px', md: '36px' }, + px: { xs: 0.75, sm: 1.25, md: 1.5 }, + py: { xs: 0.25, sm: 0.5 }, borderRadius: 1, border: `1px solid ${theme.palette.divider}`, + backgroundColor: theme.palette.background.paper, color: theme.palette.text.primary, textDecoration: 'none', transition: 'all 0.2s ease-in-out', + fontSize: { xs: '0.7rem', sm: '0.75rem', md: '0.875rem' }, '&:hover': { backgroundColor: theme.palette.action.hover, borderColor: theme.palette.primary.main @@ -239,10 +597,10 @@ export const SiteIndexPage: NextPage = () => { - + ))} - {!sitesQuery?.isLoading && (!sitesQuery?.data || sitesQuery.data.length === 0) && ( - + {!sitesQuery?.isLoading && filteredAndSortedSites.length === 0 && ( + { /> - + )} {sitesQuery?.isLoading && Array.from({ length: isMobile ? 2 : isTablet ? 3 : 4 }, (_, i) => i + 1).map((id, key) => ( - { maxWidth: '100%', height: '100%', display: 'flex', - flexDirection: 'column' + flexDirection: 'column', + borderRadius: 2, + boxShadow: theme.shadows[2], + minHeight: { xs: '280px', sm: '320px', md: '360px' } }} key={key} > @@ -330,7 +690,9 @@ export const SiteIndexPage: NextPage = () => { { { }} > - - + + + {metadata?.title} + {metadata?.subtitle} + + + + - - - - + + + + - - {metadata?.chainIds?.map((cid, key) => ( - - - } - label={NETWORK_NAME(cid)} - /> - - ))} - - - - - - + + {metadata?.chainIds?.map((cid, key) => ( + + + } + label={NETWORK_NAME(cid)} + /> + + ))} + + + + + + - - {metadata?.usecases?.map((cid, key) => ( - - - - ))} - + + {metadata?.usecases?.map((cid, key) => ( + + + + ))} + + - - + - - {metadata?.imageURL && ( - - - - )} - {metadata?.description && ( - - - {metadata?.description} - - - )} + + {metadata?.imageURL && ( + + + + )} + {metadata?.description && ( + + + {metadata?.description} + + + )} + - - - - - ); -}; + + + + ); + }; type Params = { slug?: string; diff --git a/apps/dexappbuilder/pages/site/templates.tsx b/apps/dexappbuilder/pages/site/templates.tsx index 9db4797ab..4ee5e9bb3 100644 --- a/apps/dexappbuilder/pages/site/templates.tsx +++ b/apps/dexappbuilder/pages/site/templates.tsx @@ -1,17 +1,26 @@ import { PageHeader } from '@dexkit/ui/components/PageHeader'; -import SidebarFilters from '@dexkit/ui/components/SidebarFilters'; -import SidebarFiltersContent from '@dexkit/ui/components/SidebarFiltersContent'; import { useIsMobile } from '@dexkit/ui/hooks/misc'; +import ClearIcon from '@mui/icons-material/Clear'; +import FilterListIcon from '@mui/icons-material/FilterList'; +import SearchIcon from '@mui/icons-material/Search'; import SearchOffIcon from '@mui/icons-material/SearchOff'; import { Box, - CardActionArea, + Button, Chip, - Grid, + Collapse, + FormControl, + IconButton, + InputAdornment, + InputLabel, + MenuItem, + Paper, + Select, Skeleton, Stack, + TextField, + useTheme } from '@mui/material'; -import Button from '@mui/material/Button'; import Card from '@mui/material/Card'; import CardActions from '@mui/material/CardActions'; import CardContent from '@mui/material/CardContent'; @@ -21,9 +30,8 @@ import { QueryClient, dehydrate } from '@tanstack/react-query'; import { GetStaticProps, GetStaticPropsContext, NextPage } from 'next'; import { NextSeo } from 'next-seo'; import Image from 'next/image'; -import { useState } from 'react'; +import { useMemo, useState } from 'react'; import { FormattedMessage, useIntl } from 'react-intl'; -import { UsecasesAccordion } from 'src/components/UsecasesAccordion'; import MainLayout from '../../src/components/layouts/main'; import { useAppConfig } from '../../src/hooks/app'; import { @@ -32,111 +40,145 @@ import { } from '../../src/hooks/whitelabel'; import { getTemplateSites } from '../../src/services/whitelabel'; -/*function UseCasesList({ usecases }: { usecases?: string[] }) { - const [clickedExpanded, setClickedExpanded] = useState(false); - if (!usecases) return null; +type SortOption = 'web3' | 'token' | 'swap' | 'nft' | 'staking' | 'gated' | 'blog'; +type FilterOption = 'all' | 'recent' | 'popular' | 'active'; + +interface FilterState { + search: string; + sortBy: SortOption; + filterBy: FilterOption; + showFilters: boolean; +} - return ( - - {(clickedExpanded ? usecases : usecases?.slice(0, 3) || []).map( - (cid, key) => ( - - - - ), - )} - {(usecases || []).length > 3 && !clickedExpanded && ( - - setClickedExpanded(!clickedExpanded)} - label={`+${usecases?.length - 3} more`} - size="small" - /> - - )} - - ); -}*/ function UseCasesList({ usecases }: { usecases?: string[] }) { if (!usecases) return null; return ( - - {(usecases || []).map((cid, key) => ( - - - + + {(usecases || []).slice(0, 4).map((cid, key) => ( + ))} - + {usecases && usecases.length > 4 && ( + + )} + ); } export const SiteTemplatesPage: NextPage = () => { - //const router = useRouter(); - const [usecases, setUsecases] = useState([]); - - /* const usecases = useMemo(() => { - const use = router?.query?.usecases; - if (use) { - if (use instanceof Array) { - return use; - } else { - return [use]; - } - } - return []; - }, [router?.query?.usecases]);*/ - - const sitesQuery = useWhitelabelTemplateSitesListQuery({ - usecases: usecases, + const [filters, setFilters] = useState({ + search: '', + sortBy: 'web3', + filterBy: 'all', + showFilters: false }); + const sitesQuery = useWhitelabelTemplateSitesListQuery({}); + const isMobile = useIsMobile(); + const theme = useTheme(); const { formatMessage } = useIntl(); const appConfig = useAppConfig(); - const onFilterUsecase = (use?: string) => { - let newUsecases = [...usecases]; - if (use) { - if (usecases.includes(use)) { - newUsecases = usecases.filter((u) => u !== use); - } else { - newUsecases.push(use); - } - setUsecases(newUsecases); - /*router.push({ - pathname: '/site/templates', - query: { usecases: newUsecases }, - });*/ - } else { - setUsecases([]); - //router.push({ pathname: '/site/templates' }); - } + const updateFilter = (key: keyof FilterState, value: any) => { + setFilters(prev => ({ ...prev, [key]: value })); }; - const renderSidebar = (onClose?: () => void) => { - return ( - } - onClose={onClose} - > - - - {/* */} - - - - - - ); + const clearFilters = () => { + setFilters({ + search: '', + sortBy: 'web3', + filterBy: 'all', + showFilters: false + }); }; + const hasUsecase = (template: any, usecase: string) => { + return template.metadata?.usecases?.includes(usecase) ? 1 : 0; + }; + + const filteredAndSortedTemplates = useMemo(() => { + if (!sitesQuery?.data) return []; + + let filtered = [...sitesQuery.data]; + + if (filters.search) { + const searchLower = filters.search.toLowerCase(); + filtered = filtered.filter(template => + template.metadata?.title?.toLowerCase().includes(searchLower) || + template.metadata?.subtitle?.toLowerCase().includes(searchLower) || + template.metadata?.usecases?.some(usecase => + usecase.toLowerCase().includes(searchLower) + ) + ); + } + + if (filters.filterBy !== 'all') { + const now = new Date(); + filtered = filtered.filter(template => { + switch (filters.filterBy) { + case 'recent': + return template.id > 0; + case 'popular': + return template.previewUrl; + case 'active': + return template.metadata?.title && template.metadata?.subtitle; + default: + return true; + } + }); + } + + filtered.sort((a, b) => { + switch (filters.sortBy) { + case 'web3': + return hasUsecase(b, 'Web3') - hasUsecase(a, 'Web3') || b.id - a.id; + case 'token': + return hasUsecase(b, 'Token Project') - hasUsecase(a, 'Token Project') || b.id - a.id; + case 'swap': + return hasUsecase(b, 'Swap') - hasUsecase(a, 'Swap') || b.id - a.id; + case 'nft': + return hasUsecase(b, 'NFT Marketplace') - hasUsecase(a, 'NFT Marketplace') || b.id - a.id; + case 'staking': + return hasUsecase(b, 'Staking Project') - hasUsecase(a, 'Staking Project') || b.id - a.id; + case 'gated': + return hasUsecase(b, 'Gated Content') - hasUsecase(a, 'Gated Content') || b.id - a.id; + case 'blog': + return hasUsecase(b, 'Blog') - hasUsecase(a, 'Blog') || b.id - a.id; + default: + return 0; + } + }); + + return filtered; + }, [sitesQuery?.data, filters]); + + return ( <> { }} /> - - - - - ), - uri: '/', - }, - { - caption: ( + + + + ), + uri: '/', + }, + { + caption: ( + + ), + uri: '/site', + active: true, + }, + ]} + /> + + + + + updateFilter('search', e.target.value)} + InputProps={{ + startAdornment: ( + + + + ), + endAdornment: filters.search && ( + + updateFilter('search', '')} + > + + + + ) + }} + sx={{ + maxWidth: { xs: '100%', sm: 400 }, + '& .MuiInputBase-root': { + fontSize: { xs: '0.9rem', sm: '1rem' } + } + }} + /> + + + + + {(filters.search || filters.filterBy !== 'all' || filters.sortBy !== 'web3') && ( + + )} + + + + + + - ), - uri: '/site', - active: true, - }, - ]} - /> - - - {renderSidebar()} - - - - {sitesQuery?.isLoading && ( - - {[1, 2, 3, 4, 5, 6].map((id, key) => ( - - + + + + + + + + + + + + + + + + {!sitesQuery?.isLoading && ( + + + + + + )} + + + {sitesQuery?.isLoading && ( + + {[1, 2, 3, 4, 5, 6].map((id, key) => ( + + + + + + + + + + + + + + + + + + + - - - - - ))}{' '} - - )} - - {sitesQuery?.data?.length === 0 && !sitesQuery?.isLoading && ( - - + + + + + + + ))} + + )} + + {filteredAndSortedTemplates.length === 0 && !sitesQuery?.isLoading && ( + + + + + + + + + )} + + {filteredAndSortedTemplates.length > 0 && ( + + {filteredAndSortedTemplates.map((site, key) => ( + - - - - - - - )} - - {sitesQuery?.data?.length !== 0 && ( - - {sitesQuery?.data?.map((site, key) => ( - - + - - + + + + + - -
- -
-
- - - - - - {site?.metadata?.title} - - - - {site?.metadata?.subtitle} - - - - - - - {/* - + + - {site?.metadata?.usecases?.map((cid, key) => ( - - ))} - - */} - - - - {site.previewUrl && ( - - )} - - - -
-
- ))} -
- )} -
-
+ {site?.metadata?.subtitle} + + + + +
+ + + + + {site.previewUrl && ( + + )} + + + + ))} + + )} +
diff --git a/apps/dexappbuilder/public/assets/images/icons/bnb.svg b/apps/dexappbuilder/public/assets/images/icons/bnb.svg index 3341437d3..603154837 100644 --- a/apps/dexappbuilder/public/assets/images/icons/bnb.svg +++ b/apps/dexappbuilder/public/assets/images/icons/bnb.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/dexappbuilder/scripts/commands/sync-compiled-with-lang.js b/apps/dexappbuilder/scripts/commands/sync-compiled-with-lang.js index 365e41758..198bf6f88 100644 --- a/apps/dexappbuilder/scripts/commands/sync-compiled-with-lang.js +++ b/apps/dexappbuilder/scripts/commands/sync-compiled-with-lang.js @@ -1,4 +1,5 @@ // We are using AI to translate compiled files we should sync the files +const fs = require('fs'); const commander = require('commander'); const program = new commander.Command(); @@ -19,7 +20,9 @@ if (options.to) { for (let index = 0; index < allKeys.length; index++) { const key = allKeys[index]; - toFile[key].defaultMessage = fromFile[key]; + if (toFile[key]) { + toFile[key].defaultMessage = fromFile[key]; + } } fs.writeFileSync(`lang/${to}.json`, JSON.stringify(toFile, null, 2), 'utf-8'); diff --git a/apps/dexappbuilder/scripts/sync-compiled-with-lang.js b/apps/dexappbuilder/scripts/sync-compiled-with-lang.cjs similarity index 89% rename from apps/dexappbuilder/scripts/sync-compiled-with-lang.js rename to apps/dexappbuilder/scripts/sync-compiled-with-lang.cjs index c543bf364..058a27d6c 100644 --- a/apps/dexappbuilder/scripts/sync-compiled-with-lang.js +++ b/apps/dexappbuilder/scripts/sync-compiled-with-lang.cjs @@ -20,7 +20,9 @@ for (let index = 0; index < languages.length; index++) { for (let index = 0; index < allKeys.length; index++) { const key = allKeys[index]; - toFile[key].defaultMessage = fromFile[key]; + if (toFile[key]) { + toFile[key].defaultMessage = fromFile[key]; + } } fs.writeFileSync(`lang/${to}.json`, JSON.stringify(toFile, null, 2), 'utf-8'); diff --git a/apps/dexappbuilder/scripts/translate-super-fast.cjs b/apps/dexappbuilder/scripts/translate-super-fast.cjs new file mode 100644 index 000000000..661f27577 --- /dev/null +++ b/apps/dexappbuilder/scripts/translate-super-fast.cjs @@ -0,0 +1,350 @@ +const fs = require('fs'); +const path = require('path'); +const OpenAI = require('openai'); + +const languages = { + 'es-ES': 'Spanish', + 'fr-FR': 'French', + 'it-IT': 'Italian', + 'pt-BR': 'Portuguese (Brazil)', + 'cs-CZ': 'Czech', + 'nn-NO': 'Norwegian', + 'de-DE': 'German' +}; + +const MAX_CONCURRENT_FILES = 7; +const MAX_CONCURRENT_TRANSLATIONS = 50; +const BATCH_SIZE = 100; +const TRANSLATION_DELAY = 50; + +const openai = new OpenAI({ + apiKey: process.env.OPENAI_API_KEY +}); + +function isEnglishText(text) { + if (!text || typeof text !== 'string' || text.length <= 1) return false; + + const hasNonLatin = /[^\x00-\x7F]/.test(text); + if (hasNonLatin) return false; + + const englishPatterns = [ + /^[A-Z][a-z]+ [A-Z][a-z]+$/, + /^[A-Z][a-z]+$/, + /^[a-z]+ [a-z]+$/, + /^[A-Z][a-z]+ [a-z]+$/, + /^[a-z]+ [A-Z][a-z]+$/, + /^[A-Z][a-z]+ [a-z]+ [a-z]+$/, + /^[A-Z][a-z]+ [a-z]+ [a-z]+ [a-z]+$/, + ]; + + const onlyEnglish = /^[a-zA-Z\s.,!?;:'"()\-_&%$#@+=<>[\]{}|\\~`]+$/.test(text); + if (!onlyEnglish) return false; + + const englishWords = [ + 'the', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for', 'of', 'with', 'by', + 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had', + 'do', 'does', 'did', 'will', 'would', 'could', 'should', 'may', 'might', + 'can', 'cannot', 'must', 'shall', 'this', 'that', 'these', 'those', + 'here', 'there', 'where', 'when', 'why', 'how', 'what', 'which', 'who', + 'a', 'an', 'some', 'any', 'all', 'every', 'each', 'no', 'not', 'yes', + 'view', 'edit', 'delete', 'create', 'add', 'remove', 'save', 'cancel', + 'ok', 'yes', 'no', 'true', 'false', 'error', 'success', 'warning', 'info', + 'loading', 'please', 'wait', 'try', 'again', 'select', 'choose', 'click', + 'press', 'enter', 'submit', 'confirm', 'back', 'next', 'previous', 'continue', + 'finish', 'complete', 'done', 'start', 'stop', 'pause', 'resume', 'play', + 'open', 'close', 'show', 'hide', 'display', 'toggle', 'switch', 'change', + 'update', 'refresh', 'search', 'find', 'look', 'see', 'watch', 'listen', + 'read', 'write', 'send', 'receive', 'get', 'give', 'take', 'put', 'set', + 'use', 'make', 'go', 'come', 'move', 'turn', 'run', 'walk', 'sit', 'stand', + 'buy', 'sell', 'pay', 'cost', 'price', 'money', 'dollar', 'cent', 'time', + 'date', 'day', 'week', 'month', 'year', 'hour', 'minute', 'name', 'title', + 'description', 'text', 'message', 'note', 'comment', 'user', 'admin', 'guest', + 'member', 'team', 'group', 'company', 'home', 'page', 'site', 'website', + 'web', 'internet', 'online', 'file', 'folder', 'document', 'image', 'photo', + 'picture', 'video', 'audio', 'sound', 'music', 'voice', 'speak', 'talk', + 'say', 'tell', 'ask', 'answer', 'question', 'reply', 'response', 'feedback', + 'help', 'support', 'contact', 'about', 'info', 'information', 'settings', + 'options', 'preferences', 'configuration', 'setup', 'login', 'logout', + 'sign', 'register', 'account', 'profile', 'password', 'email', 'phone', + 'address', 'location', 'place', 'country', 'city', 'state', 'region', + 'area', 'zone', 'district', 'language', 'english', 'spanish', 'french', + 'german', 'italian', 'portuguese', 'chinese', 'japanese', 'korean', + 'arabic', 'russian', 'color', 'red', 'blue', 'green', 'yellow', 'black', + 'white', 'gray', 'size', 'small', 'medium', 'large', 'big', 'little', + 'huge', 'tiny', 'number', 'count', 'amount', 'quantity', 'total', 'sum', + 'average', 'first', 'last', 'next', 'previous', 'before', 'after', + 'between', 'above', 'below', 'over', 'under', 'inside', 'outside', + 'left', 'right', 'center', 'middle', 'top', 'bottom', 'front', 'back', + 'up', 'down', 'north', 'south', 'east', 'west', 'direction', 'fast', + 'slow', 'quick', 'easy', 'hard', 'difficult', 'simple', 'good', 'bad', + 'better', 'best', 'worse', 'worst', 'great', 'awesome', 'new', 'old', + 'young', 'fresh', 'clean', 'dirty', 'clear', 'bright', 'dark', 'light', + 'hot', 'cold', 'warm', 'cool', 'dry', 'wet', 'full', 'empty', 'open', + 'closed', 'locked', 'unlocked', 'free', 'busy', 'available', 'unavailable', + 'online', 'offline', 'active', 'inactive', 'enabled', 'disabled', 'on', + 'off', 'ok', 'okay', 'sure', 'maybe', 'perhaps', 'probably', 'definitely', + 'always', 'never', 'sometimes', 'often', 'rarely', 'usually', 'today', + 'yesterday', 'tomorrow', 'now', 'then', 'soon', 'later', 'early', 'late', + 'morning', 'afternoon', 'evening', 'night', 'monday', 'tuesday', 'wednesday', + 'thursday', 'friday', 'saturday', 'sunday', 'january', 'february', 'march', + 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', + 'december', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', + 'nine', 'ten', 'hundred', 'thousand', 'million', 'billion', 'trillion', + 'percent', 'percentage', 'rate', 'ratio', 'proportion', 'fraction', 'plus', + 'minus', 'times', 'divided', 'equals', 'more', 'less', 'greater', 'smaller', + 'higher', 'lower', 'bigger', 'smaller', 'same', 'different', 'similar', + 'equal', 'unequal', 'identical', 'unique', 'special', 'normal', 'regular', + 'standard', 'typical', 'common', 'rare', 'unusual', 'strange', 'weird', + 'odd', 'funny', 'serious', 'important', 'necessary', 'required', 'optional', + 'mandatory', 'forbidden', 'allowed', 'permitted', 'legal', 'illegal', 'safe', + 'dangerous', 'risky', 'secure', 'protected', 'private', 'public', 'shared', + 'personal', 'individual', 'collective', 'group', 'single', 'multiple', + 'double', 'triple', 'quadruple', 'many', 'few', 'several', 'various', + 'different', 'same', 'similar', 'identical', 'exact', 'approximate', 'rough', + 'precise', 'accurate', 'correct', 'wrong', 'right', 'true', 'false', 'real', + 'fake', 'genuine', 'original', 'copy', 'duplicate', 'version', 'edition', + 'release', 'update', 'upgrade', 'downgrade', 'install', 'uninstall', 'remove', + 'add', 'delete', 'create', 'destroy', 'build', 'construct', 'make', 'break', + 'fix', 'repair', 'maintain', 'service', 'support', 'help', 'assist', 'guide', + 'teach', 'learn', 'study', 'practice', 'train', 'exercise', 'work', 'job', + 'career', 'profession', 'business', 'company', 'organization', 'institution', + 'school', 'university', 'hospital', 'clinic', 'office', 'store', 'shop', + 'market', 'mall', 'restaurant', 'hotel', 'house', 'home', 'apartment', 'room', + 'space', 'place', 'location', 'position', 'point', 'spot', 'area', 'zone', + 'region', 'country', 'state', 'city', 'town', 'village', 'street', 'road', + 'avenue', 'boulevard', 'lane', 'drive', 'way', 'path', 'route', 'direction', + 'way', 'method', 'technique', 'approach', 'strategy', 'plan', 'scheme', + 'program', 'project', 'task', 'job', 'work', 'labor', 'effort', 'energy', + 'power', 'force', 'strength', 'weakness', 'advantage', 'disadvantage', + 'benefit', 'cost', 'price', 'value', 'worth', 'quality', 'quantity', 'amount', + 'number', 'count', 'total', 'sum', 'average', 'mean', 'median', 'mode', + 'range', 'minimum', 'maximum', 'limit', 'boundary', 'edge', 'border', 'line', + 'curve', 'angle', 'corner', 'side', 'face', 'surface', 'area', 'volume', + 'space', 'distance', 'length', 'width', 'height', 'depth', 'thickness', + 'diameter', 'radius', 'circumference', 'perimeter', 'weight', 'mass', + 'density', 'pressure', 'temperature', 'heat', 'cold', 'warm', 'cool', 'hot', + 'freezing', 'boiling', 'melting', 'solid', 'liquid', 'gas', 'plasma', + 'matter', 'material', 'substance', 'element', 'compound', 'mixture', + 'solution', 'suspension', 'colloid', 'atom', 'molecule', 'particle', 'wave', + 'frequency', 'amplitude', 'wavelength', 'speed', 'velocity', 'acceleration', + 'deceleration', 'momentum', 'inertia', 'friction', 'resistance', 'conductance', + 'electricity', 'magnetism', 'gravity', 'light', 'sound', 'vibration', + 'oscillation', 'rotation', 'revolution', 'orbit', 'trajectory', 'path', + 'course', 'route', 'way', 'direction', 'bearing', 'heading', 'compass', + 'north', 'south', 'east', 'west', 'northeast', 'northwest', 'southeast', + 'southwest', 'up', 'down', 'left', 'right', 'forward', 'backward', 'sideways', + 'diagonal', 'vertical', 'horizontal', 'oblique', 'parallel', 'perpendicular', + 'intersecting', 'converging', 'diverging', 'convergent', 'divergent', 'convex', + 'concave', 'flat', 'curved', 'straight', 'bent', 'twisted', 'spiral', 'helical', + 'circular', 'elliptical', 'oval', 'round', 'square', 'rectangular', 'triangular', + 'polygonal', 'irregular', 'regular', 'symmetric', 'asymmetric', 'balanced', + 'unbalanced', 'stable', 'unstable', 'steady', 'unsteady', 'constant', + 'variable', 'fixed', 'flexible', 'rigid', 'elastic', 'plastic', 'ductile', + 'brittle', 'hard', 'soft', 'tough', 'weak', 'strong', 'durable', 'fragile', + 'resilient', 'robust', 'delicate', 'coarse', 'fine', 'smooth', 'rough', + 'polished', 'matte', 'glossy', 'shiny', 'dull', 'bright', 'dark', 'light', + 'heavy', 'thick', 'thin', 'wide', 'narrow', 'broad', 'deep', 'shallow', + 'high', 'low', 'tall', 'short', 'long', 'brief', 'quick', 'slow', 'fast', + 'rapid', 'swift', 'gradual', 'sudden', 'immediate', 'instant', 'delayed', + 'late', 'early', 'punctual', 'timely', 'untimely', 'premature', 'overdue', + 'recent', 'old', 'ancient', 'modern', 'contemporary', 'current', 'present', + 'past', 'future', 'temporary', 'permanent', 'eternal', 'infinite', 'finite', + 'limited', 'unlimited', 'boundless', 'restricted', 'free', 'confined', 'open', + 'closed', 'locked', 'unlocked', 'secure', 'safe', 'dangerous', 'risky', + 'hazardous', 'harmful', 'beneficial', 'useful', 'useless', 'helpful', + 'harmful', 'good', 'bad', 'evil', 'positive', 'negative', 'neutral', + 'favorable', 'unfavorable', 'advantageous', 'disadvantageous', 'profitable', + 'unprofitable', 'successful', 'unsuccessful', 'effective', 'ineffective', + 'efficient', 'inefficient', 'productive', 'unproductive', 'creative', + 'destructive', 'constructive', 'helpful', 'harmful', 'beneficial', 'detrimental' + ]; + + const textLower = text.toLowerCase(); + const words = textLower.split(/\s+/); + + const englishWordCount = words.filter(word => + englishWords.includes(word) || + /^[a-z]+$/.test(word) + ).length; + + const totalWords = words.length; + const englishRatio = englishWordCount / totalWords; + + return englishRatio > 0.2 || (totalWords <= 3 && englishWordCount > 0); +} + +async function translateText(text, targetLanguage) { + try { + const response = await openai.chat.completions.create({ + model: "gpt-4o-mini", + messages: [ + { + role: "system", + content: `Translate to ${targetLanguage}. Keep format and placeholders like {variable}. Return only translation.` + }, + { + role: "user", + content: text + } + ], + max_tokens: 500, + temperature: 0.1 + }); + + return response.choices[0].message.content.trim(); + } catch (error) { + console.error(`Error translating: ${error.message}`); + return text; + } +} + +async function processBatch(translations, targetLanguage) { + const promises = translations.map(async ({ key, text, data }) => { + try { + const translatedText = await translateText(text, targetLanguage); + if (translatedText && translatedText !== text) { + data[key].defaultMessage = translatedText; + return { key, original: text, translated: translatedText, success: true }; + } + return { key, original: text, translated: text, success: false }; + } catch (error) { + return { key, original: text, translated: text, success: false }; + } + }); + + return Promise.all(promises); +} + +async function processLanguageFile(langCode, isCompiled = false) { + const folder = isCompiled ? 'compiled-lang' : 'lang'; + const filePath = path.join(folder, `${langCode}.json`); + + if (!fs.existsSync(filePath)) { + return { translated: 0, total: 0 }; + } + + console.log(`\n⚡ Processing ${filePath}...`); + + try { + const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); + const targetLanguage = getTargetLanguage(langCode); + let translatedCount = 0; + let totalKeys = 0; + let englishKeys = []; + + for (const [key, value] of Object.entries(data)) { + if (value && value.defaultMessage) { + totalKeys++; + if (isEnglishText(value.defaultMessage)) { + englishKeys.push({ key, text: value.defaultMessage, data }); + } + } + } + + console.log(`Found ${englishKeys.length} English keys out of ${totalKeys} total keys`); + + if (englishKeys.length === 0) { + console.log(`No translations needed for ${filePath}`); + return { translated: 0, total: 0 }; + } + + const batches = []; + for (let i = 0; i < englishKeys.length; i += BATCH_SIZE) { + batches.push(englishKeys.slice(i, i + BATCH_SIZE)); + } + + console.log(`Processing ${batches.length} batches of up to ${BATCH_SIZE} translations each...`); + + for (let i = 0; i < batches.length; i++) { + const batch = batches[i]; + console.log(`⚡ Batch ${i + 1}/${batches.length} (${batch.length} items)...`); + + const results = await processBatch(batch, targetLanguage); + + const successful = results.filter(r => r.success); + translatedCount += successful.length; + + console.log(`Batch ${i + 1} completed: ${successful.length}/${batch.length} translated`); + + if (i < batches.length - 1) { + await new Promise(resolve => setTimeout(resolve, TRANSLATION_DELAY)); + } + } + + if (translatedCount > 0) { + fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf8'); + console.log(`Translated ${translatedCount}/${englishKeys.length} English keys in ${filePath}`); + } + + return { translated: translatedCount, total: englishKeys.length }; + + } catch (error) { + console.error(`Error processing ${filePath}:`, error.message); + return { translated: 0, total: 0 }; + } +} + +function getTargetLanguage(langCode) { + return languages[langCode] || langCode; +} + +async function translateSuperFast() { + console.log('Starting SUPER FAST translation with MAXIMUM PARALLELISM...'); + console.log(`Processing ${MAX_CONCURRENT_FILES} files in parallel`); + console.log(`${MAX_CONCURRENT_TRANSLATIONS} concurrent translations per file`); + console.log(`Batch size: ${BATCH_SIZE} translations\n`); + + if (!process.env.OPENAI_API_KEY) { + console.error('OPENAI_API_KEY not found'); + process.exit(1); + } + + const startTime = Date.now(); + let totalTranslated = 0; + let totalKeys = 0; + + try { + console.log('Processing lang/ directory in parallel...'); + const langPromises = Object.keys(languages).map(langCode => + processLanguageFile(langCode, false) + ); + + const langResults = await Promise.all(langPromises); + langResults.forEach(result => { + totalTranslated += result.translated; + totalKeys += result.total; + }); + + console.log('Processing compiled-lang/ directory in parallel...'); + const compiledPromises = Object.keys(languages).map(langCode => + processLanguageFile(langCode, true) + ); + + const compiledResults = await Promise.all(compiledPromises); + compiledResults.forEach(result => { + totalTranslated += result.translated; + totalKeys += result.total; + }); + + const endTime = Date.now(); + const duration = Math.round((endTime - startTime) / 1000); + + console.log('\nSUPER FAST translation completed!'); + console.log(`Statistics:`); + console.log(` - Total keys processed: ${totalKeys}`); + console.log(` - Total translations: ${totalTranslated}`); + console.log(` - Duration: ${duration} seconds`); + console.log(` - Speed: ${Math.round(totalTranslated / (duration / 60))} translations/minute`); + console.log(` - Parallelism: ${MAX_CONCURRENT_FILES} files + ${MAX_CONCURRENT_TRANSLATIONS} translations`); + + } catch (error) { + console.error('Error during translation process:', error.message); + process.exit(1); + } +} + +if (require.main === module) { + translateSuperFast(); +} + +module.exports = { translateSuperFast, translateText }; diff --git a/apps/dexappbuilder/scripts/update-version-json.js b/apps/dexappbuilder/scripts/update-version-json.js index 71ec748eb..735b3f7a5 100644 --- a/apps/dexappbuilder/scripts/update-version-json.js +++ b/apps/dexappbuilder/scripts/update-version-json.js @@ -1,18 +1,33 @@ import fs from 'fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; + const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); -console.log(__dirname); +console.log('Updating version from:', __dirname); + +try { + if (__dirname) { + const pkgPath = path.join(__dirname, '..', 'package.json'); + const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); -if (__dirname) { - const pkg = JSON.parse( - fs.readFileSync(`${__dirname}/../package.json`).toString(), - ); + const versionPath = path.join(__dirname, '..', 'src', 'constants', 'app-version.json'); + const versionDir = path.dirname(versionPath); + + // Ensure directory exists + if (!fs.existsSync(versionDir)) { + fs.mkdirSync(versionDir, { recursive: true }); + } - fs.writeFileSync( - `${__dirname}/../src/constants/app-version.json`, - JSON.stringify({ version: pkg.version }, null, '\t'), - ); + fs.writeFileSync( + versionPath, + JSON.stringify({ version: pkg.version }, null, '\t'), + ); + + console.log('Version updated to:', pkg.version); + } +} catch (error) { + console.error('Error updating version:', error); + process.exit(1); } diff --git a/apps/dexappbuilder/src/AppMarketplaceProvider.tsx b/apps/dexappbuilder/src/AppMarketplaceProvider.tsx new file mode 100644 index 000000000..975691ac1 --- /dev/null +++ b/apps/dexappbuilder/src/AppMarketplaceProvider.tsx @@ -0,0 +1,107 @@ +import { + SUPPORTED_DEXAPPBUILDER_CHAIN_IDS, + SUPPORTED_LEGACY_CHAIN_IDS, +} from "@dexkit/evm-chains"; + +import { EXCHANGE_NOTIFICATION_TYPES } from "@dexkit/exchange/constants/messages"; +import { + COMMON_NOTIFICATION_TYPES, + WHITELABEL_NOTIFICATION_TYPES, +} from "@dexkit/ui/constants/messages/common"; +import { useAppConfig } from "@dexkit/ui/hooks"; +import { useLocale } from "@dexkit/ui/hooks/useLocale"; +import { useSiteId } from "@dexkit/ui/hooks/useSiteId"; +import { DexkitProvider } from "@dexkit/ui/providers/DexkitProvider"; +import { setupSEO, setupTheme } from "@dexkit/ui/services/app"; +import { useAtom } from "jotai"; +import { DefaultSeo } from "next-seo"; +import { useEffect, useState } from "react"; + +import { + assetsAtom, + currencyUserAtom, + hiddenAssetsAtom, + notificationsAtom, + referralAtom, + selectedWalletAtom, + tokensAtom, + transactionsAtomV2, +} from "@dexkit/dexappbuilder-viewer/state/atoms"; +import { useRouter } from "next/router"; +import { getTheme } from "./getTheme"; + +import { loadLocaleMessages } from "@dexkit/dexappbuilder-viewer/utils/intl"; +import React from "react"; + +export interface AppMarketplaceContextProps { + children: React.ReactNode | React.ReactNode[]; + appLocaleMessages?: Record | null; + appPage?: string; +} + +export function AppMarketplaceProvider({ + children, + appPage, + appLocaleMessages, +}: AppMarketplaceContextProps) { + const appConfig = useAppConfig(); + const siteId = useSiteId(); + const router = useRouter(); + + const { locale, onChangeLocale } = useLocale(); + + const [ref, setRef] = useAtom(referralAtom); + + useEffect(() => { + if (router.query.ref) { + //@ts-ignore + setRef(router.query.ref as string); + } + }, [router.query.ref, setRef]); + + const [messages, setMessages] = useState(appLocaleMessages); + + useEffect(() => { + loadLocaleMessages(locale).then((data) => setMessages(data.default)); + }, [locale]); + + const theme = setupTheme({ appConfig, getTheme }); + + const SEO = setupSEO({ appConfig, appPage }); + + return ( + onChangeLocale(loc)} + > + + {children} + + ); +} diff --git a/apps/dexappbuilder/src/PageProps.ts b/apps/dexappbuilder/src/PageProps.ts new file mode 100644 index 000000000..b81f476cb --- /dev/null +++ b/apps/dexappbuilder/src/PageProps.ts @@ -0,0 +1,13 @@ +import type { AssetAPI } from "@dexkit/ui/modules/nft/types"; +import { DehydratedState } from "@tanstack/react-query"; +import { AppConfig } from "@dexkit/ui/modules/wizard/types/config"; + +export interface PageProps { + appConfig: AppConfig; + appNFT: AssetAPI; + siteId: number | undefined; + dehydratedState: DehydratedState; + site?: string; + appPage?: string; + appLocaleMessages?: Record | null; +} diff --git a/apps/dexappbuilder/src/app/llms.txt/route.js b/apps/dexappbuilder/src/app/llms.txt/route.js new file mode 100644 index 000000000..120992bf6 --- /dev/null +++ b/apps/dexappbuilder/src/app/llms.txt/route.js @@ -0,0 +1,274 @@ +export async function GET(request) { + const url = new URL(request.url); + const langParam = url.searchParams.get('lang'); + + const acceptLanguage = request.headers.get('accept-language') || 'en'; + + let language = 'en'; + + if (langParam && ['en', 'es', 'pt'].includes(langParam)) { + language = langParam; + } else { + const useBrowserLang = url.searchParams.get('use-browser-lang') === 'true'; + + if (useBrowserLang) { + const languages = acceptLanguage.split(',').map(lang => { + const [code, qValue] = lang.trim().split(';q='); + return { + code: code.split('-')[0], + quality: qValue ? parseFloat(qValue) : 1.0 + }; + }).sort((a, b) => b.quality - a.quality); + + for (const lang of languages) { + if (lang.code === 'es') { + language = 'es'; + break; + } else if (lang.code === 'pt') { + language = 'pt'; + break; + } + } + } + } + + const content = getContentByLanguage(language); + + return new Response(content, { + headers: { + 'Content-Type': 'text/plain; charset=utf-8', + 'Cache-Control': 'public, max-age=3600, s-maxage=3600', + }, + }); +} + +function getContentByLanguage(language) { + const contents = { + en: `# DexAppBuilder + +> DexAppBuilder is a comprehensive crypto CMS (Content Management System) that enables you to effortlessly create and launch your own branded DApps in a matter of minutes. It's not your average app builder - it's a complete Web3 business platform with guaranteed ownership and powerful monetization opportunities. + +DexAppBuilder empowers your DApp creation and launches your Web3 business with guaranteed ownership. What sets DexAppBuilder apart is its unique ability to integrate various features used in other DexKit products and make them available for you to place in your DApp, creating a comprehensive crypto ecosystem. + +## Core Features + +- **Crypto CMS Platform**: Complete Content Management System for Web3 applications (onchain apps) +- **No-Code/Low-Code Interface**: Intuitive drag-and-drop builder with visual components +- **Multi-Chain Support**: Deploy on 8+ major blockchain networks including Ethereum, Polygon, Binance Chain, Avalanche, Base, Arbitrum, Optimism, and more +- **White-Label Solutions**: Create fully branded applications with custom logos, themes, and domain names +- **Revenue Generation**: Earn passive income through transaction fees, swap fees, and e-commerce sales +- **Modular Architecture**: Mix and match different DeFi components as needed +- **Real-Time Preview**: See changes instantly with live preview functionality +- **Mobile Responsive**: All applications are automatically optimized for mobile devices +- **Open Source**: Publicly available repository for external collaboration and contributions + +## Integrated DexKit Products + +- **DexNFTMarket**: Marketplace for selling NFTs with full customization +- **DexContracts**: Token and NFT collection generator with generative images +- **DexNFTStore**: Online store for NFTs with complete e-commerce functionality +- **DexSwap**: Cryptocurrency swap tool with advanced routing +- **DexExchangePro**: Decentralized cryptocurrency exchange platform +- **DexWallet**: Crypto wallet for managing tokens and NFTs (fully customizable) + +## Web3 Widgets + +- **Universal Embedding**: Works with any platform or website, coded in any language +- **Wide Range of Components**: Supports swap widgets, DEX integrations, NFT minting, token drops, and more +- **Zero Friction**: No need to migrate or rebuild your existing platform +- **Revenue Generation**: Earn fees from swaps or use widgets for token sales +- **Customizable Look & Feel**: Change colors, themes, and layouts to match your branding +- **Multi-Network Support**: Choose from Ethereum, Polygon, Binance Chain, Avalanche, Base, Arbitrum, Optimism, and more + +## E-Commerce + +- **Crypto Marketplace**: Create your own crypto marketplace and receive payments in stablecoins +- **Real-World Applications**: Connect digital with tangible goods and services +- **Stablecoin Payments**: Receive payments in USDC, USDT, and other stable currencies +- **Product Management**: Complete inventory control with categories and collections +- **Checkout System**: Create and share product payments with customers +- **Multi-Network Support**: Accept payments on Ethereum, Polygon, Binance Chain, Arbitrum, Avalanche, Optimism, and Base + +## Smart Contract Integration + +- **Thirdweb Contracts**: Seamless integration with Thirdweb's open-source smart contracts including Edition Drop, Token Drop, NFT Drop, Marketplace, StakeERC721, Pack, SignatureDrop, Split, Edition, Token, NFT Collection, Vote, StakeERC20, Multiwrap, and Airdrop contracts +- **DexKit Contracts**: Integration with DexKit's enhanced contracts including DropAllowanceERC20 for flexible token distributions +- **Reusable Components**: Abstracted components make interacting with complex smart contracts straightforward + +## Supported Networks + +- Ethereum (Mainnet & Testnets) +- BNB Smart Chain +- Polygon +- Avalanche +- Fantom +- Optimism +- Arbitrum +- Base +- And more... + +## Documentation + +- [Getting Started Guide](https://docs.dexkit.com/defi-products/): Complete setup and configuration guide +- [Tutorials](https://www.youtube.com/@DexKit): Step-by-step tutorials and examples + +## Community & Support + +- [Discord Community](https://discord.com/invite/dexkit-official-943552525217435649): Real-time support and discussions +- [Developer GitHub](https://github.com/dexkit/): Open source contributions +- [YouTube Channel](https://www.youtube.com/@DexKit): Video tutorials and demos +- [Blog](https://dexkit.com/blog): Latest updates, case studies, and industry insights`, + + es: `# DexAppBuilder + +> DexAppBuilder es un CMS crypto integral (Sistema de Gestión de Contenidos) que te permite crear y lanzar tus propias DApps con marca propia en cuestión de minutos. No es un constructor de aplicaciones promedio - es una plataforma de negocios Web3 completa con propiedad garantizada y poderosas oportunidades de monetización. + +DexAppBuilder empodera tu creación de DApps y lanza tu negocio Web3 con propiedad garantizada. Lo que distingue a DexAppBuilder es su capacidad única de integrar varias características utilizadas en otros productos DexKit y ponerlas a tu disposición para colocar en tu DApp, creando un ecosistema crypto integral. + +## Características Principales + +- **Plataforma CMS Crypto**: Sistema de Gestión de Contenidos completo para aplicaciones Web3 +- **Interfaz No-Code/Low-Code**: Constructor intuitivo de arrastrar y soltar con componentes visuales +- **Soporte Multi-Cadena**: Despliega en 8+ redes blockchain principales incluyendo Ethereum, Polygon, Binance Chain, Avalanche, Base, Arbitrum, Optimism, y más +- **Soluciones White-Label**: Crea aplicaciones completamente personalizadas con logos, temas y nombres de dominio propios +- **Generación de Ingresos**: Gana ingresos pasivos a través de comisiones de transacciones, comisiones de swap y ventas de e-commerce +- **Arquitectura Modular**: Combina diferentes componentes DeFi según sea necesario +- **Vista Previa en Tiempo Real**: Ve los cambios instantáneamente con funcionalidad de vista previa en vivo +- **Responsive Móvil**: Todas las aplicaciones se optimizan automáticamente para dispositivos móviles +- **Open Source**: Repositorio públicamente disponible para colaboración externa y contribuciones + +## Productos DexKit Integrados + +- **DexNFTMarket**: Marketplace para vender NFTs con personalización completa +- **DexContracts**: Generador de tokens y colecciones NFT con imágenes generativas +- **DexNFTStore**: Tienda online para NFTs con funcionalidad completa de e-commerce +- **DexSwap**: Herramienta de intercambio de criptomonedas con enrutamiento avanzado +- **DexExchangePro**: Plataforma de intercambio descentralizado de criptomonedas +- **DexWallet**: Wallet crypto para gestionar tokens y NFTs (totalmente personalizable) + +## Widgets Web3 + +- **Incrustación Universal**: Funciona con cualquier plataforma o sitio web, codificado en cualquier lenguaje +- **Amplia Gama de Componentes**: Soporta widgets de swap, integraciones DEX, acuñación NFT, drops de tokens y más +- **Cero Fricción**: No necesitas migrar o reconstruir tu plataforma existente +- **Generación de Ingresos**: Gana comisiones de swaps o usa widgets para ventas de tokens +- **Apariencia Personalizable**: Cambia colores, temas y diseños para que coincidan con tu marca +- **Soporte Multi-Red**: Elige entre Ethereum, Polygon, Binance Chain, Avalanche, Base, Arbitrum, Optimism, y más + +## E-Commerce + +- **Marketplace Crypto**: Crea tu propio marketplace crypto y recibe pagos en stablecoins +- **Aplicaciones del Mundo Real**: Conecta lo digital con bienes y servicios tangibles +- **Pagos en Stablecoins**: Recibe pagos en USDC, USDT y otras monedas estables +- **Gestión de Productos**: Control completo de inventario con categorías y colecciones +- **Sistema de Checkout**: Crea y comparte pagos de productos con clientes +- **Soporte Multi-Red**: Acepta pagos en Ethereum, Polygon, Binance Chain, Arbitrum, Avalanche, Optimism y Base + +## Integración de Contratos Inteligentes + +- **Contratos Thirdweb**: Integración perfecta con contratos inteligentes open source de Thirdweb incluyendo Edition Drop, Token Drop, NFT Drop, Marketplace, StakeERC721, Pack, SignatureDrop, Split, Edition, Token, NFT Collection, Vote, StakeERC20, Multiwrap y contratos Airdrop +- **Contratos DexKit**: Integración con contratos mejorados de DexKit incluyendo DropAllowanceERC20 para distribuciones flexibles de tokens +- **Componentes Reutilizables**: Los componentes abstractos hacen que la interacción con contratos inteligentes complejos sea sencilla + +## Redes Soportadas + +- Ethereum (Mainnet y Testnets) +- BNB Smart Chain +- Polygon +- Avalanche +- Fantom +- Optimism +- Arbitrum +- Base +- Y más... + +## Documentación + +- [Guía de Inicio](https://docs.dexkit.com/defi-products/): Guía completa de configuración e instalación +- [Tutoriales](https://www.youtube.com/@DexKit): Tutoriales paso a paso y ejemplos + +## Comunidad y Soporte + +- [Comunidad Discord](https://discord.com/invite/dexkit-official-943552525217435649): Soporte en tiempo real y discusiones +- [GitHub de Desarrolladores](https://github.com/dexkit/): Contribuciones open source +- [Canal YouTube](https://www.youtube.com/@DexKit): Tutoriales en video y demos +- [Blog](https://dexkit.com/blog): Últimas actualizaciones, casos de estudio e insights de la industria`, + + pt: `# DexAppBuilder + +> DexAppBuilder é um CMS crypto abrangente (Sistema de Gerenciamento de Conteúdo) que permite criar e lançar suas próprias DApps com marca própria em questão de minutos. Não é um construtor de aplicações comum - é uma plataforma de negócios Web3 completa com propriedade garantida e poderosas oportunidades de monetização. + +DexAppBuilder capacita sua criação de DApps e lança seu negócio Web3 com propriedade garantida. O que distingue o DexAppBuilder é sua capacidade única de integrar várias características utilizadas em outros produtos DexKit e disponibilizá-las para você colocar em sua DApp, criando um ecossistema crypto abrangente. + +## Características Principais + +- **Plataforma CMS Crypto**: Sistema de Gerenciamento de Conteúdo completo para aplicações Web3 +- **Interface No-Code/Low-Code**: Construtor intuitivo de arrastar e soltar com componentes visuais +- **Suporte Multi-Rede**: Implante em 8+ redes blockchain principais incluindo Ethereum, Polygon, Binance Chain, Avalanche, Base, Arbitrum, Optimism, e mais +- **Soluções White-Label**: Crie aplicações completamente personalizadas com logos, temas e nomes de domínio próprios +- **Geração de Receita**: Ganhe receita passiva através de taxas de transação, taxas de swap e vendas de e-commerce +- **Arquitetura Modular**: Combine diferentes componentes DeFi conforme necessário +- **Preview em Tempo Real**: Veja mudanças instantaneamente com funcionalidade de preview ao vivo +- **Responsivo Móvel**: Todas as aplicações são automaticamente otimizadas para dispositivos móveis +- **Open Source**: Repositório publicamente disponível para colaboração externa e contribuições + +## Produtos DexKit Integrados + +- **DexNFTMarket**: Marketplace para vender NFTs com personalização completa +- **DexContracts**: Gerador de tokens e coleções NFT com imagens generativas +- **DexNFTStore**: Loja online para NFTs com funcionalidade completa de e-commerce +- **DexSwap**: Ferramenta de intercâmbio de criptomoedas com roteamento avançado +- **DexExchangePro**: Plataforma de intercâmbio descentralizado de criptomoedas +- **DexWallet**: Wallet crypto para gerenciar tokens e NFTs (totalmente personalizável) + +## Widgets Web3 + +- **Incorporaçao Universal**: Funciona com qualquer plataforma ou site, codificado em qualquer linguagem +- **Ampla Gama de Componentes**: Suporta widgets de swap, integrações DEX, cunhagem NFT, drops de tokens e mais +- **Zero Fricção**: Não precisa migrar ou reconstruir sua plataforma existente +- **Geração de Receita**: Ganhe taxas de swaps ou use widgets para vendas de tokens +- **Aparência Personalizável**: Mude cores, temas e layouts para combinar com sua marca +- **Suporte Multi-Rede**: Escolha entre Ethereum, Polygon, Binance Chain, Avalanche, Base, Arbitrum, Optimism, e mais + +## E-Commerce + +- **Marketplace Crypto**: Crie seu próprio marketplace crypto e receba pagamentos em stablecoins +- **Aplicações do Mundo Real**: Conecte o digital com bens e serviços tangíveis +- **Pagamentos em Stablecoins**: Receba pagamentos em USDC, USDT e outras moedas estáveis +- **Gerenciamento de Produtos**: Controle completo de inventário com categorias e coleções +- **Sistema de Checkout**: Crie e compartilhe pagamentos de produtos com clientes +- **Suporte Multi-Rede**: Aceite pagamentos em Ethereum, Polygon, Binance Chain, Arbitrum, Avalanche, Optimism e Base + +## Integração de Contratos Inteligentes + +- **Contratos Thirdweb**: Integração perfeita com contratos inteligentes open source do Thirdweb incluindo Edition Drop, Token Drop, NFT Drop, Marketplace, StakeERC721, Pack, SignatureDrop, Split, Edition, Token, NFT Collection, Vote, StakeERC20, Multiwrap e contratos Airdrop +- **Contratos DexKit**: Integração com contratos aprimorados do DexKit incluindo DropAllowanceERC20 para distribuições flexíveis de tokens +- **Componentes Reutilizáveis**: Componentes abstratos tornam a interação com contratos inteligentes complexos simples + +## Redes Suportadas + +- Ethereum (Mainnet e Testnets) +- BNB Smart Chain +- Polygon +- Avalanche +- Fantom +- Optimism +- Arbitrum +- Base +- E mais... + +## Documentação + +- [Guia de Início](https://docs.dexkit.com/defi-products/): Guia completo de configuração e instalação +- [Tutoriais](https://www.youtube.com/@DexKit): Tutoriais passo a passo e exemplos + +## Comunidade e Suporte + +- [Comunidade Discord](https://discord.com/invite/dexkit-official-943552525217435649): Suporte em tempo real e discussões +- [GitHub de Desenvolvedores](https://github.com/dexkit/): Contribuições open source +- [Canal YouTube](https://www.youtube.com/@DexKit): Tutoriais em vídeo e demos +- [Blog](https://dexkit.com/blog): Últimas atualizações, casos de estudo e insights da indústria`, + }; + + return contents[language] || contents.en; +} diff --git a/apps/dexappbuilder/src/components/AppMarketplaceProvider.tsx b/apps/dexappbuilder/src/components/AppMarketplaceProvider.tsx index f9e36e725..8a77cc02b 100644 --- a/apps/dexappbuilder/src/components/AppMarketplaceProvider.tsx +++ b/apps/dexappbuilder/src/components/AppMarketplaceProvider.tsx @@ -64,7 +64,7 @@ export function AppMarketplaceProvider({ useEffect(() => { if (router.query.ref) { - setRef(router.query.ref as string); + (setRef as any)(router.query.ref as string); } }, [router.query.ref]); diff --git a/apps/dexappbuilder/src/components/CopyIconButton.tsx b/apps/dexappbuilder/src/components/CopyIconButton.tsx index 946fc2391..830d5b704 100644 --- a/apps/dexappbuilder/src/components/CopyIconButton.tsx +++ b/apps/dexappbuilder/src/components/CopyIconButton.tsx @@ -1,5 +1,5 @@ import { IconButton, IconButtonProps, Tooltip, useTheme } from '@mui/material'; -import { MouseEvent, useState } from 'react'; +import { useState } from 'react'; interface Props { iconButtonProps: IconButtonProps; @@ -17,7 +17,7 @@ export function CopyIconButton(props: Props) { const [currentTooltip, setCurrentTooltip] = useState(tooltip || ''); - const handleClick = (e: MouseEvent) => { + const handleClick = (e: React.MouseEvent) => { onClick!(e); setCurrentTooltip(activeTooltip || ''); setTimeout(() => { diff --git a/apps/dexappbuilder/src/components/DatetimeFromNowSpan.tsx b/apps/dexappbuilder/src/components/DatetimeFromNowSpan.tsx index 19f3e02e6..f34a442bc 100644 --- a/apps/dexappbuilder/src/components/DatetimeFromNowSpan.tsx +++ b/apps/dexappbuilder/src/components/DatetimeFromNowSpan.tsx @@ -1,5 +1,5 @@ import moment from 'moment'; -import { memo } from 'react'; +import React from 'react'; export function DatetimeFromNowSpan({ value, @@ -10,4 +10,4 @@ export function DatetimeFromNowSpan({ return {moment(new Date(value)).fromNow()}; } -export default memo(DatetimeFromNowSpan); +export default DatetimeFromNowSpan; diff --git a/apps/dexappbuilder/src/components/IconPickerField.tsx b/apps/dexappbuilder/src/components/IconPickerField.tsx index a0da12f90..81ebfc034 100644 --- a/apps/dexappbuilder/src/components/IconPickerField.tsx +++ b/apps/dexappbuilder/src/components/IconPickerField.tsx @@ -43,7 +43,7 @@ export const IconPickerField: React.FC = ({ fullWidth={fullWidth} label={label} value={value} - onChange={(e) => onChange(e.target.value)} + onChange={(e: any) => onChange(e.target.value)} placeholder={placeholder} error={error} helperText={helperText} diff --git a/apps/dexappbuilder/src/components/layouts/PreviewAuthLayout.tsx b/apps/dexappbuilder/src/components/layouts/PreviewAuthLayout.tsx index 3bc8bd5d6..524b7f977 100644 --- a/apps/dexappbuilder/src/components/layouts/PreviewAuthLayout.tsx +++ b/apps/dexappbuilder/src/components/layouts/PreviewAuthLayout.tsx @@ -9,7 +9,7 @@ import { useTheme } from '@mui/material/styles'; import { AppMarketplaceProvider } from '../AppMarketplaceProvider'; interface Props { - children?: React.ReactNode | React.ReactNode[]; + children?: any; noSsr?: boolean; disablePadding?: boolean; disableAutoLogin?: boolean; @@ -21,7 +21,7 @@ interface Props { * Use Auth Main Layout when you need authentication feature * @returns */ -const PreviewAuthLayout: React.FC = ({ +const PreviewAuthLayout: any = ({ children, noSsr, disablePadding, @@ -29,7 +29,7 @@ const PreviewAuthLayout: React.FC = ({ disableLayout, appConfig, isPreview = true, -}) => { +}: Props) => { const theme = useTheme(); if (!disableLayout) { diff --git a/apps/dexappbuilder/src/createEmotionCache.ts b/apps/dexappbuilder/src/createEmotionCache.ts index 4bc81ecfe..976fd2a2a 100644 --- a/apps/dexappbuilder/src/createEmotionCache.ts +++ b/apps/dexappbuilder/src/createEmotionCache.ts @@ -4,4 +4,4 @@ import createCache from '@emotion/cache'; // It allows developers to easily override MUI styles with other styling solutions, like CSS modules. export default function createEmotionCache() { return createCache({ key: 'css', prepend: true }); -} +} \ No newline at end of file diff --git a/apps/dexappbuilder/src/getTheme.ts b/apps/dexappbuilder/src/getTheme.ts new file mode 100644 index 000000000..ea87d5566 --- /dev/null +++ b/apps/dexappbuilder/src/getTheme.ts @@ -0,0 +1,24 @@ +import { CssVarsTheme, Theme } from '@mui/material/styles'; + +import boredApeTheme from '@dexkit/dexappbuilder-viewer/themes/boredape'; +import cryptoPunkTheme from '@dexkit/dexappbuilder-viewer/themes/cryptopunk'; +import customTheme from '@dexkit/dexappbuilder-viewer/themes/custom'; +import defaultTheme from '@dexkit/dexappbuilder-viewer/themes/index'; +import kittygotchiTheme from '@dexkit/dexappbuilder-viewer/themes/kittygotchi'; + +type ThemeEntry = { + theme: Omit & CssVarsTheme; + name: string +}; + +export const themes: { [key: string]: ThemeEntry } = { + 'default-theme': { theme: defaultTheme as any, name: 'Default' }, + kittygotchi: { theme: kittygotchiTheme as any, name: 'Kittygotchi' }, + cryptopunk: { theme: cryptoPunkTheme as any, name: 'CryptoPunk' }, + boredape: { theme: boredApeTheme as any, name: 'BoredApe' }, + custom: { theme: customTheme as any, name: 'Custom' }, +}; + +export function getTheme({ name }: { name: string }) { + return themes[name] +} diff --git a/apps/dexappbuilder/src/hooks/blockchain.ts b/apps/dexappbuilder/src/hooks/blockchain.ts index 5f72157c1..5bbcc0055 100644 --- a/apps/dexappbuilder/src/hooks/blockchain.ts +++ b/apps/dexappbuilder/src/hooks/blockchain.ts @@ -51,7 +51,7 @@ export function useBlockNumber() { export function useSwitchNetwork() { const setSwitchOpen = useUpdateAtom(switchNetworkOpenAtom); - const setSwitchChainId = useUpdateAtom(switchNetworkChainIdAtom); + const setSwitchChainId = useUpdateAtom(switchNetworkChainIdAtom as any); const openDialog = useCallback((chainId: number) => { setSwitchOpen(true); diff --git a/apps/dexappbuilder/src/hooks/swap.ts b/apps/dexappbuilder/src/hooks/swap.ts index 8a29d3356..6b1911ab2 100644 --- a/apps/dexappbuilder/src/hooks/swap.ts +++ b/apps/dexappbuilder/src/hooks/swap.ts @@ -46,9 +46,9 @@ export function useSwapState() { const featuredTokens = useMemo(() => { return config.tokens - ?.map((t) => t.tokens) + ?.map((t: any) => t.tokens) .flat() - .map((t) => { + .map((t: any) => { return { chainId: t.chainId as number, address: t.address, diff --git a/apps/dexappbuilder/src/modules/checkout/components/CheckoutTokenAutocomplete.tsx b/apps/dexappbuilder/src/modules/checkout/components/CheckoutTokenAutocomplete.tsx index dd0c11211..c5e08bab7 100644 --- a/apps/dexappbuilder/src/modules/checkout/components/CheckoutTokenAutocomplete.tsx +++ b/apps/dexappbuilder/src/modules/checkout/components/CheckoutTokenAutocomplete.tsx @@ -6,7 +6,7 @@ import React from 'react'; import { FormattedMessage } from 'react-intl'; export interface CheckoutTokenAutocompleteProps { - label?: string | React.ReactNode; + label?: string | any; chainId?: number; data?: any; disabled?: boolean; diff --git a/apps/dexappbuilder/src/modules/commerce/components/CategoryForm.tsx b/apps/dexappbuilder/src/modules/commerce/components/CategoryForm.tsx index 08ecdeae4..840a47699 100644 --- a/apps/dexappbuilder/src/modules/commerce/components/CategoryForm.tsx +++ b/apps/dexappbuilder/src/modules/commerce/components/CategoryForm.tsx @@ -14,7 +14,7 @@ export default function CategoryForm({ disabled }: CategoryFormProps) { return ( - + } component={TextField} @@ -23,10 +23,10 @@ export default function CategoryForm({ disabled }: CategoryFormProps) { disabled={disabled} /> - + - +
diff --git a/apps/dexappbuilder/src/modules/commerce/components/ProductTokenAutocomplete.tsx b/apps/dexappbuilder/src/modules/commerce/components/ProductTokenAutocomplete.tsx index 9e5c67117..89e9da24d 100644 --- a/apps/dexappbuilder/src/modules/commerce/components/ProductTokenAutocomplete.tsx +++ b/apps/dexappbuilder/src/modules/commerce/components/ProductTokenAutocomplete.tsx @@ -33,7 +33,7 @@ export default function ProductTokenAutocomplete({ const value = useMemo(() => { return ( tokens.find( - (t) => + (t: any) => isAddressEqual(t.address, propsField.value) && t.chainId === props.value.chainId, ) ?? null diff --git a/apps/dexappbuilder/src/modules/commerce/components/ProductsTable.tsx b/apps/dexappbuilder/src/modules/commerce/components/ProductsTable.tsx index a95c000dc..1c1b1846a 100644 --- a/apps/dexappbuilder/src/modules/commerce/components/ProductsTable.tsx +++ b/apps/dexappbuilder/src/modules/commerce/components/ProductsTable.tsx @@ -16,7 +16,7 @@ import { GridSortModel, } from '@mui/x-data-grid'; import Decimal from 'decimal.js'; -import { MouseEvent, useCallback, useMemo, useState } from 'react'; +import { useCallback, useMemo, useState } from 'react'; import { FormattedMessage, FormattedNumber, useIntl } from 'react-intl'; import useProductList from '../hooks/useProductList'; import { ProductFormType } from '../types'; @@ -103,7 +103,7 @@ export default function ProductsTable({ }: ProducstTableProps) { }; const handleShowPreview = useCallback((id: string) => { - return (e: MouseEvent) => { + return (e: React.MouseEvent) => { e.stopPropagation(); setSelectedId(id); setShowPreview(true); @@ -111,7 +111,7 @@ export default function ProductsTable({ }: ProducstTableProps) { }, []); const handleDuplicate = useCallback((id: string) => { - return (e: MouseEvent) => { + return (e: React.MouseEvent) => { e.stopPropagation(); setSelectedId(id); setShowConfirmDuplicate(true); @@ -119,7 +119,7 @@ export default function ProductsTable({ }: ProducstTableProps) { }, []); const handleDelete = useCallback((id: string, name: string) => { - return (e: MouseEvent) => { + return (e: React.MouseEvent) => { e.stopPropagation(); setSelectedId(id); setShowConfirm(true); @@ -434,7 +434,7 @@ export default function ProductsTable({ }: ProducstTableProps) { id: 'search.products', defaultMessage: 'Search products', }), - footerTotalVisibleRows: (visibleCount, totalCount) => ( + footerTotalVisibleRows: (visibleCount: any, totalCount: any) => ( { + onRowClick={({ row }: any, e: any) => { e.stopPropagation(); router.push(`/u/account/commerce/products/${row.id}`); @@ -475,7 +475,7 @@ export default function ProductsTable({ }: ProducstTableProps) { showQuickFilter: true, quickFilterProps: { value: query, - onChange: (e) => { + onChange: (e: any) => { setQuery(e.target.value); }, }, diff --git a/apps/dexappbuilder/src/modules/commerce/components/TokenDataContainer.tsx b/apps/dexappbuilder/src/modules/commerce/components/TokenDataContainer.tsx index e645a5905..b62ceb15c 100644 --- a/apps/dexappbuilder/src/modules/commerce/components/TokenDataContainer.tsx +++ b/apps/dexappbuilder/src/modules/commerce/components/TokenDataContainer.tsx @@ -9,7 +9,7 @@ export interface TokenDataContainerProps { decimals?: number; name?: string; symbol?: string; - }) => React.ReactNode; + }) => any; } export default function TokenDataContainer({ contractAddress, diff --git a/apps/dexappbuilder/src/modules/commerce/components/dialogs/AddProductsDialog.tsx b/apps/dexappbuilder/src/modules/commerce/components/dialogs/AddProductsDialog.tsx index d9eb75b89..feb66a76d 100644 --- a/apps/dexappbuilder/src/modules/commerce/components/dialogs/AddProductsDialog.tsx +++ b/apps/dexappbuilder/src/modules/commerce/components/dialogs/AddProductsDialog.tsx @@ -41,9 +41,9 @@ export default function AddProductsDialog({ (id: string) => { return () => { if (isSelected(id)) { - setSection((selection) => selection.filter((s) => s !== id)); + setSection((selection: any) => selection.filter((s: any) => s !== id)); } else { - setSection((selection) => [...selection, id]); + setSection((selection: any) => [...selection, id]); } }; }, diff --git a/apps/dexappbuilder/src/modules/commerce/components/layout/DashboardLayout.tsx b/apps/dexappbuilder/src/modules/commerce/components/layout/DashboardLayout.tsx index 2840ac842..ccc332a23 100644 --- a/apps/dexappbuilder/src/modules/commerce/components/layout/DashboardLayout.tsx +++ b/apps/dexappbuilder/src/modules/commerce/components/layout/DashboardLayout.tsx @@ -46,7 +46,7 @@ import { ConnectButton } from '@dexkit/ui/components/ConnectButton'; import ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout'; export interface DashboardLayoutProps { - children: React.ReactNode; + children: any; page?: string; } @@ -55,7 +55,7 @@ function RequireLogin({ children, }: { page: string; - children: React.ReactNode; + children: any; }) { const { isActive } = useWeb3React(); @@ -68,14 +68,18 @@ function RequireLogin({ ); const handleToggleMenu = () => { - setOpen((value) => !value); + setOpen((value: boolean) => !value); }; if (isActive) { return ( - + - + {children} @@ -293,7 +301,7 @@ export default function DashboardLayout({ - + {children} diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/category/useCreateCategory.ts b/apps/dexappbuilder/src/modules/commerce/hooks/category/useCreateCategory.ts index 5bc686eb7..e6ddd0d57 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/category/useCreateCategory.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/category/useCreateCategory.ts @@ -11,6 +11,6 @@ export default function useCreateCategory() { throw new Error('no instance'); } - return (await instance?.post('/product-category/', data)).data; + return (await (instance as any)?.post('/product-category/', data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/category/useUpdateCategory.ts b/apps/dexappbuilder/src/modules/commerce/hooks/category/useUpdateCategory.ts index 222c2a58c..6757830cd 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/category/useUpdateCategory.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/category/useUpdateCategory.ts @@ -11,6 +11,6 @@ export default function useUpdateCategory() { throw new Error('no instance'); } - return (await instance?.put(`/product-category/${data?.id}`, data)).data; + return (await (instance as any)?.put(`/product-category/${data?.id}`, data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckout.ts b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckout.ts index 408566f9e..cf1795186 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckout.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckout.ts @@ -18,7 +18,7 @@ export default function useCheckout(params: { id?: string }) { return null; } - return (await instance.get(`/checkouts/${params.id}`)) + return (await (instance as any).get(`/checkouts/${params.id}`)) .data; }, { diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckoutList.ts b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckoutList.ts index 081fb0588..3c0b7db32 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckoutList.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckoutList.ts @@ -29,7 +29,7 @@ export default function useCheckoutList(params: { delete newParams['sortModel']; return ( - await instance.get/*<{ + await (instance as any).get/*<{ items: CheckoutFormType[]; totalItems: number; totalPages: number; diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckoutPay.tsx b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckoutPay.tsx index b3d3338f1..4c1dba3a8 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckoutPay.tsx +++ b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCheckoutPay.tsx @@ -39,7 +39,7 @@ export default function useCheckoutPay() { params.senderEmail = senderEmail; } - return (await instance.post(/**/ `/checkouts/${id}/pay`, params)) + return (await (instance as any).post(/**/ `/checkouts/${id}/pay`, params)) .data; }, ); diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCreateCheckout.ts b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCreateCheckout.ts index 708aef6dd..cb5d471af 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCreateCheckout.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useCreateCheckout.ts @@ -11,6 +11,6 @@ export default function useCreateCheckout() { throw new Error('no instance'); } - return (await instance?.post('/checkouts/', data)).data; + return (await (instance as any)?.post('/checkouts/', data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useDeleteCheckout.ts b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useDeleteCheckout.ts index ff4f335c1..62ae3ff76 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useDeleteCheckout.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useDeleteCheckout.ts @@ -10,6 +10,6 @@ export default function useDeleteCheckout() { throw new Error('no instance'); } - return (await instance?.delete(`/checkouts/${data.id}`)).data; + return (await (instance as any)?.delete(`/checkouts/${data.id}`)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useUpdateCheckout.ts b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useUpdateCheckout.ts index a0e1f7c58..c11c8bdc8 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useUpdateCheckout.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useUpdateCheckout.ts @@ -11,6 +11,6 @@ export default function useUpdateCheckout() { throw new Error('no instance'); } - return (await instance?.put(`/checkouts/${data?.id}`, data)).data; + return (await (instance as any)?.put(`/checkouts/${data?.id}`, data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useUserCheckout.ts b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useUserCheckout.ts index 76196cd5c..4bbb7592c 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useUserCheckout.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/checkout/useUserCheckout.ts @@ -14,7 +14,7 @@ export default function useUserCheckout({ id }: { id?: string }) { throw new Error('no instance'); } - const result = (await instance?.get/**/(`/checkouts/user/${id}`)) + const result = (await (instance as any)?.get/**/(`/checkouts/user/${id}`)) .data; return result; diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useCreateOrder.ts b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useCreateOrder.ts index ddf52923b..ecd99e0bc 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useCreateOrder.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useCreateOrder.ts @@ -11,6 +11,6 @@ export default function useCreateOrder() { throw new Error('no instance'); } - return (await instance?.post('/orders/', data)).data; + return (await (instance as any)?.post('/orders/', data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useDeleteOrder.ts b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useDeleteOrder.ts index 4d06382f4..c38680a0a 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useDeleteOrder.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useDeleteOrder.ts @@ -10,6 +10,6 @@ export default function useDeleteOrder() { throw new Error('no instance'); } - return (await instance?.delete(`/orders/${data.id}`)).data; + return (await (instance as any)?.delete(`/orders/${data.id}`)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useOrderItems.ts b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useOrderItems.ts index 8aaf69c88..57855e0b7 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useOrderItems.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useOrderItems.ts @@ -18,7 +18,7 @@ export default function useOrderItems(params: { id?: string }) { return null; } - return (await instance.get/**/(`/orders/${params.id}/items`)) + return (await (instance as any).get/**/(`/orders/${params.id}/items`)) .data; }, { diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useOrdersList.ts b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useOrdersList.ts index 6d855a432..248d7b528 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useOrdersList.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useOrdersList.ts @@ -20,7 +20,7 @@ export default function useOrderList(params: { } return ( - await instance.get/*<{ + await (instance as any).get/*<{ items: Order[]; totalItems: number; totalPages: number; diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUpdateOrder.ts b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUpdateOrder.ts index 4c0187d65..468204389 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUpdateOrder.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUpdateOrder.ts @@ -11,6 +11,6 @@ export default function useUpdateOrder() { throw new Error('no instance'); } - return (await instance?.put(`/orders/${data?.id}`, data)).data; + return (await (instance as any)?.put(`/orders/${data?.id}`, data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrder.ts b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrder.ts index b77d181ac..e50a68d07 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrder.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrder.ts @@ -18,7 +18,7 @@ export default function useUserOrder(params: { id?: string }) { return null; } - return (await instance.get/**/(`/orders/user-orders/${params.id}`)) + return (await (instance as any).get/**/(`/orders/user-orders/${params.id}`)) .data; }, { diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrderItems.ts b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrderItems.ts index 9871fc5c2..164c63086 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrderItems.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrderItems.ts @@ -17,7 +17,7 @@ export default function useUserOrderItems(params: { id?: string }) { } return ( - await instance.get/**/(`/orders/user-orders/${params.id}/items`) + await (instance as any).get/**/(`/orders/user-orders/${params.id}/items`) ).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrdersList.ts b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrdersList.ts index 87789c1c2..2c6ccd66a 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrdersList.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/orders/useUserOrdersList.ts @@ -21,7 +21,7 @@ export default function useUserOrderList(params: { } return ( - await instance.get/*<{ + await (instance as any).get/*<{ items: Order[]; totalItems: number; totalPages: number; diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/settings/useCheckoutNetworks.ts b/apps/dexappbuilder/src/modules/commerce/hooks/settings/useCheckoutNetworks.ts index 7a1e8fc47..1bc194fef 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/settings/useCheckoutNetworks.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/settings/useCheckoutNetworks.ts @@ -21,7 +21,7 @@ export default function useCheckoutNetworks() { } return ( - await instance.get/*<{ chainId: number }[]>*/('/checkouts-networks', { + await (instance as any).get/*<{ chainId: number }[]>*/('/checkouts-networks', { params: { owner: data?.owner }, }) ).data; diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/settings/useCheckoutSettings.ts b/apps/dexappbuilder/src/modules/commerce/hooks/settings/useCheckoutSettings.ts index 8a307bad5..b97a59330 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/settings/useCheckoutSettings.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/settings/useCheckoutSettings.ts @@ -15,7 +15,7 @@ export default function useCheckoutSettings() { } const result = ( - await instance.get('/checkouts/settings') + await (instance as any).get('/checkouts/settings') ).data; return result; diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/settings/useUpdateCheckoutNetworks.ts b/apps/dexappbuilder/src/modules/commerce/hooks/settings/useUpdateCheckoutNetworks.ts index 54a539d92..1542ef11e 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/settings/useUpdateCheckoutNetworks.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/settings/useUpdateCheckoutNetworks.ts @@ -11,6 +11,6 @@ export default function useUpdateCheckoutNetworks() { throw new Error('no instance'); } - return (await instance.put('/checkouts-networks', data)).data; + return (await (instance as any).put('/checkouts-networks', data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/settings/useUpdateCheckoutSettings.ts b/apps/dexappbuilder/src/modules/commerce/hooks/settings/useUpdateCheckoutSettings.ts index 317bb091b..7d0e4c19c 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/settings/useUpdateCheckoutSettings.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/settings/useUpdateCheckoutSettings.ts @@ -11,6 +11,6 @@ export default function useUpdateCheckoutSettings() { throw new Error('no instance'); } - return (await instance.put('/checkouts/settings', data)).data; + return (await (instance as any).put('/checkouts/settings', data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useCancelOrder.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useCancelOrder.ts index 79a023b55..2333f9eb1 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useCancelOrder.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useCancelOrder.ts @@ -10,6 +10,6 @@ export default function useCancelOrder() { throw new Error('no instance'); } - return (await instance.post(`/orders/${params.id}/cancel`)).data; + return (await (instance as any).post(`/orders/${params.id}/cancel`)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useCartState.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useCartState.ts index c82afa943..96bfff577 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useCartState.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useCartState.ts @@ -1,4 +1,4 @@ -import { useCallback, useReducer } from 'react'; +import { useCallback, useState } from 'react'; export const ADD_ITEM = 'ADD_ITEM'; export const REMOVE_ITEM = 'REMOVE_ITEM'; @@ -99,7 +99,7 @@ export interface CartStateParams { } export default function useCartState({ onAction }: CartStateParams) { - const [state, dispatch] = useReducer(reducer, { + const [state, setState] = useState({ items: [ { description: 'NFT Art', @@ -110,6 +110,10 @@ export default function useCartState({ onAction }: CartStateParams) { ] as CartItem[], }); + const dispatch = useCallback((action: Action) => { + setState((prevState: any) => reducer(prevState, action)); + }, []); + const handleAction = useCallback( async (action: Action) => { await onAction(action, async (nextAction: Action) => { diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useCategory.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useCategory.ts index f7837c148..8b27b1686 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useCategory.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useCategory.ts @@ -19,7 +19,7 @@ export default function useCategory(params: { id?: string }) { } return ( - await instance.get(`/product-category/${params.id}`) + await (instance as any).get(`/product-category/${params.id}`) ).data; }, { diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useCategoryList.tsx b/apps/dexappbuilder/src/modules/commerce/hooks/useCategoryList.tsx index da7c8b320..dca40b570 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useCategoryList.tsx +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useCategoryList.tsx @@ -28,7 +28,7 @@ export default function useCategoryList(params: { delete newParams['sortModel']; - return (await instance.get('/product-category', { params: newParams })) + return (await (instance as any).get('/product-category', { params: newParams })) .data; }, { diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useCreateProduct.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useCreateProduct.ts index ab38287d4..96e236d13 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useCreateProduct.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useCreateProduct.ts @@ -11,6 +11,6 @@ export default function useCreateProduct() { throw new Error('no instance'); } - return (await instance?.post('/products/', data)).data; + return (await (instance as any)?.post('/products/', data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useDeleteProduct.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useDeleteProduct.ts index 8072212cf..39e8edd64 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useDeleteProduct.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useDeleteProduct.ts @@ -10,6 +10,6 @@ export default function useDeleteProduct() { throw new Error('no instance'); } - return (await instance?.delete(`/products/${data.id}`)).data; + return (await (instance as any)?.delete(`/products/${data.id}`)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useDuplicateProduct.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useDuplicateProduct.ts index e8d45fc63..cfdd59499 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useDuplicateProduct.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useDuplicateProduct.ts @@ -10,6 +10,6 @@ export default function useDuplicateProduct() { throw new Error('no instance'); } - return (await instance?.post(`/products/${data.id}/duplicate`)).data; + return (await (instance as any)?.post(`/products/${data.id}/duplicate`)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useFinalizeOrder.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useFinalizeOrder.ts index fe75fb7bc..6103d1809 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useFinalizeOrder.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useFinalizeOrder.ts @@ -10,6 +10,6 @@ export default function useFinalizeOrder() { throw new Error('no instance'); } - return (await instance.post(`/orders/${params.id}/finalize`)).data; + return (await (instance as any).post(`/orders/${params.id}/finalize`)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useProduct.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useProduct.ts index 68d8a6727..85df649ae 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useProduct.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useProduct.ts @@ -18,7 +18,7 @@ export default function useProduct(params: { id?: string }) { return null; } - return (await instance.get(`/products/${params.id}`)) + return (await (instance as any).get(`/products/${params.id}`)) .data; }, { diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useProductList.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useProductList.ts index 82c6ecff6..5a4e55980 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useProductList.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useProductList.ts @@ -29,7 +29,7 @@ export default function useProductList(params: { delete newParams['sortModel']; return ( - await instance.get('/products', { params: newParams }) + await (instance as any).get('/products', { params: newParams }) ).data; }, { diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useRefundOrder.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useRefundOrder.ts index ecbc273d8..60eceb629 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useRefundOrder.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useRefundOrder.ts @@ -10,6 +10,6 @@ export default function useRefundOrder() { throw new Error('no instance'); } - return (await instance.post(`/orders/${params.id}/refund`)).data; + return (await (instance as any).post(`/orders/${params.id}/refund`)).data; }); } diff --git a/apps/dexappbuilder/src/modules/commerce/hooks/useUpdateProduct.ts b/apps/dexappbuilder/src/modules/commerce/hooks/useUpdateProduct.ts index ddb3459cf..d72a24d59 100644 --- a/apps/dexappbuilder/src/modules/commerce/hooks/useUpdateProduct.ts +++ b/apps/dexappbuilder/src/modules/commerce/hooks/useUpdateProduct.ts @@ -11,6 +11,6 @@ export default function useUpdateProduct() { throw new Error('no instance'); } - return (await instance?.put(`/products/${data?.id}`, data)).data; + return (await (instance as any)?.put(`/products/${data?.id}`, data)).data; }); } diff --git a/apps/dexappbuilder/src/modules/common/components/dialogs/NotificationsContent.tsx b/apps/dexappbuilder/src/modules/common/components/dialogs/NotificationsContent.tsx index acab8a1d1..006b54867 100644 --- a/apps/dexappbuilder/src/modules/common/components/dialogs/NotificationsContent.tsx +++ b/apps/dexappbuilder/src/modules/common/components/dialogs/NotificationsContent.tsx @@ -47,7 +47,7 @@ export function NotificationsContent() { return ( - {notifications.map((notification) => { + {notifications.map((notification: any) => { const isNftRelated = notification.metadata?.type === 'nft_profile_removed'; const isUnread = !notification.readAt; diff --git a/apps/dexappbuilder/src/modules/components/accordion/components/Accordion.tsx b/apps/dexappbuilder/src/modules/components/accordion/components/Accordion.tsx index 733953868..a88321cc3 100644 --- a/apps/dexappbuilder/src/modules/components/accordion/components/Accordion.tsx +++ b/apps/dexappbuilder/src/modules/components/accordion/components/Accordion.tsx @@ -63,13 +63,13 @@ const getIconComponent = (iconName?: string) => { return IconComponent ? : null; }; -export const Accordion: React.FC = ({ +export const Accordion = ({ accordion, settings, expanded = false, onChange, index = 0, -}) => { +}: AccordionProps) => { const { id, title, @@ -107,7 +107,7 @@ export const Accordion: React.FC = ({ className, } = settings; - const handleChange = (_event: React.SyntheticEvent, isExpanded: boolean) => { + const handleChange = (_event: any, isExpanded: boolean) => { onChange?.(isExpanded); }; @@ -129,7 +129,7 @@ export const Accordion: React.FC = ({ const startIcon = getIconComponent(action.startIcon); const endIcon = getIconComponent(action.endIcon); - const handleActionClick = (event: React.MouseEvent) => { + const handleActionClick = (event: any) => { event.stopPropagation(); if (action.onClick) { action.onClick(); diff --git a/apps/dexappbuilder/src/modules/components/accordion/components/AccordionGroup.tsx b/apps/dexappbuilder/src/modules/components/accordion/components/AccordionGroup.tsx index eff9e0e19..4e908fb46 100644 --- a/apps/dexappbuilder/src/modules/components/accordion/components/AccordionGroup.tsx +++ b/apps/dexappbuilder/src/modules/components/accordion/components/AccordionGroup.tsx @@ -8,10 +8,10 @@ interface AccordionGroupProps { onChange?: (config: MultiAccordionConfig) => void; } -export const AccordionGroup: React.FC = ({ +export const AccordionGroup = ({ config, onChange, -}) => { +}: AccordionGroupProps) => { const { accordions, settings } = config; const { defaultExpanded = [], @@ -56,7 +56,7 @@ export const AccordionGroup: React.FC = ({ ...config, settings: { ...settings, - expandedIds: Array.from(newExpandedIds), + expandedIds: Array.from(newExpandedIds) as string[], }, }; onChange(updatedConfig); diff --git a/apps/dexappbuilder/src/modules/components/accordion/forms/AccordionForm.tsx b/apps/dexappbuilder/src/modules/components/accordion/forms/AccordionForm.tsx index 507de3fb0..4802f89bd 100644 --- a/apps/dexappbuilder/src/modules/components/accordion/forms/AccordionForm.tsx +++ b/apps/dexappbuilder/src/modules/components/accordion/forms/AccordionForm.tsx @@ -29,10 +29,12 @@ import { Tab, Tabs, TextField, - Typography + Typography, + useMediaQuery, + useTheme, } from '@mui/material'; import { useFormik } from 'formik'; -import React, { useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { FormattedMessage } from 'react-intl'; import { IconPickerField } from 'src/components/IconPickerField'; import { MultiAccordionConfigSchema } from '../schemas/accordion'; @@ -60,11 +62,14 @@ const validate = (values: MultiAccordionConfig) => { } }; -export const AccordionForm: React.FC = ({ +export const AccordionForm = ({ initialValues, onSubmit, onChange, -}) => { +}: AccordionFormProps) => { + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down('sm')); + const [activeTab, setActiveTab] = useState(0); const [expandedAccordion, setExpandedAccordion] = useState(false); @@ -188,7 +193,7 @@ export const AccordionForm: React.FC = ({ { + onClick={(e: any) => { e.stopPropagation(); duplicateAccordion(accordion.id); }} @@ -198,7 +203,7 @@ export const AccordionForm: React.FC = ({ { + onClick={(e: any) => { e.stopPropagation(); removeAccordion(accordion.id); }} @@ -210,27 +215,35 @@ export const AccordionForm: React.FC = ({ - + } value={accordion.title} - onChange={(e) => updateAccordion(accordion.id, 'title', e.target.value)} + onChange={(e: any) => updateAccordion(accordion.id, 'title', e.target.value)} variant="outlined" size="small" /> - + } value={accordion.summary || ''} - onChange={(e) => updateAccordion(accordion.id, 'summary', e.target.value)} + onChange={(e: any) => updateAccordion(accordion.id, 'summary', e.target.value)} variant="outlined" size="small" /> - + } value={accordion.content || ''} @@ -239,14 +252,18 @@ export const AccordionForm: React.FC = ({ height={200} /> - + - + - + updateAccordion(accordion.id, 'disabled', e.target.checked)} + onChange={(e: any) => updateAccordion(accordion.id, 'disabled', e.target.checked)} /> } label={} @@ -284,7 +305,7 @@ export const AccordionForm: React.FC = ({ {/* Actions Section */} - + @@ -301,32 +322,44 @@ export const AccordionForm: React.FC = ({ {accordion.actions?.map((action, actionIndex) => ( - + } value={action.label} - onChange={(e) => handleAccordionActionChange(accordion.id, actionIndex, 'label', e.target.value)} + onChange={(e: any) => handleAccordionActionChange(accordion.id, actionIndex, 'label', e.target.value)} /> - + } value={action.href || ''} - onChange={(e) => handleAccordionActionChange(accordion.id, actionIndex, 'href', e.target.value)} + onChange={(e: any) => handleAccordionActionChange(accordion.id, actionIndex, 'href', e.target.value)} /> - + - + = ({ {/* Basic Settings */} - + - + formik.setFieldValue('settings.headingComponent', e.target.value)} + onChange={(e: any) => formik.setFieldValue('settings.headingComponent', e.target.value)} label="Heading Component" > {['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div'].map((heading) => ( @@ -402,13 +447,13 @@ export const AccordionForm: React.FC = ({ - + formik.setFieldValue('settings.allowMultiple', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.allowMultiple', e.target.checked)} /> } label={} @@ -417,7 +462,7 @@ export const AccordionForm: React.FC = ({ control={ formik.setFieldValue('settings.square', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.square', e.target.checked)} /> } label={} @@ -426,7 +471,7 @@ export const AccordionForm: React.FC = ({ control={ formik.setFieldValue('settings.disableGutters', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.disableGutters', e.target.checked)} /> } label={} @@ -435,7 +480,7 @@ export const AccordionForm: React.FC = ({ control={ formik.setFieldValue('settings.unmountOnExit', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.unmountOnExit', e.target.checked)} /> } label={} @@ -443,14 +488,18 @@ export const AccordionForm: React.FC = ({ - + - + @@ -465,7 +514,11 @@ export const AccordionForm: React.FC = ({ /> - + @@ -479,32 +532,40 @@ export const AccordionForm: React.FC = ({ /> - + } value={formik.values.settings.borderRadius || 4} - onChange={(e) => formik.setFieldValue('settings.borderRadius', parseInt(e.target.value) || 0)} + onChange={(e: any) => formik.setFieldValue('settings.borderRadius', parseInt(e.target.value) || 0)} inputProps={{ min: 0 }} /> - + - + formik.setFieldValue('settings.actionsPlacement', e.target.value)} + onChange={(e: any) => formik.setFieldValue('settings.actionsPlacement', e.target.value)} label="Actions Placement" > Summary @@ -559,14 +628,18 @@ export const AccordionForm: React.FC = ({ - + = ({ variant="outlined" startIcon={} disabled={disabled} - onClick={(e) => { + onClick={(e: any) => { e.stopPropagation(); handleClick(); }} diff --git a/apps/dexappbuilder/src/modules/components/cards/forms/CardForm.tsx b/apps/dexappbuilder/src/modules/components/cards/forms/CardForm.tsx index b037a48f5..f538e8087 100644 --- a/apps/dexappbuilder/src/modules/components/cards/forms/CardForm.tsx +++ b/apps/dexappbuilder/src/modules/components/cards/forms/CardForm.tsx @@ -22,11 +22,15 @@ function validate(values: CardProps) { } } -export const CardForm: React.FC<{ +export const CardForm = ({ + initialValues, + onSubmit, + onChange, +}: { initialValues: CardProps; onSubmit: (values: CardProps) => void; onChange?: (values: CardProps) => void; -}> = ({ initialValues, onSubmit, onChange }) => { +}) => { const formik = useFormik({ initialValues: { ...initialValues, diff --git a/apps/dexappbuilder/src/modules/components/cards/forms/MultiCardForm.tsx b/apps/dexappbuilder/src/modules/components/cards/forms/MultiCardForm.tsx index f60f7c321..02b43dded 100644 --- a/apps/dexappbuilder/src/modules/components/cards/forms/MultiCardForm.tsx +++ b/apps/dexappbuilder/src/modules/components/cards/forms/MultiCardForm.tsx @@ -23,10 +23,12 @@ import { Tab, Tabs, TextField, - Typography + Typography, + useMediaQuery, + useTheme, } from '@mui/material'; import { useFormik } from 'formik'; -import React, { useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { FormattedMessage } from 'react-intl'; import { z } from 'zod'; import { ImageGalleryPicker } from '../components/ImageGalleryPicker'; @@ -56,11 +58,14 @@ interface MultiCardFormProps { onChange?: (values: MultiCardConfig) => void; } -export const MultiCardForm: React.FC = ({ +export const MultiCardForm = ({ initialValues, onSubmit, onChange, -}) => { +}: MultiCardFormProps) => { + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down('sm')); + const [activeTab, setActiveTab] = useState(0); const [expandedCard, setExpandedCard] = useState(false); @@ -164,9 +169,9 @@ export const MultiCardForm: React.FC = ({ }, [formik.values]); return ( - + - setActiveTab(newValue)} sx={{ mb: 2 }}> + setActiveTab(newValue)} sx={{ mb: 2 }}> } label={} /> } label={} /> @@ -191,7 +196,7 @@ export const MultiCardForm: React.FC = ({ setExpandedCard(isExpanded ? card.id : false)} + onChange={(_, isExpanded: any) => setExpandedCard(isExpanded ? card.id : false)} sx={{ mb: 1 }} > }> @@ -201,7 +206,7 @@ export const MultiCardForm: React.FC = ({ { + onClick={(e: any) => { e.stopPropagation(); removeCard(card.id); }} @@ -216,7 +221,7 @@ export const MultiCardForm: React.FC = ({ } value={card.title} - onChange={(e) => updateCard(card.id, { title: e.target.value })} + onChange={(e: any) => updateCard(card.id, { title: e.target.value })} required fullWidth /> @@ -246,13 +251,13 @@ export const MultiCardForm: React.FC = ({ } value={card.actions?.[0]?.label || ''} - onChange={(e) => handleActionLabelChange(card.id, e.target.value)} + onChange={(e: any) => handleActionLabelChange(card.id, e.target.value)} fullWidth /> } value={card.actions?.[0]?.href || ''} - onChange={(e) => handleActionHrefChange(card.id, e.target.value)} + onChange={(e: any) => handleActionHrefChange(card.id, e.target.value)} fullWidth /> @@ -273,14 +278,14 @@ export const MultiCardForm: React.FC = ({ label={} type="number" value={formik.values.gridSettings.cols} - onChange={(e) => formik.setFieldValue('gridSettings.cols', parseInt(e.target.value))} + onChange={(e: any) => formik.setFieldValue('gridSettings.cols', parseInt(e.target.value))} inputProps={{ min: 1, max: 24 }} /> } type="number" value={formik.values.gridSettings.rowHeight} - onChange={(e) => formik.setFieldValue('gridSettings.rowHeight', parseInt(e.target.value))} + onChange={(e: any) => formik.setFieldValue('gridSettings.rowHeight', parseInt(e.target.value))} inputProps={{ min: 50 }} /> @@ -294,7 +299,7 @@ export const MultiCardForm: React.FC = ({ label="X" type="number" value={formik.values.gridSettings.margin[0]} - onChange={(e) => { + onChange={(e: any) => { const newMargin: [number, number] = [parseInt(e.target.value), formik.values.gridSettings.margin[1]]; formik.setFieldValue('gridSettings.margin', newMargin); }} @@ -304,7 +309,7 @@ export const MultiCardForm: React.FC = ({ label="Y" type="number" value={formik.values.gridSettings.margin[1]} - onChange={(e) => { + onChange={(e: any) => { const newMargin: [number, number] = [formik.values.gridSettings.margin[0], parseInt(e.target.value)]; formik.setFieldValue('gridSettings.margin', newMargin); }} @@ -319,7 +324,7 @@ export const MultiCardForm: React.FC = ({ onChange(e.target.value)} + onChange={(e: any) => onChange(e.target.value)} style={{ width: '100%', height: '100%', @@ -135,7 +135,7 @@ function ColorPickerField({ onChange(e.target.value)} + onChange={(e: any) => onChange(e.target.value)} placeholder={hexDefaultValue} size="small" sx={{ @@ -189,11 +189,14 @@ function validate(values: MultiStepperConfig) { } } -export const StepperForm: React.FC = ({ +export const StepperForm = ({ initialValues, onSubmit, onChange, -}) => { +}: StepperFormProps) => { + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down('sm')); + const [activeTab, setActiveTab] = useState(0); const [expandedStep, setExpandedStep] = useState(false); @@ -307,7 +310,7 @@ export const StepperForm: React.FC = ({ setExpandedStep(isExpanded ? step.id : false)} + onChange={(_, isExpanded: any) => setExpandedStep(isExpanded ? step.id : false)} sx={{ mb: 1 }} > }> @@ -319,7 +322,7 @@ export const StepperForm: React.FC = ({ { + onClick={(e: any) => { e.stopPropagation(); duplicateStep(step.id); }} @@ -329,7 +332,7 @@ export const StepperForm: React.FC = ({ { + onClick={(e: any) => { e.stopPropagation(); removeStep(step.id); }} @@ -342,27 +345,39 @@ export const StepperForm: React.FC = ({ - + } value={step.label} - onChange={(e) => updateStep(step.id, 'label', e.target.value)} + onChange={(e: any) => updateStep(step.id, 'label', e.target.value)} error={Boolean(getFieldError(`steps.${index}.label`))} helperText={getFieldError(`steps.${index}.label`)} /> - + } value={step.description || ''} - onChange={(e) => updateStep(step.id, 'description', e.target.value)} + onChange={(e: any) => updateStep(step.id, 'description', e.target.value)} /> - + } value={step.icon || ''} @@ -371,7 +386,11 @@ export const StepperForm: React.FC = ({ /> - + = ({ /> - + } value={step.content || ''} @@ -392,14 +415,18 @@ export const StepperForm: React.FC = ({ /> - + updateStep(step.id, 'optional', e.target.checked)} + onChange={(e: any) => updateStep(step.id, 'optional', e.target.checked)} /> } label={} @@ -408,7 +435,7 @@ export const StepperForm: React.FC = ({ control={ updateStep(step.id, 'disabled', e.target.checked)} + onChange={(e: any) => updateStep(step.id, 'disabled', e.target.checked)} /> } label={} @@ -417,7 +444,7 @@ export const StepperForm: React.FC = ({ control={ updateStep(step.id, 'error', e.target.checked)} + onChange={(e: any) => updateStep(step.id, 'error', e.target.checked)} /> } label={} @@ -434,20 +461,24 @@ export const StepperForm: React.FC = ({ const renderSettings = () => ( - + - + formik.setFieldValue('settings.variant', e.target.value)} + onChange={(e: any) => formik.setFieldValue('settings.variant', e.target.value)} label="Variant" > @@ -480,44 +515,56 @@ export const StepperForm: React.FC = ({ - + formik.setFieldValue('settings.linear', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.linear', e.target.checked)} /> } label={} /> - + formik.setFieldValue('settings.alternativeLabel', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.alternativeLabel', e.target.checked)} /> } label={} /> - + - + formik.setFieldValue('settings.elevation', value)} + onChange={(_, value: any) => formik.setFieldValue('settings.elevation', value)} min={0} max={24} step={1} @@ -526,35 +573,47 @@ export const StepperForm: React.FC = ({ /> - + } value={formik.values.settings.borderRadius || 4} - onChange={(e) => formik.setFieldValue('settings.borderRadius', parseInt(e.target.value) || 0)} + onChange={(e: any) => formik.setFieldValue('settings.borderRadius', parseInt(e.target.value) || 0)} inputProps={{ min: 0 }} /> - + } value={formik.values.settings.padding || 24} - onChange={(e) => formik.setFieldValue('settings.padding', parseInt(e.target.value) || 0)} + onChange={(e: any) => formik.setFieldValue('settings.padding', parseInt(e.target.value) || 0)} inputProps={{ min: 0 }} /> - + formik.setFieldValue('settings.spacing', value)} + onChange={(_, value: any) => formik.setFieldValue('settings.spacing', value)} min={0} max={10} step={1} @@ -563,19 +622,23 @@ export const StepperForm: React.FC = ({ /> - + - + formik.setFieldValue('settings.mobileStepper', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.mobileStepper', e.target.checked)} /> } label={} @@ -584,14 +647,18 @@ export const StepperForm: React.FC = ({ {formik.values.settings.mobileStepper && ( <> - + formik.setFieldValue('settings.mobileStepperPosition', e.target.value)} + onChange={(e: any) => formik.setFieldValue('settings.mobileStepperPosition', e.target.value)} label="Mobile Position" > Bottom @@ -620,120 +691,160 @@ export const StepperForm: React.FC = ({ )} - + - + formik.setFieldValue('settings.showBackButton', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.showBackButton', e.target.checked)} /> } label={} /> - + formik.setFieldValue('settings.showNextButton', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.showNextButton', e.target.checked)} /> } label={} /> - + } value={formik.values.settings.backButtonText || 'Back'} - onChange={(e) => formik.setFieldValue('settings.backButtonText', e.target.value)} + onChange={(e: any) => formik.setFieldValue('settings.backButtonText', e.target.value)} /> - + } value={formik.values.settings.nextButtonText || 'Next'} - onChange={(e) => formik.setFieldValue('settings.nextButtonText', e.target.value)} + onChange={(e: any) => formik.setFieldValue('settings.nextButtonText', e.target.value)} /> - + } value={formik.values.settings.finishButtonText || 'Finish'} - onChange={(e) => formik.setFieldValue('settings.finishButtonText', e.target.value)} + onChange={(e: any) => formik.setFieldValue('settings.finishButtonText', e.target.value)} /> - + - + formik.setFieldValue('settings.nonLinear', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.nonLinear', e.target.checked)} /> } label={} /> - + formik.setFieldValue('settings.allowStepSkipping', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.allowStepSkipping', e.target.checked)} /> } label={} /> - + formik.setFieldValue('settings.hideStepIcons', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.hideStepIcons', e.target.checked)} /> } label={} /> - + formik.setFieldValue('settings.unmountOnExit', e.target.checked)} + onChange={(e: any) => formik.setFieldValue('settings.unmountOnExit', e.target.checked)} /> } label={} /> - + } value={formik.values.settings.completedStepIcon || 'Check'} @@ -742,7 +853,11 @@ export const StepperForm: React.FC = ({ /> - + } value={formik.values.settings.errorStepIcon || 'Warning'} @@ -754,9 +869,9 @@ export const StepperForm: React.FC = ({ ); return ( - + - setActiveTab(newValue)} sx={{ mb: 2 }}> + setActiveTab(newValue)} sx={{ mb: 2 }}> } label={} /> } label={} /> @@ -768,7 +883,7 @@ export const StepperForm: React.FC = ({ - + {asset.metadata?.name || ''} {asset.metadata?.description || ''} - + :{' '} @@ -329,7 +328,11 @@ export function AssetListContractEdition({ )} {asset === undefined && ( - + {!data?.assets?.length && thirdwebAssets && thirdwebAssets.length > 0 && ( - + + )} - {filteredAssets?.map((asset, index) => ( - + {filteredAssets?.map((asset: any, index: any) => ( + setAsset(a)} + onClickCardAction={(a: any) => setAsset(a)} showControls={false} /> ))} {filteredAssets?.length === 0 && ( - + )} - + setPage(_page - 1)} + onChange={(_ev: any, _page: any) => setPage(_page - 1)} count={Math.floor((data?.total || 0) / perPage) + 1} /> diff --git a/apps/dexappbuilder/src/modules/contract-wizard/components/CollectionFormCard.tsx b/apps/dexappbuilder/src/modules/contract-wizard/components/CollectionFormCard.tsx index 3b36bd226..d3c9f1414 100644 --- a/apps/dexappbuilder/src/modules/contract-wizard/components/CollectionFormCard.tsx +++ b/apps/dexappbuilder/src/modules/contract-wizard/components/CollectionFormCard.tsx @@ -53,7 +53,7 @@ export default function CollectionFormCard() { - + diff --git a/apps/dexappbuilder/src/modules/contract-wizard/components/CollectionItemCard.tsx b/apps/dexappbuilder/src/modules/contract-wizard/components/CollectionItemCard.tsx index 8c0396ac6..2e2b8573a 100644 --- a/apps/dexappbuilder/src/modules/contract-wizard/components/CollectionItemCard.tsx +++ b/apps/dexappbuilder/src/modules/contract-wizard/components/CollectionItemCard.tsx @@ -46,14 +46,14 @@ export default function CollectionItemCard({ tokenId }: Props) { - + setFieldValue(`file`, file)} + onSelectFile={(file: any) => setFieldValue(`file`, file)} error={Boolean(errors?.file)} /> - + 0 && ( - {values.attributes?.map((_, index: number) => ( + {values.attributes?.map((_: any, index: number) => ( ( + render={(arrayHelper: any) => ( @@ -73,7 +72,7 @@ export function ContractCollectionDropContainer({ address, network }: Props) { - + - + ( diff --git a/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractContainer.tsx b/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractContainer.tsx index 0de399552..6a7bffa4a 100644 --- a/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractContainer.tsx +++ b/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractContainer.tsx @@ -151,7 +151,7 @@ export function ContractContainer({ return ( - + {chainId !== undefined && providerChainId !== chainId ? ( - + ) : ( - + {renderContract()} )} diff --git a/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractEditionContainer.tsx b/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractEditionContainer.tsx index 57c55b6e9..16ebf925a 100644 --- a/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractEditionContainer.tsx +++ b/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractEditionContainer.tsx @@ -42,15 +42,14 @@ export default function ContractEditionContainer({ address, network }: Props) { isERC1155={true} isLazyMint={false} /> - - + - + - + ( diff --git a/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractEditionDropContainer.tsx b/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractEditionDropContainer.tsx index 0403b823f..cb519513a 100644 --- a/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractEditionDropContainer.tsx +++ b/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractEditionDropContainer.tsx @@ -54,9 +54,8 @@ export default function ContractEditionDropContainer({ address={address} isLazyMint /> - - + {tab === 'nfts' && ( - + - + - + - + - + ( @@ -184,12 +187,12 @@ export default function ContractEditionDropContainer({ )} {tab === 'metadata' && ( - + )} {tab === 'admin' && ( - + )} diff --git a/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractNftContainer.tsx b/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractNftContainer.tsx index d2808d8c2..aac9a55d8 100644 --- a/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractNftContainer.tsx +++ b/apps/dexappbuilder/src/modules/contract-wizard/components/containers/ContractNftContainer.tsx @@ -51,7 +51,7 @@ export default function ContractNftContainer({ address, network }: Props) { address={address} /> - + - + {tab === 'nft' && ( - + - + - + - + - + - + {currTab === 'claim-conditions' && ( - + )} {currTab === 'nfts' && ( - + - + - + - + - + - + - + - + - + - + - + diff --git a/apps/dexappbuilder/src/modules/swap/dialogs/ConfirmSwapTransaction.tsx b/apps/dexappbuilder/src/modules/swap/dialogs/ConfirmSwapTransaction.tsx index 24f5838c0..bea834d44 100644 --- a/apps/dexappbuilder/src/modules/swap/dialogs/ConfirmSwapTransaction.tsx +++ b/apps/dexappbuilder/src/modules/swap/dialogs/ConfirmSwapTransaction.tsx @@ -66,14 +66,14 @@ function ConfirmSwapTransaction({ {errorMessage && ( - + {String(errorMessage)} )} {quote && ( <> - + - + - + {appConfig.swapFees?.amount_percentage !== undefined && ( - + - + setValue(e.target.value)} + onChange={(e: any) => setValue(e.target.value)} /> - + {tokenBalancesQuery.isLoading && ( {Array(5) @@ -150,10 +150,10 @@ function SelectTokenBalanceDialog({ ) : ( {tokens - ?.filter((token) => { + ?.filter((token: any) => { return excludeToken !== token; }) - ?.filter((token) => { + ?.filter((token: any) => { return ( token.name.toLowerCase().search(value.toLowerCase()) > -1 || diff --git a/apps/dexappbuilder/src/modules/swap/dialogs/SelectTokenDialog.tsx b/apps/dexappbuilder/src/modules/swap/dialogs/SelectTokenDialog.tsx index 17b6aa059..4072e31da 100644 --- a/apps/dexappbuilder/src/modules/swap/dialogs/SelectTokenDialog.tsx +++ b/apps/dexappbuilder/src/modules/swap/dialogs/SelectTokenDialog.tsx @@ -64,7 +64,7 @@ function SelectTokenDialog({ } const tokenExists = tokens.find( - (t) => t.address.toLowerCase() === data?.address.toLowerCase(), + (t: any) => t.address.toLowerCase() === data?.address.toLowerCase(), ); if (tokenExists) { return tokens; @@ -78,10 +78,10 @@ function SelectTokenDialog({ const filteredTokens = useMemo(() => { return allTokens - ?.filter((token) => { + ?.filter((token: any) => { return excludeToken !== token; }) - ?.filter((token) => { + ?.filter((token: any) => { return ( token.name.toLowerCase().search(value.toLowerCase()) > -1 || token.symbol.toLowerCase().search(value.toLowerCase()) > -1 || @@ -114,7 +114,7 @@ function SelectTokenDialog({ - + setValue(e.target.value)} + onChange={(e: any) => setValue(e.target.value)} /> - + {filteredTokens.map((token: Token, index: number) => ( onSelect(token)}> diff --git a/apps/dexappbuilder/src/modules/swap/hooks/index.ts b/apps/dexappbuilder/src/modules/swap/hooks/index.ts index 13ffe3709..8c52ab4b4 100644 --- a/apps/dexappbuilder/src/modules/swap/hooks/index.ts +++ b/apps/dexappbuilder/src/modules/swap/hooks/index.ts @@ -88,7 +88,7 @@ export function useSearchSwapTokens({ if (keyword) { tokens = tokens.filter( - (c) => + (c: any) => c.name.toLowerCase().search(keyword?.toLowerCase()) > -1 || c.symbol.toLowerCase().search(keyword?.toLowerCase()) > -1, ); diff --git a/apps/dexappbuilder/src/modules/user/componentes/AddCardForm.tsx b/apps/dexappbuilder/src/modules/user/componentes/AddCardForm.tsx deleted file mode 100644 index 9e0c3ac69..000000000 --- a/apps/dexappbuilder/src/modules/user/componentes/AddCardForm.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { Box, Button, Stack } from '@mui/material'; -import { - PaymentElement, - useElements, - useStripe, -} from '@stripe/react-stripe-js'; -import { FormEvent } from 'react'; -import { FormattedMessage } from 'react-intl'; - -export default function AddCardForm() { - const stripe = useStripe(); - const elements = useElements(); - - const handleSubmit = async (e: FormEvent) => { - // We don't want to let default form submission happen here, - // which would refresh the page. - e.preventDefault(); - - if (!stripe || !elements) { - return; - } - - if (elements) { - const result = await stripe?.confirmSetup({ - elements, - confirmParams: { - return_url: '', - }, - }); - - if (result.error) { - // Show error to your customer (for example, payment details incomplete) - } else { - // Your customer will be redirected to your `return_url`. For some payment - // methods like iDEAL, your customer will be redirected to an intermediate - // site first to authorize the payment, then redirected to the `return_url`. - } - } - }; - - return ( - - - - - - - - - ); -} diff --git a/apps/dexappbuilder/src/modules/user/componentes/BillingSection.tsx b/apps/dexappbuilder/src/modules/user/componentes/BillingSection.tsx index 226c8e3de..3f6d696d1 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/BillingSection.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/BillingSection.tsx @@ -1,13 +1,14 @@ import AddCreditsButton from '@dexkit/ui/components/AddCreditsButton'; +import { useIsMobile } from '@dexkit/ui/hooks/misc'; import { usePlanCheckoutMutation, usePlanPrices, } from '@dexkit/ui/hooks/payments'; import { Alert, + Box, Card, CardContent, - Grid, Skeleton, Stack, Typography, @@ -23,6 +24,7 @@ import BillingDataGrid from './tables/BillingDataGrid'; export default function BillingSection() { const billingHistoryQuery = useBillingHistoryQuery({}); + const isMobile = useIsMobile(); const { mutateAsync: checkoutPlan, isLoading } = usePlanCheckoutMutation(); @@ -81,21 +83,30 @@ export default function BillingSection() { }} slug={planSlug} /> - + {credits <= 0.5 && ( - + )} - + {/* {subscriptionQuery.isSuccess && !subscriptionQuery.data && ( {planPricesQuery.data?.map((pp, key) => ( - + )} */} - - + + - + {subscriptionQuery.data ? ( ) : ( )} - - + + - - {/* - - - - - {subscriptionQuery.data ? ( - subscriptionQuery.data.planName - ) : ( - - )} - - - - - - - - {subscriptionQuery.data ? ( - subscriptionQuery.data.status - ) : ( - - )} - - */} - {/* - - - - - {moment(subscriptionQuery.data?.period_start).format( - 'DD/MM/YYYY HH:mm:ss', - )}{' '} - - - - - - - - {moment(subscriptionQuery.data?.period_end).format( - 'DD/MM/YYYY HH:mm:ss', - )} - - */} - + + - + - - {/*billingHistoryQuery.data && billingHistoryQuery.data.length > 0 ? ( -
- - - - - - - - - - - - - - - - - - {billingHistoryQuery.data?.map((period: any, index: number) => ( - - - {moment(period.periodStart).format('DD/MM/YYYY')} - - - - {moment(period.periodEnd).format('DD/MM/YYYY')} - - - - - - - - - - - - - ))} - -
- ) : ( - - - - - - - - - )*/} - - + diff --git a/apps/dexappbuilder/src/modules/user/componentes/CreditSection.tsx b/apps/dexappbuilder/src/modules/user/componentes/CreditSection.tsx index 3e5d79f01..b46b5d665 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/CreditSection.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/CreditSection.tsx @@ -3,20 +3,40 @@ import { FormattedMessage } from 'react-intl'; import AddCreditsButton from '@dexkit/ui/components/AddCreditsButton'; import CreditsDataGrid from './tables/CreditsDataGrid'; +import { useIsMobile } from '@dexkit/ui/hooks/misc'; export default function CreditSection() { + const isMobile = useIsMobile(); + return ( <> - + - - + + - + - {/* - - - - - - - - - - - - - - - {credits?.map((credit: any, index: number) => ( - - - {credit.enabled ? ( - - ) : ( - - )} - - - {moment(credit.createdAt).format('DD/MM/YYYY hh:mm:ss')} - - - - - - ))} - -
*/} - +
); diff --git a/apps/dexappbuilder/src/modules/user/componentes/DirectNftSelector.tsx b/apps/dexappbuilder/src/modules/user/componentes/DirectNftSelector.tsx index bc4b349ce..a1a4c5111 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/DirectNftSelector.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/DirectNftSelector.tsx @@ -445,7 +445,7 @@ export function DirectNftSelector({ }; const toggleNetwork = (networkId: string) => { - setSelectedNetworks((prev) => { + setSelectedNetworks((prev: string[]) => { if (prev.includes(networkId)) { return prev.filter((id) => id !== networkId); } else { @@ -515,7 +515,7 @@ export function DirectNftSelector({ }, [nfts, selectedNetworks, searchTerm, sortBy]); const networkStats = useMemo(() => { - return nfts.reduce((acc: Record, nft) => { + return nfts.reduce((acc: Record, nft: any) => { const network = nft.networkId || getNetworkFromChainId(nft.chainId); if (network) { acc[network] = (acc[network] || 0) + 1; @@ -588,10 +588,9 @@ export function DirectNftSelector({ - - + setSearchTerm(e.target.value)} + onChange={(e: any) => setSearchTerm(e.target.value)} InputProps={{ startAdornment: ( @@ -793,15 +792,15 @@ export function DirectNftSelector({ - {paginatedNfts.map((nft, index) => ( + {paginatedNfts.map((nft: any, index: number) => ( + size={{ + xs: 6, + sm: 4, + md: 3, + lg: 2 + }}> - diff --git a/apps/dexappbuilder/src/modules/user/componentes/NftSelector.tsx b/apps/dexappbuilder/src/modules/user/componentes/NftSelector.tsx index 4876c9363..496fcf897 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/NftSelector.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/NftSelector.tsx @@ -18,37 +18,16 @@ import { Typography } from "@mui/material"; import axios from "axios"; -import { Component, ErrorInfo, ReactNode, useEffect, useMemo, useState } from "react"; +import { ReactNode, useEffect, useMemo, useState } from "react"; import { FormattedMessage } from "react-intl"; import { SafeAssetCard } from "./SafeAssetCard"; -class NftErrorBoundary extends Component<{ - children: ReactNode; - fallback?: ReactNode; -}> { - state = { hasError: false, error: null }; - - static getDerivedStateFromError(error: Error) { - return { hasError: true, error }; - } - - componentDidCatch(error: Error, errorInfo: ErrorInfo) { - console.error("Error rendering NFT:", error, errorInfo); - } - - render() { - if (this.state.hasError) { - return this.props.fallback || ( - - - - - - ); - } - - return this.props.children; - } +function NftErrorBoundary({ children, fallback }: { children: ReactNode; fallback?: ReactNode }) { + return ( + <> + {children} + + ); } interface NftSelectorProps { @@ -110,7 +89,7 @@ export function NftSelector({ open, onClose, onSelect, selectedNft }: NftSelecto }, [open, account, chainId]); const filteredNfts = useMemo(() => { - return nfts.filter((nft) => { + return nfts.filter((nft: any) => { if (!searchTerm) return true; const searchLower = searchTerm.toLowerCase(); @@ -131,7 +110,13 @@ export function NftSelector({ open, onClose, onSelect, selectedNft }: NftSelecto const renderSafeNft = (nft: Asset, index: number) => { try { return ( - + setSearchTerm(e.target.value)} + onChange={(e: any) => setSearchTerm(e.target.value)} InputProps={{ startAdornment: }} @@ -217,7 +202,7 @@ export function NftSelector({ open, onClose, onSelect, selectedNft }: NftSelecto ) : ( - {filteredNfts.map((nft, index) => renderSafeNft(nft, index))} + {filteredNfts.map((nft: any, index: number) => renderSafeNft(nft, index))} )} diff --git a/apps/dexappbuilder/src/modules/user/componentes/NotificationsMenu.tsx b/apps/dexappbuilder/src/modules/user/componentes/NotificationsMenu.tsx index 16892ff62..1b2d58cb3 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/NotificationsMenu.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/NotificationsMenu.tsx @@ -82,7 +82,7 @@ export function NotificationsMenu() {
) : ( - notifications.map((notification) => { + notifications.map((notification: any) => { const isNftRelated = notification.metadata?.type === 'nft_profile_removed'; return ( diff --git a/apps/dexappbuilder/src/modules/user/componentes/PaymentMethodsList.tsx b/apps/dexappbuilder/src/modules/user/componentes/PaymentMethodsList.tsx deleted file mode 100644 index 6bf3b9966..000000000 --- a/apps/dexappbuilder/src/modules/user/componentes/PaymentMethodsList.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import CreditCard from '@mui/icons-material/CreditCard'; -import { - Avatar, - List, - ListItemAvatar, - ListItemButton, - ListItemText, -} from '@mui/material'; -import { useUserPaymentMethods } from '../hooks/payments'; - -export default function PaymentMethodList({}) { - const paymentMethodsQuery = useUserPaymentMethods(); - - return ( - - {paymentMethodsQuery.data?.map((pm: any, index: number) => ( - - - - - - - - - ))} - - ); -} diff --git a/apps/dexappbuilder/src/modules/user/componentes/PaymentsSection.tsx b/apps/dexappbuilder/src/modules/user/componentes/PaymentsSection.tsx deleted file mode 100644 index dde9b6765..000000000 --- a/apps/dexappbuilder/src/modules/user/componentes/PaymentsSection.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { Button, Card, CardContent, Divider } from '@mui/material'; -import { useState } from 'react'; -import { FormattedMessage } from 'react-intl'; -import PaymentMethodList from './PaymentMethodsList'; -import AddPaymentMethodDialog from './dialogs/AddPaymentMethodDialog'; - -export default function PaymentsSection() { - const [open, setOpen] = useState(false); - - const handleCloseAddPaymentMethod = () => { - setOpen(false); - }; - - const handleAdd = () => { - setOpen(true); - }; - - return ( - <> - {open && ( - - )} - - - - - - - - - ); -} diff --git a/apps/dexappbuilder/src/modules/user/componentes/SafeAssetCard.tsx b/apps/dexappbuilder/src/modules/user/componentes/SafeAssetCard.tsx index 72d377f7c..2cc60cb2e 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/SafeAssetCard.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/SafeAssetCard.tsx @@ -1,36 +1,15 @@ import { Asset } from "@dexkit/core/types/nft"; import { ipfsUriToUrl } from "@dexkit/core/utils"; import { Box, Card, CardContent, Chip, Typography } from "@mui/material"; -import { Component, ErrorInfo, ReactNode, useState } from "react"; +import { ReactNode, useState } from "react"; import { FormattedMessage } from "react-intl"; -class AssetErrorBoundary extends Component<{ - children: ReactNode; - fallback?: ReactNode; -}> { - state = { hasError: false, error: null }; - - static getDerivedStateFromError(error: Error) { - return { hasError: true, error }; - } - - componentDidCatch(error: Error, errorInfo: ErrorInfo) { - console.error("Error rendering NFT card:", error, errorInfo); - } - - render() { - if (this.state.hasError) { - return this.props.fallback || ( - - - - - - ); - } - - return this.props.children; - } +function AssetErrorBoundary({ children, fallback }: { children: ReactNode; fallback?: ReactNode }) { + return ( + <> + {children} + + ); } function SimpleNftCard({ asset }: { asset: Asset }) { diff --git a/apps/dexappbuilder/src/modules/user/componentes/SettingsLayout.tsx b/apps/dexappbuilder/src/modules/user/componentes/SettingsLayout.tsx index 1c95c90d8..8bdfb622e 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/SettingsLayout.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/SettingsLayout.tsx @@ -1,5 +1,5 @@ import { PageHeader } from '@dexkit/ui/components/PageHeader'; -import { Card, Grid, List, ListItemButton, ListItemText } from '@mui/material'; +import { Card, Box, List, ListItemButton, ListItemText } from '@mui/material'; import { useRouter } from 'next/router'; import React, { useCallback, useMemo } from 'react'; import { FormattedMessage } from 'react-intl'; @@ -94,69 +94,90 @@ export default function SettingsLayout({ }, [title, activeOption, uri]); return ( - - + + {/* Header Section */} + - - - - - {/* - - } - /> - */} - - - } - /> - - - - } - /> - - {/* - - } - /> - */} - - - - - {children(tab)} - - + + + {/* Main Content - Sidebar + Content */} + + {/* Left Sidebar */} + + + + {/* + + } + /> + */} + + + } + /> + + + + } + /> + + {/* + + } + /> + */} + + + + + {/* Right Content */} + + {children(tab)} + + + ); } diff --git a/apps/dexappbuilder/src/modules/user/componentes/UserAccounts.tsx b/apps/dexappbuilder/src/modules/user/componentes/UserAccounts.tsx index 2970e25c1..8440540bb 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/UserAccounts.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/UserAccounts.tsx @@ -79,12 +79,11 @@ export function UserAccounts(props: Props) { )} - - + - + {accounts.map((v, index) => ( - + - + - + {!claimData?.status && ( - + )} {needToCompleteProfile && user && !authUser && ( - + @@ -309,7 +309,7 @@ export function UserAirdrop() { )} {needToCompleteProfile && user && authUser && ( - + @@ -337,14 +337,18 @@ export function UserAirdrop() { )} - + {!user && } {!claimCampaignQuery.isLoading && !claimData && authUser && ( - + - - - )} - > + {({ reset }: any) => ( +
}> {}} /> - +
)} )} diff --git a/apps/dexappbuilder/src/modules/user/componentes/containers/UserCreateContainer.tsx b/apps/dexappbuilder/src/modules/user/componentes/containers/UserCreateContainer.tsx index a14bb3a02..ae47621e9 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/containers/UserCreateContainer.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/containers/UserCreateContainer.tsx @@ -77,7 +77,7 @@ export function UserCreateContainer({ hideHeader, onComplete }: Props) { {hideHeader !== true && ( - + )} - + - + { diff --git a/apps/dexappbuilder/src/modules/user/componentes/containers/UserEditContainer.tsx b/apps/dexappbuilder/src/modules/user/componentes/containers/UserEditContainer.tsx index e578bb230..65b3728f4 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/containers/UserEditContainer.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/containers/UserEditContainer.tsx @@ -224,7 +224,7 @@ export function UserEditContainer({ {hideHeader !== true && ( - + + @@ -311,11 +315,19 @@ export function UserEditContainer({ )} {hideSideBar !== true && ( - + {!isMobile && renderMenu()} )} - + {activeMenu === ActiveMenu.General && user && ( <> diff --git a/apps/dexappbuilder/src/modules/user/componentes/containers/UserLoginContainer.tsx b/apps/dexappbuilder/src/modules/user/componentes/containers/UserLoginContainer.tsx index 498c8cc70..513105445 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/containers/UserLoginContainer.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/containers/UserLoginContainer.tsx @@ -33,7 +33,7 @@ export function UserLoginContainer() { <> - + - + - + diff --git a/apps/dexappbuilder/src/modules/user/componentes/dialogs/AddPaymentMethodDialog.tsx b/apps/dexappbuilder/src/modules/user/componentes/dialogs/AddPaymentMethodDialog.tsx deleted file mode 100644 index 7aa8b5a42..000000000 --- a/apps/dexappbuilder/src/modules/user/componentes/dialogs/AddPaymentMethodDialog.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import { Dialog, DialogContent, DialogProps, Divider } from '@mui/material'; - -import { Elements } from '@stripe/react-stripe-js'; - -import { AppDialogTitle } from '@dexkit/ui'; -import { loadStripe } from '@stripe/stripe-js'; -import { FormattedMessage } from 'react-intl'; -import useAddPaymentIntent from '../../hooks/settings'; -import AddCardForm from '../AddCardForm'; - -const stripePromise = loadStripe( - process.env.NEXT_PUBLIC_STRIPE_PUBLIC_KEY || '', -); - -export interface AddPaymentMethodDialogProps { - DialogProps: DialogProps; -} - -export default function AddPaymentMethodDialog({ - DialogProps, -}: AddPaymentMethodDialogProps) { - const addPaymentIntent = useAddPaymentIntent(); - const { onClose } = DialogProps; - - const handleClose = () => { - if (onClose) { - onClose({}, 'backdropClick'); - } - }; - - return ( - - - } - onClose={handleClose} - /> - - - {addPaymentIntent.data && ( - - - - )} - - - ); -} diff --git a/apps/dexappbuilder/src/modules/user/componentes/dialogs/UpsertuserDialog.tsx b/apps/dexappbuilder/src/modules/user/componentes/dialogs/UpsertuserDialog.tsx index 1c9c95ecb..10084e4ee 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/dialogs/UpsertuserDialog.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/dialogs/UpsertuserDialog.tsx @@ -55,7 +55,7 @@ function UpsertUserDialog({ }; const handleToggleDetails = () => { - setShowDetails((value) => !value); + setShowDetails((value: boolean) => !value); }; return ( diff --git a/apps/dexappbuilder/src/modules/user/componentes/forms/UserGeneralForm.tsx b/apps/dexappbuilder/src/modules/user/componentes/forms/UserGeneralForm.tsx index 7336b23db..dfcad2c8f 100644 --- a/apps/dexappbuilder/src/modules/user/componentes/forms/UserGeneralForm.tsx +++ b/apps/dexappbuilder/src/modules/user/componentes/forms/UserGeneralForm.tsx @@ -365,7 +365,7 @@ export default function UserGeneralForm({ }} validationSchema={initialValues ? EditFormSchema : FormSchema} > - {({ submitForm, isSubmitting, isValid, setFieldValue, values }) => ( + {({ submitForm, isSubmitting, isValid, setFieldValue, values }: any) => (
{openMediaDialog && ( { + onConfirmSelectFile={(file: any) => { if (mediaFieldToEdit && file) { setFieldValue(mediaFieldToEdit, file.url); if (mediaFieldToEdit === 'profileImageURL') { @@ -501,7 +501,7 @@ export default function UserGeneralForm({ /> - + - + )} - + - + - + - + - + ) : ( @@ -402,69 +402,74 @@ export function CreateWizardContainer({ slug, isSwapWizard }: Props) { variant="outlined" color="inherit" endIcon={} + size="large" /> )} - - - - - )} - -
-
- {!isMobile && ( - - - - - {clonedConfigQuery?.data?.nft && ( - - - - )} - - {slug && !clonedConfigQuery?.data?.nft && ( - - {chunks}, - //@ts-ignore - a: (chunks: any): ReactNode => ( -
- {chunks} - - ), - }} - /> - - )} - - - - - - )} - + + + + )} + + + + + {!isMobile && ( + + + + + {clonedConfigQuery?.data?.nft && ( + + + + )} + + {slug && !clonedConfigQuery?.data?.nft && ( + + {chunks}, + //@ts-ignore + a: (chunks: any): ReactNode => ( + + {chunks} + + ), + }} + /> + + )} + + + + + + )} + + ); diff --git a/apps/dexappbuilder/src/modules/wizard/components/containers/DomainWizardContainer.tsx b/apps/dexappbuilder/src/modules/wizard/components/containers/DomainWizardContainer.tsx index 149735a26..4cc9af4a3 100644 --- a/apps/dexappbuilder/src/modules/wizard/components/containers/DomainWizardContainer.tsx +++ b/apps/dexappbuilder/src/modules/wizard/components/containers/DomainWizardContainer.tsx @@ -266,7 +266,7 @@ export default function DomainWizardContainer({ spacing={isMobile ? 1.5 : 3} sx={{ px: isMobile ? 1 : 0, pt: isMobile ? 1 : 0 }} > - + {' '} - + - + - + - + - + @@ -383,7 +383,7 @@ export default function DomainWizardContainer({ - + @@ -411,7 +411,7 @@ export default function DomainWizardContainer({ {verifyDomainData && verifyDomainData?.verified === false && verifyDomainData?.verification && ( - + {verifyDomainData?.verification.map( (ver: any, key: number) => ( )} - + - + - + - + ({ - setSelectedKey: () => {}, - setIsEditPage: () => {}, - setOldPage: () => {}, + setSelectedKey: () => { }, + setIsEditPage: () => { }, + setOldPage: () => { }, isEditPage: false, - handleCancelEdit: (hasChanges?: boolean) => {}, + handleCancelEdit: (hasChanges?: boolean) => { }, }); function TourButton() { @@ -395,15 +394,15 @@ export function EditWizardContainer({ site }: Props) { onChangeSidebar: setOpenMenu, })} styles={{ - popover: (base) => ({ + popover: (base: any) => ({ ...base, background: theme.palette.background.default, }), - maskWrapper: (base) => ({ + maskWrapper: (base: any) => ({ ...base, zIndex: 20000, }), - badge: (base) => ({ ...base, color: 'blue' }), + badge: (base: any) => ({ ...base, color: 'blue' }), }} > @@ -431,7 +430,6 @@ export function EditWizardContainer({ site }: Props) { {renderMenu()} - - - + {!isMobile && ( )} - {/* + {/*
*/} - + {!isMobile ? ( - + - {/* + {/* */} - + {!isMobile && renderMenu()} - - + + - ( - - - - - - {String(error)} - - - - )} - > +
)} @@ -725,7 +721,7 @@ export function EditWizardContainer({ site }: Props) { {activeMenu === ActiveMenu.Team && site?.owner?.toLowerCase() === - user?.address?.toLowerCase() && ( + user?.address?.toLowerCase() && ( )} @@ -810,7 +806,7 @@ export function EditWizardContainer({ site }: Props) { {activeMenu === ActiveMenu.Rankings && site?.owner?.toLowerCase() === - user?.address?.toLowerCase() && ( + user?.address?.toLowerCase() && ( )} @@ -875,7 +871,7 @@ export function EditWizardContainer({ site }: Props) { {/*DexContract*/} {activeMenu === ActiveMenu.CreateContract && ( { + onGoToContract={({ address, network }: any) => { setContractAddress(address); setContractNetwork(network); setActiveMenu(ActiveMenu.ManageContract); @@ -900,10 +896,10 @@ export function EditWizardContainer({ site }: Props) { )} - +
{/*false && theme && ( - + - + - + - + { }} activeChainIds={exchangeActiveChainIds} @@ -205,10 +205,10 @@ export default function ExchangeWizardContainer({ customTheme={customTheme} /> - + - + {isOnStepper ? ( - + - + - + )} - {value && ( - + - + - + - + )} - - + - {({ values, setFieldValue, submitForm }) => { + {({ values, setFieldValue, submitForm }: any) => { if (currentSetFieldValue !== setFieldValue) { setCurrentSetFieldValue(() => setFieldValue); } @@ -975,7 +988,7 @@ export default function FooterVariantsWizardContainer({ return (
- + {values.variant === 'glassmorphic' && ( - + }> @@ -1035,7 +1048,11 @@ export default function FooterVariantsWizardContainer({ - + - + - + - + - + setFieldValue('glassConfig.backgroundImage', url)} @@ -1126,7 +1155,7 @@ export default function FooterVariantsWizardContainer({ /> - + )} - {value && ( - + - + )} - - + - + - + - + - + @@ -796,7 +821,11 @@ function NavbarGlassSettingsPanel({ - + @@ -825,7 +854,11 @@ function NavbarGlassSettingsPanel({ - + @@ -854,7 +887,11 @@ function NavbarGlassSettingsPanel({ - + @@ -881,14 +918,18 @@ function NavbarGlassSettingsPanel({ {values.layout?.glassSettings?.logoSize === 'custom' && ( - + setFieldValue('layout.glassSettings.customLogoWidth', parseInt(e.target.value) || 32)} + onChange={(e: any) => setFieldValue('layout.glassSettings.customLogoWidth', parseInt(e.target.value) || 32)} inputProps={{ min: 16, max: 200 }} /> setFieldValue('layout.glassSettings.customLogoHeight', parseInt(e.target.value) || 32)} + onChange={(e: any) => setFieldValue('layout.glassSettings.customLogoHeight', parseInt(e.target.value) || 32)} inputProps={{ min: 16, max: 200 }} /> @@ -909,7 +950,11 @@ function NavbarGlassSettingsPanel({ - + - + - + setFieldValue('layout.glassSettings.disableBackground', e.target.checked)} + onChange={(e: any) => setFieldValue('layout.glassSettings.disableBackground', e.target.checked)} /> } label={ @@ -1128,37 +1181,46 @@ function BottomBarSettingsPanel({ return ( - + - - + setFieldValue('layout.bottomBarSettings.showText', e.target.checked)} + onChange={(e: any) => setFieldValue('layout.bottomBarSettings.showText', e.target.checked)} /> } label={} /> - - + setFieldValue('layout.bottomBarSettings.showBorder', e.target.checked)} + onChange={(e: any) => setFieldValue('layout.bottomBarSettings.showBorder', e.target.checked)} /> } label={} /> - - + - - + - - + - - + - - + - - + - {values.layout?.bottomBarSettings?.showBorder && ( - + - + - - + setFieldValue('layout.miniSidebarSettings.startExpanded', e.target.checked)} + onChange={(e: any) => setFieldValue('layout.miniSidebarSettings.startExpanded', e.target.checked)} /> } label={} @@ -1295,13 +1374,12 @@ function CustomNavbarSettingsPanel({ return ( - + - - + }> @@ -1310,7 +1388,7 @@ function CustomNavbarSettingsPanel({ - + { @@ -1329,7 +1407,7 @@ function CustomNavbarSettingsPanel({ {values.layout?.customSettings?.backgroundType === 'solid' && ( - + - + - + - + Gradient Direction - + Menu Position - - + }> @@ -1475,18 +1551,18 @@ function CustomNavbarSettingsPanel({ - + setFieldValue('layout.customSettings.showLogo', e.target.checked)} + onChange={(e: any) => setFieldValue('layout.customSettings.showLogo', e.target.checked)} /> } label="Show Logo" /> - + Logo Size - + - + @@ -355,7 +355,7 @@ export default function AddItemForm({ item, onCancel, onSubmit }: Props) { } /> - + { assetForm.setFieldValue('title', output); @@ -411,7 +411,7 @@ export default function AddItemForm({ item, onCancel, onSubmit }: Props) { - + handleCompleteCollection(coll)} value={collectionForm.values} @@ -419,7 +419,7 @@ export default function AddItemForm({ item, onCancel, onSubmit }: Props) { - + - + @@ -609,7 +609,7 @@ export default function AddItemForm({ item, onCancel, onSubmit }: Props) { )} - + - )} - - )} - - - )} -
+ {isSubmitting && } + {onSubmit && ( + + + {onCancel && ( + + )} + + + + )} +
+ + )} + ); } diff --git a/apps/dexappbuilder/src/modules/wizard/components/forms/CallToActionSectionForm.tsx b/apps/dexappbuilder/src/modules/wizard/components/forms/CallToActionSectionForm.tsx index 748a4c49f..43cc50f1c 100644 --- a/apps/dexappbuilder/src/modules/wizard/components/forms/CallToActionSectionForm.tsx +++ b/apps/dexappbuilder/src/modules/wizard/components/forms/CallToActionSectionForm.tsx @@ -1,4 +1,5 @@ import { + Box, Button, Checkbox, FormControl, @@ -150,7 +151,7 @@ export default function CallToActionSectionForm({ const handleSubmitItem = (item: SectionItem) => { if (selectedItemIndex > -1) { - setItems((value) => { + setItems((value: any) => { const newItems = [...value]; newItems[selectedItemIndex] = item; @@ -158,7 +159,7 @@ export default function CallToActionSectionForm({ return newItems; }); } else { - setItems((value) => [...value, item]); + setItems((value: any) => [...value, item]); } setSelectedItemIndex(-1); @@ -183,8 +184,9 @@ export default function CallToActionSectionForm({ return (
- - + + + @@ -206,7 +208,7 @@ export default function CallToActionSectionForm({ - + { formik.setFieldValue('title', output); @@ -231,7 +233,7 @@ export default function CallToActionSectionForm({ )} - + { formik.setFieldValue('subtitle', output); @@ -260,7 +262,7 @@ export default function CallToActionSectionForm({ )} - + { formik.setFieldValue('button.title', output); @@ -292,7 +294,7 @@ export default function CallToActionSectionForm({ )} - + - + {!showAddItem && - items.map((item, index) => ( - + items.map((item: any, index: any) => ( + ))} {showAddItem ? ( - + -1 ? `edit-${selectedItemIndex}` : 'add-new'} @@ -360,7 +365,7 @@ export default function CallToActionSectionForm({ ) : ( - + -
- )} - > +
- +
); } diff --git a/apps/dexappbuilder/src/modules/wizard/components/forms/CollectionItemAutocomplete.tsx b/apps/dexappbuilder/src/modules/wizard/components/forms/CollectionItemAutocomplete.tsx index 2bba47749..a60803251 100644 --- a/apps/dexappbuilder/src/modules/wizard/components/forms/CollectionItemAutocomplete.tsx +++ b/apps/dexappbuilder/src/modules/wizard/components/forms/CollectionItemAutocomplete.tsx @@ -38,8 +38,8 @@ export function CollectionItemAutocomplete(props: Props) { const collections = useMemo(() => { return chainId ? wizardConfig.collections - ?.filter((c) => c.chainId === chainId) - .map((value) => { + ?.filter((c: any) => c.chainId === chainId) + .map((value: any) => { return { name: value.name, contractAddress: value.contractAddress, @@ -49,7 +49,7 @@ export function CollectionItemAutocomplete(props: Props) { image: value.image, }; }) || [] - : wizardConfig.collections?.map((value) => { + : wizardConfig.collections?.map((value: any) => { return { name: value.name, contractAddress: value.contractAddress, @@ -63,7 +63,7 @@ export function CollectionItemAutocomplete(props: Props) { const defaultValue = useMemo(() => { const collection = collections.find( - (c) => + (c: any) => c.chainId === value.chainId && isAddressEqual(value.contractAddress, c.contractAddress), ); diff --git a/apps/dexappbuilder/src/modules/wizard/components/forms/CollectionSectionForm.tsx b/apps/dexappbuilder/src/modules/wizard/components/forms/CollectionSectionForm.tsx index 5b45b56a2..1398210d9 100644 --- a/apps/dexappbuilder/src/modules/wizard/components/forms/CollectionSectionForm.tsx +++ b/apps/dexappbuilder/src/modules/wizard/components/forms/CollectionSectionForm.tsx @@ -110,7 +110,7 @@ export default function CollectionSectionForm({ const handleSubmitItem = (item: SectionItem) => { if (selectedItemIndex > -1) { - setItems((value) => { + setItems((value: any) => { const newItems = [...value]; newItems[selectedItemIndex] = item; @@ -118,7 +118,7 @@ export default function CollectionSectionForm({ return newItems; }); } else { - setItems((value) => [...value, item]); + setItems((value: any) => [...value, item]); } setSelectedItemIndex(-1); @@ -143,7 +143,7 @@ export default function CollectionSectionForm({ return (
- + - + @@ -198,12 +198,12 @@ export default function CollectionSectionForm({ {(formik.values.variant === "grid" || formik.values.variant === "masonry" || formik.values.variant === "hero") && ( - + { + onChange={(e: any) => { formik.setFieldValue('hideTitle', e.target.checked); }} color="primary" @@ -220,8 +220,8 @@ export default function CollectionSectionForm({ )} {!showAddItem && - items.map((item, index) => ( - + items.map((item: any, index: any) => ( + ))} {showAddItem ? ( - + -1 ? `edit-${selectedItemIndex}` : 'add-new'} @@ -246,7 +246,7 @@ export default function CollectionSectionForm({ ) : ( - + )} - + - + )} - +
diff --git a/apps/dexappbuilder/src/modules/wizard/components/forms/Gamification/LeaderboardRule.tsx b/apps/dexappbuilder/src/modules/wizard/components/forms/Gamification/LeaderboardRule.tsx index 03f338dff..e61c6603d 100644 --- a/apps/dexappbuilder/src/modules/wizard/components/forms/Gamification/LeaderboardRule.tsx +++ b/apps/dexappbuilder/src/modules/wizard/components/forms/Gamification/LeaderboardRule.tsx @@ -10,7 +10,6 @@ import { Accordion, AccordionDetails, AccordionSummary, - alpha, AutocompleteChangeReason, Autocomplete as AutocompleteMUI, AutocompleteRenderInputParams, @@ -277,7 +276,7 @@ export default function LeaderboardRule({ )} - + {isEdit ? ( theme.shape.borderRadius / 2, + borderRadius: (theme: any) => theme.shape.borderRadius / 2, '&: hover': { backgroundColor: (theme) => - alpha(theme.palette.primary.main, 0.1), + theme.alpha(theme.palette.primary.main, 0.1), }, }} onClick={handleEdit} @@ -333,7 +332,7 @@ export default function LeaderboardRule({ - + } /> - + - + + )} - + {edit ? ( diff --git a/apps/dexappbuilder/src/modules/wizard/components/forms/Gamification/RankingMetadataForm.tsx b/apps/dexappbuilder/src/modules/wizard/components/forms/Gamification/RankingMetadataForm.tsx index 4eaf2a937..9731e11d3 100644 --- a/apps/dexappbuilder/src/modules/wizard/components/forms/Gamification/RankingMetadataForm.tsx +++ b/apps/dexappbuilder/src/modules/wizard/components/forms/Gamification/RankingMetadataForm.tsx @@ -72,10 +72,10 @@ export default function RankingMetadataForm({ onSave(); }} > - {({ submitForm, resetForm, values, setFieldValue }) => ( + {({ submitForm, resetForm, values, setFieldValue }: any) => ( - + - + - + - - + /> + + + + + + + - ); } diff --git a/apps/dexappbuilder/src/modules/wizard/components/forms/UserContractForm.tsx b/apps/dexappbuilder/src/modules/wizard/components/forms/UserContractForm.tsx index dc189e74d..a1cfe3f8d 100644 --- a/apps/dexappbuilder/src/modules/wizard/components/forms/UserContractForm.tsx +++ b/apps/dexappbuilder/src/modules/wizard/components/forms/UserContractForm.tsx @@ -19,6 +19,8 @@ import { Stack, Tooltip, Typography, + useMediaQuery, + useTheme, } from '@mui/material'; import { ChangeEvent, useCallback, useEffect, useState } from 'react'; import { FormattedMessage } from 'react-intl'; @@ -46,6 +48,8 @@ export function UserContractForm({ showSaveButton, }: Props) { const { account } = useWeb3React(); + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down('sm')); const [query, setQuery] = useState(); @@ -96,9 +100,9 @@ export function UserContractForm({ }, [formId, hideFormInfo]); return ( - + - + - + - + {listFormsQuery.data?.map((form) => ( - + ( - + @@ -168,7 +172,7 @@ export function UserContractForm({ ))} {listFormsQuery.data && listFormsQuery.data?.length === 0 && ( - + @@ -207,7 +211,7 @@ export function UserContractForm({ {showSaveButton && ( - + = Yup.object().shape({ - videoType: Yup.string().required(), videoUrl: Yup.string().required(), title: Yup.string().required(), }); @@ -51,12 +45,21 @@ export default function VideoSectionForm({ const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down('sm')); + const getVideoType = (url: string): VideoEmbedType => { + if (url.includes('youtube.com') || url.includes('youtu.be')) { + return 'youtube'; + } else if (url.includes('vimeo.com')) { + return 'vimeo'; + } + return 'custom'; + }; + const handleSubmit = (values: Form, helpers: FormikHelpers) => { if (onSave) { onSave({ videoUrl: values.videoUrl, type: 'video', - embedType: values.videoType as VideoEmbedType, + embedType: getVideoType(values.videoUrl), title: values.title, }); } @@ -65,11 +68,10 @@ export default function VideoSectionForm({ const formik = useFormik({ initialValues: section ? { - videoType: section.embedType, videoUrl: section.videoUrl, title: section.title, } - : { videoType: 'youtube', videoUrl: '', title: '' }, + : { videoUrl: '', title: '' }, onSubmit: handleSubmit, validationSchema: FormSchema, }); @@ -80,81 +82,52 @@ export default function VideoSectionForm({ onChange({ videoUrl: formik.values.videoUrl, type: 'video', - embedType: formik.values.videoType as VideoEmbedType, + embedType: getVideoType(formik.values.videoUrl), title: formik.values.title, }); }, [formik.values]); return ( - - - - - - - - - - - } - fullWidth - name="title" - value={formik.values.title} - onChange={formik.handleChange} - error={Boolean(formik.errors.title)} - required - helperText={ - Boolean(formik.errors.title) ? formik.errors.title : undefined - } - /> - - - - } - required - fullWidth - type="url" - name="videoUrl" - value={formik.values.videoUrl} - onChange={formik.handleChange} - error={Boolean(formik.errors.videoUrl)} - helperText={ - Boolean(formik.errors.videoUrl) - ? formik.errors.videoUrl - : undefined - } - /> - + + + } + fullWidth + name="title" + value={formik.values.title} + onChange={formik.handleChange} + error={Boolean(formik.errors.title)} + required + helperText={ + Boolean(formik.errors.title) ? formik.errors.title : undefined + } + /> + + + } + required + fullWidth + type="url" + name="videoUrl" + value={formik.values.videoUrl} + onChange={formik.handleChange} + error={Boolean(formik.errors.videoUrl)} + helperText={ + Boolean(formik.errors.videoUrl) + ? formik.errors.videoUrl + : undefined + } + /> - - - + {getVideoType(videoUrl) === 'youtube' ? ( + + ) : ( +