"use strict"; exports.id = 8095; exports.ids = [8095]; exports.modules = { /***/ 7335: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": () => (/* binding */ BriefIntroSection) }); // EXTERNAL MODULE: external "react/jsx-runtime" var jsx_runtime_ = __webpack_require__(997); // EXTERNAL MODULE: external "react" var external_react_ = __webpack_require__(6689); // EXTERNAL MODULE: external "@mui/icons-material/CloudDoneTwoTone" var CloudDoneTwoTone_ = __webpack_require__(5891); ;// CONCATENATED MODULE: ./components/general/ScreenShotDescriptionCard.jsx // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * ============================================================================== * Main Component { Functional } * ============================================================================== * @param {Object} props - Server props * @param {string} props.image * @param {string} props.title * @param {string} [props.description] * @param {"green" | "gray"} [props.color] * @param {number} [props.imageHeight] */ function ScreenShotDescriptionCard({ image , title , description , color , imageHeight , }) { /** * Get Contexts * * @abstract { React.useContext } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Javascript Variables * * @abstract Non hook variables and functions */ const subColor = (()=>{ if (color == "green") return "green"; if (color == "gray") return "gray"; return ""; })(); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * React Hooks * * @abstract { useState, useEffect, useRef, etc ... } */ return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "color-card shadow-xl" + (color ? " " + subColor : ""), children: [ /*#__PURE__*/ jsx_runtime_.jsx("h3", { className: "title m-0 text-2xl", children: title }), description && /*#__PURE__*/ jsx_runtime_.jsx("span", { className: "text-slate-600 dark:text-slate-400 text-left", children: description }), /*#__PURE__*/ jsx_runtime_.jsx("div", { className: "image-block", style: imageHeight ? { height: `${imageHeight}px` } : undefined, children: /*#__PURE__*/ jsx_runtime_.jsx("img", { src: image, alt: `${title} Image` }) }) ] }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ ;// CONCATENATED MODULE: ./components/general/ContainedSection.jsx // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * ============================================================================== * Main Component { Functional } * ============================================================================== * @param {Object} props - Server props * @param {string} props.image * @param {string} props.title * @param {string} [props.description] * @param {"green" | "gray" | "purple"} [props.color] * @param {number} [props.height] * @param {boolean} [props.h2] * @param {string} [props.url] * @param {string} [props.cta] */ function ContainedSection({ image , title , description , color , height , h2 , url , cta , }) { /** * Get Contexts * * @abstract { React.useContext } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Javascript Variables * * @abstract Non hook variables and functions */ const subColor = (()=>{ if (color == "green") return "green"; if (color == "gray") return "gray"; if (color == "purple") return "purple"; return ""; })(); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * React Hooks * * @abstract { useState, useEffect, useRef, etc ... } */ return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "contained-section shadow-xl" + (color ? " " + subColor : ""), style: height ? { height: `${height}px` } : undefined, children: [ /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "content text-left", children: [ h2 ? /*#__PURE__*/ jsx_runtime_.jsx("h2", { className: "m-0 text-white", children: title }) : /*#__PURE__*/ jsx_runtime_.jsx("h3", { className: "m-0 text-white", children: title }), description && /*#__PURE__*/ jsx_runtime_.jsx("span", { className: "text-slate-400", children: description }), url && cta && /*#__PURE__*/ jsx_runtime_.jsx("a", { href: url, className: "button mt-4", children: cta }) ] }), /*#__PURE__*/ jsx_runtime_.jsx("div", { className: "image-block", children: /*#__PURE__*/ jsx_runtime_.jsx("img", { src: image, alt: `${title} Image` }) }), /*#__PURE__*/ jsx_runtime_.jsx("img", { src: "/images/geometric-overlay.webp", className: "absolute z-0 left-0 top-0 w-full h-full opacity-80 mix-blend-overlay", alt: "Background Image" }) ] }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ ;// CONCATENATED MODULE: ./components/pages/homepage/BriefIntroSection.jsx // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ //////////////////////////////////////// /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * ============================================================================== * Main Component { Functional } * ============================================================================== * @param {Object} props - Server props */ function BriefIntroSection(props) { /** * Get Contexts * * @abstract { React.useContext } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Javascript Variables * * @abstract Non hook variables and functions */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * React Hooks * * @abstract { useState, useEffect, useRef, etc ... } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Function Return * * @abstract Main Function Return */ return /*#__PURE__*/ jsx_runtime_.jsx("section", { className: "py-20", children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "main-container flex-col items-center text-center", children: [ /*#__PURE__*/ jsx_runtime_.jsx("h2", { className: "m-0 lg:text-left", children: "All your data storage needs in one place" }), /*#__PURE__*/ jsx_runtime_.jsx("p", { className: "m-0 ", children: "Datasquirel solves the hassle of storing data across different platforms using a centralized, easy-to-use, SQL-based cloud database administration system. Now you can have all your data in one place and retrieve from any location or environment using HTTP REST API calls and SQL queries." }), /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "grid grid-cols-1 xl:grid-cols-2 w-full mt-10 gap-10", children: [ /*#__PURE__*/ jsx_runtime_.jsx(ScreenShotDescriptionCard, { image: "/images/screenshots/databases-light.webp", title: "Data and Content", description: "Create databases, tables, dynamic datatypes including rich text, JSON and other editable code blocks", imageHeight: 400 }), /*#__PURE__*/ jsx_runtime_.jsx(ScreenShotDescriptionCard, { image: "/images/screenshots/media-list-white.webp", title: "Images, Videos, and other Media", description: "Static images automatically compressed with multiple format support, videos, pdf, excel documents, and more.", color: "green", imageHeight: 400 }) ] }), /*#__PURE__*/ jsx_runtime_.jsx("div", { className: "mt-10 w-full", children: /*#__PURE__*/ jsx_runtime_.jsx(ContainedSection, { image: "/images/screenshots/tables-list-white.webp", title: "All the power of SQL without the hassle", description: "Indexes, Foreign keys, encryption, triggers, stored proceedures, etc. You get the best of both worlds: the full power of SQL, and the best UI yet to better manipulate your data.", cta: "Learn More", url: "/about", height: 500 }) }) ] }) }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /***/ }), /***/ 3987: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ FooterCta) /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _mui_icons_material_ArticleTwoTone__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1891); /* harmony import */ var _mui_icons_material_ArticleTwoTone__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_ArticleTwoTone__WEBPACK_IMPORTED_MODULE_2__); // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * ============================================================================== * Main Component { Functional } * ============================================================================== * @param {Object} props - Server props * @param {import("@/package-shared/types").UserType | null } [props.user] */ function FooterCta({ user }) { /** * Get Contexts * * @abstract { React.useContext } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Javascript Variables * * @abstract Non hook variables and functions */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * React Hooks * * @abstract { useState, useEffect, useRef, etc ... } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Function Return * * @abstract Main Function Return */ return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", { className: "py-24 border-0 border-t border-b border-slate-100 dark:border-slate-100/10 border-solid", children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", { className: "w-full max-w-6xl gap-10 justify-between flex-col relative z-10", children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "flex-col items-center max-w-2xl text-center ", style: { minWidth: "45%" }, children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", { className: "m-0 leading-tight", children: "Get started For Free." }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", { className: "text-lg font-normal", children: "Get Started At no cost. Learn how to create and retrieve data by viewing our documentation." }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "flex items-start justify-center w-full mt-4", children: [ !user?.logged_in_status && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("a", { href: "/create-account", className: "button", children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", { className: "", children: "Sign Up For Free" }) }), /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("a", { href: "/docs", className: "button outlined gray", children: [ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((_mui_icons_material_ArticleTwoTone__WEBPACK_IMPORTED_MODULE_2___default()), { sx: { opacity: 0.8, fontSize: 16 } }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", { children: "See The Docs" }) ] }) ] }) ] }) }), /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("img", { src: "/images/grid.webp", alt: "Dotted image background", className: "absolute top-0 left-0 w-full h-full object-cover opacity-80 dark:opacity-10 z-0" }) ] }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /***/ }), /***/ 662: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* unused harmony export default */ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _mui_icons_material_ThumbUpAltTwoTone__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5768); /* harmony import */ var _mui_icons_material_ThumbUpAltTwoTone__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_mui_icons_material_ThumbUpAltTwoTone__WEBPACK_IMPORTED_MODULE_2__); // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ //////////////////////////////////////// /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * ============================================================================== * Main Component { Functional } * ============================================================================== * @param {Object} props - Server props */ function MainFeaturesSection(props) { /** * Get Contexts * * @abstract { React.useContext } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Javascript Variables * * @abstract Non hook variables and functions */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * React Hooks * * @abstract { useState, useEffect, useRef, etc ... } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Function Return * * @abstract Main Function Return */ return /*#__PURE__*/ _jsx("section", { className: "py-20", children: /*#__PURE__*/ _jsxs("div", { className: "main-container flex-col items-center text-center", children: [ /*#__PURE__*/ _jsxs("div", { children: [ /*#__PURE__*/ _jsx(ThumbUpAltTwoToneIcon, { color: "action" }), /*#__PURE__*/ _jsx("span", { className: "text-slate-500 dark:text-white/80 font-medium", children: "Built from ground up with core basic priciples" }) ] }), /*#__PURE__*/ _jsx("h2", { className: "m-0 lg:text-left", children: "Doing the basics and doing it right" }), /*#__PURE__*/ _jsxs("p", { className: "m-0 ", children: [ "The main purpose of a database is to do three main things:", " ", /*#__PURE__*/ _jsx("b", { children: "Create" }), ", ", /*#__PURE__*/ _jsx("b", { children: "Store" }), ", and ", /*#__PURE__*/ _jsx("b", { children: "Retrieve" }), ". Datasquirel focuses on these basic tasks and simplifies it as much as possible, then builds on them to make your data management even more robust." ] }), /*#__PURE__*/ _jsxs("div", { className: "grid grid-cols-1 xl:grid-cols-3 w-full gap-10 items-stretch mt-10 text-left", children: [ /*#__PURE__*/ _jsxs("div", { className: "card col items-start", children: [ /*#__PURE__*/ _jsx("img", { src: "/images/elastic-girl-with-the-book-and-the-globe.webp", alt: "Real Estaste Crypto Image", width: 250, height: 250, className: "object-contain" }), /*#__PURE__*/ _jsx("h3", { className: "m-0", children: "Create." }), /*#__PURE__*/ _jsx("span", { className: "font-normal mb-4", children: "Create databases, tables, columns, rows, fields, entries. Datasquirel uses all conventional SQL methods and query system for creating databases and entries: both for the GUI and for the REST api." }), /*#__PURE__*/ _jsx("div", { className: "flex items-start justify-start w-full mt-auto", children: /*#__PURE__*/ _jsx("a", { href: "/docs/quick-start", className: "button outlined gray", children: /*#__PURE__*/ _jsx("span", { children: "Learn More" }) }) }) ] }), /*#__PURE__*/ _jsxs("div", { className: "card col items-start", children: [ /*#__PURE__*/ _jsx("img", { src: "/images/elastic-11.webp", alt: "Real Estaste Crypto Image", width: 250, height: 250, className: "object-contain" }), /*#__PURE__*/ _jsx("h2", { className: "m-0 text-3xl", children: "Store." }), /*#__PURE__*/ _jsx("span", { className: "font-normal mb-4", children: "Store data in different formats as compatible with SQL standards. Integers, varchars, text. In addition datasquirel provides a media storage platform for easy and quick storage of images." }), /*#__PURE__*/ _jsxs("div", { className: "flex items-center justify-start w-full mt-auto flex-wrap", children: [ /*#__PURE__*/ _jsx("a", { href: "/docs/gui-reference/create-entry", className: "button outlined gray", children: /*#__PURE__*/ _jsx("span", { children: "Learn More" }) }), /*#__PURE__*/ _jsxs("a", { href: "/docs/database-reference/data-types", className: "text-sm text-sky-500 flex items-center gap-1", style: { border: "none" }, children: [ "View Datatypes", /*#__PURE__*/ _jsx("img", { src: "/images/icons8-next-button-66.png", alt: "", width: 20 }) ] }) ] }) ] }), /*#__PURE__*/ _jsxs("div", { className: "card col items-start", children: [ /*#__PURE__*/ _jsx("img", { src: "/images/elastic-girl-looking-for-an-employee-online.webp", alt: "Real Estaste Crypto Image", width: 250, height: 250, className: "object-contain" }), /*#__PURE__*/ _jsx("h2", { className: "m-0 text-3xl", children: "Retrieve." }), /*#__PURE__*/ _jsx("span", { className: "font-normal mb-4", children: "Get sotred data from anywhere. Using SQLs powerful query system you can run queries directly via REST api with just a few lines of code. For stored media you have access to images and thumbnail links which you can view anywhere." }), /*#__PURE__*/ _jsxs("div", { className: "flex items-center justify-start w-full mt-auto flex-wrap", children: [ /*#__PURE__*/ _jsx("a", { href: "/docs/api-reference/get-data", className: "button outlined gray", children: /*#__PURE__*/ _jsx("span", { children: "Learn More" }) }), /*#__PURE__*/ _jsxs("a", { href: "/docs/api-reference/get-data", className: "text-sm text-sky-500 flex items-center gap-1", style: { border: "none" }, children: [ "Rest API Docs", /*#__PURE__*/ _jsx("img", { src: "/images/icons8-next-button-66.png", alt: "", width: 20 }) ] }) ] }) ] }) ] }) ] }) }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /***/ }) }; ;