Compare commits

...

2 commits

Author SHA1 Message Date
rzmk
607db91bbc chore: fix pricing and add cancellation scenario
Some checks failed
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-01-07 08:48:51 -05:00
rzmk
b293be14e1 chore: remove Configurator due to agreed-upon maintenance burden 2026-01-07 08:45:57 -05:00
3 changed files with 67 additions and 71 deletions

View file

@ -82,18 +82,18 @@ const FAQData = [
], ],
}, },
{ {
question: "How do I run this on my Linux distribution?", question: "How do I run this on my Linux distribution?",
answer: "On Linux you have three file options for installation: AppImage, deb, and rpm. If you're running Ubuntu 22.04 and need assistance, you may view our support article linked below. If you have a compatible Linux setup, then qsv pro should work as intended from the AppImage. You may need to change the AppImage file's permission to be executable by running the 'chmod +x <AppImage path>' command where 'AppImage path' is the path to your AppImage file. Then you may attempt running the AppImage file. If you get a FUSE error, please visit the documentation listed below to install FUSE version 2 for your system. For rpm installation on openSUSE Tumbleweed, you may need to install additional libraries such as libappindicator3-1 and libwebkit2gtk-4_1-0 before running qsv pro with rpm -i.", answer: "On Linux you have three file options for installation: AppImage, deb, and rpm. If you're running Ubuntu 22.04 and need assistance, you may view our support article linked below. If you have a compatible Linux setup, then qsv pro should work as intended from the AppImage. You may need to change the AppImage file's permission to be executable by running the 'chmod +x <AppImage path>' command where 'AppImage path' is the path to your AppImage file. Then you may attempt running the AppImage file. If you get a FUSE error, please visit the documentation listed below to install FUSE version 2 for your system. For rpm installation on openSUSE Tumbleweed, you may need to install additional libraries such as libappindicator3-1 and libwebkit2gtk-4_1-0 before running qsv pro with rpm -i.",
links: [ links: [
{ {
label: "Ubuntu 22.04 support article", label: "Ubuntu 22.04 support article",
url: "https://support.dathere.com/support/solutions/articles/154000196571-how-to-install-qsv-pro-on-ubuntu-22-04" url: "https://support.dathere.com/support/solutions/articles/154000196571-how-to-install-qsv-pro-on-ubuntu-22-04"
}, },
{ {
label: "AppImage/AppImageKit FUSE wiki article", label: "AppImage/AppImageKit FUSE wiki article",
url: "https://github.com/AppImage/AppImageKit/wiki/FUSE", url: "https://github.com/AppImage/AppImageKit/wiki/FUSE",
}, },
], ],
}, },
{ {
question: "Is there a light theme?", question: "Is there a light theme?",
@ -113,16 +113,16 @@ const FAQData = [
}, },
], ],
}, },
{ // {
question: 'Why is "experimental" mentioned?', // question: 'Why is "experimental" mentioned?',
answer: "qsv pro may include \"experimental\" features that may not be fully functional/tested and may be outdated. If you encounter any bugs or have any feature/feedback requests, you may contact us on our support site by creating a ticket.", // answer: "qsv pro may include \"experimental\" features that may not be fully functional/tested and may be outdated. If you encounter any bugs or have any feature/feedback requests, you may contact us on our support site by creating a ticket.",
links: [ // links: [
{ // {
label: "Contact support", // label: "Contact support",
url: "https://support.dathere.com", // url: "https://support.dathere.com",
}, // },
], // ],
}, // },
{ {
question: "My question wasn't listed here. Where can I get support?", question: "My question wasn't listed here. Where can I get support?",
answer: "You may request support on our support site by creating a ticket.", answer: "You may request support on our support site by creating a ticket.",
@ -185,9 +185,8 @@ const FAQBox = ({ defaultOpen, title, links, screenshots, content }) => {
{title} {title}
</h3> </h3>
<p <p
className={`text-customGrayText pt-4 transition-all duration-300 overflow-hidden ${ className={`text-customGrayText pt-4 transition-all duration-300 overflow-hidden ${isOpen ? "max-h-96" : "max-h-0"
isOpen ? "max-h-96" : "max-h-0" }`}
}`}
> >
{content} {content}
</p> </p>
@ -195,9 +194,8 @@ const FAQBox = ({ defaultOpen, title, links, screenshots, content }) => {
{/* Links as buttons with link.url and link.label */} {/* Links as buttons with link.url and link.label */}
{links && links.length > 0 && ( {links && links.length > 0 && (
<div <div
className={`transition-all duration-500 my-2 ${ className={`transition-all duration-500 my-2 ${isOpen ? "block" : "hidden"
isOpen ? "block" : "hidden" }`}
}`}
> >
<div className="flex flex-wrap -m-1 space-x-2"> <div className="flex flex-wrap -m-1 space-x-2">
{links.map((link, index) => ( {links.map((link, index) => (
@ -220,9 +218,8 @@ const FAQBox = ({ defaultOpen, title, links, screenshots, content }) => {
{screenshots && screenshots.length > 0 && ( {screenshots && screenshots.length > 0 && (
<div <div
className={`transition-all duration-500 my-2 ${ className={`transition-all duration-500 my-2 ${isOpen ? "block" : "hidden"
isOpen ? "block" : "hidden" }`}
}`}
> >
<div className="flex flex-wrap -m-1"> <div className="flex flex-wrap -m-1">
{screenshots.map((screenshot, index) => ( {screenshots.map((screenshot, index) => (
@ -248,9 +245,8 @@ const FAQBox = ({ defaultOpen, title, links, screenshots, content }) => {
viewBox="0 0 20 20" viewBox="0 0 20 20"
fill="none" fill="none"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
className={`transition-all duration-500 ${ className={`transition-all duration-500 ${isOpen ? "rotate-[180deg]" : "rotate-[270deg]"
isOpen ? "rotate-[180deg]" : "rotate-[270deg]" }`}
}`}
> >
<path <path
d="M4.16732 12.5L10.0007 6.66667L15.834 12.5" d="M4.16732 12.5L10.0007 6.66667L15.834 12.5"

View file

@ -41,30 +41,30 @@ const FeatureCarousel = () => {
"Use the qsv pro command available from the qsv command-line tool to import local files by their file path into the qsv pro Workflow or on Windows launch an Alacritty terminal running csvlens on the file.", "Use the qsv pro command available from the qsv command-line tool to import local files by their file path into the qsv pro Workflow or on Windows launch an Alacritty terminal running csvlens on the file.",
image: commandDemo, image: commandDemo,
}, },
{ // {
title: "Configurator (Experimental) - Run qsv commands in an interactive GUI", // title: "Configurator (Experimental) - Run qsv commands in an interactive GUI",
description: // description:
"Run qsv commands in a graphical user interface and explore its stdout and stderr as raw output. The command's elapsed time is also provided. Note: Not all commands are supported and this feature may be broken/outdated.", // "Run qsv commands in a graphical user interface and explore its stdout and stderr as raw output. The command's elapsed time is also provided. Note: Not all commands are supported and this feature may be broken/outdated.",
image: configuratorDemo, // image: configuratorDemo,
}, // },
]; ];
const OPTIONS = {} const OPTIONS = {}
const PLUGINS = [Autoplay({ delay: 30000 })] const PLUGINS = [Autoplay({ delay: 30000 })]
return ( return (
<EmblaCarousel slides={SLIDES} options={OPTIONS} plugins={PLUGINS} /> <EmblaCarousel slides={SLIDES} options={OPTIONS} plugins={PLUGINS} />
// <div className="embla" ref={emblaRef}> // <div className="embla" ref={emblaRef}>
// <div className="embla__container"> // <div className="embla__container">
// <div className="embla__slide"><img src={flowDemo.src} /></div> // <div className="embla__slide"><img src={flowDemo.src} /></div>
// <div className="embla__slide"><img src={workflowDemo.src} /></div> // <div className="embla__slide"><img src={workflowDemo.src} /></div>
// <div className="embla__slide"><img src={toolboxDemo.src} /></div> // <div className="embla__slide"><img src={toolboxDemo.src} /></div>
// <div className="embla__slide"><img src={commandDemo.src} /></div> // <div className="embla__slide"><img src={commandDemo.src} /></div>
// <div className="embla__slide"><img src={apiDemo.src} /></div> // <div className="embla__slide"><img src={apiDemo.src} /></div>
// <div className="embla__slide"><img src={configuratorDemo.src} /></div> // <div className="embla__slide"><img src={configuratorDemo.src} /></div>
// </div> // </div>
// </div> // </div>
) )
} }
export default FeatureCarousel; export default FeatureCarousel;

View file

@ -5,25 +5,25 @@ import { CheckArrowIcon } from "../assets/icons/CheckArrowIcon";
const pricingData = [ const pricingData = [
["Import spreadsheets up to 1MB", ["Import spreadsheets up to 1MB",
"Transform data with free recipes", "Transform data with free recipes",
"View spreadsheet statistics and frequency data", "View spreadsheet statistics and frequency data",
"Run Polars SQL queries", "Run Polars SQL queries",
"Upload/Download compatible data from a CKAN instance", "Upload/Download compatible data from a CKAN instance",
"List 1 CKAN instance at a time", "List 1 CKAN instance at a time",
"Use free tools in Toolbox", "Use free tools in Toolbox",
"Use qsv slice from Flow", "Use qsv slice from Flow",
"Use qsv count and qsv slice in Configurator (experimental)", // "Use qsv count and qsv slice in Configurator (experimental)",
"Export Workflow file data and various data table data to CSV, TSV, TAB, and SSV", "Export Workflow file data and various data table data to CSV, TSV, TAB, and SSV",
], ],
["Import spreadsheets larger than 1MB", ["Import spreadsheets larger than 1MB",
"View extra statistics in the Workflow based on your file", "View extra statistics in the Workflow based on your file",
"Transform data with Pro recipes", "Transform data with Pro recipes",
"List more than 1 CKAN instance", "List more than 1 CKAN instance",
"Use Pro tools in Toolbox", "Use Pro tools in Toolbox",
"Use more qsv commands other than qsv slice from Flow", "Use more qsv commands other than qsv slice from Flow",
"Use more qsv commands other than qsv count and qsv slice in Configurator (experimental)", // "Use more qsv commands other than qsv count and qsv slice in Configurator (experimental)",
"Export Workflow file data and various data table data to 16 formats", "Export Workflow file data and various data table data to 16 formats",
"Run csvlens on a spreadsheet or data table in a new Alacritty terminal (Windows only)" "Run csvlens on a spreadsheet or data table in a new Alacritty terminal (Windows only)"
], ],
[] []
]; ];
@ -171,7 +171,7 @@ export const Pricing = () => {
<div className="inline-block text-center py-2 px-4 w-full custom-button-colored leading-loose transition duration-200"> <div className="inline-block text-center py-2 px-4 w-full custom-button-colored leading-loose transition duration-200">
Start 30-day free trial Start 30-day free trial
</div> </div>
<p className="mt-8 text-center text-white">After your trial ends in 30 days, you will be charged ${isMonthly ? "99.99" : "999.99"}, then ${isMonthly? "99.99" : "999.99"} every {isMonthly ? "month" : "year"}.</p> <p className="mt-8 text-center text-white">After your trial ends, you will be charged ${isMonthly ? "99.99" : "999.00"}, then ${isMonthly ? "99.99" : "999.00"} every {isMonthly ? "month" : "year"} (unless you cancel first).</p>
</a> </a>
</div> </div>
</div> </div>