diff --git a/package.json b/package.json
index a778276..52a14d2 100644
--- a/package.json
+++ b/package.json
@@ -9,14 +9,21 @@
"lint": "next lint"
},
"dependencies": {
+ "@fontsource/jetbrains-mono": "^4.5.12",
"@types/node": "18.15.3",
"@types/react": "18.0.28",
"@types/react-dom": "18.0.11",
"eslint": "8.36.0",
"eslint-config-next": "13.2.4",
+ "framer-motion": "^10.3.2",
"next": "13.2.4",
"react": "18.2.0",
"react-dom": "18.2.0",
"typescript": "4.9.5"
+ },
+ "devDependencies": {
+ "autoprefixer": "^10.4.14",
+ "postcss": "^8.4.21",
+ "tailwindcss": "^3.2.7"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7b52adc..e0a8d37 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,27 +1,39 @@
lockfileVersion: 5.4
specifiers:
+ '@fontsource/jetbrains-mono': ^4.5.12
'@types/node': 18.15.3
'@types/react': 18.0.28
'@types/react-dom': 18.0.11
+ autoprefixer: ^10.4.14
eslint: 8.36.0
eslint-config-next: 13.2.4
+ framer-motion: ^10.3.2
next: 13.2.4
+ postcss: ^8.4.21
react: 18.2.0
react-dom: 18.2.0
+ tailwindcss: ^3.2.7
typescript: 4.9.5
dependencies:
+ '@fontsource/jetbrains-mono': 4.5.12
'@types/node': 18.15.3
'@types/react': 18.0.28
'@types/react-dom': 18.0.11
eslint: 8.36.0
eslint-config-next: 13.2.4_vgl77cfdswitgr47lm5swmv43m
+ framer-motion: 10.3.2_biqbaboplfbrettd7655fr4n2y
next: 13.2.4_biqbaboplfbrettd7655fr4n2y
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
typescript: 4.9.5
+devDependencies:
+ autoprefixer: 10.4.14_postcss@8.4.21
+ postcss: 8.4.21
+ tailwindcss: 3.2.7_postcss@8.4.21
+
packages:
/@babel/runtime/7.21.0:
@@ -31,6 +43,19 @@ packages:
regenerator-runtime: 0.13.11
dev: false
+ /@emotion/is-prop-valid/0.8.8:
+ resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==}
+ requiresBuild: true
+ dependencies:
+ '@emotion/memoize': 0.7.4
+ dev: false
+ optional: true
+
+ /@emotion/memoize/0.7.4:
+ resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
+ dev: false
+ optional: true
+
/@eslint-community/eslint-utils/4.2.0_eslint@8.36.0:
resolution: {integrity: sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -68,6 +93,10 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: false
+ /@fontsource/jetbrains-mono/4.5.12:
+ resolution: {integrity: sha512-LJF1ala1/u+wXZmESFqIk08FA9yGX4/uAAleCHmXUMgEjvNAYFHUQQ7eK5hQQoBOwh99cU5suTrqYqEkgzwzPA==}
+ dev: false
+
/@humanwhocodes/config-array/0.11.8:
resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
engines: {node: '>=10.10.0'}
@@ -221,12 +250,10 @@ packages:
dependencies:
'@nodelib/fs.stat': 2.0.5
run-parallel: 1.2.0
- dev: false
/@nodelib/fs.stat/2.0.5:
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
- dev: false
/@nodelib/fs.walk/1.2.8:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
@@ -234,7 +261,6 @@ packages:
dependencies:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.15.0
- dev: false
/@pkgr/utils/2.3.1:
resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
@@ -358,6 +384,25 @@ packages:
acorn: 8.8.2
dev: false
+ /acorn-node/1.8.2:
+ resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
+ dependencies:
+ acorn: 7.4.1
+ acorn-walk: 7.2.0
+ xtend: 4.0.2
+ dev: true
+
+ /acorn-walk/7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /acorn/7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
/acorn/8.8.2:
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
engines: {node: '>=0.4.0'}
@@ -385,6 +430,18 @@ packages:
color-convert: 2.0.1
dev: false
+ /anymatch/3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: true
+
+ /arg/5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ dev: true
+
/argparse/2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: false
@@ -452,6 +509,22 @@ packages:
resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
dev: false
+ /autoprefixer/10.4.14_postcss@8.4.21:
+ resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.21.5
+ caniuse-lite: 1.0.30001466
+ fraction.js: 4.2.0
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+ dev: true
+
/available-typed-arrays/1.0.5:
resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
engines: {node: '>= 0.4'}
@@ -472,6 +545,11 @@ packages:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: false
+ /binary-extensions/2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: true
+
/brace-expansion/1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies:
@@ -484,7 +562,17 @@ packages:
engines: {node: '>=8'}
dependencies:
fill-range: 7.0.1
- dev: false
+
+ /browserslist/4.21.5:
+ resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001466
+ electron-to-chromium: 1.4.330
+ node-releases: 2.0.10
+ update-browserslist-db: 1.0.10_browserslist@4.21.5
+ dev: true
/call-bind/1.0.2:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
@@ -498,9 +586,13 @@ packages:
engines: {node: '>=6'}
dev: false
+ /camelcase-css/2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+ dev: true
+
/caniuse-lite/1.0.30001466:
resolution: {integrity: sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==}
- dev: false
/chalk/4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@@ -510,6 +602,21 @@ packages:
supports-color: 7.2.0
dev: false
+ /chokidar/3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
/client-only/0.0.1:
resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
dev: false
@@ -523,7 +630,6 @@ packages:
/color-name/1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: false
/concat-map/0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
@@ -538,6 +644,12 @@ packages:
which: 2.0.2
dev: false
+ /cssesc/3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
/csstype/3.1.1:
resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
dev: false
@@ -608,6 +720,24 @@ packages:
object-keys: 1.1.1
dev: false
+ /defined/1.0.1:
+ resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
+ dev: true
+
+ /detective/5.2.1:
+ resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+ dependencies:
+ acorn-node: 1.8.2
+ defined: 1.0.1
+ minimist: 1.2.8
+ dev: true
+
+ /didyoumean/1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ dev: true
+
/dir-glob/3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
@@ -615,6 +745,10 @@ packages:
path-type: 4.0.0
dev: false
+ /dlv/1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+ dev: true
+
/doctrine/2.1.0:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
@@ -629,6 +763,10 @@ packages:
esutils: 2.0.3
dev: false
+ /electron-to-chromium/1.4.330:
+ resolution: {integrity: sha512-PqyefhybrVdjAJ45HaPLtuVaehiSw7C3ya0aad+rvmV53IVyXmYRk3pwIOb2TxTDTnmgQdn46NjMMaysx79/6Q==}
+ dev: true
+
/emoji-regex/9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
dev: false
@@ -719,6 +857,11 @@ packages:
is-symbol: 1.0.4
dev: false
+ /escalade/3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+ dev: true
+
/escape-string-regexp/4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@@ -1008,7 +1151,6 @@ packages:
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.5
- dev: false
/fast-json-stable-stringify/2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
@@ -1022,7 +1164,6 @@ packages:
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
dependencies:
reusify: 1.0.4
- dev: false
/file-entry-cache/6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
@@ -1036,7 +1177,6 @@ packages:
engines: {node: '>=8'}
dependencies:
to-regex-range: 5.0.1
- dev: false
/find-up/5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
@@ -1064,13 +1204,42 @@ packages:
is-callable: 1.2.7
dev: false
+ /fraction.js/4.2.0:
+ resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
+ dev: true
+
+ /framer-motion/10.3.2_biqbaboplfbrettd7655fr4n2y:
+ resolution: {integrity: sha512-8GrK3X2vXG/9LJCNJuU5gKxDwSN0VTf7tD6MFP3S9F7rgsUavx+8ZNwhfZfak6maCBBHZ1m86K7TIXpbdfML2w==}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ tslib: 2.5.0
+ optionalDependencies:
+ '@emotion/is-prop-valid': 0.8.8
+ dev: false
+
/fs.realpath/1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: false
+ /fsevents/2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/function-bind/1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
- dev: false
/function.prototype.name/1.1.5:
resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
@@ -1111,14 +1280,12 @@ packages:
engines: {node: '>= 6'}
dependencies:
is-glob: 4.0.3
- dev: false
/glob-parent/6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
dependencies:
is-glob: 4.0.3
- dev: false
/glob/7.1.7:
resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
@@ -1238,7 +1405,6 @@ packages:
engines: {node: '>= 0.4.0'}
dependencies:
function-bind: 1.1.1
- dev: false
/ignore/5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
@@ -1300,6 +1466,13 @@ packages:
has-bigints: 1.0.2
dev: false
+ /is-binary-path/2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
/is-boolean-object/1.1.2:
resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
engines: {node: '>= 0.4'}
@@ -1317,7 +1490,6 @@ packages:
resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
dependencies:
has: 1.0.3
- dev: false
/is-date-object/1.0.5:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
@@ -1335,14 +1507,12 @@ packages:
/is-extglob/2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
- dev: false
/is-glob/4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
dependencies:
is-extglob: 2.1.1
- dev: false
/is-map/2.0.2:
resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
@@ -1363,7 +1533,6 @@ packages:
/is-number/7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
- dev: false
/is-path-inside/3.0.3:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
@@ -1501,6 +1670,11 @@ packages:
type-check: 0.4.0
dev: false
+ /lilconfig/2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+ dev: true
+
/locate-path/6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -1529,7 +1703,6 @@ packages:
/merge2/1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- dev: false
/micromatch/4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
@@ -1537,7 +1710,6 @@ packages:
dependencies:
braces: 3.0.2
picomatch: 2.3.1
- dev: false
/minimatch/3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -1547,7 +1719,6 @@ packages:
/minimist/1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- dev: false
/ms/2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@@ -1561,7 +1732,6 @@ packages:
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- dev: false
/natural-compare/1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -1614,11 +1784,30 @@ packages:
- babel-plugin-macros
dev: false
+ /node-releases/2.0.10:
+ resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
+ dev: true
+
+ /normalize-path/3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /normalize-range/0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/object-assign/4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
dev: false
+ /object-hash/3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+ dev: true
+
/object-inspect/1.12.3:
resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
dev: false
@@ -1745,7 +1934,6 @@ packages:
/path-parse/1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- dev: false
/path-type/4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
@@ -1754,12 +1942,76 @@ packages:
/picocolors/1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: false
/picomatch/2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
- dev: false
+
+ /pify/2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /postcss-import/14.1.0_postcss@8.4.21:
+ resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.1
+ dev: true
+
+ /postcss-js/4.0.1_postcss@8.4.21:
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.21
+ dev: true
+
+ /postcss-load-config/3.1.4_postcss@8.4.21:
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 2.1.0
+ postcss: 8.4.21
+ yaml: 1.10.2
+ dev: true
+
+ /postcss-nested/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.21
+ postcss-selector-parser: 6.0.11
+ dev: true
+
+ /postcss-selector-parser/6.0.11:
+ resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /postcss-value-parser/4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: true
/postcss/8.4.14:
resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
@@ -1770,6 +2022,15 @@ packages:
source-map-js: 1.0.2
dev: false
+ /postcss/8.4.21:
+ resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.4
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: true
+
/prelude-ls/1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -1790,7 +2051,11 @@ packages:
/queue-microtask/1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: false
+
+ /quick-lru/5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+ dev: true
/react-dom/18.2.0_react@18.2.0:
resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
@@ -1813,6 +2078,19 @@ packages:
loose-envify: 1.4.0
dev: false
+ /read-cache/1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ dependencies:
+ pify: 2.3.0
+ dev: true
+
+ /readdirp/3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
/regenerator-runtime/0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
dev: false
@@ -1838,7 +2116,6 @@ packages:
is-core-module: 2.11.0
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- dev: false
/resolve/2.0.0-next.4:
resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
@@ -1852,7 +2129,6 @@ packages:
/reusify/1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: false
/rimraf/3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
@@ -1865,7 +2141,6 @@ packages:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
queue-microtask: 1.2.3
- dev: false
/safe-regex-test/1.0.0:
resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
@@ -1927,7 +2202,6 @@ packages:
/source-map-js/1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
- dev: false
/stop-iteration-iterator/1.0.0:
resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
@@ -2018,7 +2292,6 @@ packages:
/supports-preserve-symlinks-flag/1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- dev: false
/synckit/0.8.5:
resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
@@ -2028,6 +2301,40 @@ packages:
tslib: 2.5.0
dev: false
+ /tailwindcss/3.2.7_postcss@8.4.21:
+ resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==}
+ engines: {node: '>=12.13.0'}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ arg: 5.0.2
+ chokidar: 3.5.3
+ color-name: 1.1.4
+ detective: 5.2.1
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.2.12
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ lilconfig: 2.1.0
+ micromatch: 4.0.5
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.0.0
+ postcss: 8.4.21
+ postcss-import: 14.1.0_postcss@8.4.21
+ postcss-js: 4.0.1_postcss@8.4.21
+ postcss-load-config: 3.1.4_postcss@8.4.21
+ postcss-nested: 6.0.0_postcss@8.4.21
+ postcss-selector-parser: 6.0.11
+ postcss-value-parser: 4.2.0
+ quick-lru: 5.1.1
+ resolve: 1.22.1
+ transitivePeerDependencies:
+ - ts-node
+ dev: true
+
/tapable/2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
@@ -2049,7 +2356,6 @@ packages:
engines: {node: '>=8.0'}
dependencies:
is-number: 7.0.0
- dev: false
/tsconfig-paths/3.14.2:
resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
@@ -2113,12 +2419,27 @@ packages:
which-boxed-primitive: 1.0.2
dev: false
+ /update-browserslist-db/1.0.10_browserslist@4.21.5:
+ resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.21.5
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: true
+
/uri-js/4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
punycode: 2.3.0
dev: false
+ /util-deprecate/1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ dev: true
+
/which-boxed-primitive/1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
dependencies:
@@ -2167,10 +2488,20 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: false
+ /xtend/4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+ dev: true
+
/yallist/4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
dev: false
+ /yaml/1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+ dev: true
+
/yocto-queue/0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000..33ad091
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+}
diff --git a/public/blahaj.webp b/public/blahaj.webp
new file mode 100644
index 0000000..a727e5b
Binary files /dev/null and b/public/blahaj.webp differ
diff --git a/public/gitlab.svg b/public/gitlab.svg
new file mode 100644
index 0000000..e53dc9e
--- /dev/null
+++ b/public/gitlab.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icon.png b/public/icon.png
new file mode 100644
index 0000000..76e2262
Binary files /dev/null and b/public/icon.png differ
diff --git a/public/next.svg b/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/picrew.png b/public/picrew.png
new file mode 100644
index 0000000..30456f2
Binary files /dev/null and b/public/picrew.png differ
diff --git a/public/public.asc b/public/public.asc
new file mode 100644
index 0000000..9547278
--- /dev/null
+++ b/public/public.asc
@@ -0,0 +1,157 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+826qgOE=
+=PoyA
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/public/thirteen.svg b/public/thirteen.svg
deleted file mode 100644
index 8977c1b..0000000
--- a/public/thirteen.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/vercel.svg b/public/vercel.svg
deleted file mode 100644
index d2f8422..0000000
--- a/public/vercel.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/app/favicon.ico b/src/app/favicon.ico
deleted file mode 100644
index 718d6fe..0000000
Binary files a/src/app/favicon.ico and /dev/null differ
diff --git a/src/app/globals.css b/src/app/globals.css
index d4f491e..ba2eabd 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -1,107 +1,9 @@
-:root {
- --max-width: 1100px;
- --border-radius: 12px;
- --font-mono: ui-monospace, Menlo, Monaco, 'Cascadia Mono', 'Segoe UI Mono',
- 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro',
- 'Fira Mono', 'Droid Sans Mono', 'Courier New', monospace;
+@import 'node_modules/@fontsource/jetbrains-mono/index.css';
- --foreground-rgb: 0, 0, 0;
- --background-start-rgb: 214, 219, 220;
- --background-end-rgb: 255, 255, 255;
-
- --primary-glow: conic-gradient(
- from 180deg at 50% 50%,
- #16abff33 0deg,
- #0885ff33 55deg,
- #54d6ff33 120deg,
- #0071ff33 160deg,
- transparent 360deg
- );
- --secondary-glow: radial-gradient(
- rgba(255, 255, 255, 1),
- rgba(255, 255, 255, 0)
- );
-
- --tile-start-rgb: 239, 245, 249;
- --tile-end-rgb: 228, 232, 233;
- --tile-border: conic-gradient(
- #00000080,
- #00000040,
- #00000030,
- #00000020,
- #00000010,
- #00000010,
- #00000080
- );
-
- --callout-rgb: 238, 240, 241;
- --callout-border-rgb: 172, 175, 176;
- --card-rgb: 180, 185, 188;
- --card-border-rgb: 131, 134, 135;
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --foreground-rgb: 255, 255, 255;
- --background-start-rgb: 0, 0, 0;
- --background-end-rgb: 0, 0, 0;
-
- --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0));
- --secondary-glow: linear-gradient(
- to bottom right,
- rgba(1, 65, 255, 0),
- rgba(1, 65, 255, 0),
- rgba(1, 65, 255, 0.3)
- );
-
- --tile-start-rgb: 2, 13, 46;
- --tile-end-rgb: 2, 5, 19;
- --tile-border: conic-gradient(
- #ffffff80,
- #ffffff40,
- #ffffff30,
- #ffffff20,
- #ffffff10,
- #ffffff10,
- #ffffff80
- );
-
- --callout-rgb: 20, 20, 20;
- --callout-border-rgb: 108, 108, 108;
- --card-rgb: 100, 100, 100;
- --card-border-rgb: 200, 200, 200;
- }
-}
-
-* {
- box-sizing: border-box;
- padding: 0;
- margin: 0;
-}
-
-html,
-body {
- max-width: 100vw;
- overflow-x: hidden;
-}
-
-body {
- color: rgb(var(--foreground-rgb));
- background: linear-gradient(
- to bottom,
- transparent,
- rgb(var(--background-end-rgb))
- )
- rgb(var(--background-start-rgb));
-}
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
a {
- color: inherit;
- text-decoration: none;
-}
-
-@media (prefers-color-scheme: dark) {
- html {
- color-scheme: dark;
- }
+ @apply underline;
}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 3d9d723..01c456b 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,18 +1,22 @@
-import './globals.css'
+import './globals.css';
export const metadata = {
- title: 'Create Next App',
- description: 'Generated by create next app',
-}
+ title: 'storbies my beloved',
+ authors: { name: 'Nikola Kubiczek' },
+ description: 'my things',
+ colorScheme: 'dark',
+ viewport: 'width=device-width,initial-scale=1.0',
+ icons: ['icon.png'],
+};
export default function RootLayout({
children,
}: {
- children: React.ReactNode
+ children: React.ReactNode;
}) {
return (
-
-
{children}
+
+ {children}
- )
+ );
}
diff --git a/src/app/page.module.css b/src/app/page.module.css
deleted file mode 100644
index 4732b55..0000000
--- a/src/app/page.module.css
+++ /dev/null
@@ -1,271 +0,0 @@
-.main {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- align-items: center;
- padding: 6rem;
- min-height: 100vh;
-}
-
-.description {
- display: inherit;
- justify-content: inherit;
- align-items: inherit;
- font-size: 0.85rem;
- max-width: var(--max-width);
- width: 100%;
- z-index: 2;
- font-family: var(--font-mono);
-}
-
-.description a {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 0.5rem;
-}
-
-.description p {
- position: relative;
- margin: 0;
- padding: 1rem;
- background-color: rgba(var(--callout-rgb), 0.5);
- border: 1px solid rgba(var(--callout-border-rgb), 0.3);
- border-radius: var(--border-radius);
-}
-
-.code {
- font-weight: 700;
- font-family: var(--font-mono);
-}
-
-.grid {
- display: grid;
- grid-template-columns: repeat(3, minmax(33%, auto));
- width: var(--max-width);
- max-width: 100%;
-}
-
-.card {
- padding: 1rem 1.2rem;
- border-radius: var(--border-radius);
- background: rgba(var(--card-rgb), 0);
- border: 1px solid rgba(var(--card-border-rgb), 0);
- transition: background 200ms, border 200ms;
-}
-
-.card span {
- display: inline-block;
- transition: transform 200ms;
-}
-
-.card h2 {
- font-weight: 600;
- margin-bottom: 0.7rem;
-}
-
-.card p {
- margin: 0;
- opacity: 0.6;
- font-size: 0.9rem;
- line-height: 1.5;
- max-width: 34ch;
-}
-
-.center {
- display: flex;
- justify-content: center;
- align-items: center;
- position: relative;
- padding: 4rem 0;
-}
-
-.center::before {
- background: var(--secondary-glow);
- border-radius: 50%;
- width: 480px;
- height: 360px;
- margin-left: -400px;
-}
-
-.center::after {
- background: var(--primary-glow);
- width: 240px;
- height: 180px;
- z-index: -1;
-}
-
-.center::before,
-.center::after {
- content: '';
- left: 50%;
- position: absolute;
- filter: blur(45px);
- transform: translateZ(0);
-}
-
-.logo,
-.thirteen {
- position: relative;
-}
-
-.thirteen {
- display: flex;
- justify-content: center;
- align-items: center;
- width: 75px;
- height: 75px;
- padding: 25px 10px;
- margin-left: 16px;
- transform: translateZ(0);
- border-radius: var(--border-radius);
- overflow: hidden;
- box-shadow: 0px 2px 8px -1px #0000001a;
-}
-
-.thirteen::before,
-.thirteen::after {
- content: '';
- position: absolute;
- z-index: -1;
-}
-
-/* Conic Gradient Animation */
-.thirteen::before {
- animation: 6s rotate linear infinite;
- width: 200%;
- height: 200%;
- background: var(--tile-border);
-}
-
-/* Inner Square */
-.thirteen::after {
- inset: 0;
- padding: 1px;
- border-radius: var(--border-radius);
- background: linear-gradient(
- to bottom right,
- rgba(var(--tile-start-rgb), 1),
- rgba(var(--tile-end-rgb), 1)
- );
- background-clip: content-box;
-}
-
-/* Enable hover only on non-touch devices */
-@media (hover: hover) and (pointer: fine) {
- .card:hover {
- background: rgba(var(--card-rgb), 0.1);
- border: 1px solid rgba(var(--card-border-rgb), 0.15);
- }
-
- .card:hover span {
- transform: translateX(4px);
- }
-}
-
-@media (prefers-reduced-motion) {
- .thirteen::before {
- animation: none;
- }
-
- .card:hover span {
- transform: none;
- }
-}
-
-/* Mobile and Tablet */
-@media (max-width: 1023px) {
- .content {
- padding: 4rem;
- }
-
- .grid {
- grid-template-columns: 1fr;
- margin-bottom: 120px;
- max-width: 320px;
- text-align: center;
- }
-
- .card {
- padding: 1rem 2.5rem;
- }
-
- .card h2 {
- margin-bottom: 0.5rem;
- }
-
- .center {
- padding: 8rem 0 6rem;
- }
-
- .center::before {
- transform: none;
- height: 300px;
- }
-
- .description {
- font-size: 0.8rem;
- }
-
- .description a {
- padding: 1rem;
- }
-
- .description p,
- .description div {
- display: flex;
- justify-content: center;
- position: fixed;
- width: 100%;
- }
-
- .description p {
- align-items: center;
- inset: 0 0 auto;
- padding: 2rem 1rem 1.4rem;
- border-radius: 0;
- border: none;
- border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25);
- background: linear-gradient(
- to bottom,
- rgba(var(--background-start-rgb), 1),
- rgba(var(--callout-rgb), 0.5)
- );
- background-clip: padding-box;
- backdrop-filter: blur(24px);
- }
-
- .description div {
- align-items: flex-end;
- pointer-events: none;
- inset: auto 0 0;
- padding: 2rem;
- height: 200px;
- background: linear-gradient(
- to bottom,
- transparent 0%,
- rgb(var(--background-end-rgb)) 40%
- );
- z-index: 1;
- }
-}
-
-@media (prefers-color-scheme: dark) {
- .vercelLogo {
- filter: invert(1);
- }
-
- .logo,
- .thirteen img {
- filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70);
- }
-}
-
-@keyframes rotate {
- from {
- transform: rotate(360deg);
- }
- to {
- transform: rotate(0deg);
- }
-}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index fca4975..d79cac7 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,91 +1,267 @@
-import Image from 'next/image'
-import { Inter } from 'next/font/google'
-import styles from './page.module.css'
+'use client';
-const inter = Inter({ subsets: ['latin'] })
+import Image from 'next/image';
+import { motion } from 'framer-motion';
+
+import blahaj from '../../public/blahaj.webp';
+import gitlab from '../../public/gitlab.svg';
+import picrew from '../../public/picrew.png';
export default function Home() {
+ const date = new Date();
+ const [day, month, year] = [
+ date.getDate(),
+ date.getMonth(),
+ date.getFullYear(),
+ ];
+
+ const [C, M, Y, K] = [day / 31, month / 12, year / 10000, (year % 100) / 100];
+
+ const R = Math.round(255 * (1 - C) * (1 - K));
+ const G = Math.round(255 * (1 - M) * (1 - K));
+ const B = Math.round(255 * (1 - Y) * (1 - K));
+
+ const RGB = R.toString(16) + G.toString(16) + B.toString(16);
+
+ const items = [
+ {
+ name: 'eParafia',
+ class_: 'hover:border-[#466e83] hover:bg-[#365e70]',
+ link: 'https://eparafia.eu',
+ },
+ {
+ name: 'Podlaski ZBS',
+ class_: 'hover:border-[#7c626c] hover:bg-[#6f6f71]',
+ link: 'https://podlaskizbs.pl',
+ },
+ {
+ name: 'Ikubi',
+ class_: 'hover:border-[#7c626c] hover:bg-[#6f6f71]',
+ link: 'https://ikubi.pl',
+ },
+ {
+ name: 'nyaa',
+ class_: 'hover:border-[#466e83] hover:bg-[#365e70]',
+ git: 'https://gitlab.com/yaemiku/nyaa',
+ desc: `it's a script, dummy!`,
+ },
+ {
+ name: 'Puchar LO V',
+ class_: 'hover:border-[#7f7f84] hover:bg-[#6f6f71]',
+ link: 'https://puchar.lo5.bielsko.pl',
+ git: 'https://gitlab.com/yaemiku/puchar',
+ full: true,
+ },
+ ];
+
return (
-
-
-
- Get started by editing
- src/app/page.tsx
-
+
+
+
+
+
+
-
+ © 2023
+
+
-
-
-
-
- )
+
+ Made with{' '}
+
+ NextJS
+
+ ,{' '}
+
+ Framer Motion
+ {' '}
+ and{' '}
+
+ TailwindCSS
+ {' '}
+
+
+
+ Link to
+
+ picrew
+
+
+
+
+
+ );
}
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 0000000..08450b0
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,12 @@
+module.exports = {
+ content: ['./src/**/*.{js,ts,jsx,tsx}'],
+ darkMode: 'class',
+ theme: {
+ extend: {
+ fontFamily: {
+ jetbrains: ['JetBrains Mono', 'sans-serif'],
+ },
+ },
+ },
+ plugins: [],
+};