Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(workouteditor): add workoutEditor #41

Open
wants to merge 155 commits into
base: beta
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
ac9cd93
fix(deps): update dependency @reduxjs/toolkit to v1.3.5
renovate-bot Apr 19, 2020
1773e54
chore(deps): update jest monorepo to v25.4.0
renovate-bot Apr 19, 2020
aabea1b
chore(deps): update dependency @testing-library/react to v10.0.3
renovate-bot Apr 20, 2020
d8419bf
chore(deps): update dependency lint-staged to v10.1.7
renovate-bot Apr 21, 2020
1dfdb92
chore(deps): update dependency prettier to v2.0.5
renovate-bot Apr 21, 2020
e8efd33
chore(deps): update dependency next-optimized-images to v2.6.0
renovate-bot Apr 24, 2020
f90ec68
fix(deps): update dependency next to v9.3.6 (#14)
renovate[bot] May 2, 2020
5deeab3
chore(deps): update dependency @testing-library/react to v10.0.4 (#18)
renovate[bot] May 2, 2020
1568922
chore(deps): update dependency next-offline to v5.0.2 (#17)
renovate[bot] May 2, 2020
5af82b0
chore(deps): update dependency lint-staged to v10.2.2 (#15)
renovate[bot] May 2, 2020
737fd1b
chore(deps): update jest monorepo (#16)
renovate[bot] May 2, 2020
b3e5fb7
chore(deps): update jest monorepo to v26
renovate-bot May 4, 2020
3ce62a1
chore(deps): update jest monorepo to v26.0.1
renovate-bot May 5, 2020
df532d4
chore(deps): update dependency ts-jest to v25.5.0
renovate-bot May 6, 2020
edf4430
chore(deps): update dependency eslint to v7
renovate-bot May 8, 2020
2d6f865
chore(deps): update dependency ts-jest to v25.5.1
renovate-bot May 9, 2020
1ff71f2
fix(deps): update dependency @reduxjs/toolkit to v1.3.6
renovate-bot May 9, 2020
4ca4498
chore(deps): update dependency @types/react to v16.9.35
renovate-bot May 11, 2020
eb115ee
fix(deps): update dependency next to v9.4.0
renovate-bot May 11, 2020
27e54cc
chore(deps): update dependency typescript to v3.9.2
renovate-bot May 12, 2020
22e06ef
chore(deps): update dependency @types/jest to v25.2.2
renovate-bot May 13, 2020
ed04902
chore(deps): update dependency ts-jest to v26
renovate-bot May 15, 2020
4d99101
fix(deps): update dependency next to v9.4.1
renovate-bot May 16, 2020
980b92d
chore(deps): update dependency sharp to v0.25.3
renovate-bot May 17, 2020
69ba3ab
fix(deps): update dependency next-seo to v4.5.0
renovate-bot May 17, 2020
5a483b9
chore(deps): update dependency lint-staged to v10.2.3
renovate-bot May 18, 2020
386645f
chore(deps): update dependency lint-staged to v10.2.4
renovate-bot May 18, 2020
e4e7c89
chore(deps): update dependency @types/jest to v25.2.3
renovate-bot May 18, 2020
a25d445
chore(deps): update dependency typescript to v3.9.3
renovate-bot May 20, 2020
f492c35
fix(deps): update dependency next to v9.4.2
renovate-bot May 20, 2020
cce6470
chore(deps): update dependency lint-staged to v10.2.6
renovate-bot May 22, 2020
63dc52b
chore(deps): update dependency eslint to v7.1.0
renovate-bot May 23, 2020
0ddb83f
feat(workouteditor): add workoutEditor
danielkov May 23, 2020
553e18c
chore(deps): update dependency imagemin-optipng to v8
renovate-bot May 24, 2020
dfd7c2f
fix(deps): update dependency next to v9.4.4
renovate-bot May 28, 2020
5bda2b6
chore(deps): update dependency lint-staged to v10.2.7
renovate-bot May 29, 2020
475f3f7
chore(deps): update dependency imagemin-mozjpeg to v9
renovate-bot May 29, 2020
665d3da
chore(deps): update dependency ts-jest to v26.1.0
renovate-bot May 30, 2020
4c31343
chore(deps): update dependency next-optimized-images to v2.6.1
renovate-bot May 31, 2020
283f15a
chore(deps): update dependency @testing-library/react to v10.0.5
renovate-bot Jun 1, 2020
3b47aa7
chore(deps): update dependency @testing-library/react to v10.0.6
renovate-bot Jun 2, 2020
0a6e35e
chore(deps): update dependency lint-staged to v10.2.8
renovate-bot Jun 3, 2020
6fda9d9
chore(deps): update dependency @testing-library/react to v10.1.0
renovate-bot Jun 4, 2020
ed91667
chore(deps): update dependency lint-staged to v10.2.9
renovate-bot Jun 4, 2020
0535d17
chore(deps): update dependency @testing-library/react to v10.2.0
renovate-bot Jun 4, 2020
ac355d1
chore(deps): update dependency typescript to v3.9.5
renovate-bot Jun 4, 2020
9fbdf0e
chore(deps): update dependency @testing-library/react to v10.2.1
renovate-bot Jun 5, 2020
c550783
chore(deps): update dependency eslint to v7.2.0
renovate-bot Jun 6, 2020
b661e86
chore(deps): update dependency @types/jest to v26
renovate-bot Jun 9, 2020
594728f
chore(deps): update dependency @types/react to v16.9.36
renovate-bot Jun 10, 2020
8261084
chore(deps): update dependency lint-staged to v10.2.10
renovate-bot Jun 12, 2020
2ae30f2
chore(deps): update dependency sharp to v0.25.4
renovate-bot Jun 12, 2020
2240279
chore(deps): update dependency @types/react to v16.9.37
renovate-bot Jun 17, 2020
2056903
chore(deps): update dependency lint-staged to v10.2.11
renovate-bot Jun 17, 2020
f145e53
chore(deps): update dependency @types/react to v16.9.38
renovate-bot Jun 17, 2020
4a9cf5f
chore(deps): update dependency @testing-library/react to v10.3.0
renovate-bot Jun 18, 2020
8edcefa
chore(deps): update dependency eslint to v7.3.0
renovate-bot Jun 19, 2020
4e0e046
chore(deps): update commitlint monorepo to v9
renovate-bot Jun 21, 2020
59e3f8c
chore(deps): update dependency eslint-config-airbnb-typescript-pretti…
renovate-bot Jun 21, 2020
ebcc4f6
fix(deps): update dependency @reduxjs/toolkit to v1.4.0
renovate-bot Jun 22, 2020
bc8d66c
chore(deps): update dependency ts-jest to v26.1.1
renovate-bot Jun 22, 2020
058ba4b
chore(deps): update dependency eslint-config-airbnb-typescript-pretti…
renovate-bot Jun 22, 2020
45fe711
chore(deps): update dependency eslint to v7.3.1
renovate-bot Jun 23, 2020
624465f
chore(deps): update jest monorepo to v26.1.0
renovate-bot Jun 23, 2020
4bce9db
chore(deps): update dependency @testing-library/react to v10.4.0
renovate-bot Jun 23, 2020
3f36d98
chore(deps): update dependency @testing-library/react to v10.4.1
renovate-bot Jun 23, 2020
81916fd
chore(deps): update dependency @types/react to v16.9.39
renovate-bot Jun 24, 2020
9c9b57b
chore(deps): update dependency @types/react to v16.9.40
renovate-bot Jun 24, 2020
8e4552c
chore(deps): update dependency @types/jest to v26.0.2
renovate-bot Jun 24, 2020
554f974
chore(deps): update dependency @types/react to v16.9.41
renovate-bot Jun 24, 2020
97879e5
chore(deps): update dependency @types/jest to v26.0.3
renovate-bot Jun 24, 2020
25ed797
chore(deps): update dependency @testing-library/react to v10.4.2
renovate-bot Jun 24, 2020
4f1f8d3
chore(deps): update dependency @testing-library/react to v10.4.3
renovate-bot Jun 25, 2020
3ba08e2
fix(deps): update dependency next-seo to v4.6.0
renovate-bot Jun 25, 2020
2f57821
fix(deps): update dependency next-seo to v4.7.0
renovate-bot Jun 29, 2020
b562b4b
fix(deps): update dependency next-seo to v4.7.1
renovate-bot Jun 30, 2020
015871e
chore(deps): update dependency typescript to v3.9.6
renovate-bot Jul 1, 2020
49b2132
chore(deps): update dependency eslint to v7.4.0
renovate-bot Jul 3, 2020
35267e5
chore(deps): update dependency @testing-library/react to v10.4.4
renovate-bot Jul 5, 2020
412b15f
chore(deps): update dependency @types/jest to v26.0.4
renovate-bot Jul 6, 2020
19cf096
chore(deps): update dependency @testing-library/react to v10.4.5
renovate-bot Jul 8, 2020
47a7583
fix(deps): update dependency next-seo to v4.7.2
renovate-bot Jul 9, 2020
d9e29c8
chore(deps): update dependency @types/react to v16.9.42
renovate-bot Jul 10, 2020
03aaf4d
chore(deps): update dependency @types/react to v16.9.43
renovate-bot Jul 11, 2020
21f9c99
chore(deps): update commitlint monorepo to v9.1.1
renovate-bot Jul 13, 2020
fb01411
chore(deps): update dependency ts-jest to v26.1.2
renovate-bot Jul 13, 2020
86ae4e4
chore(deps): update dependency @testing-library/react to v10.4.6
renovate-bot Jul 13, 2020
823fb6b
fix(deps): update dependency next-seo to v4.7.3
renovate-bot Jul 13, 2020
0a885f6
chore(deps): update dependency @testing-library/react to v10.4.7
renovate-bot Jul 15, 2020
9e37b6d
chore(deps): update dependency typescript to v3.9.7
renovate-bot Jul 16, 2020
2f3d1fa
chore(deps): update dependency ts-jest to v26.1.3
renovate-bot Jul 17, 2020
1a90b33
chore(deps): update dependency @types/jest to v26.0.5
renovate-bot Jul 18, 2020
95550f8
chore(deps): update dependency eslint to v7.5.0
renovate-bot Jul 18, 2020
ead51f8
chore(deps): update dependency @types/jest to v26.0.6
renovate-bot Jul 23, 2020
7a7a360
chore(deps): update dependency @types/jest to v26.0.7
renovate-bot Jul 24, 2020
35f7cf2
fix(deps): update dependency react-redux to v7.2.1
renovate-bot Jul 25, 2020
c5ca51c
fix(deps): update dependency next to v9.5.0
renovate-bot Jul 27, 2020
a8e3f55
chore(deps): update dependency ts-jest to v26.1.4
renovate-bot Jul 28, 2020
d207961
chore(deps): update dependency next-optimized-images to v2.6.2
renovate-bot Jul 28, 2020
082a0de
chore(deps): update dependency responsive-loader to v2
renovate-bot Jul 29, 2020
590a30d
fix(deps): update dependency next to v9.5.1
renovate-bot Jul 30, 2020
4c1b26d
chore(deps): update jest monorepo to v26.2.1
renovate-bot Jul 30, 2020
b977289
chore(deps): update dependency @types/jest to v26.0.8
renovate-bot Jul 31, 2020
493681b
chore(deps): update jest monorepo to v26.2.2
renovate-bot Jul 31, 2020
10ec447
chore(deps): update dependency @types/react to v16.9.44
renovate-bot Jul 31, 2020
1ba7884
chore(deps): update dependency eslint to v7.6.0
renovate-bot Jul 31, 2020
22b95ef
chore(deps): update dependency @testing-library/react to v10.4.8
renovate-bot Aug 5, 2020
842cbc2
chore(deps): update dependency @types/jest to v26.0.9
renovate-bot Aug 6, 2020
d70d206
chore(deps): update dependency @types/react to v16.9.45
renovate-bot Aug 8, 2020
3e54fc8
chore(deps): update jest monorepo to v26.3.0
renovate-bot Aug 10, 2020
cc66fb2
chore(deps): update dependency @types/react to v16.9.46
renovate-bot Aug 10, 2020
39e9010
fix(deps): update dependency next to v9.5.2
renovate-bot Aug 10, 2020
a9d8f6e
chore(deps): update dependency ts-jest to v26.2.0
renovate-bot Aug 11, 2020
08c8271
chore(deps): update dependency jest to v26.4.0
renovate-bot Aug 12, 2020
dfc86f3
chore(deps): update dependency eslint to v7.7.0
renovate-bot Aug 14, 2020
1927cfb
chore(deps): update dependency @types/jest to v26.0.10
renovate-bot Aug 14, 2020
3756b2f
chore(deps): update commitlint monorepo to v9.1.2
renovate-bot Aug 16, 2020
d945a19
chore(deps): update dependency jest to v26.4.1
renovate-bot Aug 20, 2020
b3ca50a
chore(deps): update dependency typescript to v4
renovate-bot Aug 20, 2020
f6ea5d9
chore(deps): update dependency @testing-library/react to v10.4.9
renovate-bot Aug 21, 2020
d0faccf
chore(deps): update dependency jest to v26.4.2
renovate-bot Aug 22, 2020
87bb2a2
chore(deps): update dependency prettier to v2.1.0
renovate-bot Aug 24, 2020
54a4bbe
chore(deps): update dependency @types/react to v16.9.47
renovate-bot Aug 25, 2020
ae0b146
chore(deps): update dependency lint-staged to v10.2.12
renovate-bot Aug 25, 2020
c2fc600
chore(deps): update dependency lint-staged to v10.2.13
renovate-bot Aug 25, 2020
5570054
chore(deps): update dependency sharp to v0.26.0
renovate-bot Aug 25, 2020
9a7512b
chore(deps): update dependency prettier to v2.1.1
renovate-bot Aug 26, 2020
ff9dcda
chore(deps): update dependency ts-jest to v26.3.0
renovate-bot Aug 26, 2020
a2659af
chore(deps): update dependency @types/react to v16.9.48
renovate-bot Aug 26, 2020
a45df9f
chore(deps): update dependency file-loader to v6.1.0
renovate-bot Aug 31, 2020
43dff16
chore(deps): update dependency @types/react to v16.9.49
renovate-bot Aug 31, 2020
f6f2e0d
chore(deps): update dependency @types/jest to v26.0.12
renovate-bot Aug 31, 2020
45f912d
chore(deps): update dependency eslint to v7.8.0
renovate-bot Aug 31, 2020
7d823a1
chore(deps): update dependency eslint to v7.8.1
renovate-bot Sep 1, 2020
33c3be0
fix(deps): update dependency next to v9.5.3
renovate-bot Sep 1, 2020
1dd99d1
chore(deps): update dependency @types/jest to v26.0.13
renovate-bot Sep 2, 2020
c7a1c5b
chore(deps): update dependency @testing-library/react to v11
renovate-bot Sep 2, 2020
1de8afe
chore(deps): update dependency @testing-library/react to v11.0.1
renovate-bot Sep 3, 2020
21743e6
chore(deps): update dependency lint-staged to v10.3.0
renovate-bot Sep 3, 2020
ef11eb3
chore(deps): update dependency @testing-library/react to v11.0.2
renovate-bot Sep 3, 2020
a977135
chore(deps): update dependency husky to v4.3.0
renovate-bot Sep 7, 2020
aeba7a0
chore(deps): update dependency eslint to v7.9.0
renovate-bot Sep 12, 2020
475d842
chore(deps): update commitlint monorepo to v11
renovate-bot Sep 13, 2020
b4d35ef
chore(deps): update dependency @testing-library/react to v11.0.3
renovate-bot Sep 13, 2020
885b8fb
chore(deps): update dependency @testing-library/react to v11.0.4
renovate-bot Sep 13, 2020
f52db85
chore(deps): update dependency prettier to v2.1.2
renovate-bot Sep 16, 2020
3ea52ec
chore(deps): update dependency lint-staged to v10.4.0
renovate-bot Sep 16, 2020
bae9ed7
chore(deps): update dependency @types/jest to v26.0.14
renovate-bot Sep 16, 2020
d50b0b4
chore(deps): update dependency typescript to v4.0.3
renovate-bot Sep 18, 2020
316bb4e
chore(deps): update dependency sharp to v0.26.1
renovate-bot Sep 20, 2020
96508d1
chore(deps): update dependency ts-jest to v26.4.0
renovate-bot Sep 20, 2020
6bb1567
fix(deps): update dependency next-seo to v4.9.0
renovate-bot Sep 24, 2020
3a6ef05
fix(deps): update dependency next-seo to v4.10.0
renovate-bot Sep 25, 2020
12d590f
feat: add editor modal flow
danielkov Sep 26, 2020
e15af5c
Merge branch 'master' into workout-editor
danielkov Sep 26, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
],
"rules": {
// NextJS provides its own global reference to React
"react/react-in-jsx-scope": "off"
"react/react-in-jsx-scope": "off",
"no-param-reassign": "off"
}
}
115 changes: 115 additions & 0 deletions config/next-css.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

const fileExtensions = new Set();
let extractCssInitialized = false;

const cssLoaderConfig = (
config,
{
extensions = [],
cssModules = false,
cssLoaderOptions = {},
dev,
isServer,
loaders = [],
}
) => {
// We have to keep a list of extensions for the splitchunk config
for (const extension of extensions) {
fileExtensions.add(extension);
}

if (!isServer) {
config.optimization.splitChunks.cacheGroups.styles = {
name: "styles",
test: new RegExp(`\\.+(${[...fileExtensions].join("|")})$`),
chunks: "all",
enforce: true,
};
}

if (!isServer && !extractCssInitialized) {
config.plugins.push(
new MiniCssExtractPlugin({
// Options similar to the same options in webpackOptions.output
// both options are optional
filename: dev
? "static/css/[name].css"
: "static/css/[name].[contenthash:8].css",
chunkFilename: dev
? "static/css/[name].chunk.css"
: "static/css/[name].[contenthash:8].chunk.css",
})
);
extractCssInitialized = true;
}

const cssLoader = {
loader: "css-loader",
options: Object.assign(
{},
{
modules: cssModules,
sourceMap: dev,
importLoaders: loaders.length,
onlyLocals: isServer,
},
cssLoaderOptions
),
};

// When on the server and using css modules we transpile the css
if (isServer && cssLoader.options.modules) {
return [cssLoader, ...loaders].filter(Boolean);
}

return [
!isServer && dev && "extracted-loader",
!isServer && MiniCssExtractPlugin.loader,
cssLoader,
...loaders,
].filter(Boolean);
};

module.exports = (nextConfig = {}) => {
return Object.assign({}, nextConfig, {
webpack(config, options) {
if (!options.defaultLoaders) {
throw new Error(
"This plugin is not compatible with Next.js versions below 5.0.0 https://err.sh/next-plugins/upgrade"
);
}

const { dev, isServer } = options;
const { cssModules, cssLoaderOptions } = nextConfig;

options.defaultLoaders.css = cssLoaderConfig(config, {
extensions: ["css"],
cssModules,
cssLoaderOptions,
dev,
isServer,
});

const linariaLoader = {
loader: "linaria/loader",
options: {
sourceMap: process.env.NODE_ENV !== "production",
},
};

config.module.rules.push({ test: /\.(t)?sx$/, use: linariaLoader });

config.module.rules.push({
test: /\.css$/,
use: options.defaultLoaders.css,
});

if (typeof nextConfig.webpack === "function") {
return nextConfig.webpack(config, options);
}

return config;
},
});
};
14 changes: 3 additions & 11 deletions next.config.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
const withCSS = require("@zeit/next-css");
const withCSS = require("./config/next-css");
const withOffline = require("next-offline");
const withPlugins = require("next-compose-plugins");
const optimizedImages = require("next-optimized-images");
const bundleAnalyzer = require("@next/bundle-analyzer");

module.exports = withPlugins([
[
withCSS,
{
webpack(config, { isServer }) {
config.module.rules[0].use = [
config.module.rules[0].use,
{
loader: "linaria/loader",
options: {
sourceMap: process.env.NODE_ENV !== "production",
},
},
];

const testPattern = /\.(woff|woff2|eot|ttf|otf)$/;

config.module.rules.push({
Expand Down Expand Up @@ -69,4 +60,5 @@ module.exports = withPlugins([
},
],
[optimizedImages, { optimizeImagesInDev: true }],
[bundleAnalyzer],
]);
64 changes: 38 additions & 26 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,56 @@
"test": "jest"
},
"dependencies": {
"@reduxjs/toolkit": "1.3.4",
"@reduxjs/toolkit": "1.4.0",
"linaria": "1.3.3",
"next": "9.3.5",
"next-seo": "4.4.0",
"nanoid": "3.1.7",
"next": "9.5.3",
"next-seo": "4.10.0",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-redux": "7.2.0",
"react-redux": "7.2.1",
"react-spring": "8.0.27",
"react-use-gesture": "7.0.15",
"redux": "4.0.5",
"redux-logger": "3.0.6",
"redux-saga": "1.1.3",
"typeface-nunito": "1.1.3",
"typeface-poppins": "0.0.72"
},
"devDependencies": {
"@commitlint/cli": "8.3.5",
"@commitlint/config-conventional": "8.3.4",
"@testing-library/react": "10.0.2",
"@types/jest": "25.2.1",
"@types/node": "12.12.2",
"@types/react": "16.9.34",
"@commitlint/cli": "11.0.0",
"@commitlint/config-conventional": "11.0.0",
"@next/bundle-analyzer": "9.4.1",
"@testing-library/react": "11.0.4",
"@types/jest": "26.0.14",
"@types/node": "14.0.1",
"@types/react": "16.9.49",
"@types/react-redux": "7.1.8",
"@types/redux-logger": "3.0.7",
"@zeit/next-css": "1.0.1",
"babel-jest": "25.3.0",
"eslint": "6.8.0",
"eslint-config-airbnb-typescript-prettier": "2.1.1",
"file-loader": "6.0.0",
"husky": "4.2.5",
"babel-jest": "26.3.0",
"css-loader": "3.5.3",
"csstype": "2.6.10",
"eslint": "7.9.0",
"eslint-config-airbnb-typescript-prettier": "3.1.0",
"extracted-loader": "1.0.7",
"file-loader": "6.1.0",
"husky": "4.3.0",
"ignore-loader": "0.1.2",
"image-trace-loader": "1.0.2",
"imagemin-mozjpeg": "8.0.0",
"imagemin-optipng": "7.1.0",
"jest": "25.3.0",
"lint-staged": "10.1.6",
"imagemin-mozjpeg": "9.0.0",
"imagemin-optipng": "8.0.0",
"jest": "26.4.2",
"lint-staged": "10.4.0",
"mini-css-extract-plugin": "0.9.0",
"next-compose-plugins": "2.2.0",
"next-offline": "5.0.1",
"next-optimized-images": "2.5.8",
"prettier": "2.0.4",
"responsive-loader": "1.2.0",
"sharp": "0.25.2",
"ts-jest": "25.4.0",
"typescript": "3.8.3",
"next-offline": "5.0.2",
"next-optimized-images": "2.6.2",
"prettier": "2.1.2",
"responsive-loader": "2.0.0",
"sharp": "0.26.1",
"ts-jest": "26.4.0",
"typescript": "4.0.3",
"url-loader": "4.1.0",
"webp-loader": "0.6.0"
},
Expand Down
27 changes: 27 additions & 0 deletions src/components/Box.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { styled } from "linaria/react";
// eslint-disable-next-line import/no-unresolved
import * as CSS from "csstype";

type BoxProps = {
width?: number | string;
height?: number | string;
direction?: CSS.FlexDirectionProperty;
align?: CSS.AlignItemsProperty;
justify?: CSS.JustifyContentProperty;
padding?: CSS.PaddingProperty<number>;
};

const applyUnits = (value: string | number): string =>
typeof value === "number" ? `${value}rem` : value;

const Box = styled.div`
display: flex;
flex-direction: ${({ direction = "column" }: BoxProps) => direction};
align-items: ${({ align = "flex-start" }: BoxProps) => align};
justify-content: ${({ justify = "flex-start" }: BoxProps) => justify};
width: ${({ width }: BoxProps) => (width ? applyUnits(width) : "100%")};
height: ${({ height }: BoxProps) => (height ? applyUnits(height) : "auto")};
padding: ${({ padding }: BoxProps) => (padding ? applyUnits(padding) : 0)};
`;

export default Box;
25 changes: 25 additions & 0 deletions src/components/Modal.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { styled } from "linaria/react";
import { animated } from "react-spring";

const Modal = styled(animated.section)`
background-color: rgba(25, 25, 25, 0.8);
backdrop-filter: blur(5px);
display: flex;
flex-direction: column;
align-items: center;
padding: 2rem;
padding-top: 3rem;
position: relative;

::before {
content: "";
width: 8rem;
height: 0.2rem;
background-color: rgba(255, 255, 255, 0.8);
position: absolute;
top: 2rem;
border-radius: 2rem;
}
`;

export default Modal;
27 changes: 27 additions & 0 deletions src/components/Overlay.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { MouseEvent } from "react";
import { styled } from "linaria/react";

type OverlayProps = {
align?: "top" | "center" | "bottom";
onClick?: (event: MouseEvent<HTMLDivElement>) => void;
};

const Overlay = styled.div`
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: ${({ align = "top" }: OverlayProps) =>
({ top: "flex-start", center: "center", bottom: "flex-end" }[align])};

pointer-events: ${({ onClick }) =>
typeof onClick === "function" ? "initial" : "none"};
> * {
pointer-events: initial;
}
`;

export default Overlay;
Loading