Compare commits
5 Commits
b701dbe30d
...
fontstuff
| Author | SHA1 | Date | |
|---|---|---|---|
| 87cd5beaac | |||
| 2587880a1f | |||
| 7f63454701 | |||
| 2d2c2db261 | |||
| d9508cc196 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
node_modules
|
node_modules
|
||||||
|
.next
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"polyfillFiles": [
|
|
||||||
"static/chunks/polyfills.js"
|
|
||||||
],
|
|
||||||
"devFiles": [
|
|
||||||
"static/chunks/react-refresh.js"
|
|
||||||
],
|
|
||||||
"ampDevFiles": [],
|
|
||||||
"lowPriorityFiles": [
|
|
||||||
"static/development/_buildManifest.js",
|
|
||||||
"static/development/_ssgManifest.js"
|
|
||||||
],
|
|
||||||
"rootMainFiles": [],
|
|
||||||
"pages": {
|
|
||||||
"/": [
|
|
||||||
"static/chunks/webpack.js",
|
|
||||||
"static/chunks/main.js",
|
|
||||||
"static/chunks/pages/index.js"
|
|
||||||
],
|
|
||||||
"/_app": [
|
|
||||||
"static/chunks/webpack.js",
|
|
||||||
"static/chunks/main.js",
|
|
||||||
"static/chunks/pages/_app.js"
|
|
||||||
],
|
|
||||||
"/_error": [
|
|
||||||
"static/chunks/webpack.js",
|
|
||||||
"static/chunks/main.js",
|
|
||||||
"static/chunks/pages/_error.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ampFirstPages": []
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
BIN
.next/cache/webpack/client-development/0.pack.gz
vendored
BIN
.next/cache/webpack/client-development/0.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/1.pack.gz
vendored
BIN
.next/cache/webpack/client-development/1.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/10.pack.gz
vendored
BIN
.next/cache/webpack/client-development/10.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/11.pack.gz
vendored
BIN
.next/cache/webpack/client-development/11.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/12.pack.gz
vendored
BIN
.next/cache/webpack/client-development/12.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/13.pack.gz
vendored
BIN
.next/cache/webpack/client-development/13.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/14.pack.gz
vendored
BIN
.next/cache/webpack/client-development/14.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/15.pack.gz
vendored
BIN
.next/cache/webpack/client-development/15.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/16.pack.gz
vendored
BIN
.next/cache/webpack/client-development/16.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/17.pack.gz
vendored
BIN
.next/cache/webpack/client-development/17.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/2.pack.gz
vendored
BIN
.next/cache/webpack/client-development/2.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/3.pack.gz
vendored
BIN
.next/cache/webpack/client-development/3.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/4.pack.gz
vendored
BIN
.next/cache/webpack/client-development/4.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/5.pack.gz
vendored
BIN
.next/cache/webpack/client-development/5.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/6.pack.gz
vendored
BIN
.next/cache/webpack/client-development/6.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/7.pack.gz
vendored
BIN
.next/cache/webpack/client-development/7.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/8.pack.gz
vendored
BIN
.next/cache/webpack/client-development/8.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/9.pack.gz
vendored
BIN
.next/cache/webpack/client-development/9.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/index.pack.gz
vendored
BIN
.next/cache/webpack/client-development/index.pack.gz
vendored
Binary file not shown.
Binary file not shown.
BIN
.next/cache/webpack/server-development/0.pack.gz
vendored
BIN
.next/cache/webpack/server-development/0.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/1.pack.gz
vendored
BIN
.next/cache/webpack/server-development/1.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/10.pack.gz
vendored
BIN
.next/cache/webpack/server-development/10.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/11.pack.gz
vendored
BIN
.next/cache/webpack/server-development/11.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/12.pack.gz
vendored
BIN
.next/cache/webpack/server-development/12.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/13.pack.gz
vendored
BIN
.next/cache/webpack/server-development/13.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/14.pack.gz
vendored
BIN
.next/cache/webpack/server-development/14.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/15.pack.gz
vendored
BIN
.next/cache/webpack/server-development/15.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/16.pack.gz
vendored
BIN
.next/cache/webpack/server-development/16.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/17.pack.gz
vendored
BIN
.next/cache/webpack/server-development/17.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/18.pack.gz
vendored
BIN
.next/cache/webpack/server-development/18.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/19.pack.gz
vendored
BIN
.next/cache/webpack/server-development/19.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/2.pack.gz
vendored
BIN
.next/cache/webpack/server-development/2.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/20.pack.gz
vendored
BIN
.next/cache/webpack/server-development/20.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/3.pack.gz
vendored
BIN
.next/cache/webpack/server-development/3.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/4.pack.gz
vendored
BIN
.next/cache/webpack/server-development/4.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/5.pack.gz
vendored
BIN
.next/cache/webpack/server-development/5.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/6.pack.gz
vendored
BIN
.next/cache/webpack/server-development/6.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/7.pack.gz
vendored
BIN
.next/cache/webpack/server-development/7.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/8.pack.gz
vendored
BIN
.next/cache/webpack/server-development/8.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/9.pack.gz
vendored
BIN
.next/cache/webpack/server-development/9.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/index.pack.gz
vendored
BIN
.next/cache/webpack/server-development/index.pack.gz
vendored
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"type": "commonjs"}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{}
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST="[]"
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
self.__BUILD_MANIFEST = {
|
|
||||||
"polyfillFiles": [
|
|
||||||
"static/chunks/polyfills.js"
|
|
||||||
],
|
|
||||||
"devFiles": [
|
|
||||||
"static/chunks/react-refresh.js"
|
|
||||||
],
|
|
||||||
"ampDevFiles": [],
|
|
||||||
"lowPriorityFiles": [],
|
|
||||||
"rootMainFiles": [],
|
|
||||||
"pages": {
|
|
||||||
"/": [
|
|
||||||
"static/chunks/webpack.js",
|
|
||||||
"static/chunks/main.js",
|
|
||||||
"static/chunks/pages/index.js"
|
|
||||||
],
|
|
||||||
"/_app": [
|
|
||||||
"static/chunks/webpack.js",
|
|
||||||
"static/chunks/main.js",
|
|
||||||
"static/chunks/pages/_app.js"
|
|
||||||
],
|
|
||||||
"/_error": [
|
|
||||||
"static/chunks/webpack.js",
|
|
||||||
"static/chunks/main.js",
|
|
||||||
"static/chunks/pages/_error.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ampFirstPages": []
|
|
||||||
};
|
|
||||||
self.__BUILD_MANIFEST.lowPriorityFiles = [
|
|
||||||
"/static/" + process.env.__NEXT_BUILD_ID + "/_buildManifest.js",
|
|
||||||
,"/static/" + process.env.__NEXT_BUILD_ID + "/_ssgManifest.js",
|
|
||||||
|
|
||||||
];
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"middleware": {},
|
|
||||||
"functions": {},
|
|
||||||
"sortedMiddleware": []
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
self.__REACT_LOADABLE_MANIFEST="{}"
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
self.__NEXT_FONT_MANIFEST="{\"pages\":{},\"app\":{},\"appUsingSizeAdjust\":false,\"pagesUsingSizeAdjust\":false}"
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"/_document": "pages/_document.js",
|
|
||||||
"/_app": "pages/_app.js",
|
|
||||||
"/_error": "pages/_error.js",
|
|
||||||
"/": "pages/index.js"
|
|
||||||
}
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,35 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
/*
|
|
||||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
exports.id = "vendor-chunks/@swc";
|
|
||||||
exports.ids = ["vendor-chunks/@swc"];
|
|
||||||
exports.modules = {
|
|
||||||
|
|
||||||
/***/ "./node_modules/@swc/helpers/cjs/_interop_require_default.cjs":
|
|
||||||
/*!********************************************************************!*\
|
|
||||||
!*** ./node_modules/@swc/helpers/cjs/_interop_require_default.cjs ***!
|
|
||||||
\********************************************************************/
|
|
||||||
/***/ ((__unused_webpack_module, exports) => {
|
|
||||||
|
|
||||||
eval("\n\nexports._ = exports._interop_require_default = _interop_require_default;\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuY2pzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLFNBQVMsR0FBRyxnQ0FBZ0M7QUFDNUM7QUFDQSwyQ0FBMkM7QUFDM0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mYW5jeXRleHQtZ2VuZXJhdG9yLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9janMvX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0LmNqcz8zYmQ2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl8gPSBleHBvcnRzLl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdDtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\n");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs":
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
/***/ ((__unused_webpack_module, exports) => {
|
|
||||||
|
|
||||||
eval("\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nexports._ = exports._interop_require_wildcard = _interop_require_wildcard;\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2Nqcy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmNqcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLFNBQVMsR0FBRyxpQ0FBaUM7QUFDN0M7QUFDQTtBQUNBLHVGQUF1Rjs7QUFFdkY7O0FBRUE7O0FBRUEsbUJBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mYW5jeXRleHQtZ2VuZXJhdG9yLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9janMvX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5janM/Nzc5NyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuXG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5leHBvcnRzLl8gPSBleHBvcnRzLl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkO1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHJldHVybiBvYmo7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07XG5cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuXG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG5cbiAgICB2YXIgbmV3T2JqID0geyBfX3Byb3RvX186IG51bGwgfTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAgIGlmIChrZXkgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgIHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGRlc2MgJiYgKGRlc2MuZ2V0IHx8IGRlc2Muc2V0KSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIGVsc2UgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuXG4gICAgaWYgKGNhY2hlKSBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuXG4gICAgcmV0dXJuIG5ld09iajtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\n");
|
|
||||||
|
|
||||||
/***/ })
|
|
||||||
|
|
||||||
};
|
|
||||||
;
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,237 +0,0 @@
|
|||||||
/*
|
|
||||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
/******/ (() => { // webpackBootstrap
|
|
||||||
/******/ "use strict";
|
|
||||||
/******/ var __webpack_modules__ = ({});
|
|
||||||
/************************************************************************/
|
|
||||||
/******/ // The module cache
|
|
||||||
/******/ var __webpack_module_cache__ = {};
|
|
||||||
/******/
|
|
||||||
/******/ // The require function
|
|
||||||
/******/ function __webpack_require__(moduleId) {
|
|
||||||
/******/ // Check if module is in cache
|
|
||||||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
||||||
/******/ if (cachedModule !== undefined) {
|
|
||||||
/******/ return cachedModule.exports;
|
|
||||||
/******/ }
|
|
||||||
/******/ // Create a new module (and put it into the cache)
|
|
||||||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
||||||
/******/ // no module.id needed
|
|
||||||
/******/ // no module.loaded needed
|
|
||||||
/******/ exports: {}
|
|
||||||
/******/ };
|
|
||||||
/******/
|
|
||||||
/******/ // Execute the module function
|
|
||||||
/******/ var threw = true;
|
|
||||||
/******/ try {
|
|
||||||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
||||||
/******/ threw = false;
|
|
||||||
/******/ } finally {
|
|
||||||
/******/ if(threw) delete __webpack_module_cache__[moduleId];
|
|
||||||
/******/ }
|
|
||||||
/******/
|
|
||||||
/******/ // Return the exports of the module
|
|
||||||
/******/ return module.exports;
|
|
||||||
/******/ }
|
|
||||||
/******/
|
|
||||||
/******/ // expose the modules object (__webpack_modules__)
|
|
||||||
/******/ __webpack_require__.m = __webpack_modules__;
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/ /* webpack/runtime/async module */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ var webpackQueues = typeof Symbol === "function" ? Symbol("webpack queues") : "__webpack_queues__";
|
|
||||||
/******/ var webpackExports = typeof Symbol === "function" ? Symbol("webpack exports") : "__webpack_exports__";
|
|
||||||
/******/ var webpackError = typeof Symbol === "function" ? Symbol("webpack error") : "__webpack_error__";
|
|
||||||
/******/ var resolveQueue = (queue) => {
|
|
||||||
/******/ if(queue && queue.d < 1) {
|
|
||||||
/******/ queue.d = 1;
|
|
||||||
/******/ queue.forEach((fn) => (fn.r--));
|
|
||||||
/******/ queue.forEach((fn) => (fn.r-- ? fn.r++ : fn()));
|
|
||||||
/******/ }
|
|
||||||
/******/ }
|
|
||||||
/******/ var wrapDeps = (deps) => (deps.map((dep) => {
|
|
||||||
/******/ if(dep !== null && typeof dep === "object") {
|
|
||||||
/******/ if(dep[webpackQueues]) return dep;
|
|
||||||
/******/ if(dep.then) {
|
|
||||||
/******/ var queue = [];
|
|
||||||
/******/ queue.d = 0;
|
|
||||||
/******/ dep.then((r) => {
|
|
||||||
/******/ obj[webpackExports] = r;
|
|
||||||
/******/ resolveQueue(queue);
|
|
||||||
/******/ }, (e) => {
|
|
||||||
/******/ obj[webpackError] = e;
|
|
||||||
/******/ resolveQueue(queue);
|
|
||||||
/******/ });
|
|
||||||
/******/ var obj = {};
|
|
||||||
/******/ obj[webpackQueues] = (fn) => (fn(queue));
|
|
||||||
/******/ return obj;
|
|
||||||
/******/ }
|
|
||||||
/******/ }
|
|
||||||
/******/ var ret = {};
|
|
||||||
/******/ ret[webpackQueues] = x => {};
|
|
||||||
/******/ ret[webpackExports] = dep;
|
|
||||||
/******/ return ret;
|
|
||||||
/******/ }));
|
|
||||||
/******/ __webpack_require__.a = (module, body, hasAwait) => {
|
|
||||||
/******/ var queue;
|
|
||||||
/******/ hasAwait && ((queue = []).d = -1);
|
|
||||||
/******/ var depQueues = new Set();
|
|
||||||
/******/ var exports = module.exports;
|
|
||||||
/******/ var currentDeps;
|
|
||||||
/******/ var outerResolve;
|
|
||||||
/******/ var reject;
|
|
||||||
/******/ var promise = new Promise((resolve, rej) => {
|
|
||||||
/******/ reject = rej;
|
|
||||||
/******/ outerResolve = resolve;
|
|
||||||
/******/ });
|
|
||||||
/******/ promise[webpackExports] = exports;
|
|
||||||
/******/ promise[webpackQueues] = (fn) => (queue && fn(queue), depQueues.forEach(fn), promise["catch"](x => {}));
|
|
||||||
/******/ module.exports = promise;
|
|
||||||
/******/ body((deps) => {
|
|
||||||
/******/ currentDeps = wrapDeps(deps);
|
|
||||||
/******/ var fn;
|
|
||||||
/******/ var getResult = () => (currentDeps.map((d) => {
|
|
||||||
/******/ if(d[webpackError]) throw d[webpackError];
|
|
||||||
/******/ return d[webpackExports];
|
|
||||||
/******/ }))
|
|
||||||
/******/ var promise = new Promise((resolve) => {
|
|
||||||
/******/ fn = () => (resolve(getResult));
|
|
||||||
/******/ fn.r = 0;
|
|
||||||
/******/ var fnQueue = (q) => (q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn))));
|
|
||||||
/******/ currentDeps.map((dep) => (dep[webpackQueues](fnQueue)));
|
|
||||||
/******/ });
|
|
||||||
/******/ return fn.r ? promise : getResult();
|
|
||||||
/******/ }, (err) => ((err ? reject(promise[webpackError] = err) : outerResolve(exports)), resolveQueue(queue)));
|
|
||||||
/******/ queue && queue.d < 0 && (queue.d = 0);
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/compat get default export */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
||||||
/******/ __webpack_require__.n = (module) => {
|
|
||||||
/******/ var getter = module && module.__esModule ?
|
|
||||||
/******/ () => (module['default']) :
|
|
||||||
/******/ () => (module);
|
|
||||||
/******/ __webpack_require__.d(getter, { a: getter });
|
|
||||||
/******/ return getter;
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/define property getters */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // define getter functions for harmony exports
|
|
||||||
/******/ __webpack_require__.d = (exports, definition) => {
|
|
||||||
/******/ for(var key in definition) {
|
|
||||||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
||||||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
||||||
/******/ }
|
|
||||||
/******/ }
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/ensure chunk */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ __webpack_require__.f = {};
|
|
||||||
/******/ // This file contains only the entry chunk.
|
|
||||||
/******/ // The chunk loading function for additional chunks
|
|
||||||
/******/ __webpack_require__.e = (chunkId) => {
|
|
||||||
/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
|
|
||||||
/******/ __webpack_require__.f[key](chunkId, promises);
|
|
||||||
/******/ return promises;
|
|
||||||
/******/ }, []));
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/get javascript chunk filename */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
|
|
||||||
/******/ __webpack_require__.u = (chunkId) => {
|
|
||||||
/******/ // return url for filenames based on template
|
|
||||||
/******/ return "" + chunkId + ".js";
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/make namespace object */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // define __esModule on exports
|
|
||||||
/******/ __webpack_require__.r = (exports) => {
|
|
||||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
||||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
||||||
/******/ }
|
|
||||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/startup entrypoint */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ __webpack_require__.X = (result, chunkIds, fn) => {
|
|
||||||
/******/ // arguments: chunkIds, moduleId are deprecated
|
|
||||||
/******/ var moduleId = chunkIds;
|
|
||||||
/******/ if(!fn) chunkIds = result, fn = () => (__webpack_require__(__webpack_require__.s = moduleId));
|
|
||||||
/******/ chunkIds.map(__webpack_require__.e, __webpack_require__)
|
|
||||||
/******/ var r = fn();
|
|
||||||
/******/ return r === undefined ? result : r;
|
|
||||||
/******/ }
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/require chunk loading */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // no baseURI
|
|
||||||
/******/
|
|
||||||
/******/ // object to store loaded chunks
|
|
||||||
/******/ // "1" means "loaded", otherwise not loaded yet
|
|
||||||
/******/ var installedChunks = {
|
|
||||||
/******/ "webpack-runtime": 1
|
|
||||||
/******/ };
|
|
||||||
/******/
|
|
||||||
/******/ // no on chunks loaded
|
|
||||||
/******/
|
|
||||||
/******/ var installChunk = (chunk) => {
|
|
||||||
/******/ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;
|
|
||||||
/******/ for(var moduleId in moreModules) {
|
|
||||||
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
|
|
||||||
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
|
|
||||||
/******/ }
|
|
||||||
/******/ }
|
|
||||||
/******/ if(runtime) runtime(__webpack_require__);
|
|
||||||
/******/ for(var i = 0; i < chunkIds.length; i++)
|
|
||||||
/******/ installedChunks[chunkIds[i]] = 1;
|
|
||||||
/******/
|
|
||||||
/******/ };
|
|
||||||
/******/
|
|
||||||
/******/ // require() chunk loading for javascript
|
|
||||||
/******/ __webpack_require__.f.require = (chunkId, promises) => {
|
|
||||||
/******/ // "1" is the signal for "already loaded"
|
|
||||||
/******/ if(!installedChunks[chunkId]) {
|
|
||||||
/******/ if("webpack-runtime" != chunkId) {
|
|
||||||
/******/ installChunk(require("./" + __webpack_require__.u(chunkId)));
|
|
||||||
/******/ } else installedChunks[chunkId] = 1;
|
|
||||||
/******/ }
|
|
||||||
/******/ };
|
|
||||||
/******/
|
|
||||||
/******/ module.exports = __webpack_require__;
|
|
||||||
/******/ __webpack_require__.C = installChunk;
|
|
||||||
/******/
|
|
||||||
/******/ // no HMR
|
|
||||||
/******/
|
|
||||||
/******/ // no HMR manifest
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/
|
|
||||||
/******/
|
|
||||||
/******/ })()
|
|
||||||
;
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
/*
|
|
||||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["/_error"],{
|
|
||||||
|
|
||||||
/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2Fmnt%2Fc%2FUsers%2Fa931627%2FDocuments%2Ffancytextstuff%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!":
|
|
||||||
/*!******************************************************************************************************************************************************************************************************************************!*\
|
|
||||||
!*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2Fmnt%2Fc%2FUsers%2Fa931627%2FDocuments%2Ffancytextstuff%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error! ***!
|
|
||||||
\******************************************************************************************************************************************************************************************************************************/
|
|
||||||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
||||||
|
|
||||||
eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! ./node_modules/next/dist/pages/_error.js */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD0lMkZtbnQlMkZjJTJGVXNlcnMlMkZhOTMxNjI3JTJGRG9jdW1lbnRzJTJGZmFuY3l0ZXh0c3R1ZmYlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRnBhZ2VzJTJGX2Vycm9yLmpzJnBhZ2U9JTJGX2Vycm9yISIsIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLDBGQUEwQztBQUNqRTtBQUNBO0FBQ0EsT0FBTyxJQUFVO0FBQ2pCLE1BQU0sVUFBVTtBQUNoQjtBQUNBLE9BQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8/ZGU5MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbiAgICAod2luZG93Ll9fTkVYVF9QID0gd2luZG93Ll9fTkVYVF9QIHx8IFtdKS5wdXNoKFtcbiAgICAgIFwiL19lcnJvclwiLFxuICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9wYWdlcy9fZXJyb3IuanNcIik7XG4gICAgICB9XG4gICAgXSk7XG4gICAgaWYobW9kdWxlLmhvdCkge1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2luZG93Ll9fTkVYVF9QLnB1c2goW1wiL19lcnJvclwiXSlcbiAgICAgIH0pO1xuICAgIH1cbiAgIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2Fmnt%2Fc%2FUsers%2Fa931627%2FDocuments%2Ffancytextstuff%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!\n"));
|
|
||||||
|
|
||||||
/***/ })
|
|
||||||
|
|
||||||
},
|
|
||||||
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
|
||||||
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
|
|
||||||
/******/ __webpack_require__.O(0, ["main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2Fmnt%2Fc%2FUsers%2Fa931627%2FDocuments%2Ffancytextstuff%2Fnode_modules%2Fnext%2Fdist%2Fpages%2F_error.js&page=%2F_error!"); });
|
|
||||||
/******/ var __webpack_exports__ = __webpack_require__.O();
|
|
||||||
/******/ _N_E = __webpack_exports__;
|
|
||||||
/******/ }
|
|
||||||
]);
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,28 +0,0 @@
|
|||||||
/*
|
|
||||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_error"],{
|
|
||||||
|
|
||||||
/***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_error&page=%2F_error!":
|
|
||||||
/*!***********************************************************************************************************************************************!*\
|
|
||||||
!*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_error&page=%2F_error! ***!
|
|
||||||
\***********************************************************************************************************************************************/
|
|
||||||
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
||||||
|
|
||||||
eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_error\",\n function () {\n return __webpack_require__(/*! private-next-pages/_error */ \"./node_modules/next/dist/pages/_error.js\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_error\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWNsaWVudC1wYWdlcy1sb2FkZXIuanM/YWJzb2x1dGVQYWdlUGF0aD1wcml2YXRlLW5leHQtcGFnZXMlMkZfZXJyb3ImcGFnZT0lMkZfZXJyb3IhIiwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1CQUFPLENBQUMsMkVBQTJCO0FBQ2xEO0FBQ0E7QUFDQSxPQUFPLElBQVU7QUFDakIsTUFBTSxVQUFVO0FBQ2hCO0FBQ0EsT0FBTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz84MDdiIl0sInNvdXJjZXNDb250ZW50IjpbIlxuICAgICh3aW5kb3cuX19ORVhUX1AgPSB3aW5kb3cuX19ORVhUX1AgfHwgW10pLnB1c2goW1xuICAgICAgXCIvX2Vycm9yXCIsXG4gICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiByZXF1aXJlKFwicHJpdmF0ZS1uZXh0LXBhZ2VzL19lcnJvclwiKTtcbiAgICAgIH1cbiAgICBdKTtcbiAgICBpZihtb2R1bGUuaG90KSB7XG4gICAgICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgICAgICB3aW5kb3cuX19ORVhUX1AucHVzaChbXCIvX2Vycm9yXCJdKVxuICAgICAgfSk7XG4gICAgfVxuICAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_error&page=%2F_error!\n"));
|
|
||||||
|
|
||||||
/***/ })
|
|
||||||
|
|
||||||
},
|
|
||||||
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
|
||||||
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
|
|
||||||
/******/ __webpack_require__.O(0, ["pages/_app","main"], function() { return __webpack_exec__("./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=private-next-pages%2F_error&page=%2F_error!"); });
|
|
||||||
/******/ var __webpack_exports__ = __webpack_require__.O();
|
|
||||||
/******/ _N_E = __webpack_exports__;
|
|
||||||
/******/ }
|
|
||||||
]);
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
62
.next/static/chunks/react-refresh.js
vendored
62
.next/static/chunks/react-refresh.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
|||||||
self.__BUILD_MANIFEST = {__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static\u002Fchunks\u002Fpages\u002Findex.js"],"/_error":["static\u002Fchunks\u002Fpages\u002F_error.js"],sortedPages:["\u002F","\u002F_app","\u002F_error"]};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
self.__SSG_MANIFEST=new Set;self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"c":["webpack"],"r":[],"m":[]}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"c":[],"r":[],"m":[]}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
/*
|
|
||||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
self["webpackHotUpdate_N_E"]("webpack",{},
|
|
||||||
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
|
||||||
/******/ /* webpack/runtime/getFullHash */
|
|
||||||
/******/ !function() {
|
|
||||||
/******/ __webpack_require__.h = function() { return "d1363c6e2dfbe09d"; }
|
|
||||||
/******/ }();
|
|
||||||
/******/
|
|
||||||
/******/ }
|
|
||||||
);
|
|
||||||
File diff suppressed because one or more lines are too long
64
components/FancyTextPreview.jsx
Normal file
64
components/FancyTextPreview.jsx
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
import { useState } from "react";
|
||||||
|
import { fontTransforms, transformText } from "@/components/fontTransforms";
|
||||||
|
|
||||||
|
export default function FancyTextPreview() {
|
||||||
|
const [inputText, setInputText] = useState("Hello Instagram");
|
||||||
|
const [copiedIndex, setCopiedIndex] = useState(null);
|
||||||
|
|
||||||
|
const allFonts = Object.keys(fontTransforms);
|
||||||
|
|
||||||
|
const handleCopy = async (text, index) => {
|
||||||
|
try {
|
||||||
|
await navigator.clipboard.writeText(text);
|
||||||
|
setCopiedIndex(index);
|
||||||
|
setTimeout(() => setCopiedIndex(null), 1500);
|
||||||
|
} catch (err) {
|
||||||
|
console.error("Copy failed:", err);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="max-w-3xl mx-auto p-4">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
className="w-full border rounded px-4 py-2 mb-6 text-lg"
|
||||||
|
value={inputText}
|
||||||
|
onChange={(e) => setInputText(e.target.value)}
|
||||||
|
placeholder="Type something..."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div className="space-y-6">
|
||||||
|
{allFonts.map((fontName, index) => {
|
||||||
|
const { transformed, fontClassName } = transformText(inputText, fontName);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
key={fontName}
|
||||||
|
className="border-b pb-4 flex flex-col gap-2"
|
||||||
|
>
|
||||||
|
<p className="text-sm font-semibold text-gray-700">{fontName}</p>
|
||||||
|
<div className="flex flex-col gap-1">
|
||||||
|
{/* ⬇️ Normale Textvorschau mit Webfont */}
|
||||||
|
<p className={`text-xl ${fontClassName}`}>
|
||||||
|
{inputText || "Hello Instagram"}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
{/* ⬇️ Fancy Unicode-Text */}
|
||||||
|
<p className="text-xl text-gray-600">
|
||||||
|
{transformed}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button
|
||||||
|
className="self-start mt-1 text-sm bg-gray-200 hover:bg-gray-300 rounded px-3 py-1"
|
||||||
|
onClick={() => handleCopy(transformed, index)}
|
||||||
|
>
|
||||||
|
{copiedIndex === index ? "Copied!" : "Copy"}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -39,7 +39,7 @@ const PerformanceOptimizedFontCard = forwardRef(({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const handleCopy = useCallback(async () => {
|
const handleCopy = useCallback(async () => {
|
||||||
const textToCopy = sStr(transformedText);
|
const textToCopy = sStr(transformedText?.transformed ?? transformedText);
|
||||||
try {
|
try {
|
||||||
await navigator.clipboard.writeText(textToCopy);
|
await navigator.clipboard.writeText(textToCopy);
|
||||||
setCopied(true);
|
setCopied(true);
|
||||||
@@ -76,7 +76,7 @@ const PerformanceOptimizedFontCard = forwardRef(({
|
|||||||
}, [liked, fontName, onLike]);
|
}, [liked, fontName, onLike]);
|
||||||
|
|
||||||
const handleShare = useCallback(async () => {
|
const handleShare = useCallback(async () => {
|
||||||
const shareText = `${sStr(transformedText)}\n\nErstellt mit FancyText: ${window.location.href}`;
|
const shareText = `${sStr(transformedText?.transformed ?? transformedText)}\n\nErstellt mit FancyText: ${window.location.href}`;
|
||||||
if (navigator.share) {
|
if (navigator.share) {
|
||||||
try {
|
try {
|
||||||
await navigator.share({ title: "Schau dir diese coole Schriftart an! 🔥", text: shareText, url: window.location.href });
|
await navigator.share({ title: "Schau dir diese coole Schriftart an! 🔥", text: shareText, url: window.location.href });
|
||||||
@@ -96,6 +96,9 @@ const PerformanceOptimizedFontCard = forwardRef(({
|
|||||||
const getFontStyle = useCallback((name) => {
|
const getFontStyle = useCallback((name) => {
|
||||||
const baseStyle = { wordBreak: "break-word", lineHeight: "1.3", willChange: "auto" };
|
const baseStyle = { wordBreak: "break-word", lineHeight: "1.3", willChange: "auto" };
|
||||||
const fontEntry = fontTransforms[name];
|
const fontEntry = fontTransforms[name];
|
||||||
|
if (!fontEntry) {
|
||||||
|
console.warn(`Font definition missing for ${name}`);
|
||||||
|
}
|
||||||
if (!fontEntry) return baseStyle;
|
if (!fontEntry) return baseStyle;
|
||||||
|
|
||||||
const style = { ...baseStyle };
|
const style = { ...baseStyle };
|
||||||
@@ -107,7 +110,8 @@ const PerformanceOptimizedFontCard = forwardRef(({
|
|||||||
return style;
|
return style;
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const previewText = sStr(transformedText) || "Hallo Instagram!";
|
const previewText = sStr(transformedText?.transformed ?? transformedText) || "Hallo Instagram!";
|
||||||
|
const fontClass = transformedText?.fontClassName ?? "";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div ref={ref} className="will-change-transform mb-6">
|
<div ref={ref} className="will-change-transform mb-6">
|
||||||
@@ -158,7 +162,7 @@ const PerformanceOptimizedFontCard = forwardRef(({
|
|||||||
onKeyDown={(e) => (e.key === "Enter" || e.key === " ") && handleCopy()}
|
onKeyDown={(e) => (e.key === "Enter" || e.key === " ") && handleCopy()}
|
||||||
aria-label="Click to copy text"
|
aria-label="Click to copy text"
|
||||||
style={{ ...getFontStyle(fontName), pointerEvents: "auto" }}
|
style={{ ...getFontStyle(fontName), pointerEvents: "auto" }}
|
||||||
className="text-xl sm-text-2xl md-text-3xl mb-4 p-3 sm:p-4 bg-gray-50 rounded-xl text-center select-all text-gray-800 min-h-[70px] sm:min-h-[80px] flex items-center justify-center cursor-pointer hover:bg-gray-100 transition-colors"
|
className={`text-xl sm-text-2xl md-text-3xl mb-4 p-3 sm:p-4 bg-gray-50 rounded-xl text-center select-all text-gray-800 min-h-[70px] sm:min-h-[80px] flex items-center justify-center cursor-pointer hover:bg-gray-100 transition-colors ${fontClass}`}
|
||||||
>
|
>
|
||||||
{previewText}
|
{previewText}
|
||||||
</div>
|
</div>
|
||||||
@@ -175,7 +179,7 @@ const PerformanceOptimizedFontCard = forwardRef(({
|
|||||||
{copied ? (
|
{copied ? (
|
||||||
<><Check className="w-4 h-4 mr-2" /> Copy! ✨</>
|
<><Check className="w-4 h-4 mr-2" /> Copy! ✨</>
|
||||||
) : (
|
) : (
|
||||||
<><Copy className="w-4 h-4 mr-2" /> Start Typing ✨ </>
|
<><Copy className="w-4 h-4 mr-2" /> Copy! ✨</>
|
||||||
)}
|
)}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,18 +1,16 @@
|
|||||||
// components/fontTransforms.jsx
|
// components/fontTransforms.jsx
|
||||||
|
|
||||||
// 1) Unicode-Blöcke (Startpunkte)
|
|
||||||
const unicodeBlocks = {
|
const unicodeBlocks = {
|
||||||
sansSerif: { upperStart: 0x1D5A0, lowerStart: 0x1D5BA },
|
sansSerif: { upperStart: 0x1D5A0, lowerStart: 0x1D5BA },
|
||||||
sansSerifBold: { upperStart: 0x1D5D4, lowerStart: 0x1D5EE },
|
sansSerifBold: { upperStart: 0x1D5D4, lowerStart: 0x1D5EE },
|
||||||
script: { upperStart: 0x1D49C, lowerStart: 0x1D4B6 },
|
script: { upperStart: 0x1D49C, lowerStart: 0x1D4B6 },
|
||||||
scriptBold: { upperStart: 0x1D4D0, lowerStart: 0x1D4EA },
|
scriptBold: { upperStart: 0x1D4D0, lowerStart: 0x1D4EA },
|
||||||
fraktur: { upperStart: 0x1D504, lowerStart: 0x1D51E },
|
fraktur: { upperStart: 0x1D504, lowerStart: 0x1D51E },
|
||||||
frakturBold: { upperStart: 0x1D56C, lowerStart: 0x1D586 },
|
frakturBold: { upperStart: 0x1D56C, lowerStart: 0x1D586 },
|
||||||
monospace: { upperStart: 0x1D670, lowerStart: 0x1D68A },
|
monospace: { upperStart: 0x1D670, lowerStart: 0x1D68A },
|
||||||
fullwidth: { upperStart: 0xFF21, lowerStart: 0xFF41 }
|
fullwidth: { upperStart: 0xFF21, lowerStart: 0xFF41 }
|
||||||
};
|
};
|
||||||
|
|
||||||
// 2) Unicode-Mapping-Helfer
|
|
||||||
const mapUnicode = (char, block) => {
|
const mapUnicode = (char, block) => {
|
||||||
const code = char.charCodeAt(0);
|
const code = char.charCodeAt(0);
|
||||||
if (code >= 65 && code <= 90) return String.fromCodePoint(block.upperStart + (code - 65));
|
if (code >= 65 && code <= 90) return String.fromCodePoint(block.upperStart + (code - 65));
|
||||||
@@ -23,101 +21,54 @@ const mapUnicode = (char, block) => {
|
|||||||
const createTransform = (blockKey) => (text) =>
|
const createTransform = (blockKey) => (text) =>
|
||||||
text.split('').map((c) => mapUnicode(c, unicodeBlocks[blockKey])).join('');
|
text.split('').map((c) => mapUnicode(c, unicodeBlocks[blockKey])).join('');
|
||||||
|
|
||||||
// 3) Font-Transformationen
|
const fontList = [
|
||||||
|
"Anton", "Bebas Neue", "Dancing Script", "Montserrat", "Orbitron", "Pacifico",
|
||||||
|
"Playfair Display", "Poppins"
|
||||||
|
];
|
||||||
|
|
||||||
|
const getCategory = (name) => {
|
||||||
|
const normalizedName = name.toLowerCase().replace(/ /g, "-");
|
||||||
|
if (["dancing-script", "pacifico"].includes(normalizedName)) return "handwriting";
|
||||||
|
if (["anton", "bebas-neue", "playfair-display"].includes(normalizedName)) return "statement";
|
||||||
|
if (["orbitron"].includes(normalizedName)) return "futuristic";
|
||||||
|
if (["montserrat", "poppins"].includes(normalizedName)) return "modern";
|
||||||
|
return "aesthetic";
|
||||||
|
};
|
||||||
|
|
||||||
|
const blockForCategory = {
|
||||||
|
modern: "sansSerif",
|
||||||
|
handwriting: "scriptBold",
|
||||||
|
statement: "fullwidth",
|
||||||
|
futuristic: "monospace",
|
||||||
|
aesthetic: "frakturBold"
|
||||||
|
};
|
||||||
|
|
||||||
export const fontTransforms = Object.fromEntries(
|
export const fontTransforms = Object.fromEntries(
|
||||||
Object.entries({
|
fontList.map((font) => {
|
||||||
// 🔤 Modern
|
const normalizedFont = font.toLowerCase().replace(/ /g, "-");
|
||||||
Montserrat: ['sansSerifBold', 'modern', 'Montserrat – Sans-Serif Bold Unicode'],
|
const category = getCategory(font);
|
||||||
Lato: ['sansSerif', 'modern', 'Lato – Humanistischer Sans-Serif Unicode'],
|
return [font, {
|
||||||
Raleway: ['sansSerif', 'modern', 'Raleway – Elegant Display Unicode'],
|
transform: (text) => text, // Echte Fonts verwenden, keine Unicode-Transformation
|
||||||
Poppins: ['sansSerif', 'modern', 'Poppins – Rund & freundlich Unicode'],
|
|
||||||
'Open Sans': ['sansSerif', 'modern', 'Open Sans – Vielseitig Unicode'],
|
|
||||||
Roboto: ['sansSerif', 'modern', 'Roboto – Modernes Grotesk Unicode'],
|
|
||||||
'Work Sans': ['sansSerif', 'modern', 'Work Sans – Tech & Clean Unicode'],
|
|
||||||
'Noto Sans': ['sansSerif', 'modern', 'Noto Sans – International Unicode'],
|
|
||||||
Jost: ['sansSerif', 'modern', 'Jost – Geometrisch modern Unicode'],
|
|
||||||
Quicksand: ['sansSerif', 'modern', 'Quicksand – Soft Rounded Unicode'],
|
|
||||||
'Averia Libre': ['sansSerif', 'modern', 'Averia Libre – Experimentell Unicode'],
|
|
||||||
'Philosopher': ['sansSerif', 'modern', 'Philosopher – Elegant Unicode'],
|
|
||||||
|
|
||||||
// ✍️ Handwriting
|
|
||||||
Pacifico: ['scriptBold', 'handwriting', 'Pacifico – Lockerer Pinsel Bold Script Unicode'],
|
|
||||||
Sacramento: ['scriptBold', 'handwriting', 'Sacramento – Retro-Handlettering Bold Script Unicode'],
|
|
||||||
Caveat: ['scriptBold', 'handwriting', 'Caveat – Natural Handwriting Bold Script Unicode'],
|
|
||||||
'Dancing Script': ['scriptBold', 'handwriting', 'Dancing Script – Lebhafte Kursive Bold Script Unicode'],
|
|
||||||
'Indie Flower': ['scriptBold', 'handwriting', 'Indie Flower – Verspieltes Bold Script Unicode'],
|
|
||||||
'Amatic SC': ['scriptBold', 'handwriting', 'Amatic SC – Skizzenartiges Bold Script Unicode'],
|
|
||||||
'Kaushan Script': ['scriptBold', 'handwriting', 'Kaushan Script – Fettere Kursive Bold Script Unicode'],
|
|
||||||
'Architects Daughter': ['scriptBold','handwriting', 'Architects Daughter – Skizzenhafte Handschrift Unicode'],
|
|
||||||
Neucha: ['scriptBold', 'handwriting', 'Neucha – Persönlich und kantig Unicode'],
|
|
||||||
'Great Vibes': ['scriptBold', 'handwriting', 'Great Vibes – Elegante Kalligraphie Unicode'],
|
|
||||||
Satisfy: ['scriptBold', 'handwriting', 'Satisfy – Weiche Script Unicode'],
|
|
||||||
Yellowtail: ['scriptBold', 'handwriting', 'Yellowtail – Vintage Script Unicode'],
|
|
||||||
'Gloria Hallelujah': ['scriptBold', 'handwriting', 'Gloria Hallelujah – Lebendige Handschrift Unicode'],
|
|
||||||
|
|
||||||
// 🧑🎤 Statement
|
|
||||||
Oswald: ['sansSerifBold', 'statement', 'Oswald – Bold Grotesk Unicode'],
|
|
||||||
'Bebas Neue': ['fullwidth', 'statement', 'Bebas Neue – Fullwidth Caps Unicode'],
|
|
||||||
Ultra: ['sansSerifBold', 'statement', 'Ultra – Kompakte Bold Unicode'],
|
|
||||||
'Stint Ultra Condensed': ['sansSerifBold', 'statement', 'Stint Ultra Condensed – Kompakte Bold Unicode'],
|
|
||||||
'Playfair Display': ['scriptBold', 'statement', 'Playfair Display – Elegante Bold Script Unicode'],
|
|
||||||
'Abril Fatface': ['scriptBold', 'statement', 'Abril Fatface – Fettere Bold Script Unicode'],
|
|
||||||
'Permanent Marker': ['scriptBold', 'statement', 'Permanent Marker – Marker-Style Unicode'],
|
|
||||||
'Alfa Slab One': ['fullwidth', 'statement', 'Alfa Slab One – Slab Serif Heavy Unicode'],
|
|
||||||
'Black Ops One': ['fullwidth', 'statement', 'Black Ops One – Military Display Unicode'],
|
|
||||||
'Germania One': ['frakturBold', 'statement', 'Germania One – Oldstyle Fraktur Unicode'],
|
|
||||||
'Holtwood One SC': ['fullwidth', 'statement', 'Holtwood One SC – Klassisch Bold Small Caps Unicode'],
|
|
||||||
Courgette: ['scriptBold', 'statement', 'Courgette – Verspieltes Script Unicode'],
|
|
||||||
|
|
||||||
// 🚀 Futuristic
|
|
||||||
Exo: ['sansSerif', 'futuristic', 'Exo – Tech Grotesk Unicode'],
|
|
||||||
Orbitron: ['monospace', 'futuristic', 'Orbitron – Sci-Fi Monospace Unicode'],
|
|
||||||
Audiowide: ['monospace', 'futuristic', 'Audiowide – Rundes Monospace Unicode'],
|
|
||||||
Rajdhani: ['monospace', 'futuristic', 'Rajdhani – Digital Monospace Unicode'],
|
|
||||||
'Space Mono': ['monospace', 'futuristic', 'Space Mono – Tech Monospace Unicode'],
|
|
||||||
Questrial: ['sansSerif', 'futuristic', 'Questrial – Clean Sans-Serif Unicode'],
|
|
||||||
'Syncopate': ['monospace', 'futuristic', 'Syncopate – Techno Unicode'],
|
|
||||||
'Unica One': ['monospace', 'futuristic', 'Unica One – Monospace Mix Unicode'],
|
|
||||||
'Italiana': ['sansSerif', 'futuristic', 'Italiana – Futuristisch Serif Unicode'],
|
|
||||||
'Staatliches': ['monospace', 'futuristic', 'Staatliches – Moderne Grotesk Unicode'],
|
|
||||||
|
|
||||||
// 🧢 Aesthetic
|
|
||||||
'Press Start 2P': ['monospace', 'aesthetic', 'Press Start 2P – Pixel Monospace Unicode'],
|
|
||||||
Righteous: ['frakturBold', 'aesthetic', 'Righteous – Stylische Bold Fraktur Unicode'],
|
|
||||||
'Metal Mania': ['scriptBold', 'aesthetic', 'Metal Mania – Fettere Script Unicode'],
|
|
||||||
'Alegreya': ['frakturBold', 'aesthetic', 'Alegreya – Literatur Serif Unicode'],
|
|
||||||
'Spectral': ['frakturBold', 'aesthetic', 'Spectral – Editorial Serif Unicode'],
|
|
||||||
'Fjalla One': ['sansSerifBold', 'aesthetic', 'Fjalla One – Headline Sans Unicode'],
|
|
||||||
'Glass Antiqua': ['scriptBold', 'aesthetic', 'Glass Antiqua – Zarte Antiqua Script Unicode'],
|
|
||||||
'Cinzel Decorative': ['scriptBold', 'aesthetic', 'Cinzel Decorative – Klassische Zier-Serif Unicode'],
|
|
||||||
'Andika': ['sansSerif', 'aesthetic', 'Andika – Leserlich Unicode'],
|
|
||||||
'Almendra': ['scriptBold', 'aesthetic', 'Almendra – Historische Handschrift Unicode'],
|
|
||||||
}).map(([name, [block, category, description]]) => [
|
|
||||||
name,
|
|
||||||
{
|
|
||||||
transform: createTransform(block),
|
|
||||||
category,
|
category,
|
||||||
description,
|
description: `${font} – Echte Schriftart verwendet`,
|
||||||
className: `font-${name.toLowerCase().replace(/\s+/g, '')}`,
|
className: `font-${normalizedFont}`
|
||||||
},
|
}];
|
||||||
])
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
// 🔝 Neue transformText-Funktion – gibt transformierten Text **und** Tailwind-Klasse zurück
|
|
||||||
export const transformText = (text, fontName) => {
|
export const transformText = (text, fontName) => {
|
||||||
const font = fontTransforms[fontName];
|
const font = fontTransforms[fontName];
|
||||||
if (!font || !text) return { transformed: text, fontClassName: '' };
|
if (!font || !text) return { transformed: text, fontClassName: "" };
|
||||||
return {
|
return {
|
||||||
transformed: font.transform(text),
|
transformed: font.transform(text),
|
||||||
fontClassName: font.className,
|
fontClassName: font.className
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// Weitere Helfer
|
export const getPopularFonts = () => Object.keys(fontTransforms).slice(0, 5);
|
||||||
export const getPopularFonts = () => Object.keys(fontTransforms).slice(0, 10);
|
|
||||||
|
|
||||||
export const getFontsByCategory = (category) =>
|
export const getFontsByCategory = (category) =>
|
||||||
category === 'all'
|
category === "all"
|
||||||
? Object.keys(fontTransforms)
|
? Object.keys(fontTransforms)
|
||||||
: Object.keys(fontTransforms).filter(
|
: Object.keys(fontTransforms).filter(
|
||||||
(f) => fontTransforms[f].category === category
|
(f) => fontTransforms[f].category === category
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import { Button } from "@/components/ui/button";
|
|||||||
import { Badge } from "@/components/ui/badge";
|
import { Badge } from "@/components/ui/badge";
|
||||||
import { Copy, Check, Heart, Share2, Info } from "lucide-react";
|
import { Copy, Check, Heart, Share2, Info } from "lucide-react";
|
||||||
import { transformText, fontTransforms } from "../fontTransforms";
|
import { transformText, fontTransforms } from "../fontTransforms";
|
||||||
import { getFontData } from "@/lib/fonts";
|
|
||||||
import fontMap from "@/lib/tailwind-font-map";
|
|
||||||
|
|
||||||
export default function FontCard({
|
export default function FontCard({
|
||||||
fontName,
|
fontName,
|
||||||
@@ -19,71 +17,24 @@ export default function FontCard({
|
|||||||
const [liked, setLiked] = useState(false);
|
const [liked, setLiked] = useState(false);
|
||||||
|
|
||||||
const fontInfo = fontTransforms[fontName];
|
const fontInfo = fontTransforms[fontName];
|
||||||
const fontData = getFontData(fontName);
|
|
||||||
const fontKey = fontName.toLowerCase().replace(/\s+/g, "");
|
|
||||||
const fontVarName = fontMap[fontKey];
|
|
||||||
const fontVar = fontVarName ? { fontFamily: `var(${fontVarName})` } : {};
|
|
||||||
const fontClass = fontData?.className || "";
|
|
||||||
|
|
||||||
|
// Dynamisch Font-Klasse aus Fontnamen generieren (z. B. "Open Sans" → "font-open-sans")
|
||||||
|
const fontClass = `font-${fontName.toLowerCase().replace(/\s+/g, "-")}`;
|
||||||
|
|
||||||
|
// Fancy-Transformation
|
||||||
const rawText = "Hallo Instagram!";
|
const rawText = "Hallo Instagram!";
|
||||||
const transformed = transformText(rawText, fontName);
|
const { transformed } = transformText(rawText, fontName);
|
||||||
const finalText = transformed?.transformed || rawText;
|
const finalText = transformed || rawText;
|
||||||
const copyText = transformed?.transformed || rawText;
|
|
||||||
|
|
||||||
const handleCopy = () => {
|
const handleCopy = () => {
|
||||||
if (navigator.clipboard && window.isSecureContext) {
|
navigator.clipboard.writeText(finalText).then(() => {
|
||||||
navigator.clipboard
|
setCopied(true);
|
||||||
.writeText(copyText)
|
setTimeout(() => setCopied(false), 1500);
|
||||||
.then(() => flashCopied())
|
});
|
||||||
.catch(() => fallbackCopy());
|
|
||||||
} else {
|
|
||||||
fallbackCopy();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const flashCopied = () => {
|
const handleShare = () => {
|
||||||
setCopied(true);
|
alert(`Teilen von: ${fontName}`);
|
||||||
setTimeout(() => setCopied(false), 2000);
|
|
||||||
};
|
|
||||||
|
|
||||||
const fallbackCopy = () => {
|
|
||||||
const textarea = document.createElement("textarea");
|
|
||||||
textarea.value = copyText;
|
|
||||||
textarea.setAttribute("readonly", "");
|
|
||||||
textarea.style.position = "fixed";
|
|
||||||
textarea.style.top = "0";
|
|
||||||
textarea.style.left = "0";
|
|
||||||
textarea.style.width = "1px";
|
|
||||||
textarea.style.height = "1px";
|
|
||||||
textarea.style.padding = "0";
|
|
||||||
textarea.style.border = "none";
|
|
||||||
textarea.style.outline = "none";
|
|
||||||
textarea.style.boxShadow = "none";
|
|
||||||
textarea.style.background = "transparent";
|
|
||||||
|
|
||||||
document.body.appendChild(textarea);
|
|
||||||
textarea.focus();
|
|
||||||
textarea.select();
|
|
||||||
try {
|
|
||||||
document.execCommand("copy");
|
|
||||||
flashCopied();
|
|
||||||
} catch (err) {
|
|
||||||
console.error("Fallback Copy fehlgeschlagen:", err);
|
|
||||||
}
|
|
||||||
document.body.removeChild(textarea);
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleShare = async () => {
|
|
||||||
if (!navigator.share) return;
|
|
||||||
try {
|
|
||||||
await navigator.share({
|
|
||||||
title: `FancyText – ${fontName}`,
|
|
||||||
text: copyText,
|
|
||||||
url: window.location.href,
|
|
||||||
});
|
|
||||||
} catch (err) {
|
|
||||||
console.error("Share fehlgeschlagen:", err);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -117,7 +68,7 @@ export default function FontCard({
|
|||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={handleShare}
|
onClick={handleShare}
|
||||||
className="text-gray-400 hover:text-blue-500"
|
className="text-gray-400 hover:text-blue-500 pointer-events-auto"
|
||||||
>
|
>
|
||||||
<Share2 className="w-4 h-4" />
|
<Share2 className="w-4 h-4" />
|
||||||
</Button>
|
</Button>
|
||||||
@@ -135,8 +86,8 @@ export default function FontCard({
|
|||||||
type="text"
|
type="text"
|
||||||
value={finalText}
|
value={finalText}
|
||||||
readOnly
|
readOnly
|
||||||
className={`${fontClass} text-2xl md:text-3xl mb-6 p-4 bg-gray-50 rounded-xl text-center text-gray-800 min-h-[80px] w-full select-all border-0 focus:ring-0`}
|
className={`${fontClass} text-2xl md:text-3xl mb-6 p-4 bg-gray-50 rounded-xl text-center text-gray-800 min-h-[80px] w-full select-all border-0 focus:ring-0 pointer-events-auto`}
|
||||||
style={{ ...fontVar, lineHeight: "1.2" }}
|
style={{ lineHeight: "1.2" }}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
|||||||
@@ -5,5 +5,7 @@
|
|||||||
"@/*": ["./*"]
|
"@/*": ["./*"]
|
||||||
},
|
},
|
||||||
"forceConsistentCasingInFileNames": true
|
"forceConsistentCasingInFileNames": true
|
||||||
}
|
},
|
||||||
|
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"],
|
||||||
|
"exclude": ["node_modules"]
|
||||||
}
|
}
|
||||||
|
|||||||
69
lib/fonts.js
69
lib/fonts.js
@@ -1,69 +0,0 @@
|
|||||||
// lib/fonts.js
|
|
||||||
|
|
||||||
export const fonts = {
|
|
||||||
montserrat: "font-montserrat",
|
|
||||||
opensans: "font-opensans",
|
|
||||||
roboto: "font-roboto",
|
|
||||||
lato: "font-lato",
|
|
||||||
raleway: "font-raleway",
|
|
||||||
poppins: "font-poppins",
|
|
||||||
worksans: "font-worksans",
|
|
||||||
jost: "font-jost",
|
|
||||||
notosans: "font-notosans",
|
|
||||||
quicksand: "font-quicksand",
|
|
||||||
averialibre: "font-averialibre",
|
|
||||||
philosopher: "font-philosopher",
|
|
||||||
|
|
||||||
pacifico: "font-pacifico",
|
|
||||||
caveat: "font-caveat",
|
|
||||||
sacramento: "font-sacramento",
|
|
||||||
dancingscript: "font-dancingscript",
|
|
||||||
indieflower: "font-indieflower",
|
|
||||||
amatic: "font-amatic",
|
|
||||||
kaushan: "font-kaushan",
|
|
||||||
architects: "font-architects",
|
|
||||||
neucha: "font-neucha",
|
|
||||||
greatvibes: "font-greatvibes",
|
|
||||||
satisfy: "font-satisfy",
|
|
||||||
yellowtail: "font-yellowtail",
|
|
||||||
gloria: "font-gloria",
|
|
||||||
courgette: "font-courgette",
|
|
||||||
almendra: "font-almendra",
|
|
||||||
|
|
||||||
oswald: "font-oswald",
|
|
||||||
bebasneue: "font-bebasneue",
|
|
||||||
|
|
||||||
ultra: "font-ultra",
|
|
||||||
stint: "font-stint",
|
|
||||||
playfair: "font-playfair",
|
|
||||||
abril: "font-abril",
|
|
||||||
permanentmarker: "font-permanentmarker",
|
|
||||||
alfaslab: "font-alfaslab",
|
|
||||||
blackops: "font-blackops",
|
|
||||||
germania: "font-germania",
|
|
||||||
holtwood: "font-holtwood",
|
|
||||||
|
|
||||||
exo: "font-exo",
|
|
||||||
orbitron: "font-orbitron",
|
|
||||||
audiowide: "font-audiowide",
|
|
||||||
rajdhani: "font-rajdhani",
|
|
||||||
spacemono: "font-spacemono",
|
|
||||||
questrial: "font-questrial",
|
|
||||||
syncopate: "font-syncopate",
|
|
||||||
unicaone: "font-unicaone",
|
|
||||||
italiana: "font-italiana",
|
|
||||||
staatliches: "font-staatliches",
|
|
||||||
|
|
||||||
pressstart2p: "font-pressstart2p",
|
|
||||||
righteous: "font-righteous",
|
|
||||||
metalmania: "font-metalmania",
|
|
||||||
alegreya: "font-alegreya",
|
|
||||||
spectral: "font-spectral",
|
|
||||||
fjallaone: "font-fjallaone",
|
|
||||||
glassantiqua: "font-glassantiqua",
|
|
||||||
cinzeldecorative: "font-cinzeldecorative",
|
|
||||||
andika: "font-andika",
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getFontData = (key) =>
|
|
||||||
fonts[key?.toLowerCase()] ?? fonts["montserrat"];
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
/**
|
|
||||||
* Enthält **nur** die CSS‑Variablen‑Namen, die next/font im Browser setzt.
|
|
||||||
* In fonts.js oder per @font-face werden sie erzeugt – hier referenzieren wir sie.
|
|
||||||
*/
|
|
||||||
|
|
||||||
export default {
|
|
||||||
montserrat: "--font-montserrat",
|
|
||||||
lato: "--font-lato",
|
|
||||||
raleway: "--font-raleway",
|
|
||||||
poppins: "--font-poppins",
|
|
||||||
opensans: "--font-opensans",
|
|
||||||
roboto: "--font-roboto",
|
|
||||||
worksans: "--font-worksans",
|
|
||||||
notosans: "--font-notosans",
|
|
||||||
jost: "--font-jost",
|
|
||||||
quicksand: "--font-quicksand",
|
|
||||||
averialibre: "--font-averialibre",
|
|
||||||
philosopher: "--font-philosopher",
|
|
||||||
|
|
||||||
pacifico: "--font-pacifico",
|
|
||||||
sacramento: "--font-sacramento",
|
|
||||||
caveat: "--font-caveat",
|
|
||||||
dancingscript: "--font-dancingscript",
|
|
||||||
indieflower: "--font-indieflower",
|
|
||||||
amaticsc: "--font-amatic",
|
|
||||||
kaushanscript: "--font-kaushan",
|
|
||||||
architectsdaughter: "--font-architects",
|
|
||||||
neucha: "--font-neucha",
|
|
||||||
greatvibes: "--font-greatvibes",
|
|
||||||
satisfy: "--font-satisfy",
|
|
||||||
yellowtail: "--font-yellowtail",
|
|
||||||
gloriahallelujah: "--font-gloria",
|
|
||||||
|
|
||||||
oswald: "--font-oswald",
|
|
||||||
bebasneue: "--font-bebasneue",
|
|
||||||
ultra: "--font-ultra",
|
|
||||||
stintultracondensed: "--font-stint",
|
|
||||||
playfairdisplay: "--font-playfair",
|
|
||||||
abrilfatface: "--font-abril",
|
|
||||||
permanentmarker: "--font-permanentmarker",
|
|
||||||
alfaslabone: "--font-alfaslab",
|
|
||||||
blackopsone: "--font-blackops",
|
|
||||||
germaniaone: "--font-germania",
|
|
||||||
holtwoodonesc: "--font-holtwood",
|
|
||||||
courgette: "--font-courgette",
|
|
||||||
|
|
||||||
exo: "--font-exo",
|
|
||||||
orbitron: "--font-orbitron",
|
|
||||||
audiowide: "--font-audiowide",
|
|
||||||
rajdhani: "--font-rajdhani",
|
|
||||||
spacemono: "--font-spacemono",
|
|
||||||
questrial: "--font-questrial",
|
|
||||||
syncopate: "--font-syncopate",
|
|
||||||
unicaone: "--font-unicaone",
|
|
||||||
italiana: "--font-italiana",
|
|
||||||
staatliches: "--font-staatliches",
|
|
||||||
|
|
||||||
pressstart2p: "--font-pressstart2p",
|
|
||||||
righteous: "--font-righteous",
|
|
||||||
metalmania: "--font-metalmania",
|
|
||||||
alegreya: "--font-alegreya",
|
|
||||||
spectral: "--font-spectral",
|
|
||||||
fjallaone: "--font-fjallaone",
|
|
||||||
glassantiqua: "--font-glassantiqua",
|
|
||||||
cinzeldecorative: "--font-cinzeldecorative",
|
|
||||||
andika: "--font-andika",
|
|
||||||
almendra: "--font-almendra",
|
|
||||||
};
|
|
||||||
@@ -1,14 +1,7 @@
|
|||||||
/** @type {import('next').NextConfig} */
|
/** @type {import('next').NextConfig} */
|
||||||
const nextConfig = {
|
const nextConfig = {
|
||||||
experimental: {
|
experimental: {
|
||||||
fontLoaders: [
|
// hier können andere gültige experimentelle Optionen stehen, falls nötig
|
||||||
{
|
|
||||||
loader: "@next/font/google",
|
|
||||||
options: {
|
|
||||||
subsets: ["latin"],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
// next.config.mjs
|
|
||||||
import path from "path";
|
|
||||||
import withFlowbiteReact from "flowbite-react/plugin/nextjs";
|
|
||||||
|
|
||||||
const nextConfig = {
|
|
||||||
webpack: (config) => {
|
|
||||||
config.resolve.alias["@"] = path.resolve(process.cwd());
|
|
||||||
return config;
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default withFlowbiteReact(nextConfig);
|
|
||||||
@@ -1,17 +1,6 @@
|
|||||||
// pages/_app.jsx
|
import "@/styles/tailwind.build.css"; // dein Tailwind-Build
|
||||||
import "@/styles/tailwind.build.css"; // dein Tailwind‑Build
|
import "../styles/globals.css";
|
||||||
import { fonts } from "@/lib/fonts";
|
|
||||||
|
|
||||||
// CSS-Variablen für alle Fonts aus next/font/google
|
|
||||||
const allFontVars = Object.values(fonts)
|
|
||||||
.filter((f) => f?.variable)
|
|
||||||
.map((f) => f.variable)
|
|
||||||
.join(" ");
|
|
||||||
|
|
||||||
export default function MyApp({ Component, pageProps }) {
|
export default function MyApp({ Component, pageProps }) {
|
||||||
return (
|
return <Component {...pageProps} />;
|
||||||
<main className={allFontVars}>
|
|
||||||
<Component {...pageProps} />
|
|
||||||
</main>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,12 +9,14 @@ import {
|
|||||||
getPopularFonts,
|
getPopularFonts,
|
||||||
transformText,
|
transformText,
|
||||||
} from "@/components/fontTransforms";
|
} from "@/components/fontTransforms";
|
||||||
|
|
||||||
import MobileOptimizedHeader from "@/components/MobileOptimizedHeader";
|
import MobileOptimizedHeader from "@/components/MobileOptimizedHeader";
|
||||||
import EnhancedTextInput from "@/components/EnhancedTextInput";
|
import EnhancedTextInput from "@/components/EnhancedTextInput";
|
||||||
import ImprovedCategoryFilter from "@/components/ImprovedCategoryFilter";
|
import ImprovedCategoryFilter from "@/components/ImprovedCategoryFilter";
|
||||||
import PerformanceOptimizedFontCard from "@/components/PerformanceOptimizedFontCard";
|
import PerformanceOptimizedFontCard from "@/components/PerformanceOptimizedFontCard";
|
||||||
import InfoSection from "@/components/InfoSection";
|
import InfoSection from "@/components/InfoSection";
|
||||||
import SocialButtons from "@/components/SocialButtons";
|
import SocialButtons from "@/components/SocialButtons";
|
||||||
|
import FancyTextPreview from "@/components/FancyTextPreview";
|
||||||
import SEOHead from "@/components/SEOHead";
|
import SEOHead from "@/components/SEOHead";
|
||||||
|
|
||||||
if (typeof window !== "undefined") {
|
if (typeof window !== "undefined") {
|
||||||
@@ -28,6 +30,7 @@ export default function HomePage() {
|
|||||||
const [searchQuery, setSearchQuery] = useState("");
|
const [searchQuery, setSearchQuery] = useState("");
|
||||||
const [recentFonts, setRecentFonts] = useState([]);
|
const [recentFonts, setRecentFonts] = useState([]);
|
||||||
const [isMobile, setIsMobile] = useState(false);
|
const [isMobile, setIsMobile] = useState(false);
|
||||||
|
|
||||||
const [animationsEnabled, setAnimationsEnabled] = useState(() => {
|
const [animationsEnabled, setAnimationsEnabled] = useState(() => {
|
||||||
if (typeof window !== "undefined") {
|
if (typeof window !== "undefined") {
|
||||||
const hasReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
const hasReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
||||||
@@ -248,6 +251,7 @@ export default function HomePage() {
|
|||||||
</AnimatePresence>
|
</AnimatePresence>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
||||||
|
|
||||||
<SocialButtons onShare={handleQuickShare} />
|
<SocialButtons onShare={handleQuickShare} />
|
||||||
<InfoSection currentText={debouncedText} />
|
<InfoSection currentText={debouncedText} />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,659 +1,246 @@
|
|||||||
|
/* globals.css */
|
||||||
@tailwind base;
|
@tailwind base;
|
||||||
@tailwind components;
|
@tailwind components;
|
||||||
@import "./local-fonts.css";
|
|
||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
/* === Lokale Fonts via woff2 einbinden === */
|
/* === Font-Definitionen === */
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "AbrilFatface";
|
font-family: 'Anton';
|
||||||
src: url("/fonts/abril-fatface.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Alegreya";
|
|
||||||
src: url("/fonts/alegreya.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "AlfaSlabOne";
|
|
||||||
src: url("/fonts/alfa-slab-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Almendra";
|
|
||||||
src: url("/fonts/almendra.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "AmaticSc";
|
|
||||||
src: url("/fonts/amatic-sc.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Andika";
|
|
||||||
src: url("/fonts/andika.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "ArchitectsDaughter";
|
|
||||||
src: url("/fonts/architects-daughter.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Audiowide";
|
|
||||||
src: url("/fonts/audiowide.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "AveriaLibre";
|
|
||||||
src: url("/fonts/averia-libre.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "BebasNeue";
|
|
||||||
src: url("/fonts/bebas-neue.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "BlackOpsOne";
|
|
||||||
src: url("/fonts/black-ops-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Caveat";
|
|
||||||
src: url("/fonts/caveat.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "CinzelDecorative";
|
|
||||||
src: url("/fonts/cinzel-decorative.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Courgette";
|
|
||||||
src: url("/fonts/courgette.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "DancingScript";
|
|
||||||
src: url("/fonts/dancing-script.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Exo";
|
|
||||||
src: url("/fonts/exo.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "FjallaOne";
|
|
||||||
src: url("/fonts/fjalla-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "GermaniaOne";
|
|
||||||
src: url("/fonts/germania-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "GlassAntiqua";
|
|
||||||
src: url("/fonts/glass-antiqua.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "GloriaHallelujah";
|
|
||||||
src: url("/fonts/gloria-hallelujah.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "GreatVibes";
|
|
||||||
src: url("/fonts/great-vibes.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "HoltwoodOneSc";
|
|
||||||
src: url("/fonts/holtwood-one-sc.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "IndieFlower";
|
|
||||||
src: url("/fonts/indie-flower.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Italiana";
|
|
||||||
src: url("/fonts/italiana.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Jost";
|
|
||||||
src: url("/fonts/jost.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "KaushanScript";
|
|
||||||
src: url("/fonts/kaushan-script.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Lato";
|
|
||||||
src: url("/fonts/lato.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "MetalMania";
|
|
||||||
src: url("/fonts/metal-mania.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Montserrat";
|
|
||||||
src: url("/fonts/montserrat.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Neucha";
|
|
||||||
src: url("/fonts/neucha.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "NotoSans";
|
|
||||||
src: url("/fonts/noto-sans.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "OpenSans";
|
|
||||||
src: url("/fonts/open-sans.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Orbitron";
|
|
||||||
src: url("/fonts/orbitron.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Oswald";
|
|
||||||
src: url("/fonts/oswald.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Pacifico";
|
|
||||||
src: url("/fonts/pacifico.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "PermanentMarker";
|
|
||||||
src: url("/fonts/permanent-marker.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Philosopher";
|
|
||||||
src: url("/fonts/philosopher.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "PlayfairDisplay";
|
|
||||||
src: url("/fonts/playfair-display.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Poppins";
|
|
||||||
src: url("/fonts/poppins.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "PressStart2P";
|
|
||||||
src: url("/fonts/press-start-2p.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Questrial";
|
|
||||||
src: url("/fonts/questrial.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Quicksand";
|
|
||||||
src: url("/fonts/quicksand.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Rajdhani";
|
|
||||||
src: url("/fonts/rajdhani.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Raleway";
|
|
||||||
src: url("/fonts/raleway.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Righteous";
|
|
||||||
src: url("/fonts/righteous.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Roboto";
|
|
||||||
src: url("/fonts/roboto.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Sacramento";
|
|
||||||
src: url("/fonts/sacramento.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Satisfy";
|
|
||||||
src: url("/fonts/satisfy.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "SpaceMono";
|
|
||||||
src: url("/fonts/space-mono.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Spectral";
|
|
||||||
src: url("/fonts/spectral.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Staatliches";
|
|
||||||
src: url("/fonts/staatliches.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "StintUltraCondensed";
|
|
||||||
src: url("/fonts/stint-ultra-condensed.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Syncopate";
|
|
||||||
src: url("/fonts/syncopate.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Ultra";
|
|
||||||
src: url("/fonts/ultra.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "UnicaOne";
|
|
||||||
src: url("/fonts/unica-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "WorkSans";
|
|
||||||
src: url("/fonts/work-sans.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Yellowtail";
|
|
||||||
src: url("/fonts/yellowtail.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Vt323";
|
|
||||||
src: url("/fonts/vt323.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "FredokaOne";
|
|
||||||
src: url("/fonts/fredoka-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/anton/v26/1Ptgg87LROyAm3K8-C8QSw.woff2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Anton';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/anton/v26/1Ptgg87LROyAm3K9-C8QSw.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Anton';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/anton/v26/1Ptgg87LROyAm3Kz-C8.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Bebas Neue';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/bebasneue/v15/JTUSjIg69CK48gW7PXoo9Wdhyzbi.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Bebas Neue';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/bebasneue/v15/JTUSjIg69CK48gW7PXoo9Wlhyw.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Dancing Script';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/dancingscript/v28/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Rep8ltA.woff2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Dancing Script';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/dancingscript/v28/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3ROp8ltA.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Dancing Script';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/dancingscript/v28/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup8.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Montserrat';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Hw0aXpsog.woff2) format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Montserrat';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Hw9aXpsog.woff2) format('woff2');
|
||||||
|
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Montserrat';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Hw2aXpsog.woff2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Montserrat';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Hw3aXpsog.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Montserrat';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Hw5aXo.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Orbitron';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/orbitron/v34/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1nyGy6BoWgz.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Pacifico';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/pacifico/v22/FwZY7-Qmy14u9lezJ-6K6MmTpA.woff2) format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Pacifico';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/pacifico/v22/FwZY7-Qmy14u9lezJ-6D6MmTpA.woff2) format('woff2');
|
||||||
|
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Pacifico';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/pacifico/v22/FwZY7-Qmy14u9lezJ-6I6MmTpA.woff2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Pacifico';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/pacifico/v22/FwZY7-Qmy14u9lezJ-6J6MmTpA.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Pacifico';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/pacifico/v22/FwZY7-Qmy14u9lezJ-6H6Mk.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Playfair Display';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/playfairdisplay/v39/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDTbtPY_Q.woff2) format('woff2');
|
||||||
|
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Playfair Display';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/playfairdisplay/v39/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDYbtPY_Q.woff2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Playfair Display';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/playfairdisplay/v39/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDZbtPY_Q.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Playfair Display';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/playfairdisplay/v39/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/poppins/v23/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/poppins/v23/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: ur[](https://fonts.gstatic.com/s/poppins/v23/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* === Tailwind Utility-Klassen === */
|
||||||
@layer utilities {
|
@layer utilities {
|
||||||
.font-abril-fatface {
|
.font-anton {
|
||||||
font-family: "AbrilFatface", serif;
|
font-family: 'Anton', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-alegreya {
|
|
||||||
font-family: "Alegreya", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-alfa-slab-one {
|
|
||||||
font-family: "AlfaSlabOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-almendra {
|
|
||||||
font-family: "Almendra", serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-amatic-sc {
|
|
||||||
font-family: "AmaticSc", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-andika {
|
|
||||||
font-family: "Andika", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-architects-daughter {
|
|
||||||
font-family: "ArchitectsDaughter", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-audiowide {
|
|
||||||
font-family: "Audiowide", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-averia-libre {
|
|
||||||
font-family: "AveriaLibre", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-bebas-neue {
|
.font-bebas-neue {
|
||||||
font-family: "BebasNeue", sans-serif;
|
font-family: 'Bebas Neue', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-black-ops-one {
|
|
||||||
font-family: "BlackOpsOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-caveat {
|
|
||||||
font-family: "Caveat", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-cinzel-decorative {
|
|
||||||
font-family: "CinzelDecorative", serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-courgette {
|
|
||||||
font-family: "Courgette", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-dancing-script {
|
.font-dancing-script {
|
||||||
font-family: "DancingScript", cursive;
|
font-family: 'Dancing Script', cursive;
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-exo {
|
|
||||||
font-family: "Exo", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-fjalla-one {
|
|
||||||
font-family: "FjallaOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-germania-one {
|
|
||||||
font-family: "GermaniaOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-glass-antiqua {
|
|
||||||
font-family: "GlassAntiqua", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-gloria-hallelujah {
|
|
||||||
font-family: "GloriaHallelujah", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-great-vibes {
|
|
||||||
font-family: "GreatVibes", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-holtwood-one-sc {
|
|
||||||
font-family: "HoltwoodOneSc", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-indie-flower {
|
|
||||||
font-family: "IndieFlower", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-italiana {
|
|
||||||
font-family: "Italiana", serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-jost {
|
|
||||||
font-family: "Jost", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-kaushan-script {
|
|
||||||
font-family: "KaushanScript", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-lato {
|
|
||||||
font-family: "Lato", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-metal-mania {
|
|
||||||
font-family: "MetalMania", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-montserrat {
|
.font-montserrat {
|
||||||
font-family: "Montserrat", sans-serif;
|
font-family: 'Montserrat', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-neucha {
|
|
||||||
font-family: "Neucha", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-noto-sans {
|
|
||||||
font-family: "NotoSans", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-open-sans {
|
|
||||||
font-family: "OpenSans", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-orbitron {
|
.font-orbitron {
|
||||||
font-family: "Orbitron", sans-serif;
|
font-family: 'Orbitron', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-oswald {
|
|
||||||
font-family: "Oswald", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-pacifico {
|
.font-pacifico {
|
||||||
font-family: "Pacifico", cursive;
|
font-family: 'Pacifico', cursive;
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-permanent-marker {
|
|
||||||
font-family: "PermanentMarker", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-philosopher {
|
|
||||||
font-family: "Philosopher", serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-playfair-display {
|
.font-playfair-display {
|
||||||
font-family: "PlayfairDisplay", serif;
|
font-family: 'Playfair Display', serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.font-poppins {
|
.font-poppins {
|
||||||
font-family: "Poppins", sans-serif;
|
font-family: 'Poppins', sans-serif;
|
||||||
}
|
|
||||||
|
|
||||||
.font-press-start-2p {
|
|
||||||
font-family: "PressStart2P", monospace;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-questrial {
|
|
||||||
font-family: "Questrial", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-quicksand {
|
|
||||||
font-family: "Quicksand", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-rajdhani {
|
|
||||||
font-family: "Rajdhani", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-raleway {
|
|
||||||
font-family: "Raleway", serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-righteous {
|
|
||||||
font-family: "Righteous", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-roboto {
|
|
||||||
font-family: "Roboto", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-sacramento {
|
|
||||||
font-family: "Sacramento", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-satisfy {
|
|
||||||
font-family: "Satisfy", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-space-mono {
|
|
||||||
font-family: "SpaceMono", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-spectral {
|
|
||||||
font-family: "Spectral", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-staatliches {
|
|
||||||
font-family: "Staatliches", serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-stint-ultra-condensed {
|
|
||||||
font-family: "StintUltraCondensed", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-syncopate {
|
|
||||||
font-family: "Syncopate", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-ultra {
|
|
||||||
font-family: "Ultra", serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-unica-one {
|
|
||||||
font-family: "UnicaOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-work-sans {
|
|
||||||
font-family: "WorkSans", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-yellowtail {
|
|
||||||
font-family: "Yellowtail", cursive;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-vt323 {
|
|
||||||
font-family: "Vt323", monospace;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-fredoka-one {
|
|
||||||
font-family: "FredokaOne", sans-serif;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Komponenten */
|
/* Komponenten */
|
||||||
@layer components {
|
@layer components {
|
||||||
.text-shadow-lg {
|
.text-shadow-lg {
|
||||||
|
|||||||
@@ -1,628 +0,0 @@
|
|||||||
@font-face {
|
|
||||||
font-family: "AbrilFatface";
|
|
||||||
src: url("/fonts/abril-fatface.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Alegreya";
|
|
||||||
src: url("/fonts/alegreya.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "AlfaSlabOne";
|
|
||||||
src: url("/fonts/alfa-slab-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Almendra";
|
|
||||||
src: url("/fonts/almendra.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "AmaticSc";
|
|
||||||
src: url("/fonts/amatic-sc.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Andika";
|
|
||||||
src: url("/fonts/andika.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "ArchitectsDaughter";
|
|
||||||
src: url("/fonts/architects-daughter.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Audiowide";
|
|
||||||
src: url("/fonts/audiowide.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "AveriaLibre";
|
|
||||||
src: url("/fonts/averia-libre.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "BebasNeue";
|
|
||||||
src: url("/fonts/bebas-neue.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "BlackOpsOne";
|
|
||||||
src: url("/fonts/black-ops-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Caveat";
|
|
||||||
src: url("/fonts/caveat.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "CinzelDecorative";
|
|
||||||
src: url("/fonts/cinzel-decorative.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Courgette";
|
|
||||||
src: url("/fonts/courgette.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "DancingScript";
|
|
||||||
src: url("/fonts/dancing-script.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Exo";
|
|
||||||
src: url("/fonts/exo.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "FjallaOne";
|
|
||||||
src: url("/fonts/fjalla-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "GermaniaOne";
|
|
||||||
src: url("/fonts/germania-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "GlassAntiqua";
|
|
||||||
src: url("/fonts/glass-antiqua.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "GloriaHallelujah";
|
|
||||||
src: url("/fonts/gloria-hallelujah.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "GreatVibes";
|
|
||||||
src: url("/fonts/great-vibes.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "HoltwoodOneSc";
|
|
||||||
src: url("/fonts/holtwood-one-sc.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "IndieFlower";
|
|
||||||
src: url("/fonts/indie-flower.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Italiana";
|
|
||||||
src: url("/fonts/italiana.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Jost";
|
|
||||||
src: url("/fonts/jost.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "KaushanScript";
|
|
||||||
src: url("/fonts/kaushan-script.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Lato";
|
|
||||||
src: url("/fonts/lato.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "MetalMania";
|
|
||||||
src: url("/fonts/metal-mania.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Montserrat";
|
|
||||||
src: url("/fonts/montserrat.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Neucha";
|
|
||||||
src: url("/fonts/neucha.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "NotoSans";
|
|
||||||
src: url("/fonts/noto-sans.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "OpenSans";
|
|
||||||
src: url("/fonts/open-sans.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Orbitron";
|
|
||||||
src: url("/fonts/orbitron.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Oswald";
|
|
||||||
src: url("/fonts/oswald.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Pacifico";
|
|
||||||
src: url("/fonts/pacifico.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "PermanentMarker";
|
|
||||||
src: url("/fonts/permanent-marker.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Philosopher";
|
|
||||||
src: url("/fonts/philosopher.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "PlayfairDisplay";
|
|
||||||
src: url("/fonts/playfair-display.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Poppins";
|
|
||||||
src: url("/fonts/poppins.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "PressStart2P";
|
|
||||||
src: url("/fonts/press-start-2p.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Questrial";
|
|
||||||
src: url("/fonts/questrial.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Quicksand";
|
|
||||||
src: url("/fonts/quicksand.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Rajdhani";
|
|
||||||
src: url("/fonts/rajdhani.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Raleway";
|
|
||||||
src: url("/fonts/raleway.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Righteous";
|
|
||||||
src: url("/fonts/righteous.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Roboto";
|
|
||||||
src: url("/fonts/roboto.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Sacramento";
|
|
||||||
src: url("/fonts/sacramento.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Satisfy";
|
|
||||||
src: url("/fonts/satisfy.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "SpaceMono";
|
|
||||||
src: url("/fonts/space-mono.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Spectral";
|
|
||||||
src: url("/fonts/spectral.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Staatliches";
|
|
||||||
src: url("/fonts/staatliches.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "StintUltraCondensed";
|
|
||||||
src: url("/fonts/stint-ultra-condensed.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Syncopate";
|
|
||||||
src: url("/fonts/syncopate.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Ultra";
|
|
||||||
src: url("/fonts/ultra.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "UnicaOne";
|
|
||||||
src: url("/fonts/unica-one.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "WorkSans";
|
|
||||||
src: url("/fonts/work-sans.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: "Yellowtail";
|
|
||||||
src: url("/fonts/yellowtail.woff2") format("woff2");
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@layer utilities {
|
|
||||||
.font-abril-fatface {
|
|
||||||
font-family: "AbrilFatface", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-alegreya {
|
|
||||||
font-family: "Alegreya", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-alfa-slab-one {
|
|
||||||
font-family: "AlfaSlabOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-almendra {
|
|
||||||
font-family: "Almendra", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-amatic-sc {
|
|
||||||
font-family: "AmaticSc", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-andika {
|
|
||||||
font-family: "Andika", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-architects-daughter {
|
|
||||||
font-family: "ArchitectsDaughter", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-audiowide {
|
|
||||||
font-family: "Audiowide", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-averia-libre {
|
|
||||||
font-family: "AveriaLibre", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-bebas-neue {
|
|
||||||
font-family: "BebasNeue", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-black-ops-one {
|
|
||||||
font-family: "BlackOpsOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-caveat {
|
|
||||||
font-family: "Caveat", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-cinzel-decorative {
|
|
||||||
font-family: "CinzelDecorative", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-courgette {
|
|
||||||
font-family: "Courgette", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-dancing-script {
|
|
||||||
font-family: "DancingScript", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-exo {
|
|
||||||
font-family: "Exo", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-fjalla-one {
|
|
||||||
font-family: "FjallaOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-germania-one {
|
|
||||||
font-family: "GermaniaOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-glass-antiqua {
|
|
||||||
font-family: "GlassAntiqua", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-gloria-hallelujah {
|
|
||||||
font-family: "GloriaHallelujah", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-great-vibes {
|
|
||||||
font-family: "GreatVibes", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-holtwood-one-sc {
|
|
||||||
font-family: "HoltwoodOneSc", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-indie-flower {
|
|
||||||
font-family: "IndieFlower", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-italiana {
|
|
||||||
font-family: "Italiana", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-jost {
|
|
||||||
font-family: "Jost", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-kaushan-script {
|
|
||||||
font-family: "KaushanScript", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-lato {
|
|
||||||
font-family: "Lato", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-metal-mania {
|
|
||||||
font-family: "MetalMania", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-montserrat {
|
|
||||||
font-family: "Montserrat", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-neucha {
|
|
||||||
font-family: "Neucha", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-noto-sans {
|
|
||||||
font-family: "NotoSans", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-open-sans {
|
|
||||||
font-family: "OpenSans", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-orbitron {
|
|
||||||
font-family: "Orbitron", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-oswald {
|
|
||||||
font-family: "Oswald", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-pacifico {
|
|
||||||
font-family: "Pacifico", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-permanent-marker {
|
|
||||||
font-family: "PermanentMarker", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-philosopher {
|
|
||||||
font-family: "Philosopher", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-playfair-display {
|
|
||||||
font-family: "PlayfairDisplay", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-poppins {
|
|
||||||
font-family: "Poppins", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-press-start-2p {
|
|
||||||
font-family: "PressStart2P", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-questrial {
|
|
||||||
font-family: "Questrial", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-quicksand {
|
|
||||||
font-family: "Quicksand", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-rajdhani {
|
|
||||||
font-family: "Rajdhani", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-raleway {
|
|
||||||
font-family: "Raleway", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-righteous {
|
|
||||||
font-family: "Righteous", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-roboto {
|
|
||||||
font-family: "Roboto", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-sacramento {
|
|
||||||
font-family: "Sacramento", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-satisfy {
|
|
||||||
font-family: "Satisfy", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-space-mono {
|
|
||||||
font-family: "SpaceMono", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-spectral {
|
|
||||||
font-family: "Spectral", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-staatliches {
|
|
||||||
font-family: "Staatliches", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-stint-ultra-condensed {
|
|
||||||
font-family: "StintUltraCondensed", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-syncopate {
|
|
||||||
font-family: "Syncopate", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-ultra {
|
|
||||||
font-family: "Ultra", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-unica-one {
|
|
||||||
font-family: "UnicaOne", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-work-sans {
|
|
||||||
font-family: "WorkSans", sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-yellowtail {
|
|
||||||
font-family: "Yellowtail", sans-serif;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -9,79 +9,21 @@ module.exports = {
|
|||||||
theme: {
|
theme: {
|
||||||
extend: {
|
extend: {
|
||||||
fontFamily: {
|
fontFamily: {
|
||||||
// MODERN
|
'anton': ['"Anton"', 'sans-serif'],
|
||||||
montserrat: ["'Montserrat'", "sans-serif"],
|
'bebas-neue': ['"Bebas Neue"', 'sans-serif'],
|
||||||
lato: ["'Lato'", "sans-serif"],
|
'dancing-script': ['"Dancing Script"', 'cursive'],
|
||||||
raleway: ["'Raleway'", "sans-serif"],
|
'montserrat': ['"Montserrat"', 'sans-serif'],
|
||||||
poppins: ["'Poppins'", "sans-serif"],
|
'orbitron': ['"Orbitron"', 'sans-serif'],
|
||||||
"open-sans": ["'Open Sans'", "sans-serif"],
|
'pacifico': ['"Pacifico"', 'cursive'],
|
||||||
roboto: ["'Roboto'", "sans-serif"],
|
'playfair-display': ['"Playfair Display"', 'serif'],
|
||||||
"work-sans": ["'Work Sans'", "sans-serif"],
|
'poppins': ['"Poppins"', 'sans-serif'],
|
||||||
"noto-sans": ["'Noto Sans'", "sans-serif"],
|
|
||||||
jost: ["'Jost'", "sans-serif"],
|
|
||||||
quicksand: ["'Quicksand'", "sans-serif"],
|
|
||||||
"averia-libre": ["'Averia Libre'", "cursive"],
|
|
||||||
philosopher: ["'Philosopher'", "sans-serif"],
|
|
||||||
|
|
||||||
// HANDWRITING
|
|
||||||
pacifico: ["'Pacifico'", "cursive"],
|
|
||||||
sacramento: ["'Sacramento'", "cursive"],
|
|
||||||
caveat: ["'Caveat'", "cursive"],
|
|
||||||
"dancing-script": ["'Dancing Script'", "cursive"],
|
|
||||||
"indie-flower": ["'Indie Flower'", "cursive"],
|
|
||||||
"amatic-sc": ["'Amatic SC'", "cursive"],
|
|
||||||
"kaushan-script": ["'Kaushan Script'", "cursive"],
|
|
||||||
"architects-daughter": ["'Architects Daughter'", "cursive"],
|
|
||||||
neucha: ["'Neucha'", "cursive"],
|
|
||||||
"great-vibes": ["'Great Vibes'", "cursive"],
|
|
||||||
satisfy: ["'Satisfy'", "cursive"],
|
|
||||||
yellowtail: ["'Yellowtail'", "cursive"],
|
|
||||||
"gloria-hallelujah": ["'Gloria Hallelujah'", "cursive"],
|
|
||||||
|
|
||||||
// STATEMENT
|
|
||||||
oswald: ["'Oswald'", "sans-serif"],
|
|
||||||
"bebas-neue": ["'Bebas Neue'", "sans-serif"],
|
|
||||||
ultra: ["'Ultra'", "serif"],
|
|
||||||
"stint-ultra-condensed": ["'Stint Ultra Condensed'", "sans-serif"],
|
|
||||||
"playfair-display": ["'Playfair Display'", "serif"],
|
|
||||||
"abril-fatface": ["'Abril Fatface'", "serif"],
|
|
||||||
"permanent-marker": ["'Permanent Marker'", "cursive"],
|
|
||||||
"alfa-slab-one": ["'Alfa Slab One'", "serif"],
|
|
||||||
"black-ops-one": ["'Black Ops One'", "sans-serif"],
|
|
||||||
"germania-one": ["'Germania One'", "serif"],
|
|
||||||
"holtwood-one-sc": ["'Holtwood One SC'", "serif"],
|
|
||||||
courgette: ["'Courgette'", "cursive"],
|
|
||||||
|
|
||||||
// FUTURISTIC
|
|
||||||
exo: ["'Exo'", "sans-serif"],
|
|
||||||
orbitron: ["'Orbitron'", "sans-serif"],
|
|
||||||
audiowide: ["'Audiowide'", "sans-serif"],
|
|
||||||
rajdhani: ["'Rajdhani'", "sans-serif"],
|
|
||||||
"space-mono": ["'Space Mono'", "monospace"],
|
|
||||||
questrial: ["'Questrial'", "sans-serif"],
|
|
||||||
syncopate: ["'Syncopate'", "sans-serif"],
|
|
||||||
"unica-one": ["'Unica One'", "sans-serif"],
|
|
||||||
italiana: ["'Italiana'", "serif"],
|
|
||||||
staatliches: ["'Staatliches'", "serif"],
|
|
||||||
|
|
||||||
// AESTHETIC
|
|
||||||
"press-start-2p": ["'Press Start 2P'", "monospace"],
|
|
||||||
righteous: ["'Righteous'", "sans-serif"],
|
|
||||||
"metal-mania": ["'Metal Mania'", "cursive"],
|
|
||||||
alegreya: ["'Alegreya'", "serif"],
|
|
||||||
spectral: ["'Spectral'", "serif"],
|
|
||||||
"fjalla-one": ["'Fjalla One'", "sans-serif"],
|
|
||||||
"glass-antiqua": ["'Glass Antiqua'", "cursive"],
|
|
||||||
"cinzel-decorative": ["'Cinzel Decorative'", "serif"],
|
|
||||||
andika: ["'Andika'", "sans-serif"],
|
|
||||||
almendra: ["'Almendra'", "serif"],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
plugins: [],
|
plugins: [],
|
||||||
safelist: [
|
safelist: [
|
||||||
{
|
{
|
||||||
pattern: /^font-/,
|
pattern: /^font-(anton|bebas-neue|dancing-script|montserrat|orbitron|pacifico|playfair-display|poppins)$/,
|
||||||
variants: ["sm", "md", "lg", "xl"],
|
variants: ["sm", "md", "lg", "xl"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
import tailwindFonts from "./lib/tailwind-font-map.js"; // ← **ASCII‑Minus wichtig!**
|
|
||||||
|
|
||||||
/** @type {import('tailwindcss').Config} */
|
|
||||||
export default {
|
|
||||||
content: [
|
|
||||||
"./pages/**/*.{js,jsx,ts,tsx}",
|
|
||||||
"./components/**/*.{js,jsx,ts,tsx}",
|
|
||||||
"./entities/**/*.{js,jsx,ts,tsx}",
|
|
||||||
".flowbite-react/class-list.json",
|
|
||||||
],
|
|
||||||
theme: {
|
|
||||||
extend: {
|
|
||||||
fontFamily: {
|
|
||||||
// Dynamische Zuordnung: z. B. roboto: ['var(--font-roboto)']
|
|
||||||
...Object.fromEntries(
|
|
||||||
Object.entries(tailwindFonts).map(([key, cssVar]) => [
|
|
||||||
key,
|
|
||||||
[`var(${cssVar})`],
|
|
||||||
])
|
|
||||||
),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
plugins: [],
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user