afront 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-prod/index.html +1 -1
- package/build-prod/offline.html +1024 -0
- package/build-prod/service-worker.js +1 -0
- package/build-prod/static/css/main-b7c0f6b3ea505263e9a2.css +1 -0
- package/build-prod/static/js/3-b7f6c4256e55d2c173ac.js +1 -0
- package/build-prod/static/js/41-d729186c867a4a7f5f49.js +1 -0
- package/build-prod/static/js/525-506bbc7da1b98d130181.js +1 -0
- package/build-prod/static/js/573-8fcda455788ea4aa45cd.js +1 -0
- package/build-prod/static/js/99-ccf46a26c15904ecb674.js +1 -0
- package/build-prod/static/js/main-34c866ebbc6fbc291b85.js +1 -0
- package/build-prod-ssr/3.ssr.prod.js +1 -1
- package/build-prod-ssr/41.ssr.prod.js +1 -1
- package/build-prod-ssr/525.ssr.prod.js +1 -0
- package/build-prod-ssr/573.ssr.prod.js +1 -1
- package/build-prod-ssr/ssr.prod.js +1 -1
- package/build-prod-ssr/static/css/main-b7c0f6b3ea505263e9a2.css +1 -0
- package/build-prod-static/index.html +1 -1
- package/build-prod-static/offline.html +1024 -0
- package/build-prod-static/service-worker.js +1 -0
- package/build-prod-static/static/css/main-b7c0f6b3ea505263e9a2.css +1 -0
- package/build-prod-static/static/js/23-c9124d3cac34021e3406.js +1 -0
- package/build-prod-static/static/js/303-0d29064b1a912a7441ef.js +1 -0
- package/build-prod-static/static/js/636-adf7ca5d4e262a755df3.js +1 -0
- package/build-prod-static/static/js/863-2c35feb0663baeecb6f8.js +1 -0
- package/build-prod-static/static/js/main-02c8c189d5bec6c0a7f1.js +1 -0
- package/install.js +190 -20
- package/package.json +5 -4
- package/server.js +9 -0
- package/src/ARoutes/AFRoutes.js +22 -5
- package/src/Api/api.config.js +266 -0
- package/src/Api/login.service.js +44 -0
- package/src/App.js +10 -9
- package/src/Components/Loading/LoadingIndicator.js +12 -0
- package/src/Components/Loading/LoadingIndicator.module.css +34 -0
- package/src/Components/Loading/LoadingSpinner.js +27 -0
- package/src/Components/Loading/LoadingSpinner.module.css +100 -0
- package/src/Components/RequireAuth.js +30 -0
- package/src/PageNotFound.js +1 -1
- package/src/Pages/Signup.js +230 -0
- package/src/Routes/ARoutes.js +47 -6
- package/src/Routes/ARoutesStatic.js +83 -0
- package/src/Static/appStatic.js +10 -20
- package/src/Static/indexStatic.js +3 -0
- package/src/Utils/LoadingContext.js +5 -0
- package/src/index.js +0 -4
- package/webpack.build-prod.js +17 -4
- package/webpack.dev.js +19 -1
- package/webpack.prod.js +15 -6
- package/webpack.ssr.prod.js +4 -0
- package/build-prod/static/css/main-7f7c4e72ce002df48179.css +0 -1
- package/build-prod/static/js/3-985f8801e97b3b2025e2.js +0 -1
- package/build-prod/static/js/41-a66fae84fd39cfb1e349.js +0 -1
- package/build-prod/static/js/573-f7791eb491c75b0ccfb7.js +0 -1
- package/build-prod/static/js/main-1cbe42ef1eb3d942625c.js +0 -1
- package/build-prod-ssr/static/css/main-7f7c4e72ce002df48179.css +0 -1
- package/build-prod-static/static/css/main-7f7c4e72ce002df48179.css +0 -1
- package/build-prod-static/static/js/23-9e69ffb20f982ca1ba75.js +0 -1
- package/build-prod-static/static/js/303-1b6136e5efb4925c5f98.js +0 -1
- package/build-prod-static/static/js/636-7f7bf68f9765bc200b86.js +0 -1
- package/build-prod-static/static/js/main-6c6f40c44813930620ed.js +0 -1
package/src/index.js
CHANGED
|
@@ -12,18 +12,14 @@ if (process.env.NODE_ENV === "production") {
|
|
|
12
12
|
// Use `hydrateRoot` for production
|
|
13
13
|
hydrateRoot(
|
|
14
14
|
container,
|
|
15
|
-
<React.StrictMode>
|
|
16
15
|
<BrowserRouter>
|
|
17
16
|
<App />
|
|
18
17
|
</BrowserRouter>
|
|
19
|
-
</React.StrictMode>
|
|
20
18
|
);
|
|
21
19
|
} else {
|
|
22
20
|
root.render(
|
|
23
|
-
<React.StrictMode>
|
|
24
21
|
<BrowserRouter>
|
|
25
22
|
<App />
|
|
26
23
|
</BrowserRouter>
|
|
27
|
-
</React.StrictMode>
|
|
28
24
|
);
|
|
29
25
|
}
|
package/webpack.build-prod.js
CHANGED
|
@@ -13,6 +13,7 @@ module.exports = {
|
|
|
13
13
|
output: {
|
|
14
14
|
filename: "static/js/[name]-[contenthash].js",
|
|
15
15
|
path: path.resolve(__dirname, "build-prod-static"),
|
|
16
|
+
publicPath: "/",
|
|
16
17
|
clean: true,
|
|
17
18
|
},
|
|
18
19
|
module: {
|
|
@@ -39,6 +40,7 @@ module.exports = {
|
|
|
39
40
|
modules: {
|
|
40
41
|
localIdentName: "asggen-[hash:base64:7]",
|
|
41
42
|
},
|
|
43
|
+
sourceMap: true,
|
|
42
44
|
},
|
|
43
45
|
},
|
|
44
46
|
],
|
|
@@ -70,6 +72,9 @@ module.exports = {
|
|
|
70
72
|
minimizer: [
|
|
71
73
|
new TerserWebpackPlugin({
|
|
72
74
|
terserOptions: {
|
|
75
|
+
compress: {
|
|
76
|
+
drop_console: false,
|
|
77
|
+
},
|
|
73
78
|
format: {
|
|
74
79
|
comments: false, // Remove all comments
|
|
75
80
|
},
|
|
@@ -85,15 +90,21 @@ module.exports = {
|
|
|
85
90
|
template: "./dev/index.html",
|
|
86
91
|
buildTag: `prod-[contenthash]`,
|
|
87
92
|
hash: true,
|
|
93
|
+
minify: {
|
|
94
|
+
removeComments: true,
|
|
95
|
+
collapseWhitespace: true,
|
|
96
|
+
minifyCSS: true,
|
|
97
|
+
minifyJS: true,
|
|
98
|
+
},
|
|
88
99
|
templateParameters: (compilation, options) => {
|
|
89
|
-
const hash = crypto.createHash("
|
|
100
|
+
const hash = crypto.createHash("sha256");
|
|
90
101
|
hash.update(compilation.hash);
|
|
91
|
-
const
|
|
102
|
+
const sha256Hash = hash.digest("hex");
|
|
92
103
|
return {
|
|
93
104
|
htmlWebpackPlugin: {
|
|
94
105
|
options: {
|
|
95
106
|
title: "AFront",
|
|
96
|
-
buildTag: `prod-${
|
|
107
|
+
buildTag: `prod-${sha256Hash}`,
|
|
97
108
|
},
|
|
98
109
|
},
|
|
99
110
|
};
|
|
@@ -110,7 +121,9 @@ module.exports = {
|
|
|
110
121
|
{ from: "dev/manifest.json", to: "manifest.json" }, // Copy manifest
|
|
111
122
|
{ from: "dev/style.css", to: "style.css" },
|
|
112
123
|
{ from: "dev/robots.txt", to: "robots.txt" },
|
|
124
|
+
{ from: "dev/service-worker.js", to: "service-worker.js" },
|
|
125
|
+
{ from: "dev/offline.html", to: "offline.html" },
|
|
113
126
|
],
|
|
114
127
|
}),
|
|
115
128
|
],
|
|
116
|
-
};
|
|
129
|
+
};
|
package/webpack.dev.js
CHANGED
|
@@ -3,10 +3,12 @@ const path = require("path");
|
|
|
3
3
|
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
4
4
|
const TerserWebpackPlugin = require("terser-webpack-plugin");
|
|
5
5
|
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
|
|
6
|
+
const crypto = require("crypto");
|
|
6
7
|
|
|
7
8
|
module.exports = {
|
|
8
9
|
mode: "development",
|
|
9
10
|
entry: "./src/index.js",
|
|
11
|
+
devtool: "cheap-module-source-map",
|
|
10
12
|
devServer: {
|
|
11
13
|
static: {
|
|
12
14
|
directory: path.join(__dirname, "dev"),
|
|
@@ -18,6 +20,7 @@ module.exports = {
|
|
|
18
20
|
output: {
|
|
19
21
|
filename: "[name].bundle.js",
|
|
20
22
|
path: `${__dirname}/dev`,
|
|
23
|
+
publicPath: "/",
|
|
21
24
|
clean: true,
|
|
22
25
|
},
|
|
23
26
|
module: {
|
|
@@ -89,6 +92,21 @@ module.exports = {
|
|
|
89
92
|
new htmlWebpackPlugin({
|
|
90
93
|
title: "AFront",
|
|
91
94
|
template: `${__dirname}/dev/index.html`,
|
|
95
|
+
filename: "index.html",
|
|
96
|
+
hash: true, // This will add the hash in the injected scripts
|
|
97
|
+
templateParameters: (compilation) => {
|
|
98
|
+
const hash = crypto.createHash("sha256");
|
|
99
|
+
hash.update(compilation.hash);
|
|
100
|
+
const sha256Hash = hash.digest("hex");
|
|
101
|
+
return {
|
|
102
|
+
htmlWebpackPlugin: {
|
|
103
|
+
options: {
|
|
104
|
+
title: "AFront",
|
|
105
|
+
buildTag: `dev-${sha256Hash}`, // Set the build tag with the hash for dev
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
},
|
|
92
110
|
}),
|
|
93
111
|
],
|
|
94
|
-
};
|
|
112
|
+
};
|
package/webpack.prod.js
CHANGED
|
@@ -12,6 +12,7 @@ module.exports = {
|
|
|
12
12
|
output: {
|
|
13
13
|
filename: "static/js/[name]-[contenthash].js",
|
|
14
14
|
path: path.resolve(__dirname, "build-prod"),
|
|
15
|
+
publicPath: "/",
|
|
15
16
|
clean: true,
|
|
16
17
|
},
|
|
17
18
|
module: {
|
|
@@ -72,6 +73,9 @@ module.exports = {
|
|
|
72
73
|
minimizer: [
|
|
73
74
|
new TerserWebpackPlugin({
|
|
74
75
|
terserOptions: {
|
|
76
|
+
compress: {
|
|
77
|
+
drop_console: false,
|
|
78
|
+
},
|
|
75
79
|
format: {
|
|
76
80
|
comments: false,
|
|
77
81
|
},
|
|
@@ -80,6 +84,9 @@ module.exports = {
|
|
|
80
84
|
}),
|
|
81
85
|
new CssMinimizerPlugin(),
|
|
82
86
|
],
|
|
87
|
+
splitChunks: {
|
|
88
|
+
chunks: "all", // Automatically split vendor and app code
|
|
89
|
+
},
|
|
83
90
|
},
|
|
84
91
|
plugins: [
|
|
85
92
|
new HtmlWebpackPlugin({
|
|
@@ -90,16 +97,18 @@ module.exports = {
|
|
|
90
97
|
minify: {
|
|
91
98
|
removeComments: true,
|
|
92
99
|
collapseWhitespace: true,
|
|
100
|
+
minifyCSS: true,
|
|
101
|
+
minifyJS: true,
|
|
93
102
|
},
|
|
94
103
|
templateParameters: (compilation) => {
|
|
95
|
-
const hash = crypto.createHash("
|
|
104
|
+
const hash = crypto.createHash("sha256");
|
|
96
105
|
hash.update(compilation.hash);
|
|
97
|
-
const
|
|
106
|
+
const sha256Hash = hash.digest("hex");
|
|
98
107
|
return {
|
|
99
108
|
htmlWebpackPlugin: {
|
|
100
109
|
options: {
|
|
101
110
|
title: "AFront",
|
|
102
|
-
buildTag: `prod-${
|
|
111
|
+
buildTag: `prod-${sha256Hash}`,
|
|
103
112
|
},
|
|
104
113
|
},
|
|
105
114
|
};
|
|
@@ -116,12 +125,12 @@ module.exports = {
|
|
|
116
125
|
{ from: "dev/manifest.json", to: "manifest.json" },
|
|
117
126
|
{ from: "dev/style.css", to: "style.css" },
|
|
118
127
|
{ from: "dev/robots.txt", to: "robots.txt" },
|
|
128
|
+
{ from: "dev/service-worker.js", to: "service-worker.js" },
|
|
129
|
+
{ from: "dev/offline.html", to: "offline.html" },
|
|
119
130
|
],
|
|
120
131
|
}),
|
|
121
132
|
],
|
|
122
133
|
performance: {
|
|
123
134
|
hints: "warning",
|
|
124
|
-
maxEntrypointSize: 400000,
|
|
125
|
-
maxAssetSize: 400000,
|
|
126
135
|
},
|
|
127
|
-
};
|
|
136
|
+
};
|
package/webpack.ssr.prod.js
CHANGED
|
@@ -10,6 +10,7 @@ module.exports = {
|
|
|
10
10
|
output: {
|
|
11
11
|
path: path.resolve(__dirname, "build-prod-ssr"),
|
|
12
12
|
filename: "ssr.prod.js",
|
|
13
|
+
publicPath: "/",
|
|
13
14
|
clean: true,
|
|
14
15
|
libraryTarget: "commonjs2",
|
|
15
16
|
},
|
|
@@ -72,6 +73,9 @@ module.exports = {
|
|
|
72
73
|
minimizer: [
|
|
73
74
|
new TerserWebpackPlugin({
|
|
74
75
|
terserOptions: {
|
|
76
|
+
compress: {
|
|
77
|
+
drop_console: false,
|
|
78
|
+
},
|
|
75
79
|
format: {
|
|
76
80
|
comments: false,
|
|
77
81
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@import url(https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap);.asggen-khZCOtF{align-items:center;display:flex;height:100vh;justify-content:center}.asggen-DnF_4DH{height:auto;width:150px}:root{--light:#fff;--dark:#000;--color-white-100:#fff;--color-white-200:#e4e6e7;--color-white-300:#c9cccf;--color-white-400:#a1a6aa;--color-white-500:#798086;--color-black-100:#14191f;--color-black-200:#101419;--color-black-300:#0c0f13;--color-black-400:#0c0f13;--color-black-500:#080a0c;--color-black-600:#060709;--color-black-700:#040506;--color-black-800:#020303;--color-blue-100:#dcebfe;--color-blue-200:#bedbfe;--color-blue-300:#91c3fd;--color-blue-400:#61a6fa;--color-blue-500:#3c83f6;--color-blue-600:#2463eb;--color-blue-700:#1d4fd7;--color-blue-800:#1e3fae;--color-blue-900:#1e3b8a;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 16px 32px -16px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.1);--base__color-2__rgb:32,32,32;--shadow-small:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-medium:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-large:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}*,:after,:before{box-sizing:border-box;list-style:none;list-style-type:none;margin:0;padding:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html{box-sizing:inherit;font-size:100%;scroll-behavior:smooth}body,html{height:-webkit-fill-available}body{font-family:Rubik,sans-serif;font-size:clamp(1rem,2vw,1.125rem);font-weight:400;line-height:1.5;min-width:320px}main{overflow:hidden}a,button{background:none;border:none;box-shadow:none;cursor:pointer;outline:none;text-decoration:none;user-select:none}a{color:var(--color-black-400)}img,video{display:block;height:auto;max-width:100%;object-fit:cover}.asggen-vCnhqcW{margin:0 auto;padding:6rem 0 8rem}.asggen-yYmSvug{height:auto;margin:0 auto;max-width:75rem}.asggen-k7ux6uU{margin-bottom:1rem;text-align:center;vertical-align:middle}.asggen-GSXjAs2{font-size:clamp(2.648rem,6vw,4.241rem)}.asggen-GSXjAs2,.asggen-I9IojjR{font-family:inherit;font-weight:700;letter-spacing:-1px;line-height:1.15}.asggen-I9IojjR{font-size:clamp(2.179rem,5vw,3.176rem)}.asggen-FDKWcrI{font-family:inherit;font-size:clamp(1.794rem,4vw,2.379rem);font-weight:700;letter-spacing:-1px;line-height:1.25}.asggen-SbGaSDq{font-size:clamp(1.476rem,3vw,1.782rem);font-weight:600}.asggen-SbGaSDq,.asggen-kc5w7ZM{font-family:inherit;line-height:1.5}.asggen-kc5w7ZM{font-size:clamp(1.215rem,2vw,1.335rem);font-weight:500}.asggen-ypntYRK{font-family:inherit;font-size:clamp(1rem,2vw,1.125rem);text-wrap:balance}.asggen-XT_r9I4{border:none;border-radius:.75rem;display:inline-block;font-family:inherit;font-size:1rem;font-weight:500;line-height:1.5;outline:none;text-align:center;text-transform:unset;user-select:none;vertical-align:middle;white-space:nowrap}.asggen-ik053am{align-items:center;column-gap:.5rem;display:inline-flex;justify-content:center}.asggen-e3fixws.asggen-YFITMpr{align-items:center;background-color:var(--color-black-200);border-bottom:none;display:flex;height:2.7rem;justify-content:center;line-height:0;margin-left:0;padding:.75rem 2rem}.asggen-bremE3g{fill:#fff;height:1rem;margin-left:1rem}.asggen-e3fixws.asggen-YFITMpr:hover{border-bottom:2px solid var(--color-blue-600)}.asggen-iNmPF4j{background-color:var(--color-white-100);box-shadow:var(--shadow-medium);color:var(--color-black-500);padding:.75rem 2rem}.asggen-FaJ4Ou8{height:auto;left:0;margin:0 auto;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:100}.asggen-FaJ4Ou8.asggen-zfxwI26{background:var(--light);background-color:rgba(var(--light),.2);box-shadow:var(--shadow-medium)}.asggen-FaJ4Ou8.asggen-zfxwI26,.asggen-QfNYU76{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-blue-800)}.asggen-QfNYU76{background-color:rgba(#ffffff,.2);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.asggen-b2RQ1kV{align-items:center;column-gap:1.25rem;display:flex;flex-direction:row;height:4.25rem;justify-content:flex-start;margin:0 auto;width:100%}.asggen-EVWqcuk{font-family:inherit;font-size:1.6rem;font-weight:600;letter-spacing:-1px;line-height:1.5;margin-bottom:0}.asggen-b2RQ1kV.asggen-yYmSvug{margin-bottom:0;padding:0 1.25rem}.asggen-b2RQ1kV.asggen-yYmSvug a:hover{border-bottom:2px solid var(--color-black-800)}.asggen-DIqmOCa.asggen-uIPgGK7{padding:.5rem 1.5rem}.asggen-DIqmOCa.asggen-uIPgGK7:hover{background-color:rgba(35,39,47,.05);border-bottom:none!important;border-radius:3rem}.asggen-F6t44Vy{background-color:var(--light);box-shadow:var(--shadow-medium);height:auto;left:0;position:fixed;top:-100%;width:100%}.asggen-F6t44Vy.asggen-E8o0IXn{border-top:1px solid var(--color-blue-800);height:100vh;top:68px;width:100%}.asggen-F6t44Vy.asggen-E8o0IXn .asggen-yMiHRly{border-bottom:.75px solid #000;gap:.2rem;padding:1rem}.asggen-F6t44Vy.asggen-hcpN3fG{opacity:0;transition:opacity .4s ease-in-out;visibility:hidden}.asggen-yMiHRly{display:flex;justify-content:space-around;overflow-x:auto;row-gap:1.25rem;-ms-overflow-style:none;scrollbar-width:none}.asggen-yMiHRly::-webkit-scrollbar{display:none}.asggen-DIqmOCa{font-size:1rem;line-height:1.5;text-transform:uppercase}.asggen-DIqmOCa,.asggen-YFITMpr{font-family:inherit;font-weight:500;margin-bottom:0}.asggen-YFITMpr{background-color:var(--color-blue-600);border-radius:.75rem;box-shadow:var(--shadow-medium);color:var(--light);display:inline-block;font-size:.875rem;line-height:1.25;margin-left:auto;padding:.65rem 1.5rem;text-align:center;text-transform:capitalize;user-select:none;white-space:nowrap}@media only screen and (min-width:48rem){.asggen-F6t44Vy{background:none;box-shadow:none;height:auto;margin-left:auto;padding:0;position:relative;top:0;transition:none;width:auto}.asggen-F6t44Vy.asggen-hcpN3fG{opacity:1;transition:opacity .4s ease-in-out;visibility:visible}.asggen-yMiHRly{column-gap:2rem;display:flex;flex-direction:row;margin:0 auto}.asggen-DIqmOCa{text-transform:capitalize}.asggen-YFITMpr{margin-left:2rem}}.asggen-LsM7ZjZ{background:none;border:none;cursor:pointer;display:block;height:1.15rem;order:-1;outline:none;position:relative;transform:rotate(0deg);transition:.35s ease;user-select:none;visibility:visible;width:1.6rem;z-index:10}@media only screen and (min-width:48rem){.asggen-LsM7ZjZ{display:none;visibility:hidden}}.asggen-_Tz4jNZ{background-color:var(--color-black-800);border:none;border-radius:1rem;display:block;height:2px;left:0;opacity:1;outline:none;position:absolute;transform:rotate(0deg);transition:.25s ease-in-out;width:100%}.asggen-_Tz4jNZ:first-child{top:0}.asggen-_Tz4jNZ:nth-child(2){top:.5rem;width:70%}.asggen-_Tz4jNZ:nth-child(3){top:1rem}.asggen-LsM7ZjZ.asggen-E8o0IXn .asggen-_Tz4jNZ:first-child{top:.5rem;transform:rotate(135deg)}.asggen-LsM7ZjZ.asggen-E8o0IXn .asggen-_Tz4jNZ:nth-child(2){opacity:0;visibility:hidden}.asggen-LsM7ZjZ.asggen-E8o0IXn .asggen-_Tz4jNZ:nth-child(3){top:.5rem;transform:rotate(-135deg)}.asggen-Y2cbpWB{align-items:center;display:grid;padding:0 1rem;position:relative;row-gap:3rem}@media only screen and (min-width:48rem){.asggen-Y2cbpWB{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center}}@media only screen and (min-width:64rem){.asggen-Y2cbpWB{column-gap:4rem;grid-template-columns:1fr max-content;margin-top:3rem}}@keyframes asggen-tnBiLe1{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.asggen-lxgipYD{display:block;height:18rem;justify-self:center;margin-top:2rem;max-width:18rem;object-fit:cover}@media only screen and (min-width:48rem){.asggen-lxgipYD{height:20rem;max-width:20rem;order:1}}@media only screen and (min-width:64rem){.asggen-lxgipYD{height:25rem;margin-right:1rem;max-width:25rem}}.asggen-Dz7DCBs{align-items:flex-start;display:flex;flex-direction:column;row-gap:1.75rem}.asggen-vOcQaWi{background-color:#fff;color:#333;overflow:hidden;padding:2.5rem 0;position:relative}.asggen-vOcQaWi:before{color:rgba(0,0,0,.05);content:"AFront";font-size:20rem;left:50%;pointer-events:none;position:absolute;top:70%;transform:translate(-50%,-50%);white-space:nowrap;z-index:0}.asggen-Kou5AQf{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:75rem;padding:0 1.25rem;position:relative;z-index:1}.asggen-qKHdMcH{flex:1;margin-bottom:2rem}.asggen-slMjjDc{color:var(--color-black-400);font-size:1.5rem;font-weight:700;text-decoration:none}.asggen-cazhRP1{color:#8b8b8b;font-size:.875rem;margin-top:.625rem}.asggen-a78uDCQ{display:flex;flex:2;flex-wrap:wrap;justify-content:space-between}.asggen-_UtUx79{flex:1;margin-bottom:2rem;min-width:12rem}.asggen-N07cS94{color:#777;font-size:1rem;margin-bottom:.625rem}.asggen-vfO0fUG{list-style:none;padding:0}.asggen-iRs41ng{color:#909090;display:block;font-size:.875rem;margin-bottom:.5rem;text-decoration:none;transition:color .3s ease}.asggen-iRs41ng:hover{color:#3a3a3a}.asggen-w3fUm2Q{color:#777;font-size:.875rem;margin-top:2.5rem;text-align:center}.asggen-FTFjC4T{margin-bottom:.625rem}.asggen-HczpTuP{display:flex;flex-wrap:wrap;justify-content:center}.asggen-rUwKNuA{color:#909090;font-size:1.125rem;margin:0 .625rem;text-decoration:none;transition:color .3s ease}.asggen-rUwKNuA:hover{color:#3a3a3a}@media (max-width:768px){.asggen-Kou5AQf,.asggen-a78uDCQ{align-items:center;flex-direction:column}.asggen-a78uDCQ{text-align:center}.asggen-_UtUx79{margin-bottom:1.5rem}.asggen-FTFjC4T{font-size:.75rem}.asggen-HczpTuP{margin-top:1rem}.asggen-rUwKNuA{font-size:1rem;margin:0 .5rem}.asggen-vOcQaWi:before{content:"AFront";font-size:5rem;top:82%}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunkafront=self.webpackChunkafront||[]).push([[3],{572:(e,t,a)=>{const{useEffect:n}=a(540);function s(e,t){if(t){let a=document.querySelector(`meta[name="${e}"]`);a?a.setAttribute("content",t):(a=document.createElement("meta"),a.setAttribute("name",e),a.setAttribute("content",t),document.head.appendChild(a))}}e.exports=function({title:e,description:t,keywords:a,context:r}){n((()=>{"undefined"!=typeof document&&(document.title=e,s("title",e),s("description",t),s("keywords",a))}),[e,t,a]),r&&(r.title=e,r.description=t,r.keywords=a)}},210:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});var n=a(540),s="asggen-UsaK2zv";const r=function(e){var t=e.children;return n.createElement("div",{className:"asggen-y0_CWMe"},n.createElement("div",{className:"asggen-wv3xAF6"},n.createElement("div",{className:"".concat(s," ").concat("asggen-F7uI_Qg")}),n.createElement("div",{className:"".concat(s," ").concat("asggen-HPCM5Cq")}),n.createElement("div",{className:"".concat(s," ").concat("asggen-oGWLGVI")}),n.createElement("div",{className:"".concat(s," ").concat("asggen-hpj3_CH")})),t)}},3:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>m});var n=a(540),s=a(572),r=a.n(s),c="asggen-fs7zTHj",o="asggen-kTCHPjF",l="asggen-ZHWXW17",i=a(210);const m=function(e){var t=e.context;return r()({title:"Support - AFront",description:"Get support for AFront, a front-end JavaScript library for seamless server-side rendering.",keywords:"support, AFront, server-side rendering, JavaScript",context:t}),n.createElement(i.A,null,n.createElement("div",{className:"asggen-kJBmVCe"},n.createElement("h1",{className:"asggen-xhjDCMD"},"Need Assistance?"),n.createElement("p",{className:"asggen-RwTbVGb"},"AFront is a cutting-edge front-end JavaScript library designed for seamless server-side rendering (SSR). We're committed to providing you with top-notch support to ensure your experience is smooth and productive."),n.createElement("div",{className:"asggen-_9xGCTU"},n.createElement("div",{className:c},n.createElement("h2",{className:l},"Technical Assistance"),n.createElement("p",{className:o},"Our dedicated technical support team is available around the clock to resolve any issues you may face with AFront. Connect with us through email or our support portal for prompt assistance.")),n.createElement("div",{className:c},n.createElement("h2",{className:l},"Product Information"),n.createElement("p",{className:o},"Curious about AFront’s capabilities? Reach out to our sales team for detailed insights on features, benefits, and how our library can enhance your web development projects.")),n.createElement("div",{className:c},n.createElement("h2",{className:l},"Community and Forums"),n.createElement("p",{className:o},"Join our vibrant community forums to discuss AFront with fellow developers, exchange tips, and troubleshoot common issues collaboratively."))),n.createElement("div",{className:"asggen-pmghQyO"},n.createElement("h2",{className:l},"Frequently Asked Questions"),n.createElement("ul",{className:"asggen-F8poZey"},n.createElement("li",null,"What is AFront and how does it work?"),n.createElement("li",null,"How do I get started with AFront?"),n.createElement("li",null,"Where can I find documentation and tutorials?"),n.createElement("li",null,"How can I report a bug or request a feature?"))),n.createElement("a",{href:"/",className:"asggen-cwDmzqU"},"Back to Homepage")))}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunkafront=self.webpackChunkafront||[]).push([[41],{572:(e,t,n)=>{const{useEffect:a}=n(540);function c(e,t){if(t){let n=document.querySelector(`meta[name="${e}"]`);n?n.setAttribute("content",t):(n=document.createElement("meta"),n.setAttribute("name",e),n.setAttribute("content",t),document.head.appendChild(n))}}e.exports=function({title:e,description:t,keywords:n,context:s}){a((()=>{"undefined"!=typeof document&&(document.title=e,c("title",e),c("description",t),c("keywords",n))}),[e,t,n]),s&&(s.title=e,s.description=t,s.keywords=n)}},210:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var a=n(540),c="asggen-UsaK2zv";const s=function(e){var t=e.children;return a.createElement("div",{className:"asggen-y0_CWMe"},a.createElement("div",{className:"asggen-wv3xAF6"},a.createElement("div",{className:"".concat(c," ").concat("asggen-F7uI_Qg")}),a.createElement("div",{className:"".concat(c," ").concat("asggen-HPCM5Cq")}),a.createElement("div",{className:"".concat(c," ").concat("asggen-oGWLGVI")}),a.createElement("div",{className:"".concat(c," ").concat("asggen-hpj3_CH")})),t)}},488:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var a=n(540),c=n(210);const s=n.p+"static/media/52f06bb716d4ecad087a.png",r=n.p+"static/media/adeaead125c45715106d.svg";var l=n(572),o=n.n(l),m=n(833);const i=function(e){var t=e.context;return o()({title:"AFront by Asggen Inc.",description:"Home for all AFront products and services.",keywords:"Home, Afront, help",context:t}),a.createElement(c.A,null,a.createElement("main",null,a.createElement("section",{className:m.uW},a.createElement("div",{className:"".concat(m.kL," ").concat(m.vd)},a.createElement("img",{className:m._e,src:s,alt:"banner"}),a.createElement("div",{className:m.B4},a.createElement("h1",{className:m.nX},"Empower Your Front-End with AFront"),a.createElement("p",{className:m.FY},"AFront streamlines front-end development with robust tools and",a.createElement("b",null," seamless server-side rendering (SSSR)"),". Build dynamic, high-performance web experiences effortlessly."),a.createElement("div",null,a.createElement("a",{href:"/",className:"".concat(m.OK," ").concat(m.DG)},"Get Started"," ",a.createElement("img",{className:m.h_,src:r}))))))))}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkafront=self.webpackChunkafront||[]).push([[573],{573:(e,a,s)=>{s.r(a),s.d(a,{default:()=>n});var t=s(540);const n=function(){return t.createElement("div",{className:"asggen-CTEvvlo"},t.createElement("h2",{className:"asggen-FVOWslk"},"Oops! The page you're looking for doesn't exist."),t.createElement("p",{className:"asggen-Bk8OzYB"},"It seems you’ve taken a wrong turn. Let’s get you back on track!"),t.createElement("a",{href:"/",className:"asggen-wbWn6vo"},"Go to Homepage"))}}}]);
|