Compare commits
161 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 814c5a6df4 | |||
| 3d5d3781b2 | |||
| 4ad723e3c4 | |||
| fd56cc4716 | |||
| 94aa482a35 | |||
| 36ff66fa6b | |||
| 532e9bd488 | |||
| 3fad4212ba | |||
| 3917586bcd | |||
| 5792c2cc6b | |||
| 7fcf282170 | |||
| 92efe006b6 | |||
| ea887ea6f1 | |||
| e530976583 | |||
| a3e20064b4 | |||
| 78203da975 | |||
| 45eef27ebf | |||
| 67bdd32ab8 | |||
| 640d553494 | |||
| ded2b80776 | |||
| d09eef2644 | |||
| 494ae98c22 | |||
| 0a3e803718 | |||
| dc2a0c367d | |||
| 4b1d7599b5 | |||
| 4deee4ebe8 | |||
| bb15eb5df4 | |||
| a7b9d0577c | |||
| 98439049e3 | |||
| 43a76e881a | |||
| 799eb1ff3f | |||
| e46c814822 | |||
| 2cb692b1c3 | |||
| eb78832da1 | |||
| e0201217b8 | |||
| 6a7f0bae5f | |||
| 1d96ccb02c | |||
| d4aea71a16 | |||
| c40653325a | |||
| b613369d7a | |||
| b238ef2ae7 | |||
| e8a528e73c | |||
| 2b2c0f3b89 | |||
| 5f3f92ce6e | |||
| bebafcc4a1 | |||
| c3c362574c | |||
| 677aa113f3 | |||
| 34238bddcf | |||
| 397967c66d | |||
| 236800b8e3 | |||
| ee8e3d8e71 | |||
| a5309dd696 | |||
| e469dfc54b | |||
| b10a6d8771 | |||
| 370f898628 | |||
| 216ed1c72a | |||
| 1a24ba24a7 | |||
| 61970ca62a | |||
| 796c9dc98a | |||
| 6f0a466a2b | |||
| bf63e8407d | |||
| 24ed0be656 | |||
| aa8318a2d3 | |||
| b9f00daaf4 | |||
| f5e4918d47 | |||
| 03c9e65e17 | |||
| 1ea5d208ab | |||
| 3f1ab4189f | |||
| ab066ca488 | |||
| 3404764ba6 | |||
| 97ea5a5a88 | |||
| cce078f6ed | |||
| 265818e264 | |||
| 0a2ba5eb53 | |||
| 961788738c | |||
| 70f57a0a0b | |||
| 5683df6323 | |||
| b34aecc75e | |||
| 23cb233dcf | |||
| 3c9901d2cb | |||
| 7e7532fe67 | |||
| 499b03bb8a | |||
| 3534001c46 | |||
| a4035060af | |||
| 698ad1cc6b | |||
| 6a9684751e | |||
| 04de446f45 | |||
| 0e7d380d45 | |||
| fe55276dbb | |||
| 9a79dc9eb9 | |||
| 517a050c92 | |||
| 2ed75f8cb6 | |||
| 90b79907f3 | |||
| 62f204f40c | |||
| 878d007237 | |||
| 02395d5db8 | |||
| c6b260e3be | |||
| e9e29fc062 | |||
| 312486740f | |||
| ad3c95a7d7 | |||
| b86bfe442c | |||
| eb33a2b85f | |||
| cc6035c665 | |||
| 62de64db12 | |||
| d9327a26c9 | |||
| 7521e5fa43 | |||
| 133ccb4c7f | |||
| 5c67c9d37b | |||
| bbd9591935 | |||
| a20e37b044 | |||
| 9d5932f05c | |||
| f080e54d0d | |||
| befeee4653 | |||
| bb5e46e7ef | |||
| 90c989bb75 | |||
| ffeb1e3a58 | |||
| e61d87ea1f | |||
| a972b7b25d | |||
| 74ce125ff3 | |||
| 0a37b8e54d | |||
| 53812071d6 | |||
| af759d5cbf | |||
| af26542a18 | |||
| d33f86efd0 | |||
| 6666f029f3 | |||
| 8acc4c5f30 | |||
| e322fd864f | |||
| 2ead64bcd9 | |||
| e9ea6aa279 | |||
| 507ab14036 | |||
| 623e72fce8 | |||
| 5b01b6426d | |||
| 2a91fd7e99 | |||
| bd2f0ed09a | |||
| a70efd43a1 | |||
| 30d00ebcf0 | |||
| 4e5a190e97 | |||
| 7cde461457 | |||
| 2344aec3af | |||
| 22717a2ec2 | |||
| 03a2f9c5ed | |||
| 5c9730a6d5 | |||
| 1f90e9b2b1 | |||
| ee9af4d007 | |||
| 0112a45476 | |||
| bbfeb69c4b | |||
| ea589bc7ca | |||
| ae6e33d64d | |||
| b889f563e2 | |||
| 4d5d51ea96 | |||
| 63301748ab | |||
| 4119bb45a2 | |||
| 560adc3bd9 | |||
| 5c4eacab36 | |||
| ae979adfd4 | |||
| 107564cf56 | |||
| ab26a311b8 | |||
| 7810525f3f | |||
| 8092856053 | |||
| 9090500f93 | |||
| bf8bdbc0aa |
@@ -13,12 +13,12 @@ name: "CodeQL"
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [main, stable]
|
||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
# The branches below must be a subset of the branches above
|
||||||
branches: [ main ]
|
branches: [main, stable]
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '21 19 * * 4'
|
- cron: "21 19 * * 4"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
analyze:
|
analyze:
|
||||||
@@ -32,7 +32,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
language: [ 'javascript' ]
|
language: ["javascript"]
|
||||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ jobs:
|
|||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v2
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
@@ -53,7 +53,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v1
|
uses: github/codeql-action/autobuild@v2
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
@@ -67,4 +67,4 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v2
|
||||||
|
|||||||
@@ -6,24 +6,35 @@ name: Node.js CI
|
|||||||
on:
|
on:
|
||||||
# Trigger the workflow on push or pull request,
|
# Trigger the workflow on push or pull request,
|
||||||
push:
|
push:
|
||||||
branches:
|
branches: [main, stable]
|
||||||
# All branches
|
|
||||||
- 'main'
|
|
||||||
pull_request:
|
pull_request:
|
||||||
# These types of PRs
|
# These types of PRs
|
||||||
types: [opened, synchronize, reopened]
|
types: [opened, synchronize, reopened]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [14.x, 16.x, 18.x]
|
node-version: [14.x, 16.x, 18.x, 20.x]
|
||||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# NPM
|
||||||
|
# - name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
# uses: actions/setup-node@v2
|
||||||
|
# with:
|
||||||
|
# node-version: ${{ matrix.node-version }}
|
||||||
|
# cache: 'npm'
|
||||||
|
# - run: npm i
|
||||||
|
# - run: npm run lint
|
||||||
|
# - run: npm run build
|
||||||
|
# # - run: npm run start
|
||||||
|
# - run: npm run test
|
||||||
|
|
||||||
|
# YARN
|
||||||
- uses: borales/actions-yarn@v3.0.0
|
- uses: borales/actions-yarn@v3.0.0
|
||||||
with:
|
with:
|
||||||
cmd: install # will run `yarn install` command
|
cmd: install # will run `yarn install` command
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ name: njsscan sarif
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [main, stable]
|
||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
# The branches below must be a subset of the branches above
|
||||||
branches: [ main ]
|
branches: [main, stable]
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '15 15 * * 5'
|
- cron: "15 15 * * 5"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
njsscan:
|
njsscan:
|
||||||
@@ -28,8 +28,8 @@ jobs:
|
|||||||
id: njsscan
|
id: njsscan
|
||||||
uses: ajinabraham/njsscan-action@7237412fdd36af517e2745077cedbf9d6900d711
|
uses: ajinabraham/njsscan-action@7237412fdd36af517e2745077cedbf9d6900d711
|
||||||
with:
|
with:
|
||||||
args: '. --sarif --output results.sarif || true'
|
args: ". --sarif --output results.sarif || true"
|
||||||
- name: Upload njsscan report
|
- name: Upload njsscan report
|
||||||
uses: github/codeql-action/upload-sarif@v1
|
uses: github/codeql-action/upload-sarif@v2
|
||||||
with:
|
with:
|
||||||
sarif_file: results.sarif
|
sarif_file: results.sarif
|
||||||
|
|||||||
@@ -14,4 +14,5 @@ next-env.d
|
|||||||
package*
|
package*
|
||||||
tsconfig.json
|
tsconfig.json
|
||||||
yarn.lock
|
yarn.lock
|
||||||
|
package.lock
|
||||||
next.config.js
|
next.config.js
|
||||||
-363
File diff suppressed because one or more lines are too long
Vendored
-786
File diff suppressed because one or more lines are too long
+893
File diff suppressed because one or more lines are too long
+5
-5
@@ -1,7 +1,7 @@
|
|||||||
|
compressionLevel: mixed
|
||||||
|
|
||||||
|
enableGlobalCache: false
|
||||||
|
|
||||||
nodeLinker: node-modules
|
nodeLinker: node-modules
|
||||||
|
|
||||||
plugins:
|
yarnPath: .yarn/releases/yarn-4.1.0.cjs
|
||||||
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
|
|
||||||
spec: "@yarnpkg/plugin-interactive-tools"
|
|
||||||
|
|
||||||
yarnPath: .yarn/releases/yarn-3.2.1.cjs
|
|
||||||
|
|||||||
+26
-28
@@ -2,7 +2,7 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"name": "lucid-creations-media-potty-chart",
|
"name": "lucid-creations-media-potty-chart",
|
||||||
"homepage": "https://lucidcreations.media/introducing-code-name-potty-chart/",
|
"homepage": "https://lucidcreations.media/introducing-code-name-potty-chart/",
|
||||||
"version": "0.1.1",
|
"version": "0.1.26",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Lucid Creations Media",
|
"name": "Lucid Creations Media",
|
||||||
"url": "https://lucidcreations.media",
|
"url": "https://lucidcreations.media",
|
||||||
@@ -16,36 +16,34 @@
|
|||||||
"pretty": "prettier --write ."
|
"pretty": "prettier --write ."
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@chakra-ui/react": "^2.2.1",
|
"@chakra-ui/react": "^2.8.2",
|
||||||
"@emotion/react": "^11.9.3",
|
"@emotion/react": "^11.11.4",
|
||||||
"@emotion/styled": "^11.9.3",
|
"@emotion/styled": "^11.11.0",
|
||||||
"@iconify/react": "^3.2.2",
|
"@iconify/react": "^4.1.1",
|
||||||
"@reduxjs/toolkit": "^1.8.2",
|
"@reduxjs/toolkit": "^2.2.2",
|
||||||
"date-fns": "^2.28.0",
|
"date-fns": "^3.6.0",
|
||||||
"formik": "^2.2.9",
|
"formik": "^2.4.5",
|
||||||
"framer-motion": "^6.3.15",
|
"framer-motion": "^11.0.20",
|
||||||
"next": "12.1.6",
|
"next": "14.1.4",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-redux": "^8.0.2",
|
"react-redux": "^9.1.0",
|
||||||
"sharp": "^0.30.7"
|
"sharp": "^0.33.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^18.0.0",
|
"@types/node": "^20.11.30",
|
||||||
"@types/react": "^18.0.14",
|
"@types/react": "^18.2.70",
|
||||||
"@types/react-redux": "^7.1.24",
|
"@types/react-redux": "^7.1.33",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.29.0",
|
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
||||||
"eslint": "^8.18.0",
|
"@typescript-eslint/parser": "^7.4.0",
|
||||||
"eslint-config-next": "^12.1.6",
|
"eslint": "^8.57.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-next": "<13.4.9",
|
||||||
"eslint-plugin-jsx-a11y": "^6.6.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-plugin-react": "^7.30.1",
|
"eslint-plugin-jsx-a11y": "^6.8.0",
|
||||||
"eslint-plugin-react-hooks": "<4.6.0",
|
"eslint-plugin-react": "^7.34.1",
|
||||||
"prettier": "^2.7.1",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"typescript": "^4.7.4"
|
"prettier": "^3.2.5",
|
||||||
|
"typescript": "^5.4.3"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"packageManager": "yarn@4.1.0"
|
||||||
"@types/react": "^17.0.38"
|
|
||||||
},
|
|
||||||
"packageManager": "yarn@3.2.1"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# Used for many other (non-commercial) purposes as well
|
||||||
|
User-agent: CCBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
# For new training only
|
||||||
|
User-agent: GPTBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
# Not for training, only for user requests
|
||||||
|
User-agent: ChatGPT-User
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
# Marker for disabling Bard and Vertex AI
|
||||||
|
User-agent: Google-Extended
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
# Speech synthesis only?
|
||||||
|
User-agent: FacebookBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
# Multi-purpose, commercial uses; including LLMs
|
||||||
|
User-agent: Omgilibot
|
||||||
|
Disallow: /
|
||||||
@@ -5,15 +5,15 @@ import { motion } from "framer-motion";
|
|||||||
|
|
||||||
const MotionBox = motion<BoxProps>(Box);
|
const MotionBox = motion<BoxProps>(Box);
|
||||||
|
|
||||||
const Patreon = (): JSX.Element => {
|
const KoFi = (): JSX.Element => {
|
||||||
return (
|
return (
|
||||||
<MotionBox whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }}>
|
<MotionBox whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }}>
|
||||||
<Link
|
<Link
|
||||||
href="https://www.patreon.com/bePatron?u=15380906"
|
href="https://ko-fi.com/lucidcreationsmedia"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener"
|
rel="noopener"
|
||||||
>
|
>
|
||||||
<Button variant="patreon" leftIcon={<Icon icon="ri:patreon-fill" />}>
|
<Button variant="kofi" leftIcon={<Icon icon="cib:ko-fi" />}>
|
||||||
{"Fund The App"}
|
{"Fund The App"}
|
||||||
</Button>
|
</Button>
|
||||||
</Link>
|
</Link>
|
||||||
@@ -21,4 +21,4 @@ const Patreon = (): JSX.Element => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Patreon;
|
export default KoFi;
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
import React from "react";
|
|
||||||
import { Box, Link, Button, BoxProps } from "@chakra-ui/react";
|
|
||||||
import { Icon } from "@iconify/react";
|
|
||||||
import { motion } from "framer-motion";
|
|
||||||
|
|
||||||
const MotionBox = motion<BoxProps>(Box);
|
|
||||||
|
|
||||||
const Twitter = (): JSX.Element => {
|
|
||||||
return (
|
|
||||||
<MotionBox whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }}>
|
|
||||||
<Link
|
|
||||||
href="https://www.patreon.com/bePatron?u=15380906"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>
|
|
||||||
<Button
|
|
||||||
variant="twitter"
|
|
||||||
leftIcon={<Icon icon="akar-icons:twitter-fill" />}
|
|
||||||
>
|
|
||||||
{"Dev Updates"}
|
|
||||||
</Button>
|
|
||||||
</Link>
|
|
||||||
</MotionBox>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Twitter;
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
export interface LinkObj {
|
export interface LinkObj {
|
||||||
href?: string;
|
href?: string;
|
||||||
name?: string;
|
name?: string;
|
||||||
type: "primary" | "secondary" | "twitter" | "patreon";
|
type: "primary" | "secondary" | "updates" | "ko-fi";
|
||||||
}
|
}
|
||||||
|
|
||||||
type Links = LinkObj[];
|
type Links = LinkObj[];
|
||||||
@@ -13,15 +13,17 @@ const links: Links = [
|
|||||||
type: "secondary"
|
type: "secondary"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "https://lucidcreations.media/introducing-code-name-potty-chart/",
|
href: "https://lucidcreations.media/lcm-potty-chart/",
|
||||||
name: "Original Announcement",
|
name: "Official Announcement",
|
||||||
type: "secondary"
|
type: "secondary"
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// type: "ko-fi"
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
type: "patreon"
|
href: "https://t.me/LucidCreationsMedia",
|
||||||
},
|
name: "Dev Updates",
|
||||||
{
|
type: "secondary"
|
||||||
type: "twitter"
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ import React from "react";
|
|||||||
import { Box, HStack, VStack } from "@chakra-ui/react";
|
import { Box, HStack, VStack } from "@chakra-ui/react";
|
||||||
import CustomButton from "./Custom";
|
import CustomButton from "./Custom";
|
||||||
import links, { LinkObj } from "./data/links";
|
import links, { LinkObj } from "./data/links";
|
||||||
import Patreon from "./Patreon";
|
import KoFi from "./KoFi";
|
||||||
import Twitter from "./Twitter";
|
|
||||||
|
|
||||||
const Buttons = (): JSX.Element => {
|
const Buttons = (): JSX.Element => {
|
||||||
return (
|
return (
|
||||||
@@ -30,12 +29,8 @@ const Buttons = (): JSX.Element => {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type === "patreon") {
|
if (type === "ko-fi") {
|
||||||
return <Patreon key={type} />;
|
return <KoFi key={type} />;
|
||||||
}
|
|
||||||
|
|
||||||
if (type === "twitter") {
|
|
||||||
return <Twitter key={type} />;
|
|
||||||
}
|
}
|
||||||
})}
|
})}
|
||||||
</HStack>
|
</HStack>
|
||||||
@@ -61,12 +56,8 @@ const Buttons = (): JSX.Element => {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type === "patreon") {
|
if (type === "ko-fi") {
|
||||||
return <Patreon key={type} />;
|
return <KoFi key={type} />;
|
||||||
}
|
|
||||||
|
|
||||||
if (type === "twitter") {
|
|
||||||
return <Twitter key={type} />;
|
|
||||||
}
|
}
|
||||||
})}
|
})}
|
||||||
</VStack>
|
</VStack>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { useAppSelector } from "../../app/hooks";
|
import { useAppSelector } from "../../redux/hooks";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { HStack, IconButton } from "@chakra-ui/react";
|
import { HStack, IconButton } from "@chakra-ui/react";
|
||||||
import { Icon } from "@iconify/react";
|
import { Icon } from "@iconify/react";
|
||||||
|
|||||||
@@ -256,7 +256,8 @@ const DatePicker = ({ title, isLoading }: DatePickerProps): JSX.Element => {
|
|||||||
)}
|
)}
|
||||||
</HStack>
|
</HStack>
|
||||||
<FormErrorMessage>
|
<FormErrorMessage>
|
||||||
{form.errors.date}
|
{typeof form.errors.date === "string" &&
|
||||||
|
form.errors.date}
|
||||||
</FormErrorMessage>
|
</FormErrorMessage>
|
||||||
</VStack>
|
</VStack>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import { store } from "../../app/store";
|
import { store } from "../../redux/store";
|
||||||
import { Box, Skeleton, VStack } from "@chakra-ui/react";
|
import { Box, Skeleton, VStack } from "@chakra-ui/react";
|
||||||
import {
|
import {
|
||||||
add,
|
add,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { useEffect } from "react";
|
import React, { useEffect } from "react";
|
||||||
import { useAppDispatch, useAppSelector } from "../../app/hooks";
|
import { useAppDispatch, useAppSelector } from "../../redux/hooks";
|
||||||
import { updateCurrDate, updateMonth } from "../../features/calender";
|
import { updateCurrDate, updateMonth } from "../../features/calender";
|
||||||
import { Box, HStack, SimpleGrid, Text, VStack } from "@chakra-ui/react";
|
import { Box, HStack, SimpleGrid, Text, VStack } from "@chakra-ui/react";
|
||||||
import { isSameDay, format } from "date-fns";
|
import { isSameDay, format } from "date-fns";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { useState, useRef } from "react";
|
import React, { useState, useRef } from "react";
|
||||||
import { useAppDispatch } from "../../../app/hooks";
|
import { useAppDispatch } from "../../../redux/hooks";
|
||||||
import { addEditSticker } from "../../../features/calender/stickers";
|
import { addEditSticker } from "../../../features/calender/stickers";
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { useEffect } from "react";
|
import React, { useEffect } from "react";
|
||||||
import { useAppDispatch, useAppSelector } from "../../app/hooks";
|
import { useAppDispatch, useAppSelector } from "../../redux/hooks";
|
||||||
import { updateMonth } from "../../features/calender";
|
import { updateMonth } from "../../features/calender";
|
||||||
import { Box, HStack, SimpleGrid, Text, VStack } from "@chakra-ui/react";
|
import { Box, HStack, SimpleGrid, Text, VStack } from "@chakra-ui/react";
|
||||||
import { format, isSameDay, isToday } from "date-fns";
|
import { format, isSameDay, isToday } from "date-fns";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { HStack, Button, VStack, Checkbox } from "@chakra-ui/react";
|
import { HStack, Button, VStack, Checkbox } from "@chakra-ui/react";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useAppDispatch, useAppSelector } from "../../../app/hooks";
|
import { useAppDispatch, useAppSelector } from "../../../redux/hooks";
|
||||||
import {
|
import {
|
||||||
setTutorialCompleted,
|
setTutorialCompleted,
|
||||||
setTempTutorialComplete,
|
setTempTutorialComplete,
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ import React from "react";
|
|||||||
import { ChakraProvider } from "@chakra-ui/react";
|
import { ChakraProvider } from "@chakra-ui/react";
|
||||||
import AppTheme from "../theme/AppTheme";
|
import AppTheme from "../theme/AppTheme";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import { store } from "../app/store";
|
import { store } from "../redux/store";
|
||||||
import Layout from "../theme/layout/Layout";
|
import Layout from "../theme/layout/Layout";
|
||||||
import Head from "next/head";
|
import Head from "next/head";
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import { store } from "../../app/store";
|
import { store } from "../../redux/store";
|
||||||
import { Box } from "@chakra-ui/react";
|
import { Box } from "@chakra-ui/react";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import {
|
import {
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
import React, { Fragment, useEffect, useRef } from "react";
|
import React, { Fragment, useEffect, useRef } from "react";
|
||||||
import { Provider } from "react-redux";
|
import { Provider } from "react-redux";
|
||||||
import { store } from "../app/store";
|
import { store } from "../redux/store";
|
||||||
import { useAppDispatch, useAppSelector } from "../app/hooks";
|
import { useAppDispatch, useAppSelector } from "../redux/hooks";
|
||||||
import { updateLoading } from "../features/calender";
|
import { updateLoading } from "../features/calender";
|
||||||
import {
|
import {
|
||||||
clearTutorialCompleted,
|
clearTutorialCompleted,
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ const AppTheme = extendTheme({
|
|||||||
footer: "#0097a7",
|
footer: "#0097a7",
|
||||||
footerText: "black",
|
footerText: "black",
|
||||||
content: "#2d3748",
|
content: "#2d3748",
|
||||||
patreon: "#FF424D",
|
kofi: "#FF5E5B",
|
||||||
twitter: "#1da1f2"
|
twitter: "#1da1f2"
|
||||||
},
|
},
|
||||||
loading: {
|
loading: {
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
import {
|
import { darken, mode, whiten } from "@chakra-ui/theme-tools";
|
||||||
darken,
|
|
||||||
mode,
|
|
||||||
StyleFunctionProps,
|
|
||||||
whiten
|
|
||||||
} from "@chakra-ui/theme-tools";
|
|
||||||
import { Dict } from "@chakra-ui/utils";
|
import { Dict } from "@chakra-ui/utils";
|
||||||
|
|
||||||
const buttonStyles = {
|
const buttonStyles = {
|
||||||
@@ -14,7 +9,7 @@ const buttonStyles = {
|
|||||||
sizes: {},
|
sizes: {},
|
||||||
// styles for different visual variants ("outline", "solid")
|
// styles for different visual variants ("outline", "solid")
|
||||||
variants: {
|
variants: {
|
||||||
primary: (props: Dict<never> | StyleFunctionProps) => ({
|
primary: (props: Dict<never>) => ({
|
||||||
bg: "brand.primary",
|
bg: "brand.primary",
|
||||||
fontSize: "xl",
|
fontSize: "xl",
|
||||||
py: 3,
|
py: 3,
|
||||||
@@ -27,7 +22,7 @@ const buttonStyles = {
|
|||||||
)(props)
|
)(props)
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
secondary: (props: Dict<never> | StyleFunctionProps) => ({
|
secondary: (props: Dict<never>) => ({
|
||||||
bg: "brand.secondary",
|
bg: "brand.secondary",
|
||||||
fontSize: "xl",
|
fontSize: "xl",
|
||||||
py: 3,
|
py: 3,
|
||||||
@@ -40,7 +35,7 @@ const buttonStyles = {
|
|||||||
)(props)
|
)(props)
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
skip: (props: Dict<never> | StyleFunctionProps) => ({
|
skip: (props: Dict<never>) => ({
|
||||||
bg: "transparent",
|
bg: "transparent",
|
||||||
fontSize: "xl",
|
fontSize: "xl",
|
||||||
py: 3,
|
py: 3,
|
||||||
@@ -51,7 +46,7 @@ const buttonStyles = {
|
|||||||
color: "whiteAlpha.900"
|
color: "whiteAlpha.900"
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
stickerButton: (props: Dict<never> | StyleFunctionProps) => ({
|
stickerButton: (props: Dict<never>) => ({
|
||||||
bg: "transparent",
|
bg: "transparent",
|
||||||
fontSize: "4rem",
|
fontSize: "4rem",
|
||||||
px: 2,
|
px: 2,
|
||||||
@@ -63,7 +58,7 @@ const buttonStyles = {
|
|||||||
)(props)
|
)(props)
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
nav: (props: Dict<never> | StyleFunctionProps) => ({
|
nav: (props: Dict<never>) => ({
|
||||||
bg: "transparent",
|
bg: "transparent",
|
||||||
fontSize: "md",
|
fontSize: "md",
|
||||||
px: 2,
|
px: 2,
|
||||||
@@ -82,7 +77,7 @@ const buttonStyles = {
|
|||||||
textDecoration: "underline"
|
textDecoration: "underline"
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
footer: (props: Dict<never> | StyleFunctionProps) => ({
|
footer: (props: Dict<never>) => ({
|
||||||
bg: "brand.main",
|
bg: "brand.main",
|
||||||
fontSize: "lg",
|
fontSize: "lg",
|
||||||
py: 3,
|
py: 3,
|
||||||
@@ -92,7 +87,7 @@ const buttonStyles = {
|
|||||||
bg: mode(whiten("brand.main", 20), darken("brand.main", 20))(props)
|
bg: mode(whiten("brand.main", 20), darken("brand.main", 20))(props)
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
backToTop: (props: Dict<never> | StyleFunctionProps) => ({
|
backToTop: (props: Dict<never>) => ({
|
||||||
bg: "rgba(23, 25, 35, 0.5)",
|
bg: "rgba(23, 25, 35, 0.5)",
|
||||||
fontSize: "lg",
|
fontSize: "lg",
|
||||||
py: 2,
|
py: 2,
|
||||||
@@ -112,7 +107,7 @@ const buttonStyles = {
|
|||||||
border: "1px solid rgba(0, 134, 255, 1)"
|
border: "1px solid rgba(0, 134, 255, 1)"
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
submit: (props: Dict<never> | StyleFunctionProps) => ({
|
submit: (props: Dict<never>) => ({
|
||||||
fontSize: "lg",
|
fontSize: "lg",
|
||||||
py: 2,
|
py: 2,
|
||||||
px: 4,
|
px: 4,
|
||||||
@@ -131,7 +126,7 @@ const buttonStyles = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
mobileNav: (props: Dict<never> | StyleFunctionProps) => ({
|
mobileNav: (props: Dict<never>) => ({
|
||||||
// bg: "transparent",
|
// bg: "transparent",
|
||||||
fontSize: "md",
|
fontSize: "md",
|
||||||
px: 2,
|
px: 2,
|
||||||
@@ -152,19 +147,16 @@ const buttonStyles = {
|
|||||||
border: "1px solid #0068ff"
|
border: "1px solid #0068ff"
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
patreon: (props: Dict<never> | StyleFunctionProps) => ({
|
kofi: (props: Dict<never>) => ({
|
||||||
bg: "brand.patreon",
|
bg: "brand.kofi",
|
||||||
fontSize: "lg",
|
fontSize: "lg",
|
||||||
p: 3,
|
p: 3,
|
||||||
color: "whiteAlpha",
|
color: "whiteAlpha",
|
||||||
_hover: {
|
_hover: {
|
||||||
bg: mode(
|
bg: mode(whiten("brand.kofi", 20), darken("brand.kofi", 20))(props)
|
||||||
whiten("brand.patreon", 20),
|
|
||||||
darken("brand.patreon", 20)
|
|
||||||
)(props)
|
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
twitter: (props: Dict<never> | StyleFunctionProps) => ({
|
twitter: (props: Dict<never>) => ({
|
||||||
bg: "brand.twitter",
|
bg: "brand.twitter",
|
||||||
fontSize: "lg",
|
fontSize: "lg",
|
||||||
py: 3,
|
py: 3,
|
||||||
|
|||||||
@@ -1,48 +1,9 @@
|
|||||||
import React /*, { useEffect, useRef, useState }*/ from "react";
|
import React /*, { useEffect, useRef, useState }*/ from "react";
|
||||||
import {
|
import { Box, Text, VStack, Link } from "@chakra-ui/react";
|
||||||
Box,
|
|
||||||
Text,
|
|
||||||
VStack,
|
|
||||||
Link,
|
|
||||||
// Image,
|
|
||||||
Button,
|
|
||||||
BoxProps
|
|
||||||
} from "@chakra-ui/react";
|
|
||||||
// import BackToTopButton from "./BackToTopButton";
|
// import BackToTopButton from "./BackToTopButton";
|
||||||
import { motion } from "framer-motion";
|
|
||||||
import Patreon from "../../components/buttons/Patreon";
|
|
||||||
import CustomButton from "../../components/buttons/Custom";
|
|
||||||
import Twitter from "../../components/buttons/Twitter";
|
|
||||||
import Buttons from "../../components/buttons";
|
import Buttons from "../../components/buttons";
|
||||||
|
|
||||||
const MotionBox = motion<BoxProps>(Box);
|
|
||||||
|
|
||||||
const Footer = (): JSX.Element => {
|
const Footer = (): JSX.Element => {
|
||||||
// const [showBackToTop, setShowBackToTop] = useState<boolean>(false);
|
|
||||||
// const lastScroll = useRef<number>(0);
|
|
||||||
|
|
||||||
// const handleScroll = (): void => {
|
|
||||||
// if (window.scrollY >= 500) {
|
|
||||||
// setShowBackToTop(true);
|
|
||||||
// } else {
|
|
||||||
// setShowBackToTop(false);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const currentScroll =
|
|
||||||
// window.pageYOffset || document.documentElement.scrollTop;
|
|
||||||
|
|
||||||
// lastScroll.current = currentScroll <= 0 ? 0 : currentScroll;
|
|
||||||
// };
|
|
||||||
|
|
||||||
// useEffect(() => {
|
|
||||||
// if (!window) {
|
|
||||||
// console.log("waiting for mount");
|
|
||||||
// } else if (window) {
|
|
||||||
// window.addEventListener("scroll", handleScroll);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return () => window.removeEventListener("scroll", handleScroll);
|
|
||||||
// }, []);
|
|
||||||
return (
|
return (
|
||||||
<Box bg="brand.footer" as="footer" w="100%" h="auto">
|
<Box bg="brand.footer" as="footer" w="100%" h="auto">
|
||||||
{/* <BackToTopButton show={showBackToTop} /> */}
|
{/* <BackToTopButton show={showBackToTop} /> */}
|
||||||
@@ -55,21 +16,6 @@ const Footer = (): JSX.Element => {
|
|||||||
justifyContent="center"
|
justifyContent="center"
|
||||||
>
|
>
|
||||||
<VStack spacing={4}>
|
<VStack spacing={4}>
|
||||||
{/* <MotionBox whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }}>
|
|
||||||
<Link
|
|
||||||
href="https://github.com/LucidCreationsMedia"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>
|
|
||||||
<Button
|
|
||||||
color="whiteAlpha"
|
|
||||||
variant="credits"
|
|
||||||
leftIcon={<Icon icon="akar-icons:github-fill" />}
|
|
||||||
>
|
|
||||||
View Codebase
|
|
||||||
</Button>
|
|
||||||
</Link>
|
|
||||||
</MotionBox> */}
|
|
||||||
<Buttons />
|
<Buttons />
|
||||||
<Text color="brand.footerText" fontSize="xs">
|
<Text color="brand.footerText" fontSize="xs">
|
||||||
©
|
©
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ const Header = (): JSX.Element => {
|
|||||||
cursor: "default"
|
cursor: "default"
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Image height="30px" width="30px" src={appLogo} alt="App Logo" />
|
<Image height="30" width="30" src={appLogo} alt="App Logo" />
|
||||||
|
|
||||||
<Heading as="h1" size="md">
|
<Heading as="h1" size="md">
|
||||||
{appName}
|
{appName}
|
||||||
@@ -150,7 +150,7 @@ const Header = (): JSX.Element => {
|
|||||||
cursor: "default"
|
cursor: "default"
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Image height="30px" width="30px" src={appLogo} alt="App Logo" />
|
<Image height="30" width="30" src={appLogo} alt="App Logo" />
|
||||||
<Heading as="h1" size="md">
|
<Heading as="h1" size="md">
|
||||||
{appName}
|
{appName}
|
||||||
</Heading>
|
</Heading>
|
||||||
|
|||||||
Reference in New Issue
Block a user