This commit implements the core admin dashboard functionality including NextAuth authentication, Cloudflare D1 database integration with complete schema, and Cloudflare R2 file upload system for portfolio images. Features include artist management, appointment scheduling, and data migration capabilities.
37 lines
986 B
JavaScript
37 lines
986 B
JavaScript
// This utility is based on https://github.com/zertosh/htmlescape
|
|
// License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
ESCAPE_REGEX: null,
|
|
htmlEscapeJsonString: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
ESCAPE_REGEX: function() {
|
|
return ESCAPE_REGEX;
|
|
},
|
|
htmlEscapeJsonString: function() {
|
|
return htmlEscapeJsonString;
|
|
}
|
|
});
|
|
const ESCAPE_LOOKUP = {
|
|
"&": "\\u0026",
|
|
">": "\\u003e",
|
|
"<": "\\u003c",
|
|
"\u2028": "\\u2028",
|
|
"\u2029": "\\u2029"
|
|
};
|
|
const ESCAPE_REGEX = /[&><\u2028\u2029]/g;
|
|
function htmlEscapeJsonString(str) {
|
|
return str.replace(ESCAPE_REGEX, (match)=>ESCAPE_LOOKUP[match]);
|
|
}
|
|
|
|
//# sourceMappingURL=htmlescape.js.map
|