(() => { var exports = {}; exports.id = 5405; exports.ids = [5405]; exports.modules = { /***/ 4621: /***/ ((module) => { // Exports module.exports = { "hero_section_wrapper": "Home_hero_section_wrapper__IkH4Z", "hero_image": "Home_hero_image__UVLPw", "hero_image_alt": "Home_hero_image_alt__zrhLF", "hero_text_section": "Home_hero_text_section__kUQbt" }; /***/ }), /***/ 591: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "HomepageContext": () => (/* binding */ HomepageContext), "default": () => (/* binding */ Homepage) }); // EXTERNAL MODULE: external "react/jsx-runtime" var jsx_runtime_ = __webpack_require__(997); // EXTERNAL MODULE: external "react" var external_react_ = __webpack_require__(6689); var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_); // EXTERNAL MODULE: ./layouts/GeneralLayout.jsx + 1 modules var GeneralLayout = __webpack_require__(6217); // EXTERNAL MODULE: ./components/general/PageHeadTags.jsx var PageHeadTags = __webpack_require__(4097); // EXTERNAL MODULE: ./functions/frontend/clientAuthUser.js var clientAuthUser = __webpack_require__(9922); // EXTERNAL MODULE: ./components/pages/homepage/BriefIntroSection.jsx + 2 modules var BriefIntroSection = __webpack_require__(7335); // EXTERNAL MODULE: ./components/pages/homepage/FooterCta.jsx var FooterCta = __webpack_require__(3987); // EXTERNAL MODULE: ./components/pages/homepage/MainFeaturesSection.jsx var MainFeaturesSection = __webpack_require__(662); // EXTERNAL MODULE: ./components/pages/homepage/Home.module.css var Home_module = __webpack_require__(4621); var Home_module_default = /*#__PURE__*/__webpack_require__.n(Home_module); // EXTERNAL MODULE: external "@mui/icons-material/ArticleTwoTone" var ArticleTwoTone_ = __webpack_require__(1891); var ArticleTwoTone_default = /*#__PURE__*/__webpack_require__.n(ArticleTwoTone_); // EXTERNAL MODULE: external "@mui/icons-material/TipsAndUpdatesTwoTone" var TipsAndUpdatesTwoTone_ = __webpack_require__(507); // EXTERNAL MODULE: ./components/general/FadedImage.jsx var FadedImage = __webpack_require__(4598); ;// CONCATENATED MODULE: ./components/pages/homepage/Hero2.jsx // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ //////////////////////////////////////// /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * ============================================================================== * Main Component { Functional } * ============================================================================== * @param {Object} props - Server props * @param {import("@/package-shared/types").UserType | null } [props.user] */ function Hero2({ 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,jsx_runtime_.jsxs)("section", { className: (Home_module_default()).hero_section_wrapper, children: [ /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "main-container flex-col max-w-[1000px] relative z-10 items-center justify-start text-center mb-10 md:mb-20", children: [ /*#__PURE__*/ jsx_runtime_.jsx("h1", { className: "text-4xl md:text-5xl xl:text-[60px] m-0", style: { lineHeight: 1.2 }, children: "The fourth dimension of Relational database" }), /*#__PURE__*/ jsx_runtime_.jsx("span", { className: "text-xl font-normal max-w-[800px]", children: "Building upon the idea of connecting tables in a database via joins and foriegn keys, datasquirel has added that last dimension of connecting databases." }), /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "flex items-center justify-center w-full mt-4 flex-wrap max-w-lg", children: [ !user?.logged_in_status && /*#__PURE__*/ jsx_runtime_.jsx("a", { href: "/create-account", className: "button flex flex-col grow", children: /*#__PURE__*/ jsx_runtime_.jsx("span", { className: "", children: "Sign Up For Free" }) }), /*#__PURE__*/ (0,jsx_runtime_.jsxs)("a", { href: "/docs", className: "button outlined gray grow", children: [ /*#__PURE__*/ jsx_runtime_.jsx((ArticleTwoTone_default()), { sx: { opacity: 0.8, fontSize: 16 } }), /*#__PURE__*/ jsx_runtime_.jsx("span", { children: "See The Docs" }) ] }) ] }) ] }), /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "relative z-10 w-full max-w-[1200px] h-[500px] -mb-20 shadow-lg rounded-md overflow-hidden", children: [ /*#__PURE__*/ jsx_runtime_.jsx("img", { src: "/images/hero-image-light.webp", alt: "Hero Image", className: "w-full h-full object-cover top-0 absolute object-left-top dark:hidden" }), /*#__PURE__*/ jsx_runtime_.jsx("img", { src: "/images/hero-image-dark.webp", alt: "Hero Image", className: "w-full h-full object-cover top-0 absolute object-left-top hidden dark:flex" }) ] }), /*#__PURE__*/ jsx_runtime_.jsx("div", { className: "absolute top-0 left-0 w-full h-full opacity-80 dark:opacity-20 z-[1]", children: /*#__PURE__*/ jsx_runtime_.jsx(FadedImage/* default */.Z, { src: "/images/grid.webp", className: "w-full h-full", alt: "Dotted image background" }) }), /*#__PURE__*/ jsx_runtime_.jsx("div", { className: "bg-slate-100/80 absolute z-0 top-0 left-0 w-full h-full dark:hidden" }) ] }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ // EXTERNAL MODULE: external "@mui/icons-material/TerminalTwoTone" var TerminalTwoTone_ = __webpack_require__(415); // EXTERNAL MODULE: external "@mui/icons-material/StorageTwoTone" var StorageTwoTone_ = __webpack_require__(4063); // EXTERNAL MODULE: external "@mui/icons-material/BackupTableTwoTone" var BackupTableTwoTone_ = __webpack_require__(1522); // EXTERNAL MODULE: external "@mui/icons-material/DynamicFormTwoTone" var DynamicFormTwoTone_ = __webpack_require__(8979); ;// CONCATENATED MODULE: external "@mui/icons-material/LockOpenTwoTone" const LockOpenTwoTone_namespaceObject = require("@mui/icons-material/LockOpenTwoTone"); // EXTERNAL MODULE: external "@mui/icons-material/SendToMobileTwoTone" var SendToMobileTwoTone_ = __webpack_require__(6500); ;// CONCATENATED MODULE: ./components/general/IconText.jsx // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * ============================================================================== * Main Component { Functional } * ============================================================================== * @param {Object} props - Server props * @param {any} props.icon * @param {string} props.title * @param {string} [props.description] */ function IconText({ icon , title , description }) { /** * Get Contexts * * @abstract { React.useContext } */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Javascript Variables * * @abstract Non hook variables and functions */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * React Hooks * * @abstract { useState, useEffect, useRef, etc ... } */ return /*#__PURE__*/ jsx_runtime_.jsx("div", { className: "card w-full svg-main bg-slate-100/50 p-10", children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "content-block", children: [ icon, /*#__PURE__*/ jsx_runtime_.jsx("h2", { className: "title m-0 text-black", children: title }), description && /*#__PURE__*/ jsx_runtime_.jsx("span", { className: "text-slate-600 dark:text-slate-400", children: description }) ] }) }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ // EXTERNAL MODULE: external "lucide-react" var external_lucide_react_ = __webpack_require__(2423); ;// CONCATENATED MODULE: ./components/pages/homepage/FeaturesSummarySection.jsx // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * ============================================================================== * Main Component { Functional } * ============================================================================== * @param {Object} props - Server props */ function FeaturesSummarySection(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: "z-50 mt-20", children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", { className: "main-container grid grid-cols-1 sl:grid-cols-2 xl:grid-cols-3 gap-6 xl:gap-10 items-stretch", children: [ /*#__PURE__*/ jsx_runtime_.jsx(IconText, { icon: /*#__PURE__*/ jsx_runtime_.jsx(external_lucide_react_.SquareGanttChart, { size: 30, className: "text-secondary2" }), title: "Pure SQL based", description: "Based on all known SQL syntax and conventions. At the core, datasquirel utilizes direct SQL mapping system, it's essentially running SQL queries through an API" }), /*#__PURE__*/ jsx_runtime_.jsx(IconText, { icon: /*#__PURE__*/ jsx_runtime_.jsx(external_lucide_react_.CopyCheck, { size: 30, className: "text-secondary2" }), title: "Full Database Clonning", description: "Clone a database and keep all properties and schema of the origin database updated in real time. This feature makes it easy to spawn a dev and a production database, and keep them in sync, while separating their indivaidual tables' content." }), /*#__PURE__*/ jsx_runtime_.jsx(IconText, { icon: /*#__PURE__*/ jsx_runtime_.jsx(external_lucide_react_.Sheet, { size: 30, className: "text-secondary2" }), title: "Realtime Tables Clonning", description: "You can clone two tables in two different databases, and keep them in sync with any changes you make to the schema of the parent table. Like database clonning, this only applies to the table schema: field names, indexes, etc." }), /*#__PURE__*/ jsx_runtime_.jsx(IconText, { icon: /*#__PURE__*/ jsx_runtime_.jsx(external_lucide_react_.EarthLock, { size: 30, className: "text-secondary2" }), title: "Powerful API integration", description: "Query data effortlessly from any environment using our tightly integrated, easy-to-use, secure REST API integration. All SQL syntax work seamlessly with our API directly out of the box." }), /*#__PURE__*/ jsx_runtime_.jsx(IconText, { icon: /*#__PURE__*/ jsx_runtime_.jsx(external_lucide_react_.FileKey2, { size: 30, className: "text-secondary2" }), title: "Data Security", description: "Your data is safely stored behind the best and most efficient encryption system. Data encryption is also available for datatypes: VARCHAR and all TEXT. All encrypted data will be decrypted on demand, and is only stored in encrypted format." }), /*#__PURE__*/ jsx_runtime_.jsx(IconText, { icon: /*#__PURE__*/ jsx_runtime_.jsx(external_lucide_react_.FolderOutput, { size: 30, className: "text-secondary2" }), title: "Easy export and Migration", description: "Want to take your database to another platform? You can export each database using SQL migration provisions, and run a migration script on your new platform, using SQL migration syntax." }) ] }) }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ ;// CONCATENATED MODULE: ./pages/index.jsx // @ts-check /** * ============================================================================== * Imports * ============================================================================== */ //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** ****************************************************************************** */ /** @type {{ user: import("@/package-shared/types").UserType | null }} */ // @ts-ignore const init = {}; const HomepageContext = /*#__PURE__*/ external_react_default().createContext(init); /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * Homepage component */ function Homepage() { /** * Get Contexts * * @abstract { React.useContext } */ if (true) { external_react_default().useEffect(()=>{ window.location.replace("/login"); }, []); return; } //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Javascript Variables * * @abstract Non hook variables and functions */ const pageTitle = "Cloudbased SQL data management system | Datasquirel"; const pageDescription = "Datasquirel is a fast and efficient cloud-based SQL data management system that takes away the entire hassle of dealing with data both locally and across different platforms."; let head = /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, { children: [ /*#__PURE__*/ jsx_runtime_.jsx("title", { children: pageTitle }), /*#__PURE__*/ jsx_runtime_.jsx("meta", { name: "description", content: pageDescription }), /*#__PURE__*/ jsx_runtime_.jsx(PageHeadTags/* default */.Z, { pageTitle: pageTitle, pageDescription: pageDescription, pagePathname: "/" }) ] }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * React Hooks * * @abstract { useState, useEffect, useRef, etc ... } */ /** @type {[ state: import("@/package-shared/types").UserType | null, dispatch: React.Dispatch> ]} */ // @ts-ignore const [user, setUser] = external_react_default().useState(null); external_react_default().useEffect(()=>{ (0,clientAuthUser/* default */.Z)({ setUser }); }, []); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** * Function Return * * @abstract Main Function Return */ return /*#__PURE__*/ jsx_runtime_.jsx(GeneralLayout/* default */.Z, { head: head, transparentHeader: true, user: user, children: /*#__PURE__*/ jsx_runtime_.jsx(HomepageContext.Provider, { value: { user }, children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("main", { children: [ /*#__PURE__*/ jsx_runtime_.jsx(Hero2, { user: user }), /*#__PURE__*/ jsx_runtime_.jsx(FeaturesSummarySection, {}), /*#__PURE__*/ jsx_runtime_.jsx(BriefIntroSection/* default */.Z, {}), /*#__PURE__*/ jsx_runtime_.jsx(FooterCta/* default */.Z, { user: user }) ] }) }) }); //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /***/ }), /***/ 1891: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/ArticleTwoTone"); /***/ }), /***/ 1522: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/BackupTableTwoTone"); /***/ }), /***/ 5891: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/CloudDoneTwoTone"); /***/ }), /***/ 386: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/CottageTwoTone"); /***/ }), /***/ 8979: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/DynamicFormTwoTone"); /***/ }), /***/ 5557: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/MenuBookTwoTone"); /***/ }), /***/ 6500: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/SendToMobileTwoTone"); /***/ }), /***/ 4063: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/StorageTwoTone"); /***/ }), /***/ 415: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/TerminalTwoTone"); /***/ }), /***/ 5768: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/ThumbUpAltTwoTone"); /***/ }), /***/ 507: /***/ ((module) => { "use strict"; module.exports = require("@mui/icons-material/TipsAndUpdatesTwoTone"); /***/ }), /***/ 2423: /***/ ((module) => { "use strict"; module.exports = require("lucide-react"); /***/ }), /***/ 968: /***/ ((module) => { "use strict"; module.exports = require("next/head"); /***/ }), /***/ 6689: /***/ ((module) => { "use strict"; module.exports = require("react"); /***/ }), /***/ 997: /***/ ((module) => { "use strict"; module.exports = require("react/jsx-runtime"); /***/ }) }; ; // load runtime var __webpack_require__ = require("../webpack-runtime.js"); __webpack_require__.C(exports); var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) var __webpack_exports__ = __webpack_require__.X(0, [4017,8313,5264,6729,5449,913,9360,6217,4097,9922,4598,8095], () => (__webpack_exec__(591))); module.exports = __webpack_exports__; })();