From 7f3020a626e8a324a7a43fb9d8f6264d4e2a416f Mon Sep 17 00:00:00 2001 From: lokesh-coder Date: Thu, 11 Mar 2021 00:13:28 +0530 Subject: [PATCH 01/21] refactor: rewrite complete app code --- .babelrc | 14 - .eslintignore | 3 - .eslintrc.js | 34 +- .gitattributes | 2 - .gitignore | 72 +- .prettierignore | 4 + .prettierrc | 4 + .todo | 28 + LICENSE | 2 +- README.md | 117 +- assets/loadingimg.png | Bin 0 -> 4324 bytes assets/spring.mp3 | Bin 0 -> 2664 bytes config/assetsMock.js | 1 - config/paths.js | 11 - config/template.html | 101 - config/webpack.base.config.js | 77 - config/webpack.dev.config.js | 14 - config/webpack.prod.config.js | 17 - gatsby-browser.js | 9 + gatsby-config.js | 41 + gatsby-node.js | 0 gatsby-ssr.js | 2 + index.js | 15 - jest.config.js | 14 - package.json | 122 +- postcss.config.js | 10 - src/app.jsx | 13 - src/app.scss | 117 - src/assets/blobs_logo.png | Bin 3243 -> 0 bytes src/assets/css/main.css | 1 - src/assets/css/styles.css | 7 - .../favicons/android-chrome-192x192.png | Bin 2325 -> 0 bytes .../favicons/android-chrome-256x256.png | Bin 2837 -> 0 bytes src/assets/favicons/apple-touch-icon.png | Bin 1973 -> 0 bytes src/assets/favicons/browserconfig.xml | 9 - src/assets/favicons/favicon-16x16.png | Bin 506 -> 0 bytes src/assets/favicons/favicon-32x32.png | Bin 688 -> 0 bytes src/assets/favicons/favicon.ico | Bin 15086 -> 0 bytes src/assets/favicons/mstile-150x150.png | Bin 1480 -> 0 bytes src/assets/favicons/safari-pinned-tab.svg | 1 - src/assets/favicons/site.webmanifest | 19 - src/assets/icons/remixicon.css | 75 - src/assets/icons/remixicon.eot | Bin 7784 -> 0 bytes src/assets/icons/remixicon.svg | 72 - src/assets/icons/remixicon.symbol.svg | 1 - src/assets/icons/remixicon.ttf | Bin 7612 -> 0 bytes src/assets/icons/remixicon.woff | Bin 4520 -> 0 bytes src/assets/icons/remixicon.woff2 | Bin 3688 -> 0 bytes src/assets/poster.png | Bin 182109 -> 0 bytes src/assets/posters/blobs_app_poster.png | Bin 33893 -> 0 bytes src/components/BlobContainer.js | 59 + src/components/Common/Ding.js | 36 + src/components/Common/DownloadSVG.js | 25 + src/components/Common/Highlight.js | 33 + src/components/Common/Hint.js | 41 + src/components/Common/Input.js | 22 + src/components/Common/Modal.js | 63 + src/components/Common/Pallette.js | 34 + src/components/Common/Popover.js | 39 + src/components/Common/Slider.js | 51 + src/components/Common/UrlInput.js | 23 + src/components/Logo.js | 29 + src/components/Settings/ComplexitySlider.js | 18 + .../Settings/FlutterCodeModalButton.js | 53 + .../Settings/GradientColorsPicker.js | 41 + .../Settings/HtmlCodeModalButton.js | 51 + src/components/Settings/ImageSetter.js | 24 + .../Settings/OutlineToggleButton.js | 32 + src/components/Settings/PatternSetter.js | 45 + src/components/Settings/RandomnessSlider.js | 18 + src/components/Settings/SaveBlobButton.js | 29 + src/components/Settings/SolidColorPicker.js | 29 + src/components/actions.js | 24 + src/components/actions/actionBar.jsx | 14 - src/components/actions/flutterCopy.jsx | 49 - src/components/actions/randomizer.jsx | 20 - src/components/actions/svgCopy.jsx | 38 - src/components/blob.js | 117 + src/components/blob.jsx | 41 - src/components/common/button.jsx | 27 - src/components/common/copy.jsx | 30 - src/components/common/download.jsx | 20 - src/components/common/highlight.jsx | 15 - src/components/common/modal.jsx | 23 - src/components/common/settingsItem.jsx | 18 - src/components/footer.js | 105 + src/components/icons.js | 302 + src/components/layout.js | 55 + src/components/layout/footer.jsx | 9 - src/components/layout/grid.jsx | 39 - src/components/layout/header.jsx | 15 - src/components/loader/loader.component.jsx | 12 - src/components/loader/loader.scss | 12 - src/components/randomizer-btn.js | 22 + src/components/seo.js | 89 + src/components/settings.js | 89 + src/components/settings/colorPicker.jsx | 70 - src/components/settings/edgesSlider.jsx | 20 - src/components/settings/gradientPicker.jsx | 94 - src/components/settings/growthSlider.jsx | 18 - src/components/settings/links.jsx | 38 - src/components/settings/settings.jsx | 34 - src/components/settings/stroke.jsx | 19 - src/components/theme-switch.js | 20 + src/images/blob-animated.svg | 36 + src/images/blobs-logo.png | Bin 0 -> 12420 bytes src/images/blobs.png | Bin 0 -> 17450 bytes src/pages/404.js | 13 + src/pages/index.js | 74 + src/pages/page-2.js | 115 + src/pages/using-typescript.tsx | 50 + src/patterns.js | 34 + src/root-wapper.js | 70 + src/services/animator.js | 13 - src/services/formatter.js | 28 - src/services/generator.js | 91 - src/services/hex-validator.js | 15 - src/state.js | 98 + src/store.js | 6 +- src/utilities.js | 251 + tailwind.config.js | 26 - test-utils.js | 11 - yarn.lock | 14574 ++++++++++------ 123 files changed, 11907 insertions(+), 6920 deletions(-) delete mode 100644 .babelrc delete mode 100644 .eslintignore delete mode 100644 .gitattributes create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .todo create mode 100644 assets/loadingimg.png create mode 100644 assets/spring.mp3 delete mode 100644 config/assetsMock.js delete mode 100644 config/paths.js delete mode 100644 config/template.html delete mode 100644 config/webpack.base.config.js delete mode 100644 config/webpack.dev.config.js delete mode 100644 config/webpack.prod.config.js create mode 100644 gatsby-browser.js create mode 100644 gatsby-config.js create mode 100644 gatsby-node.js create mode 100644 gatsby-ssr.js delete mode 100644 index.js delete mode 100644 jest.config.js delete mode 100644 postcss.config.js delete mode 100644 src/app.jsx delete mode 100644 src/app.scss delete mode 100644 src/assets/blobs_logo.png delete mode 100644 src/assets/css/main.css delete mode 100644 src/assets/css/styles.css delete mode 100644 src/assets/favicons/android-chrome-192x192.png delete mode 100644 src/assets/favicons/android-chrome-256x256.png delete mode 100644 src/assets/favicons/apple-touch-icon.png delete mode 100644 src/assets/favicons/browserconfig.xml delete mode 100644 src/assets/favicons/favicon-16x16.png delete mode 100644 src/assets/favicons/favicon-32x32.png delete mode 100644 src/assets/favicons/favicon.ico delete mode 100644 src/assets/favicons/mstile-150x150.png delete mode 100644 src/assets/favicons/safari-pinned-tab.svg delete mode 100644 src/assets/favicons/site.webmanifest delete mode 100644 src/assets/icons/remixicon.css delete mode 100644 src/assets/icons/remixicon.eot delete mode 100644 src/assets/icons/remixicon.svg delete mode 100644 src/assets/icons/remixicon.symbol.svg delete mode 100644 src/assets/icons/remixicon.ttf delete mode 100644 src/assets/icons/remixicon.woff delete mode 100644 src/assets/icons/remixicon.woff2 delete mode 100644 src/assets/poster.png delete mode 100644 src/assets/posters/blobs_app_poster.png create mode 100644 src/components/BlobContainer.js create mode 100644 src/components/Common/Ding.js create mode 100644 src/components/Common/DownloadSVG.js create mode 100644 src/components/Common/Highlight.js create mode 100644 src/components/Common/Hint.js create mode 100644 src/components/Common/Input.js create mode 100644 src/components/Common/Modal.js create mode 100644 src/components/Common/Pallette.js create mode 100644 src/components/Common/Popover.js create mode 100644 src/components/Common/Slider.js create mode 100644 src/components/Common/UrlInput.js create mode 100644 src/components/Logo.js create mode 100644 src/components/Settings/ComplexitySlider.js create mode 100644 src/components/Settings/FlutterCodeModalButton.js create mode 100644 src/components/Settings/GradientColorsPicker.js create mode 100644 src/components/Settings/HtmlCodeModalButton.js create mode 100644 src/components/Settings/ImageSetter.js create mode 100644 src/components/Settings/OutlineToggleButton.js create mode 100644 src/components/Settings/PatternSetter.js create mode 100644 src/components/Settings/RandomnessSlider.js create mode 100644 src/components/Settings/SaveBlobButton.js create mode 100644 src/components/Settings/SolidColorPicker.js create mode 100644 src/components/actions.js delete mode 100644 src/components/actions/actionBar.jsx delete mode 100644 src/components/actions/flutterCopy.jsx delete mode 100644 src/components/actions/randomizer.jsx delete mode 100644 src/components/actions/svgCopy.jsx create mode 100644 src/components/blob.js delete mode 100644 src/components/blob.jsx delete mode 100644 src/components/common/button.jsx delete mode 100644 src/components/common/copy.jsx delete mode 100644 src/components/common/download.jsx delete mode 100644 src/components/common/highlight.jsx delete mode 100644 src/components/common/modal.jsx delete mode 100644 src/components/common/settingsItem.jsx create mode 100644 src/components/footer.js create mode 100644 src/components/icons.js create mode 100644 src/components/layout.js delete mode 100644 src/components/layout/footer.jsx delete mode 100644 src/components/layout/grid.jsx delete mode 100644 src/components/layout/header.jsx delete mode 100644 src/components/loader/loader.component.jsx delete mode 100644 src/components/loader/loader.scss create mode 100644 src/components/randomizer-btn.js create mode 100644 src/components/seo.js create mode 100644 src/components/settings.js delete mode 100644 src/components/settings/colorPicker.jsx delete mode 100644 src/components/settings/edgesSlider.jsx delete mode 100644 src/components/settings/gradientPicker.jsx delete mode 100644 src/components/settings/growthSlider.jsx delete mode 100644 src/components/settings/links.jsx delete mode 100644 src/components/settings/settings.jsx delete mode 100644 src/components/settings/stroke.jsx create mode 100644 src/components/theme-switch.js create mode 100644 src/images/blob-animated.svg create mode 100644 src/images/blobs-logo.png create mode 100644 src/images/blobs.png create mode 100644 src/pages/404.js create mode 100644 src/pages/index.js create mode 100644 src/pages/page-2.js create mode 100644 src/pages/using-typescript.tsx create mode 100644 src/patterns.js create mode 100644 src/root-wapper.js delete mode 100644 src/services/animator.js delete mode 100644 src/services/formatter.js delete mode 100644 src/services/generator.js delete mode 100644 src/services/hex-validator.js create mode 100644 src/state.js create mode 100644 src/utilities.js delete mode 100644 tailwind.config.js delete mode 100644 test-utils.js diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 362a42a..0000000 --- a/.babelrc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "presets": ["@babel/env", "@babel/react"], - "plugins": [ - [ - "import", - { - "libraryName": "antd", - "libraryDirectory": "lib", - "camel2DashComponentName": true, - "style": "css" - } - ] - ] -} diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index c16873f..0000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -build -src/**/*.spec.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 336e889..2778802 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,34 +1,6 @@ module.exports = { - env: { - browser: true, - es6: true, - }, - extends: [ - 'plugin:react/recommended', - 'airbnb', - ], - settings: { - "import/resolver": { - node: { - extensions: ['.js', '.jsx', '.scss', '.css'], - moduleDirectory: ['node_modules', 'src/'], - }, - }, - }, globals: { - Atomics: 'readonly', - SharedArrayBuffer: 'readonly', - }, - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - ecmaVersion: 2018, - sourceType: 'module', - }, - plugins: [ - 'react', - ], - rules: { + __PATH_PREFIX__: true, }, -}; + extends: `react-app`, +} diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index f146ece..0000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -*.css linguist-detectable=false -*.js linguist-detectable=true \ No newline at end of file diff --git a/.gitignore b/.gitignore index 440a183..f813275 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,69 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories node_modules/ -build/ -.gitignore -coverage/ -.todo \ No newline at end of file +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# dotenv environment variable files +.env* + +# gatsby files +.cache/ +public + +# Mac files +.DS_Store + +# Yarn +yarn-error.log +.pnp/ +.pnp.js +# Yarn Integrity file +.yarn-integrity diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..58d06c3 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +.cache +package.json +package-lock.json +public diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..33d2cfa --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "arrowParens": "avoid", + "semi": false +} diff --git a/.todo b/.todo new file mode 100644 index 0000000..9b6c431 --- /dev/null +++ b/.todo @@ -0,0 +1,28 @@ + +✔ add pwa support @done +✔ darkmode @done +✔ animation @done +✔ save settings @done +✘ shortcuts @cancelled +✘ loop @cancelled +✘ clip image @cancelled +✔ save blobs @done +✔ view saved blobs @done +✔ url id @done +✘ reset settigs @cancelled +✔ click logo to reoad to home @done +☐ complexity change no animation +☐ Sound from Zapsplat.com + + +---- + +Features: + ☐ Dark theme + ☐ Faster initial load + ☐ Image clipping + ☐ Patterns view + ☐ Save and manage blobs locally + ☐ tiny sound + ☐ offline support + ☐ static url for sharing \ No newline at end of file diff --git a/LICENSE b/LICENSE index c5f4709..2d847bc 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2020 udaypydi +Copyright (c) 2020 Lokesh Rajendran Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 7b3c4de..a74f1c1 100644 --- a/README.md +++ b/README.md @@ -1,58 +1,99 @@ -

+ +

+ + Gatsby + +

+

+ Gatsby's default starter +

-
+Kick off your project with this default boilerplate. This starter ships with the main Gatsby configuration files you might need to get up and running blazing fast with the blazing fast app generator for React. -

-Blobs

+_Have another more specific idea? You may want to check out our vibrant collection of [official and community-created starters](https://www.gatsbyjs.com/docs/gatsby-starters/)._ - +## 🚀 Quick start -

Generate beautiful blob shapes for web and flutter apps.

+1. **Create a Gatsby site.** -  + Use the Gatsby CLI to create a new site, specifying the default starter. -
-
-
Blobs Generator
-
https://blobs.app/
-
-
+ ```shell + # create a new Gatsby site using the default starter + gatsby new my-default-starter https://github.com/gatsbyjs/gatsby-starter-default + ``` -### Preview +1. **Start developing.** -![preview](https://user-images.githubusercontent.com/1754676/84493278-20f9d480-acc5-11ea-8667-ee0df8f35442.png) + Navigate into your new site’s directory and start it up. -![preview2](https://user-images.githubusercontent.com/1754676/84492711-3a4e5100-acc4-11ea-942c-37f9cd802fcf.png) + ```shell + cd my-default-starter/ + gatsby develop + ``` -### Blobs for flutter +1. **Open the source code and start editing!** -  + Your site is now running at `http://localhost:8000`! -
-
-
Blobs for flutter
-
flutter_blobs
-
-
+ _Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.com/tutorial/part-five/#introducing-graphiql)._ -

- style_custom_color - style_gradient - blobs_with_child -

+ Open the `my-default-starter` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time! + +## 🧐 What's inside? + +A quick look at the top-level files and directories you'll see in a Gatsby project. + + . + ├── node_modules + ├── src + ├── .gitignore + ├── .prettierrc + ├── gatsby-browser.js + ├── gatsby-config.js + ├── gatsby-node.js + ├── gatsby-ssr.js + ├── LICENSE + ├── package-lock.json + ├── package.json + └── README.md + +1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed. + +2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”. + +3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for. + +4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent. + +5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.com/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser. + +6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.com/docs/gatsby-config/) for more detail). + +7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.com/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process. + +8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.com/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering. + +9. **`LICENSE`**: This Gatsby starter is licensed under the 0BSD license. This means that you can see this file as a placeholder and replace it with your own license. + +10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).** + +11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project. + +12. **`README.md`**: A text file containing useful reference information about your project. + +## 🎓 Learning Gatsby -### Development +Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.com/). Here are some places to start: -- Clone the Repository `git clone https://github.com/lokesh-coder/blobs.app.git` +- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.com/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process. -- Install npm packages using `yarn install` +- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.com/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar. -- Run in dev mode - `yarn dev` +## 💫 Deploy -- Run in build mode - `yarn build` +[Build, Deploy, and Host On The Only Cloud Built For Gatsby](https://www.gatsbyjs.com/cloud/) -### License +Gatsby Cloud is an end-to-end cloud platform specifically built for the Gatsby framework that combines a modern developer experience with an optimized, global edge network. -MIT License + diff --git a/assets/loadingimg.png b/assets/loadingimg.png new file mode 100644 index 0000000000000000000000000000000000000000..ec1968e7c59ad03e643cecb6d687d3d8ac43d701 GIT binary patch literal 4324 zcmeHJX;72d(hkcA0!9#lhy+xwBBBt6VKEUz7EzQ%AS|*8s8M!Vk_iC<2!sKVafVHH zMgaFg#pVQ~`+x>L^ z=4fxTPexS+008W}e96iQ01(^!v84BiH18&8>7v)(@Jk+%0D!FGk0k~uC<2L;Vv$ZZ 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 literal 0 HcmV?d00001 diff --git a/assets/spring.mp3 b/assets/spring.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b4d072833016c50320d94b4d83830f2f94aad001 GIT binary patch literal 2664 zcmds(c{tSD8^FIarZF)zTzk3(W2;GHVi46>n#R7nl4P1OjolTZB4a1}AWJH)ExV8{ zH8C_=Y!@Mw3MsVQP!HAj_w_vd^ZVy_|NecR=RD^;=e*~f_kGWM-gCf>Y(DVcxOn-W zh5B|u1q}c~EI?%o@)izT_-_-tMgA7e+dSH0dW#R+tZo5r0qtdNX=HWmpr*cFkU+<_ zN-J0#s+0}DW;XQ*SRzxm2mViLa3dD-zwmcu>MA=**sB4jcGMOCq5#kPMedkpz1{dr zUp9`jfSYC6BTqd4?6`30Rg~cO^dCUaD|y3B7oZId4Z{Ecb_2|VDnStZesTSGnaz>k zA)tmbs0Dd=Mu7_uK0`pFy9W{27!ksz%;T2euy zyAa7h9ic=t^|XMFtYx(m_wfz_L9YSrPY}SwM32^SbbIEc*f~-x7tCyC>Ed{oQ6N_c zE?gqg4Mbrkqxt!+%Uv#{hREV%6X!JB+lg6=pwF5juOEiV4vKrCNb8qAVB-URam{!= zfbCNml}aMIEAe(-tZsc(y~x2iMpc0u3_bw2m`+#hdJDkJL`y@K(L(?L4?4NR0O;Yy z6{l=n{pSoRoc*8Aw>_u`*lW-9^+AfW#WB*J9LiT10C&20=bO#lgEm$Mwyycs1I8#? zS8Ang4?k#Cz-Y%&j-`%4@QuQ>hXv-;nzoi6Iq>kbaMlZ29=Eq}dPpnx0DE8K;UrMZpb6DK>z4& z`hX3I|0p5E2>=k{%S~i}5qKf~G$EOGy$Gr0YsuseQ|QS&j~Syr$(uZRiG^e&xM9kd zh&Eq{QLFc0(OkuFElYW$#Z!s51V2BN{$)YUyRz#63}~brGrf&I!+#=-rZVs$2m`{A z`NlONLf7y1zKdjt%Es4Z<2R%{Fe;h8vuV>rnSusq8s-RYS>%_L$VX6jmN?8v!}pKcJQc z(84Ytb;dT&MG!9RQm98s0mLwVlsT`1>ge-HReDZZkbMeEOLP6AvCokkF0D>lDP|^ExS+u_D-xG?!HCHtgs|#uVvFC>}nS z+e}94$2&8co6AWRX?_Gk1;dIGsw{-OZthR}K&8}|uqx);urh1ClI0S~?w!)UKdGg0 z9Ien(K9+YKhgoe7r6VCz1;cvW5@+^IM895wcI(PG0IOT1lLZvZcWQUca!dk}4%Y8e zj=f-P@Y2KKvKH|m3nlRFnCNdi1XI-|Q=WB~)jTfBrFMZEj{Mzlbasw{jc*^@M}naN z*?Yxer^ulXdY@s-nH>*-EvRkdr8V-McR*U@;{gX*tZ&qmHgvx7~AdaY}_UI14~Q$#?k`N-Ej zF&nymr(;sJ+zHMuO>9R6U02f{aXW`Y`nZ8vjwsyH+Fl;sr&;>>dBVu#?KV_(|O*I2ZY>Xd1_mPzk`K_45pDRm~REQ~gAV|$uyp@r@q4UCfl5C z^e+e)b7ZdHV~F8swhSRmirnUTNx@Uxa@6XBdtmOFvn|uIDCFZ7jdD_(t<{mW@U}R% zm)R_ye{^6)7j4>gY1E4yJpF7gCxnQYB?iw~Q5 zOcXB6N>Z$c?#tc`-0Djiw=jZ~^WjVd-T*?e_Ax9o5l7<&C4?Y5mVLpRO& z4pYjw@tA$bo&2|JUmuwm_qlkD97p1>oH$W!V3M`m>;ZUqq_B3lkh{NsC;08tc;An)eFx~4)0`oF!_}<5yYnFhrlfx=vZN<(SX>@~ zR1aEg0)TdK1II^1A9rM{)Mk6ncAGS(Tm2#NFQ8EN)@q%#bA2sOgj28tl$fR(ljDO(rG{Wj8;ghtq5SXgT|BeTSQ1 z%YqJ&tge@Q|0qI027pBYFd>P(aBxF{j}$Pzwp-<9sUnsLh*5zQScvLZ)H?KsyS0g8u#V|0($&>+fNe literal 0 HcmV?d00001 diff --git a/config/assetsMock.js b/config/assetsMock.js deleted file mode 100644 index 3cdf9be..0000000 --- a/config/assetsMock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = ''; diff --git a/config/paths.js b/config/paths.js deleted file mode 100644 index 06a8c31..0000000 --- a/config/paths.js +++ /dev/null @@ -1,11 +0,0 @@ -const path = require("path"); - -const paths = { - entry: path.resolve(__dirname, "../index"), - output: path.resolve(__dirname, "../build"), - assets: path.resolve(__dirname, "../src/assets"), - template: path.resolve(__dirname, "./template.html"), - components: path.resolve(__dirname, "../src/components"), -}; - -module.exports = paths; diff --git a/config/template.html b/config/template.html deleted file mode 100644 index 404e0ff..0000000 --- a/config/template.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - Blobs - Generate beautiful blob shapes for web and flutter apps - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - diff --git a/config/webpack.base.config.js b/config/webpack.base.config.js deleted file mode 100644 index 162c44d..0000000 --- a/config/webpack.base.config.js +++ /dev/null @@ -1,77 +0,0 @@ -const MiniCssExtractPlugin = require("mini-css-extract-plugin"); -const HtmlWebpackPlugin = require("html-webpack-plugin"); -const CopyPlugin = require("copy-webpack-plugin"); -const paths = require("./paths"); - -module.exports = function ({ plugins }) { - return { - entry: { - index: paths.entry, - }, - output: { - path: paths.output, - filename: "[name].bundle.js", - }, - module: { - rules: [ - { - test: /(.js|.jsx)/, - exclude: /(node_modules|bower_components)/, - use: "babel-loader", - }, - { - test: /\.s[ac]ss$/i, - use: ["style-loader", "css-loader", "sass-loader"], - }, - { - test: /\.css$/i, - use: ["style-loader", "css-loader", "postcss-loader"], - }, - { - test: /\.(png|jpe?g|gif)$/i, - use: [ - { - loader: "file-loader", - }, - ], - }, - { - test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/, - use: [ - { - loader: "file-loader", - options: { - name: "[name].[ext]", - }, - }, - ], - }, - ], - }, - plugins: [ - ...plugins, - new HtmlWebpackPlugin({ - template: paths.template, - hash: true, - title: "Blobs for web and flutter", - }), - new MiniCssExtractPlugin({ - filename: "[name].[hash].css", - chunkFilename: "[id].[hash].css", - }), - new CopyPlugin({ - patterns: [ - { from: "src/assets/favicons", to: "favicons" }, - { from: "src/assets/posters", to: "posters" }, - ], - }), - ], - resolve: { - extensions: [".js", ".jsx", ".scss", ".css"], - alias: { - components: paths.components, - assets: paths.assets, - }, - }, - }; -}; diff --git a/config/webpack.dev.config.js b/config/webpack.dev.config.js deleted file mode 100644 index c566028..0000000 --- a/config/webpack.dev.config.js +++ /dev/null @@ -1,14 +0,0 @@ -const webpackBaseConfig = require("./webpack.base.config"); -const paths = require("./paths"); - -module.exports = { - mode: "development", - devtool: "eval-source-map", - ...webpackBaseConfig({ plugins: [] }), - devServer: { - contentBase: paths.output, - port: 9000, - host: "0.0.0.0", - hot: true, - }, -}; diff --git a/config/webpack.prod.config.js b/config/webpack.prod.config.js deleted file mode 100644 index ac852bc..0000000 --- a/config/webpack.prod.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const { CleanWebpackPlugin } = require('clean-webpack-plugin'); -const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); -const webpackBaseConfig = require('./webpack.base.config'); - -module.exports = { - mode: 'production', - devtool: 'cheap-source-map', - ...webpackBaseConfig({ - plugins: [ - new CleanWebpackPlugin(), - new BundleAnalyzerPlugin({ - analyzerMode: 'static', - defaultSizes: 'gzip' - }), - ] - }), -}; diff --git a/gatsby-browser.js b/gatsby-browser.js new file mode 100644 index 0000000..99b1544 --- /dev/null +++ b/gatsby-browser.js @@ -0,0 +1,9 @@ +import "prismjs/themes/prism-solarizedlight.css" +import "@fontsource/roboto-mono/400.css" +import "@fontsource/inter/400.css" +import "@fontsource/inter/800.css" +import "@fontsource/nunito/400.css" +import "@fontsource/oxygen/400.css" +import "@fontsource/rubik/400.css" +import { wrapPageElement as wrap } from "./src/root-wapper" +export const wrapPageElement = wrap diff --git a/gatsby-config.js b/gatsby-config.js new file mode 100644 index 0000000..0f4ddf0 --- /dev/null +++ b/gatsby-config.js @@ -0,0 +1,41 @@ +module.exports = { + siteMetadata: { + siteUrl: "https://blobs.app", + name: "blobs.app", + description: "Generate beautiful blob shapesfor web and flutter apps", + short_name: "Blob generator", + start_url: "/", + background_color: "#d5695f", + theme_color: "#d5695f", + display: "minimal-ui", + icon: "src/images/blobs.png", + author: "@lokesh_coder", + }, + plugins: [ + `gatsby-plugin-react-helmet`, + `gatsby-plugin-image`, + { + resolve: `gatsby-source-filesystem`, + options: { + name: `images`, + path: `${__dirname}/src/images`, + }, + }, + `gatsby-transformer-sharp`, + `gatsby-plugin-sharp`, + { + resolve: `gatsby-plugin-manifest`, + options: { + name: `blobs.app`, + short_name: `Blob generator`, + start_url: `/`, + background_color: `#663399`, + theme_color: `#663399`, + display: `standalone`, + icon: `src/images/blobs.png`, + }, + }, + "gatsby-plugin-offline", + "@chakra-ui/gatsby-plugin", + ], +} diff --git a/gatsby-node.js b/gatsby-node.js new file mode 100644 index 0000000..e69de29 diff --git a/gatsby-ssr.js b/gatsby-ssr.js new file mode 100644 index 0000000..655d833 --- /dev/null +++ b/gatsby-ssr.js @@ -0,0 +1,2 @@ +import { wrapPageElement as wrap } from "./src/root-wapper" +export const wrapPageElement = wrap diff --git a/index.js b/index.js deleted file mode 100644 index aa58a40..0000000 --- a/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import React, { Suspense } from "react"; -import ReactDOM from "react-dom"; -import "assets/css/main.css"; -import "./src/app.scss"; -import Loader from "./src/components/loader/loader.component"; - -const App = React.lazy(() => import("./src/app")); - -const Index = () => ( - }> - - -); - -ReactDOM.render(, document.getElementById("root")); diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index ed77a9a..0000000 --- a/jest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - moduleDirectories: [ - 'node_modules', - __dirname - ], - clearMocks: true, - coverageDirectory: "coverage", - moduleNameMapper: { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/config/assetsMock.js", - "\\.(css|less|scss)$": "identity-obj-proxy", - "^uielements(.*)$": "/src/uielements$1" - }, - testEnvironment: "jsdom", -}; diff --git a/package.json b/package.json index 42e537d..153f8b0 100644 --- a/package.json +++ b/package.json @@ -1,66 +1,74 @@ { - "name": "blobs.app", - "version": "1.1.0", - "description": "Generate blob shapes for Web and Flutter", - "main": "index.js", - "scripts": { - "build": "rm -rf build && NODE_ENV=production npm run build:css && webpack ---config ./config/webpack.prod.config.js", - "dev": "npm run watch:css && webpack-dev-server --config ./config/webpack.prod.config.js --open", - "lint": "./node_modules/.bin/eslint --ext .js,.jsx src/", - "lint: fix": "./node_modules/.bin/eslint --ext .js,.jsx src/ --fix", - "build:css": "postcss src/assets/css/styles.css -o src/assets/css/main.css", - "watch:css": "postcss src/assets/css/styles.css -o src/assets/css/main.css", - "test": "jest --collect-coverage", - "test:watch": "jest --watch" - }, - "keywords": [ - "blobs" - ], - "author": "Lokesh Rajendran", - "license": "MIT", + "name": "gatsby-starter-default", + "private": true, + "description": "A simple starter to get up and developing quickly with Gatsby", + "version": "0.1.0", + "author": "Kyle Mathews ", "dependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.0", - "@babel/preset-react": "^7.9.4", + "@chakra-ui/gatsby-plugin": "^1.0.1", + "@chakra-ui/icons": "^1.0.5", + "@chakra-ui/react": "^1.3.3", + "@emotion/react": "^11.1.5", + "@emotion/styled": "^11.1.5", + "@fontsource/dm-mono": "^4.2.2", + "@fontsource/dm-sans": "^4.2.2", + "@fontsource/inter": "^4.2.2", + "@fontsource/nunito": "^4.2.2", + "@fontsource/oxygen": "^4.2.2", + "@fontsource/roboto-mono": "^4.2.2", + "@fontsource/rubik": "^4.2.2", "@risingstack/react-easy-state": "^6.3.0", - "antd": "^4.2.4", - "autoprefixer": "^9.7.6", - "babel-loader": "^8.1.0", + "blobshape": "^1.0.0", "dynamics.js": "^1.1.5", - "postcss-cli": "^7.1.0", + "framer-motion": "^3.10.0", + "gatsby": "^3.0.0", + "gatsby-image": "^3.0.0", + "gatsby-plugin-google-analytics": "^3.0.0", + "gatsby-plugin-image": "^1.0.0", + "gatsby-plugin-manifest": "^3.0.0", + "gatsby-plugin-offline": "^4.0.0", + "gatsby-plugin-react-helmet": "^4.0.0", + "gatsby-plugin-sharp": "^3.0.0", + "gatsby-plugin-sitemap": "^3.0.0", + "gatsby-rehype-prismjs": "^2.0.0", + "gatsby-remark-prismjs": "^4.0.0", + "gatsby-source-filesystem": "^3.0.0", + "gatsby-transformer-rehype": "^2.0.0", + "gatsby-transformer-remark": "^3.0.0", + "gatsby-transformer-sharp": "^3.0.0", + "lo-icon": "git+ssh://git@github.com/lokesh-coder/lo-icon", + "prismjs": "^1.23.0", + "project-name-generator": "^2.1.9", "prop-types": "^15.7.2", - "react": "^16.13.1", - "react-dom": "^16.13.1", - "react-syntax-highlighter": "^12.2.1", - "tailwindcss": "^1.4.6", - "webpack": "^4.42.1", - "webpack-cli": "^3.3.11" + "react": "^17.0.1", + "react-dom": "^17.0.1", + "react-helmet": "^6.1.0", + "react-syntax-highlighter": "^15.4.3", + "redux-zero": "^5.1.7", + "use-sound": "^2.0.1" }, "devDependencies": { - "@fullhuman/postcss-purgecss": "^2.2.0", - "@testing-library/jest-dom": "^5.5.0", - "@testing-library/react": "^10.0.2", - "babel-plugin-import": "^1.13.0", - "clean-webpack-plugin": "^3.0.0", - "copy-webpack-plugin": "^6.0.1", - "css-loader": "^3.5.2", - "cssnano": "^4.1.10", - "eslint": "^6.8.0", - "eslint-config-airbnb": "^18.1.0", - "eslint-plugin-import": "^2.20.2", - "eslint-plugin-jsx-a11y": "^6.2.3", - "eslint-plugin-react": "^7.19.0", - "eslint-plugin-react-hooks": "^2.5.1", - "file-loader": "^6.0.0", - "html-webpack-plugin": "^4.0.4", - "identity-obj-proxy": "^3.0.0", - "jest": "^25.3.0", - "mini-css-extract-plugin": "^0.9.0", - "node-sass": "^4.13.1", - "postcss-loader": "^3.0.0", - "sass-loader": "^8.0.2", - "style-loader": "^1.1.3", - "webpack-bundle-analyzer": "^3.6.1", - "webpack-dev-server": "^3.10.3" + "eslint-config-react-app": "^6.0.0", + "prettier": "2.2.1" + }, + "keywords": [ + "gatsby" + ], + "license": "MIT", + "scripts": { + "build": "gatsby build", + "develop": "gatsby develop", + "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"", + "start": "npm run develop", + "serve": "gatsby serve", + "clean": "gatsby clean", + "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" + }, + "repository": { + "type": "git", + "url": "https://github.com/gatsbyjs/gatsby-starter-default" + }, + "bugs": { + "url": "https://github.com/gatsbyjs/gatsby/issues" } } diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index 9c2c0d2..0000000 --- a/postcss.config.js +++ /dev/null @@ -1,10 +0,0 @@ -const tailwindcss = require("tailwindcss"); -module.exports = { - plugins: [ - tailwindcss("./tailwind.config.js"), - require("autoprefixer"), - require("cssnano")({ - preset: "default", - }), - ], -}; diff --git a/src/app.jsx b/src/app.jsx deleted file mode 100644 index 252d27e..0000000 --- a/src/app.jsx +++ /dev/null @@ -1,13 +0,0 @@ -import React, { useEffect } from "react"; -import { store, autoEffect } from "@risingstack/react-easy-state"; -import Grid from "./components/layout/grid"; -import { appStore } from "./store"; -import animator from "./services/animator"; - -autoEffect(() => { - animator(appStore.path); -}); - -export default function App() { - return ; -} diff --git a/src/app.scss b/src/app.scss deleted file mode 100644 index 5956f1e..0000000 --- a/src/app.scss +++ /dev/null @@ -1,117 +0,0 @@ -html body { - line-height: 25px; - font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, - Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; - button { - line-height: 25px; - } - .brand-bg { - margin-top: -16px; - transform: translate(-50%, 0); - margin-left: 50%; - } - - #blobSvg { - max-width: 500px; - overflow: visible; - } - - .stroke { - border: 4px solid #d1d8e0; - &.stroke-fill { - position: relative; - display: flex; - align-items: center; - justify-content: center; - &:after { - content: ""; - - width: 100%; - height: 100%; - transform: scale(0.7); - border-radius: 100%; - background-color: #4a5568; - } - } - } - - .ant-slider-step { - background: rgb(209, 216, 224); - } - - .ant-slider-handle { - border: solid 3px #4e566b; - background-color: #f7fafc; - width: 24px; - height: 24px; - margin-top: -9px; - &:focus, - &.ant-tooltip-open { - border-color: #303749; - } - } - .ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) { - border-color: #303749; - } - - .ant-modal-mask { - background-color: rgba(78, 86, 107, 0.71); - } - - .ant-modal-content { - border-radius: 11px; - } - - .ant-tooltip-inner { - border-radius: 4px; - font-size: 11px; - color: #ffffffd6; - background: #2f3143; - } - - .ant-popover-inner { - max-width: 300px; - border-radius: 10px; - } - - .ant-popover-arrow { - display: none; - } - - .ant-popover-inner-content { - padding: 25px; - background: rgba(207, 214, 222, 0.15); - } - - input.ant-input { - border-radius: 6px; - padding: 9px; - font-weight: bold; - color: #828b99; - border-color: #cfd8df; - border-width: 2px; - } - - .ant-input:hover { - border-color: #4e566b; - border-right-width: 2px !important; - } - - .ant-input:focus, - .ant-input-focused { - border-color: #4c5468; - border-right-width: 2px !important; - outline: 0; - -webkit-box-shadow: 0 0 0 2px rgba(78, 86, 107, 0.34); - box-shadow: 0 0 0 2px rgba(78, 86, 107, 0.34); - } - - pre { - margin: 0 !important; - } - pre > code { - overflow: auto; - width: 100%; - display: inline-block; - } -} diff --git a/src/assets/blobs_logo.png b/src/assets/blobs_logo.png deleted file mode 100644 index 52bc10c470d76ffa606056be3883135259615ae1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3243 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 diff --git a/src/assets/css/main.css b/src/assets/css/main.css deleted file mode 100644 index 4fdbe4b..0000000 --- a/src/assets/css/main.css +++ /dev/null @@ -1 +0,0 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#a0aec0}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.bg-theme-400{--bg-opacity:1;background-color:#4f576c;background-color:rgba(79,87,108,var(--bg-opacity))}.hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.hover\:bg-theme-900:hover{--bg-opacity:1;background-color:#131728;background-color:rgba(19,23,40,var(--bg-opacity))}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.font-medium{font-weight:500}.font-extrabold{font-weight:800}.h-6{height:1.5rem}.h-8{height:2rem}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.leading-none{line-height:1}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.max-w-screen-xl{max-width:1280px}.min-h-screen{min-height:100vh}.focus\:outline-none:focus{outline:0}.p-2{padding:.5rem}.p-6{padding:1.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.text-center{text-align:center}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-theme-300{--text-opacity:1;color:#6e7486;color:rgba(110,116,134,var(--text-opacity))}.text-theme-600{--text-opacity:1;color:#2b334b;color:rgba(43,51,75,var(--text-opacity))}.hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.hover\:text-theme-800:hover{--text-opacity:1;color:#1e2438;color:rgba(30,36,56,var(--text-opacity))}.tracking-tight{letter-spacing:-.025em}.visible{visibility:visible}.w-2{width:.5rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.w-screen{width:100vw}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}@import "../icons/remixicon.css";@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-3\/12{width:25%}.md\:w-9\/12{width:75%}} \ No newline at end of file diff --git a/src/assets/css/styles.css b/src/assets/css/styles.css deleted file mode 100644 index aa8a9e1..0000000 --- a/src/assets/css/styles.css +++ /dev/null @@ -1,7 +0,0 @@ -@import "tailwindcss/base"; - -@import "tailwindcss/components"; - -@import "tailwindcss/utilities"; - -@import "../icons/remixicon.css"; diff --git a/src/assets/favicons/android-chrome-192x192.png b/src/assets/favicons/android-chrome-192x192.png deleted file mode 100644 index 03aeae2ba8a72eb4c47734bf80a156d059b41829..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2325 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 diff --git a/src/assets/favicons/android-chrome-256x256.png b/src/assets/favicons/android-chrome-256x256.png deleted file mode 100644 index 8f96f20ce3299dcb965da42531cd4f57fa8086cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2837 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 - - - - - #ffffff - - - diff --git a/src/assets/favicons/favicon-16x16.png b/src/assets/favicons/favicon-16x16.png deleted file mode 100644 index e493c4a5e3fc62a253ddd16ba8a0b67a341a850b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 506 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*u20G|+7pUgtPupBt@4Mk>WL&SYUp$xb(AR{87^wQ;<{^7aJoik3Ky>jE$ zeUE_jB`dc~nYk<^rfB!RW7$P5UHx;@avO3>+d?H3&j4){DhcunX7K8bTl4;&z^^%3 zN6xUDH!8>;XYAepl;te&h%9Dc;1&j9Muu5)B!Gf*JY5_^BrfOn-xg|C;Bnd6(a?26 zL44zizyIgwBpf?ea?568yYD8&C;pyUTesEhG?ksYUuMO=nLA)Pgg8Pm#`<&+eRJLwiZ(KQX!lvI6;x#X;^) z4C~IxyaaM`0(?STeKHIE!g5GO-oaV_{{Hg~%?^q#SiNq?iBlK%9XRpx=daD%4%~n6 zB)hov;^mtQmTq|S=3RB;#NJ8s6Vj_&I%g;b*GU5H6)Xwz3ubUyvb+0D{CDA-x@;$9 zD$PCTc=sO#N^%x>L>4nJa0`PlBg3pY5{O9r+ZNyNI>t-3wS!K3j}ZJ~yBZ8h^mjqdI1+8aa^y;S`h0=-(3 zcc}(<2``X4|NCQ5@!tSAXwIPf-_3-@5IcTy$Jp zr`wFTcJD5W?0z|0uzlaL6zORF!VHe4>cX>J7k=5c_sc#k4HHN>{^vQ<$2pIh*36r+ z;)lHVi}DFUU8nTle&M$0*E{p-!<09`&1boFyt=akR{01C1tR{#J2 diff --git a/src/assets/favicons/favicon.ico b/src/assets/favicons/favicon.ico deleted file mode 100644 index 8618b2f76eb137740bc75d579386b2e9d7195680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 zcmeI2U5Hgx6vy{4qEDitkIKwLfuIk9P`yncLL?a!V@0IW(`bf8=1aodM$&>vG-x7( z0v$23%pw9s=RQ=5_@aGS5H>+VV3rSwpUvt2+jG`o-!tdl^Kq{q$Xxil&faJ5wf<}E zwLi{woa=JkZpjiS+3WV-@7x2Gee#5tl&Rmc?s?y?0&nx1G02_E zYQwxFzYFCF+_%5F(eu4>`EqpQ#*Im!{@0&=^nOUM@u?yQT8)8pGdD+z+JHN8g&VxD zU%Tc3-%A(&ijY>vd+HdAHgajC8GmtREi4ps^A8>e_kNUcge!RiN5*8=&=#Lh@a7#p z;AeD@CTN;uQT z+7a*bzmFwjz??SUtX)CLT9T}zdS>5eOiIrs?2{j1Tq$SqVw}h;#t5)JRk5i)@b9<$ z(KG8zC0+0&4~#$Kz<6Zw$4005ODAhh>AW$2?*jgnV~-DI_;)yen6KyP+WT601_;m>+w`%|m@?_m7>`Y#@Q8&#UO)~_u8aGz*n{qbiwacC>|@!<~f_vatk z=bP!a#2-J?`*g+qE7^O+eWcU;nFr(rT;Xi`dG65u%QuL>laTCq{Nc}DMr_RoxC7?7 z?Q_k}8Rl;j*|B}s^usGWd&18UoH}xIO8DUii9_4F&G@5-b0~8ep8&iWn+o484d-P$cg8-DLmlUjUjW_k1rCc7sOsA~ z1HpxuT5b?$TX&3~`BH&5{&H4mdGDt8mFIDqKRJ@-Z+=ve>{ZEkR+u;8v)V8ZD(wZg zkUu%!u-=56)6Z(lH{__`bF`?uMf~B;*(@{X)7-7B_N=GmTVWrX@h_tz)wUA%c6?y| z+TLXOpW;+B9^^Y``ciQ>?k3frTq=CF<9nU+0btEn-zs3-bLXmY%#+f^x=JjFNlQND zP>8(tsrTq7*ITZUd3>9_mtN)sYg4WtYSYrs)O+-yH}@{N8MiX^*bx|yQK5=2%uD)l zUO~@o;hpwTcJ2R;*z*|o5dojb-w@Qnl^DZ!nZUeiYi_3bbfOF=f%y`Gy1R~RC;Xk# zac@K*@;~QV$eS+m@9VA)dDFQb7~wYc0&@*4gAmzFm3Bx^Jf-v%i^>eQR;i+K#jGIGxIlZ0=Vq<2#ie`ZNWHFZbU zof|}6b=|~7=$nv4mU6aSC_TNx!$R_RTC-J{`rWb!Xic6gEE1LrYXVSS&}qZciM^$< z9rm*0!k@wwAqqhGtgua(+YS%<3;2UB>|GQ>TY1l)sC_98YCm0gNWdn3r2WgYnSMVk z9n>)h=x-tBkJY&Ft%4Xm^sY*yGM)_d9Pz2lssF!83IQ?b9yv zZ!J{M_!8#^e^vInvAy&4*P=hhe)Hc&VCpM5gn$~)}xj=SOTo%PR<+hY5hGu|b-?OiJyt+-kL49PrPAdm}_ z?4|4S>{sz$Hr5E_!kw^>ZDNpXn>P4=?5i&_$GBB&n&@YKv!>?eo%IjxpQs;g;9S8z zbB(-jIp@qaGPKX!e`C{&4f706ag>83*!#Jr5qN%ZveSa^S}u+xAoYLhE0aeK>^3u}!W`I{T=O7!;ZZHvZ;+j=eAz zXVuo{ocSF}y<;t)P1vX5nQFRoBGX+|st@ZTIXP)O3gjAg$+Iv!{%J6K<*D`$WrM46I2lj7$mhM|-=nAG=_Yd8= zi|Eq*M3?R=y2gaM90#=t=yru0mIU0Abk}rS1M0fQ5PHU(>r?+h>50axMkla&DQ=yHYa=~tF3TaXMnZkp@YGH@4?}b$>cgN+KSxWTI`V6V?;GjP9gdNsT&%WQeU(QC~pE?;KN8W$e zY$r1IWo9gsdisBR^l&gnUHT0?@o2&& z-QUM&LPydUJw^Mg?We-I(6;r5FZ{9386bl{oZ;TIKXF3`F(e+LotS%1R_yT8?9-pV zjAhW@+m6SM{A%D}{oxJ&pr1YOQ(cmOdR`rlJ^kTK?qu{or1m{w?y5}gtq>SbKbG(f z#)~>Q4hi$ZzTq?P1oV*myW`l5ipYv4};pu`Tzg` diff --git a/src/assets/favicons/mstile-150x150.png b/src/assets/favicons/mstile-150x150.png deleted file mode 100644 index 217cc950a17affd4e5e14e21bf1c833b3c0d36b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1480 zcmah}c{JMz5dPVymNFPm=v-radK^L;aK-Z%5tB%jA&gH6QL~gcTte@u=qF@< zBn2rUmiZ5BtMaw~+^HTxR7l2;j+)|PCi(6a&c5=c?VP~%WUXJi!hH3eWwZG!ETSj+ zO_9q%39d~o<2FOd55-Eewo9^ZX1YD{M!{2z+w>DT!5m3N z?I3ng##YX@y2SAu1nrT)VEj-Lgk)TDh9t;cR@rN#e!|tbnTAdyYWcrN+FnR1mmcCk zV5ryzzFU!Hi2^Lvj)B(dnMh4C|_0v(pqP`r6OD- z;(o*?-eh>@7izflzUU*=@kct!-#N}K?;YBD&mQZe{>EG_6^b%$?|x(xF~+&|^F6y- znK4UsT-wfwl&?)%@?AZLj>5BXxa4q1hE^enC+gvA|F z`S84Vj+?XmK(gbQ6=uS`csUZXwiDm_fSH5yjXT(NVE&m-ZRQenv6eo&L?cR8#cU4p zJ`HaUA|sK}o2sdDv{~R*R}u4PNmx)CvwY`NLE{{Mp}v6*hvoKF4}&i4nu!6fo%d&L zB+t=qXhK=Dg?X)l*`gV}naH@uw0$n0x?+l=(v7mV!vUD^@OCItcLF)y?>D(I93i}H zW#V3?{3RI{`&M<_bD5yeoGILDmK@p^`18N+k?IN^6MZP#F@5$i6p3r%RAg_&fO|_D z9(akAswoT8QzPyii@UC*fP^1H>rJ;VzpomQ-!Ba#L&5x^sNYLxybXknU}v?#krS?Z z#FU7+BLZ)eMc(*^RFmDu>VU&D!uYYBW245JS6E2gtZwLbcD5$?qcL+P&)!U#7RZMmE$*m`mpu}@HNFcmqBTDsZ@kk; zl5UP-XSXR+v!&m86}#GWNVacq8rA<1j5+h-Eg*^RP?g- z$zVE#G~2^R&)7`f^>PcBgH&wJhn9i=GBy_pHU}S-;Tgq;n0;R@A$s~Kl_=w diff --git a/src/assets/favicons/safari-pinned-tab.svg b/src/assets/favicons/safari-pinned-tab.svg deleted file mode 100644 index d72e5bb..0000000 --- a/src/assets/favicons/safari-pinned-tab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/favicons/site.webmanifest b/src/assets/favicons/site.webmanifest deleted file mode 100644 index 2612717..0000000 --- a/src/assets/favicons/site.webmanifest +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "", - "short_name": "", - "icons": [ - { - "src": "/favicons/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/favicons/android-chrome-256x256.png", - "sizes": "256x256", - "type": "image/png" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} diff --git a/src/assets/icons/remixicon.css b/src/assets/icons/remixicon.css deleted file mode 100644 index 3e2d43b..0000000 --- a/src/assets/icons/remixicon.css +++ /dev/null @@ -1,75 +0,0 @@ - -/* -* https://remixicon.com -* https://github.com/Remix-Design/RemixIcon -* Copyright RemixIcon.com -* Released under the Apache License Version 2.0 -*/ - -@font-face { - font-family: "remixicon"; - src: url('remixicon.eot?t=1590213533649'); /* IE9*/ - src: url('remixicon.eot?t=1590213533649#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url("remixicon.woff2?t=1590213533649") format("woff2"), - url("remixicon.woff?t=1590213533649") format("woff"), - url('remixicon.ttf?t=1590213533649') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - url('remixicon.svg?t=1590213533649#remixicon') format('svg'); /* iOS 4.1- */ - font-display: swap; -} - -[class^="ri-"], [class*="ri-"] { - font-family: 'remixicon' !important; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.ri-lg { font-size: 1.3333em; line-height: 0.75em; vertical-align: -.0667em; } -.ri-xl { font-size: 1.5em; line-height: 0.6666em; vertical-align: -.075em; } -.ri-xxs { font-size: .5em; } -.ri-xs { font-size: .75em; } -.ri-sm { font-size: .875em } -.ri-1x { font-size: 1em; } -.ri-2x { font-size: 2em; } -.ri-3x { font-size: 3em; } -.ri-4x { font-size: 4em; } -.ri-5x { font-size: 5em; } -.ri-6x { font-size: 6em; } -.ri-7x { font-size: 7em; } -.ri-8x { font-size: 8em; } -.ri-9x { font-size: 9em; } -.ri-10x { font-size: 10em; } -.ri-fw { text-align: center; width: 1.25em; } - -.ri-question-line:before { content: "\efeb"; } -.ri-github-fill:before { content: "\eda3"; } -.ri-twitter-line:before { content: "\f1c9"; } -.ri-flutter-fill:before { content: "\ed20"; } -.ri-code-s-slash-fill:before { content: "\eba4"; } -.ri-code-fill:before { content: "\eba0"; } -.ri-download-line:before { content: "\ec3e"; } -.ri-download-2-line:before { content: "\ec38"; } -.ri-shuffle-fill:before { content: "\f0bd"; } -.ri-copyright-line:before { content: "\ebd6"; } -.ri-paint-brush-line:before { content: "\ef6d"; } -.ri-palette-line:before { content: "\ef71"; } -.ri-file-copy-2-line:before { content: "\ecb3"; } -.ri-file-copy-fill:before { content: "\ecb4"; } -.ri-file-list-2-line:before { content: "\eccd"; } -.ri-folder-2-line:before { content: "\ed2b"; } -.ri-folder-line:before { content: "\ed43"; } -.ri-exchange-line:before { content: "\ec8d"; } -.ri-repeat-2-line:before { content: "\f017"; } -.ri-apps-2-line:before { content: "\ea40"; } -.ri-alert-line:before { content: "\ea1f"; } -.ri-close-fill:before { content: "\eb92"; } -.ri-check-fill:before { content: "\eb74"; } -.ri-refresh-line:before { content: "\f009"; } -.ri-loader-2-fill:before { content: "\ee82"; } -.ri-flashlight-line:before { content: "\ed17"; } -.ri-plug-line:before { content: "\efc3"; } -.ri-lightbulb-flash-line:before { content: "\ee69"; } -.ri-heart-line:before { content: "\eddc"; } -.ri-heart-fill:before { content: "\eddb"; } -.ri-file-mark-line:before { content: "\ecd5"; } -.ri-pushpin-2-line:before { content: "\efdd"; } diff --git a/src/assets/icons/remixicon.eot b/src/assets/icons/remixicon.eot deleted file mode 100644 index 2d4bde61f194c679b40dfe852a47a2801c4a638d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7784 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 XO~k2a>ag0=l7wcG6A68Ks!RMgK8#g` diff --git a/src/assets/icons/remixicon.svg b/src/assets/icons/remixicon.svg deleted file mode 100644 index 60f80c1..0000000 --- a/src/assets/icons/remixicon.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/assets/icons/remixicon.symbol.svg b/src/assets/icons/remixicon.symbol.svg deleted file mode 100644 index d9443fe..0000000 --- a/src/assets/icons/remixicon.symbol.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/remixicon.ttf b/src/assets/icons/remixicon.ttf deleted file mode 100644 index 66506bef1440455ef67163b7570d285319b4c0d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7612 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 JU!EEg{|(-%L)`!X diff --git a/src/assets/icons/remixicon.woff b/src/assets/icons/remixicon.woff deleted file mode 100644 index 0cafba7f69c1031be68f3b38f0c3168bd0556448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4520 zcmY*cbyyQz`yLG=NB4LI1q8+<9U}w@k?v4xBSv?P66q48Mz;u)5D=6OrDK8!5|UDa zh#Ml3-`?-{{qsB5b)WM*_x02t=UmshgAFt_0VDw80@VO$|2_G-{?Gr{{{KtM#7qqU zAfYC*a3V|vQf{IROeCdEJ`;Vu|no0LXz4%hy9)JVKoT0Ma7> zfL4Uq>y405mJiCw!4Uvp;3VdW6Cua-iXVd_l0@#`dhA39(KwLLpgaRYh}>hM&qPFQ zE^+hlM*bT|tPl7%R$W_2ufWqGgxHtiHPHtXAwVJx2=a39bRu#eiL=xI0A#m$$+x6^ zy!``+rHD02B#1Np)73`vEu;u(?`UtohJf0?M%w%N5@;OO#?LZOh>}UTPAww}k zS2satsd}%#9T@Xo>~FfTl^mcQW}g`y4I&P{T}^91%>VkSQ=e3obMV)7vV7O-JpA|! zU>=Lwd}V2vVQ95j$XVJ)z5;k8b{nYUIm==1oVP`DoLb7(KQ>i-K@DHfUJG}L<|-3< zDMfEG?|7y;H{*5EZHHJ7i&E&EjYz|m!1+xn1Lytz9QFq;zfvK{M(u+yTcT(}YvQwf zK#S`UA+lXbXOm3k9f<#ZMKt~N$!1J-w9B{LDL8`)tEREqcZ7;S1Ca)Z}XH*W@xQ zzLB8KrRg$L_$WIKt@WHoHe+M7CMESOeug6;<-=k~QI3VH2hTicWx?iog$AVk21bXk z>fPh#bQ;zbA=c#@+U$A?O?6_;_x~Cqojm9LSiekdo$8thCZ&B~&&<{2nRVSP^NFS$ zEybcTDx$AVMN$EtTVTCMU;cv1{!W)^kbk-P!E;AKveq}oloh-)c?fr2nUG(tv;A0yqc4T)3V|mcJY1wHnSdZd3mJ5^88Gzd%qNNwbi~bKWbx=;BTj z56FwBzXiup(b0Q|d_nB-Z5yum@#*;md$-oxO*#qrj+ILph(g{+QvL?Ea`45%!Fhh=e4jypW%s+*dXuZc zIFrhD_VM_ks)>SwNOQlTgldLj^yay*{xH;RDPP5b4w@ZZK_|e?ISM$I{d{`=EE8>V z$*jvHECDw*ADoRsV91^!WO}=CZN~JbEKav7FSVnX)s^&-Isc6HG)Crj28z8!|1{UX zq+9fp#Pzqq6w(*BoMy#$%II5Pz_u05;0Y}gREyz`a%4jE_neV9tVPSm>d0IPo0zsb zG@EnFUEF6p`FFD-kh6oFMSi7O%kTpuZS9Oiy$o_?Yx}9jl6W?1m(N`VI5kVr+ecEd z{%-sYJF}~wzJ69pEz?t&2m)46CgP1UPDQ*wjb;vW>{K2PR&>-sIM`$--`$b5Frd|s zyE3$iXPT&6iRSuUvlak+Z8+Z4@~)Ks;Dbg4@B1oDWek&W2o!L2*qj@|-)U-96;iT+^#(E@z20 zv%#CSodVq2LK@EwhsX^YDVn4JmyAq>U}eY;50wC@SMfu|3{X(p&(Mt#(?3Thc{BU* zxxWsSMa;isrv45%b9v@?Sz>9>v5*rMZn9nLfK8ob@!+v`dC_GmsbNJSdYE$~NI2V| z4ve6AHJ6T;0;joSQTLf`bSECL?lJ02rWW!peCP8hO~_bF71x+`@~c}Sgi_%WsHom6 z;>6j3AuAgA+j4G;qO2pemHO>ar5_({2P}Mb=wJAdM^Q$6{%8EFlq)F)?at{?ZiP%O994aN9J*3TplX&Qep|6Xr)$`g=u!4lc{*& z_cX^FS^i8vX#YT|F4NW+hx=#%TSE?k*`s5l*zy` z_p;?}?4I{ny1k}oUz(axt;6*uO17dEBZO_Ff<5B?c&1)73t(`J2b5~kzK&tlyl1Ma z$I8yFS9FNvTe5eny5@Z#n$%76qTzPvIQGRQx{`rAa>ZVb$C$)#vBq(E|BVpPFlEVg z_Jq}`(sI&T1bpVj)Z{21n0S=!)fd?0x7Lu?THF}=beDPm79CYmNucMBdx^&nmD$y( zT_IP6{Tmm}kU#T-GZim!n|tFKx6C+P!)#9KjKHtx-fPOvIa#*%mP}btA}YD}rRtXL z?2@|g@2c=u;#6B%Y#rXZ3MWKrZ!BmY2$00=jcj7BAQxsX%J=2dKarI9DZF zO07BF)8?|i>9d0r%sNfCblTC{rn)hw$8=4z$#_3sY=UjTRzUQ-Mz@^-C#bj=(;X%s z_S5U|@GI}7xmib;d3FD`UV?D<6=U4NmXWT?Rn(*k_lXpd(tLTj0(gf68{_AJ+1Y#UhKZNS@s0j zn9TZNno^epJs+|WtoJEmbS7HX`uC^gHfD^Yiu_;c|Y1^^L#WVv-f z?+z~`2z(tv$G=%@Yj}T(AVbxs%;g&~R%v1R_fP^~<3voZ%IOooaC^{B8T;E*|0(Ev z2bd}|+u!a=prtv`7FI5h>-*tZS{+x-V&oT(|L~t%0 z^7Yof=g0l}`ucc5UI|~DZ9Lu?J7lmb>Hj!YQT(nhuhG;)J9Q`&>;0a7%Vy1c+Ah0b zowBX;!n*sCdw^Y2Y8lXX|0}1yMV+qcIGm-k!Irm;g14K4Yz1kJx}5$RrhUkI ztTY}h+Wm~2o`#W*hk2UGX``8~=fWliMJRl%>#c)p`q}N<_3{PARsP&_V^~KAEA@fE zcPKV?bvecsOoe0Iqv##X2Z~b|>!;W~8ODX9w@s)i$X3cmC%quzyeDWzNmjWQi2p~P zcf8RbKSVEhPxdTs_`K;#9_aUtVe$$1J4J3>+s9>x5flJaLL^mdf-GQz%1{4(iEAZ& zrM^Jj86?<{w;{ZZSljrTA!wo5Wx4g)av2${2v=56hC!h)Ifbht5qvn}gK&rNPI`QN zyqeaI@Yf0hD%^VlaGCd1dn?B=b4TMjT@j~v@3$k*#c%$o_W|E^e42w+1BDiMo_j8L0+9R+aP~;J>=a-rjxz`kE8)7RMe<)MP~A1~?+| zB1t8ALo!ElLds9-NIFHvO;$j*M$SzBfINh}jQp5FnPP>Kl@da!Mwv`?i%Oj;j~YmA zP90C(Oild1|5v9OI*uUL>;WXV1hz@lDC4i~mB|3?^CVbe&%lgsuO%pJTsp6?C!#Ed zmKF6fg~19qPEQ&zVqEsfoN>W5-;dm|O4V5P*fJtP`Tnpz-x+yv*n=j`Cj!jskvq#O z#(><@IN&G$DesNsaNCf0i;05M*u(PyfBf*kOUpHrb?GxZpk3dl`#QzS1{`imka0-@ z$BE%_1JYgnr31pp*X$)ot8Pema`5Mb0hePHj-I}s-yf}0KwL09UxU-%rnM-mYJJ(g zw9i)gF1YLpR&d$E_C#jtW|&IaFx^zu@~wXt)AnkOauwBtPPEN8ORSt`9%2f_)vqeB zsPnW2+G==ex^}r$u4wOf9R%#2}=x#Bu0FyT8`3prP>1cWP<-90~@{cz0+6*RZD)LxRBxa*b4O zDQpqLgb;JoS?+$HB91$&5+ta-!+@M~ovK26Sb5^{hFedkYxj!}cRBFT`-9Y*JIP#c3DT-9O0&+(q znGOb=fDV)DJYMG(TV7)iem6|U|0~v|YmLpl%OU1Z)#>+k0@hup-nv9~Y&`N2@I~O^ zpRq76nvuA}TI!MJ?{2moGp^f0fz`7#Rz|_+=D~H=6XQ!<`t&& nPWKAb`|ZHzcC{nZU90d9Ko0TVX`dAwCnb(JY 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Ο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
YQBDzo6T#&<5x@!LIpSB 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 bRj@uZ?ofmLnG{RWfSj?mKUs48`u+a{vvGhb diff --git a/src/components/BlobContainer.js b/src/components/BlobContainer.js new file mode 100644 index 0000000..9c79f05 --- /dev/null +++ b/src/components/BlobContainer.js @@ -0,0 +1,59 @@ +import React, { useEffect, useState } from "react" +import { dynamic } from "../state" +import { + animateAndUpdatePath, + createFixedBlob, + createInitialBlob, + generateBlob, + loadNewBlobDataToStore, + loadRandomBlob, + parseURLParams, + setBlobTheme, + stringifyURLParams, +} from "../utilities" +import Blob from "./blob" + +const BlobContainer = props => { + const { + edges, + growth, + color, + colors, + type, + isOutline, + svgPath, + image, + seed, + pattern, + setStaticBlobData, + } = props + + useEffect(() => { + createInitialBlob(props) + }, []) + + useEffect(() => { + if (svgPath) createFixedBlob(props) + }, [edges, growth]) + + useEffect(() => { + if (svgPath) setBlobTheme(props) + }, [color, colors, isOutline, type]) + + return +} + +export default dynamic(BlobContainer, [ + "size", + "color", + "colors", + "color", + "type", + "isOutline", + "svgPath", + "edges", + "growth", + "seed", + "image", + "pattern", +]) diff --git a/src/components/Common/Ding.js b/src/components/Common/Ding.js new file mode 100644 index 0000000..f2faecd --- /dev/null +++ b/src/components/Common/Ding.js @@ -0,0 +1,36 @@ +import { Button } from "@chakra-ui/button" +import { Box, Center, Flex, Text } from "@chakra-ui/layout" +import React from "react" +import Footer from "../Footer" + +const Ding = ({ isSelected, activeComp, label, Icon }) => { + return ( + + ) +} + +export default Ding diff --git a/src/components/Common/DownloadSVG.js b/src/components/Common/DownloadSVG.js new file mode 100644 index 0000000..b66fd6f --- /dev/null +++ b/src/components/Common/DownloadSVG.js @@ -0,0 +1,25 @@ +import { DownloadIcon } from "@chakra-ui/icons" +import { Button } from "@chakra-ui/react" +import React from "react" + +const DownloadSVG = ({ content, filename }) => { + const downloadFile = () => { + const url = window.URL.createObjectURL(new Blob([content])) + const link = document.createElement("a") + link.href = url + link.setAttribute("download", filename) + document.body.appendChild(link) + link.click() + } + return ( + + ) +} + +export default DownloadSVG diff --git a/src/components/Common/Highlight.js b/src/components/Common/Highlight.js new file mode 100644 index 0000000..31dc3fb --- /dev/null +++ b/src/components/Common/Highlight.js @@ -0,0 +1,33 @@ +import React from "react" +import { PrismLight as SyntaxHighlighter } from "react-syntax-highlighter" +import markup from "react-syntax-highlighter/dist/esm/languages/prism/markup" +import dart from "react-syntax-highlighter/dist/esm/languages/prism/dart" +import { coy, nord } from "react-syntax-highlighter/dist/esm/styles/prism" +import { useColorModeValue } from "@chakra-ui/color-mode" +SyntaxHighlighter.registerLanguage("markup", markup) +SyntaxHighlighter.registerLanguage("dart", dart) + +export default function Highlight({ code, lang }) { + const theme = useColorModeValue(coy, nord) + return ( + + {code} + + ) +} diff --git a/src/components/Common/Hint.js b/src/components/Common/Hint.js new file mode 100644 index 0000000..ce2da64 --- /dev/null +++ b/src/components/Common/Hint.js @@ -0,0 +1,41 @@ +import { + Button, + Popover, + PopoverArrow, + PopoverBody, + PopoverCloseButton, + PopoverContent, + PopoverTrigger, + Text, +} from "@chakra-ui/react" +import React from "react" +import { InfoIcon, QuestionIcon } from "../icons" + +const Hint = ({ text }) => { + return ( + + + + + + + + + + {text} + + + + + ) +} +export default Hint diff --git a/src/components/Common/Input.js b/src/components/Common/Input.js new file mode 100644 index 0000000..544c56d --- /dev/null +++ b/src/components/Common/Input.js @@ -0,0 +1,22 @@ +import { Box, Input as ChakInput } from "@chakra-ui/react" +import React from "react" +import { validateHex } from "../../utilities" + +const Input = ({ value, onEnter }) => { + return ( + + { + if (e.code != "Enter") return + if (!validateHex(e.target.value)) return + onEnter(e.target.value) + }} + /> + + ) +} + +export default Input diff --git a/src/components/Common/Modal.js b/src/components/Common/Modal.js new file mode 100644 index 0000000..c96c4f3 --- /dev/null +++ b/src/components/Common/Modal.js @@ -0,0 +1,63 @@ +import { CloseIcon } from "@chakra-ui/icons" +import { + Box, + Button, + Flex, + Tooltip, + Modal as ChakModal, + ModalBody, + ModalContent, + ModalFooter, + ModalHeader, + ModalOverlay, + useDisclosure, + CloseButton, + Text, + Heading, + Divider, +} from "@chakra-ui/react" +import React from "react" + +const Modal = ({ title, src, children, actions }) => { + const { isOpen, onOpen, onClose } = useDisclosure() + return ( + <> + + + + + + + + + + {title} + + + {actions} + + + + + + + {typeof children === "function" ? children() : children} + + + + + ) +} + +export default Modal diff --git a/src/components/Common/Pallette.js b/src/components/Common/Pallette.js new file mode 100644 index 0000000..8232b4c --- /dev/null +++ b/src/components/Common/Pallette.js @@ -0,0 +1,34 @@ +import { Box, Flex } from "@chakra-ui/react" +import React from "react" + +const Pallette = ({ onClick, colors }) => { + const isGradient = colors[0].length == 2 + let colorProps = color => ({ bg: color }) + if (isGradient) { + colorProps = ([startCol, endCol]) => ({ + bgGradient: `linear(to-b, ${startCol}, ${endCol})`, + }) + } + + return ( + + {colors.map((color, i) => { + return ( +
+ onClick(color)} + {...colorProps(color)} + > +
+ ) + })} +
+ ) +} + +export default Pallette diff --git a/src/components/Common/Popover.js b/src/components/Common/Popover.js new file mode 100644 index 0000000..61c3b89 --- /dev/null +++ b/src/components/Common/Popover.js @@ -0,0 +1,39 @@ +import { + Box, + Popover as ChakPopover, + PopoverArrow, + PopoverBody, + PopoverCloseButton, + PopoverContent, + PopoverTrigger, + Tooltip, +} from "@chakra-ui/react" +import React from "react" + +const Popover = ({ props, children, label }) => { + return ( + + + + + + + + + + + + {children} + + + ) +} + +export default Popover diff --git a/src/components/Common/Slider.js b/src/components/Common/Slider.js new file mode 100644 index 0000000..3f44e98 --- /dev/null +++ b/src/components/Common/Slider.js @@ -0,0 +1,51 @@ +import { + Box, + Container, + Flex, + Slider as ChakSlider, + SliderFilledTrack, + SliderThumb, + SliderTrack, + Text, + Tooltip, +} from "@chakra-ui/react" +import React from "react" +import Hint from "./Hint" + +const Slider = ({ name, value, min, max, onChange, info }) => { + return ( + + + + + {name} + + + + + + + + + + + + + + + ) +} + +export default Slider diff --git a/src/components/Common/UrlInput.js b/src/components/Common/UrlInput.js new file mode 100644 index 0000000..def1f1c --- /dev/null +++ b/src/components/Common/UrlInput.js @@ -0,0 +1,23 @@ +import { Box, Input as ChakInput } from "@chakra-ui/react" +import React from "react" +import { validateHex } from "../../utilities" + +const UrlInput = ({ value, onEnter }) => { + return ( + + { + if (e.code != "Enter") return + console.log("") + // if (!validateHex(e.target.value)) return + onEnter(e.target.value) + }} + /> + + ) +} + +export default UrlInput diff --git a/src/components/Logo.js b/src/components/Logo.js new file mode 100644 index 0000000..0c53082 --- /dev/null +++ b/src/components/Logo.js @@ -0,0 +1,29 @@ +import React from "react" +import { graphql, Link as GatsbyLink, useStaticQuery } from "gatsby" +import Img from "gatsby-image" + +const Logo = ({ size = 100 }) => { + const data = useStaticQuery(graphql` + query { + file(relativePath: { eq: "blobs-logo.png" }) { + childImageSharp { + fixed(width: 100, height: 100) { + ...GatsbyImageSharpFixed + } + } + } + } + `) + + return ( + + Blobs logo + + ) +} + +export default Logo diff --git a/src/components/Settings/ComplexitySlider.js b/src/components/Settings/ComplexitySlider.js new file mode 100644 index 0000000..2f0064a --- /dev/null +++ b/src/components/Settings/ComplexitySlider.js @@ -0,0 +1,18 @@ +import React from "react" +import { dynamic } from "../../state" +import Slider from "../Common/Slider" + +const ComplexitySlider = ({ edges, updateEdges }) => { + return ( + + ) +} + +export default dynamic(ComplexitySlider, ["edges"]) diff --git a/src/components/Settings/FlutterCodeModalButton.js b/src/components/Settings/FlutterCodeModalButton.js new file mode 100644 index 0000000..232293b --- /dev/null +++ b/src/components/Settings/FlutterCodeModalButton.js @@ -0,0 +1,53 @@ +import { useClipboard } from "@chakra-ui/hooks" +import { Box, Button, Link, Text } from "@chakra-ui/react" +import React from "react" +import { dynamic } from "../../state" +import Highlight from "../Common/Highlight" +import Modal from "../Common/Modal" +import { CopyIcon, FlutterIcon } from "../icons" + +const FlutterCodeModalButton = ({ edges, growth, seed }) => { + const ID = `${edges}-${growth}-${seed}` + const code = ` + ///import blobs library + import 'package:blobs/blobs.dart'; + + /// add hash widget + Container( + child: Blob.fromID( + id: ['${ID}'], + size: 400, + ), + ), + ` + const { hasCopied, onCopy } = useClipboard(ID) + + const Actions = () => { + return ( + <> + + + ) + } + + return ( + } + actions={} + > + + + For more info about the package and documentation, please check the{" "} + + blobs + {" "} + repository. + + + ) +} + +export default dynamic(FlutterCodeModalButton, ["edges", "growth", "seed"]) diff --git a/src/components/Settings/GradientColorsPicker.js b/src/components/Settings/GradientColorsPicker.js new file mode 100644 index 0000000..12e9533 --- /dev/null +++ b/src/components/Settings/GradientColorsPicker.js @@ -0,0 +1,41 @@ +import React from "react" +import { dynamic } from "../../state" +import Pallette from "../Common/Pallette" +import Popover from "../Common/Popover" +import Input from "../Common/Input" +import { Box, Divider, Flex } from "@chakra-ui/react" + +const defaultColors = [ + ["#e96443", "#904e95"], + ["#ff5f6d", "#ffc371"], + ["#eecda3", "#ef629f"], + ["#4ca1af", "#c4e0e5"], + ["#c2e59c", "#64b3f4"], + ["#3ca55c", "#b5ac49"], +] + +const GradientColorsPicker = ({ + colors: [start, end], + switchToGradientColors, + updateGradientStartColor, + updateGradientEndColor, +}) => { + return ( + + + + + + + + + + + + ) +} + +export default dynamic(GradientColorsPicker, ["colors", "type"]) diff --git a/src/components/Settings/HtmlCodeModalButton.js b/src/components/Settings/HtmlCodeModalButton.js new file mode 100644 index 0000000..4486c4f --- /dev/null +++ b/src/components/Settings/HtmlCodeModalButton.js @@ -0,0 +1,51 @@ +import { useClipboard } from "@chakra-ui/hooks" +import { CopyIcon } from "@chakra-ui/icons" +import { Button } from "@chakra-ui/react" +import React, { useEffect, useState } from "react" +import { dynamic } from "../../state" +import DownloadSVG from "../Common/DownloadSVG" +import Highlight from "../Common/Highlight" +import Modal from "../Common/Modal" +import { HtmlIcon } from "../icons" +import { formatCode } from "../../utilities" + +const HtmlCodeModalButton = ({ seed, edges, growth, svgPath }) => { + const ID = `${edges}-${growth}-${seed}` + const [code, setCode] = useState(null) + + const { hasCopied, onCopy } = useClipboard(code) + + const Actions = () => { + return ( + <> + + + + ) + } + + const Content = () => { + const svgEl = document.getElementById("blobSvg") + const markup = svgEl ? formatCode(svgEl.outerHTML) : "" + setCode(markup) + return + } + + return ( + } + actions={} + > + {() => } + + ) +} +export default dynamic(HtmlCodeModalButton, [ + "seed", + "edges", + "growth", + "svgPath", +]) diff --git a/src/components/Settings/ImageSetter.js b/src/components/Settings/ImageSetter.js new file mode 100644 index 0000000..68f15a2 --- /dev/null +++ b/src/components/Settings/ImageSetter.js @@ -0,0 +1,24 @@ +import React, { useState } from "react" +import { dynamic } from "../../state" +import Popover from "../Common/Popover" +import Input from "../Common/Input" +import { Box, Button, Divider, Text } from "@chakra-ui/react" +import UrlInput from "../Common/UrlInput" + +const ImageSetter = ({ image, switchToImage }) => { + return ( + + + Image URL + { + switchToImage(url) + }} + /> + + + ) +} + +export default dynamic(ImageSetter, ["image", "type"]) diff --git a/src/components/Settings/OutlineToggleButton.js b/src/components/Settings/OutlineToggleButton.js new file mode 100644 index 0000000..141cb54 --- /dev/null +++ b/src/components/Settings/OutlineToggleButton.js @@ -0,0 +1,32 @@ +import { Box, Tooltip } from "@chakra-ui/react" +import React from "react" +import { dynamic } from "../../state" + +const OutlineToggleButton = ({ isOutline, toggleOutline }) => { + const label = "Toggle outline" + return ( + + + + + + + + ) +} + +export default dynamic(OutlineToggleButton, ["isOutline"]) diff --git a/src/components/Settings/PatternSetter.js b/src/components/Settings/PatternSetter.js new file mode 100644 index 0000000..d4742b0 --- /dev/null +++ b/src/components/Settings/PatternSetter.js @@ -0,0 +1,45 @@ +import React, { useState } from "react" +import { dynamic } from "../../state" +import Popover from "../Common/Popover" +import { Box, Text } from "@chakra-ui/react" +import * as Patterns from "../../patterns" + +const PatternBox = ({ meta, clickHandler, isSelected }) => { + console.log("meta", meta.path) + return ( + clickHandler(meta.name)} + > + ) +} + +const PatternSetter = ({ pattern, switchToPattern }) => { + return ( + + + Select Pattern + {Object.keys(Patterns).map(name => { + return ( + + ) + })} + + + ) +} + +export default dynamic(PatternSetter, ["pattern", "type"]) diff --git a/src/components/Settings/RandomnessSlider.js b/src/components/Settings/RandomnessSlider.js new file mode 100644 index 0000000..75b53f6 --- /dev/null +++ b/src/components/Settings/RandomnessSlider.js @@ -0,0 +1,18 @@ +import React from "react" +import { dynamic } from "../../state" +import Slider from "../Common/Slider" + +const RandomnessSlider = ({ growth, updateGrowth }) => { + return ( + + ) +} + +export default dynamic(RandomnessSlider, ["growth"]) diff --git a/src/components/Settings/SaveBlobButton.js b/src/components/Settings/SaveBlobButton.js new file mode 100644 index 0000000..ca749f1 --- /dev/null +++ b/src/components/Settings/SaveBlobButton.js @@ -0,0 +1,29 @@ +import { Button } from "@chakra-ui/react" +import React from "react" +import { dynamic } from "../../state" +import { saveBlobDataLocally } from "../../utilities" + +const SaveBlobButton = props => { + return ( + + ) +} + +export default dynamic(SaveBlobButton, [ + "edges", + "growth", + "svgPath", + "seed", + "color", + "type", + "colors", + "isOutline", + "image", + "pattern", +]) diff --git a/src/components/Settings/SolidColorPicker.js b/src/components/Settings/SolidColorPicker.js new file mode 100644 index 0000000..36f5ec3 --- /dev/null +++ b/src/components/Settings/SolidColorPicker.js @@ -0,0 +1,29 @@ +import React from "react" +import { dynamic } from "../../state" +import Pallette from "../Common/Pallette" +import Popover from "../Common/Popover" +import Input from "../Common/Input" +import { Box, Button, Divider } from "@chakra-ui/react" + +const defaultColors = [ + "#00cec9", + "#fab1a0", + "#fdcb6e", + "#fd79a8", + "#a29bfe", + "#B53471", +] + +const SolidColorPicker = ({ color, switchToSolidColor }) => { + return ( + + + + + + + + ) +} + +export default dynamic(SolidColorPicker, ["color", "type"]) diff --git a/src/components/actions.js b/src/components/actions.js new file mode 100644 index 0000000..0d158ff --- /dev/null +++ b/src/components/actions.js @@ -0,0 +1,24 @@ +import React, { useEffect, useState } from "react" +import { Container, Box, Button, HStack } from "@chakra-ui/react" +import { FlutterIcon, HtmlIcon } from "./icons" +import RandomizerBtn from "./randomizer-btn" +import Modal from "./Common/Modal" +import HtmlCodeModalButton from "./Settings/HtmlCodeModalButton" +import { dynamic } from "../state" +import FlutterCodeModalButton from "./Settings/FlutterCodeModalButton" + +const Actions = () => { + return ( + + + + + + + + + + ) +} + +export default dynamic(Actions) diff --git a/src/components/actions/actionBar.jsx b/src/components/actions/actionBar.jsx deleted file mode 100644 index 6042c61..0000000 --- a/src/components/actions/actionBar.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from "react"; -import SVGCopy from "./svgCopy"; -import FlutterCopy from "./flutterCopy"; -import Randomizer from "./randomizer"; - -export default function ActionBar(onClick) { - return ( -
- - - -
- ); -} diff --git a/src/components/actions/flutterCopy.jsx b/src/components/actions/flutterCopy.jsx deleted file mode 100644 index 99b14c0..0000000 --- a/src/components/actions/flutterCopy.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useState } from "react"; -import { view } from "@risingstack/react-easy-state"; -import Button from "../common/button"; -import { appStore } from "../../store"; -import Modal from "../common/modal"; -import Highlight from "../common/highlight"; -import Copy from "../common/copy"; - -const FlutterCopy = view(({ onClose }) => { - const [isModalOpen, openModal] = useState(false); - const ID = `${appStore.edges}-${appStore.growth}-${appStore.id}`; - const code = ` - ///import blobs library - import 'package:blobs/blobs.dart'; - - /// add hash widget - Container( - child: Blob.fromID( - id: ['${ID}'], - size: 400, - ), - ), - `; - return ( - <> - - openModal(false)}> -
- -
- -
- - - ); -}); - -export default FlutterCopy; diff --git a/src/components/actions/randomizer.jsx b/src/components/actions/randomizer.jsx deleted file mode 100644 index abd9299..0000000 --- a/src/components/actions/randomizer.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import { view } from "@risingstack/react-easy-state"; -import Button from "../common/button"; -import { appStore } from "../../store"; -import { generator } from "../../services/generator"; - -const Randomizer = view(() => { - const changeBlob = () => { - const { path, id } = generator({ - edges: appStore.edges, - growth: appStore.growth, - size: appStore.size, - }); - appStore.path = path; - appStore.id = id; - }; - changeBlob(); - return - openModal(false)}> -
- - -
- -
- - ); -}); - -export default SVGCopy; diff --git a/src/components/blob.js b/src/components/blob.js new file mode 100644 index 0000000..9fa8879 --- /dev/null +++ b/src/components/blob.js @@ -0,0 +1,117 @@ +import { Flex, Spinner } from "@chakra-ui/react" +import React, { useRef, useState } from "react" +import * as Patterns from "../patterns" +import LoadingImg from "/assets/loadingimg.png" + +const Blob = ({ + size, + isOutline, + type, + svgPath, + color, + colors, + image, + pattern, +}) => { + console.log("LoadingImg", LoadingImg) + const ref = useRef(null) + const [imgLoaded, setImgLoaded] = useState(false) + + let props = { + fill: color, + } + if (type == "gradient") { + props.fill = "url(#gradient)" + } + if (isOutline) { + props.strokeWidth = "7px" + props.fill = "none" + props.stroke = color + } + if (type == "gradient" && isOutline) { + props.stroke = "url(#gradient)" + } + if (!svgPath) + return ( + + + + ) + + return ( + + {type == "solid" && } + {type == "gradient" && ( + <> + + + + + + + + + )} + {type == "pattern" && ( + <> + + + + + + + + )} + + {type == "image" && ( + <> + + + + + + {!imgLoaded && ( + + )} + { + setImgLoaded(true) + }} + > + + )} + + ) +} + +export default Blob diff --git a/src/components/blob.jsx b/src/components/blob.jsx deleted file mode 100644 index 59a0880..0000000 --- a/src/components/blob.jsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from "react"; -import { view } from "@risingstack/react-easy-state"; -import { appStore } from "../store"; - -const Blob = view(() => { - const size = appStore.size; - let props = { - fill: appStore.color, - }; - if (appStore.type == "gradient") { - props.fill = "url(#gradient)"; - } - if (appStore.stroke) { - props.strokeWidth = "7px"; - props.fill = "none"; - props.stroke = appStore.color; - } - if (appStore.type == "gradient" && appStore.stroke) { - props.stroke = "url(#gradient)"; - } - return ( - - {appStore.type == "gradient" && ( - - - - - - - )} - - - ); -}); - -export default Blob; diff --git a/src/components/common/button.jsx b/src/components/common/button.jsx deleted file mode 100644 index 0970609..0000000 --- a/src/components/common/button.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import { Tooltip } from "antd"; - -export default function Button({ - label, - onClick, - children, - tooltipText, - isPrimary = true, -}) { - let classNames = ""; - if (isPrimary) { - classNames = "shadow-lg bg-theme-400 text-white hover:bg-theme-900"; - } else { - classNames = "text-theme-600"; - } - return ( - - - - ); -} diff --git a/src/components/common/copy.jsx b/src/components/common/copy.jsx deleted file mode 100644 index 1e7a77b..0000000 --- a/src/components/common/copy.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import React, { useState } from "react"; - -export default function Copy({ label = "Copy", text }) { - const [isCopied, setStatus] = useState(false); - const copyToClipboard = (str) => { - setStatus(true); - const el = document.createElement("textarea"); - el.value = str; - document.body.appendChild(el); - el.select(); - document.execCommand("copy"); - document.body.removeChild(el); - setTimeout(() => { - setStatus(false); - }, 700); - }; - return ( -
copyToClipboard(text)} - > - {" "} - {isCopied ? "Copied!" : label} -
- ); -} diff --git a/src/components/common/download.jsx b/src/components/common/download.jsx deleted file mode 100644 index 26a8af8..0000000 --- a/src/components/common/download.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; - -export default function Download({ content, filename }) { - const downloadFile = () => { - const url = window.URL.createObjectURL(new Blob([content])); - const link = document.createElement("a"); - link.href = url; - link.setAttribute("download", filename); - document.body.appendChild(link); - link.click(); - }; - return ( -
downloadFile()} - > - Download -
- ); -} diff --git a/src/components/common/highlight.jsx b/src/components/common/highlight.jsx deleted file mode 100644 index 79b16b0..0000000 --- a/src/components/common/highlight.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from "react"; -import { PrismLight as SyntaxHighlighter } from "react-syntax-highlighter"; -import markup from "react-syntax-highlighter/dist/esm/languages/prism/markup"; -import dart from "react-syntax-highlighter/dist/esm/languages/prism/dart"; -import { coy } from "react-syntax-highlighter/dist/esm/styles/prism"; -SyntaxHighlighter.registerLanguage("markup", markup); -SyntaxHighlighter.registerLanguage("dart", dart); - -export default function Highlight({ code, lang }) { - return ( - - {code} - - ); -} diff --git a/src/components/common/modal.jsx b/src/components/common/modal.jsx deleted file mode 100644 index e31638d..0000000 --- a/src/components/common/modal.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React, { useState } from "react"; -import { Modal as DefaultModal } from "antd"; -import Button from "./button"; -import Copy from "./copy"; - -export default function Modal({ isOpen, children, onClose }) { - return ( - -
{children}
-
- -
-
- ); -} diff --git a/src/components/common/settingsItem.jsx b/src/components/common/settingsItem.jsx deleted file mode 100644 index 3201acf..0000000 --- a/src/components/common/settingsItem.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from "react"; -import { Popover } from "antd"; - -export default function SettingsItem({ label, children, info }) { - return ( -
-
-

{label}

- {info && ( - - - - )} -
- {children} -
- ); -} diff --git a/src/components/footer.js b/src/components/footer.js new file mode 100644 index 0000000..da87461 --- /dev/null +++ b/src/components/footer.js @@ -0,0 +1,105 @@ +import { AtSignIcon } from "@chakra-ui/icons" +import { + Box, + Container, + Link, + HStack, + Text, + Button, + Center, +} from "@chakra-ui/react" +import { Link as GatsbyLink } from "gatsby" +import React from "react" +import { dynamic } from "../state" +import { + LoIcon, + SoundIcon, + SoundOffIcon, + GithubIcon, + UserIcon, + CopyrightIcon, + CreditsIcon, +} from "./icons" +import ThemeSwitch from "./theme-switch" + +const Footer = ({ toggleSound, soundVolume }) => ( +
+ + + + + + + + + + + + + + + + + + + + + + +
+) + +export default dynamic(Footer, ["soundVolume"]) diff --git a/src/components/icons.js b/src/components/icons.js new file mode 100644 index 0000000..6b26dfe --- /dev/null +++ b/src/components/icons.js @@ -0,0 +1,302 @@ +import React from "react" +import { Icon } from "@chakra-ui/react" + +const FlutterIcon = props => { + return ( + + + + + ) +} + +const HtmlIcon = props => { + return ( + + + + + ) +} +const HoriIcon = props => { + return ( + + + + + ) +} +const InfoIcon = props => { + return ( + + + + + ) +} + +const QuestionIcon = props => { + return ( + + + + + ) +} +const DownloadIcon = props => { + return ( + + + + + ) +} +const CopyIcon = props => { + return ( + + + + + ) +} + +const TrashIcon = props => { + return ( + + + + + ) +} + +const CreditsIcon = props => { + return ( + + + + + ) +} + +const UserIcon = props => { + return ( + + + + + ) +} + +const CopyrightIcon = props => { + return ( + + + + + ) +} + +const GithubIcon = props => { + return ( + + + + + ) +} + +const SoundIcon = props => { + return ( + + + + + ) +} + +const SoundOffIcon = props => { + return ( + + + + + ) +} + +const PaintIcon = props => { + return ( + + + + + ) +} + +const PaletteIcon = props => { + return ( + + + + + ) +} + +const PatternIcon = props => { + return ( + + + + + ) +} + +const ImageIcon = props => { + return ( + + + + + ) +} + +const LandscapeIcon = props => { + return ( + + + + + ) +} + +const OutlineIcon = props => { + return ( + + + + + ) +} + +const LoIcon = () => { + return ( + + + + + + + + + ) +} + +export { + FlutterIcon, + HtmlIcon, + HoriIcon, + InfoIcon, + DownloadIcon, + CopyIcon, + LoIcon, + TrashIcon, + QuestionIcon, + SoundIcon, + SoundOffIcon, + GithubIcon, + CopyrightIcon, + UserIcon, + CreditsIcon, + PaintIcon, + PaletteIcon, + PatternIcon, + OutlineIcon, + ImageIcon, + LandscapeIcon, +} diff --git a/src/components/layout.js b/src/components/layout.js new file mode 100644 index 0000000..c8d730d --- /dev/null +++ b/src/components/layout.js @@ -0,0 +1,55 @@ +/** + * Layout component that queries for data + * with Gatsby's useStaticQuery component + * + * See: https://www.gatsbyjs.com/docs/use-static-query/ + */ + +import * as React from "react" +import PropTypes from "prop-types" +import { useStaticQuery, graphql } from "gatsby" +import { + Box, + Container, + Heading, + Link, + useColorModeValue, +} from "@chakra-ui/react" + +import Footer from "./Footer" + +const Layout = ({ children }) => { + const theme = useColorModeValue("light", "dark") + const data = useStaticQuery(graphql` + query SiteTitleQuery { + site { + siteMetadata { + title + } + } + } + `) + + return ( + + + + {children} + +