Updated
6
.env.dev
|
|
@ -1,6 +0,0 @@
|
||||||
WEBSITE_NAME="Dasig Solid"
|
|
||||||
WEBSITE_DESCRIPTION="A template for next level speed (Solid Version)"
|
|
||||||
AUTHOR="Patrick Alvin Alcala"
|
|
||||||
|
|
||||||
FONT="inter"
|
|
||||||
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
semi: false
|
|
||||||
singleQuote: true
|
|
||||||
trailingComma: 'es5'
|
|
||||||
bracketSpacing: true
|
|
||||||
printWidth: 500
|
|
||||||
proseWrap: 'preserve'
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
import { defineConfig } from "@solidjs/start/config";
|
|
||||||
|
|
||||||
export default defineConfig({});
|
|
||||||
0
.gitignore → frontend/.gitignore
vendored
11
frontend/app.config.ts
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
import { defineConfig } from '@solidjs/start/config'
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
ssr: false,
|
||||||
|
server: {
|
||||||
|
static: true,
|
||||||
|
prerender: {
|
||||||
|
crawlLinks: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
42
frontend/biome.json
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://biomejs.dev/schemas/2.3.6/schema.json",
|
||||||
|
"vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true },
|
||||||
|
"files": { "ignoreUnknown": false },
|
||||||
|
"formatter": {
|
||||||
|
"enabled": true,
|
||||||
|
"formatWithErrors": false,
|
||||||
|
"indentStyle": "space",
|
||||||
|
"indentWidth": 2,
|
||||||
|
"lineEnding": "lf",
|
||||||
|
"lineWidth": 320,
|
||||||
|
"attributePosition": "auto",
|
||||||
|
"bracketSameLine": false,
|
||||||
|
"bracketSpacing": true,
|
||||||
|
"expand": "auto",
|
||||||
|
"useEditorconfig": true
|
||||||
|
},
|
||||||
|
"linter": { "enabled": true, "rules": { "recommended": true } },
|
||||||
|
"javascript": {
|
||||||
|
"formatter": {
|
||||||
|
"jsxQuoteStyle": "double",
|
||||||
|
"quoteProperties": "asNeeded",
|
||||||
|
"trailingCommas": "es5",
|
||||||
|
"semicolons": "asNeeded",
|
||||||
|
"arrowParentheses": "always",
|
||||||
|
"bracketSameLine": false,
|
||||||
|
"quoteStyle": "single",
|
||||||
|
"attributePosition": "auto",
|
||||||
|
"bracketSpacing": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"html": {
|
||||||
|
"formatter": {
|
||||||
|
"indentScriptAndStyle": false,
|
||||||
|
"selfCloseVoidElements": "always"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"assist": {
|
||||||
|
"enabled": true,
|
||||||
|
"actions": { "source": { "organizeImports": "on" } }
|
||||||
|
}
|
||||||
|
}
|
||||||
3
frontend/configs/config.api.ts
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
import { atom } from 'nanostores'
|
||||||
|
|
||||||
|
export const $backendUrl = atom('http://localhost:8080')
|
||||||
20
frontend/configs/config.security.ts
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
import { atom } from 'nanostores'
|
||||||
|
|
||||||
|
export const $tokenName = atom<string>('dasig') // output: dasig-token
|
||||||
|
export const $tokenEncryption = atom<'rsa'>('rsa')
|
||||||
|
export const $tokenExpiration = atom<number>(9) // expires in 9 seconds
|
||||||
|
|
||||||
|
export const $rsaPublicKey = atom<string>(`-----BEGIN PUBLIC KEY-----
|
||||||
|
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9Aw5Zasdanf2biS69qoQ
|
||||||
|
/YZbyIM+LS7LOLNN3ot6nZH1FiTqTNy61ffUA2Y/s3hGz9L0+k6gRu7uGBza6XPU
|
||||||
|
+iuGdXxZd2mc3lrnPfR6SSllMwGlAVkYpQhmkB19igd8aLUbFiJ3pPKkNocv/yQa
|
||||||
|
ERQ2tXtSxAoEQ9hg4wPgXkuW5PF+yEk9/+eN6tB36lHu9Im44GG18xKkU+VcdsXc
|
||||||
|
DJVgEpcr1FtJL6uLI+VXc4peZmOdsBN7/MS3Rjb2Ib9TrOADE5qodSc+T8D6GoGH
|
||||||
|
MOWQGKY6dmfo9cnY3tJ23FfKy9jFOIIrTIdz2ncRaOfxX1oIiTVy4pGG+GxZn5aQ
|
||||||
|
z+IW8hmSj/oOcrGKr6T6lmKxxxYqBWgvQWef0O0anGfa2y5CTpqdPQ8KEoF2zxPD
|
||||||
|
EnvcIQiCUmXwML4x18XItY/d60nEn/pxn7a9J9hb3Lxjy94ZXuOgHvqL3XRC9xg+
|
||||||
|
HvEuAHzUBr+GJM9w4/LF1mQSsmblB8q5S7qNaminYAw6wm35lRy7ZlIbJQlj/EyL
|
||||||
|
lCKWBbUEHkjzRFCoun9VVUc0guQTsTbchPD7Rgzg3SBK3Gws39n12WQPc7jKto0H
|
||||||
|
N39sJnNzllXw41gKRy9b2uYuaVYaQ0sjrFJ8ITuyO9NDDaEdeBqBBTtbRp2i0O4K
|
||||||
|
tvT2kItEEnVzjNutUatVOWcCAwEAAQ==
|
||||||
|
-----END PUBLIC KEY-----`)
|
||||||
8
frontend/configs/config.site.ts
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
import { atom } from 'nanostores'
|
||||||
|
|
||||||
|
export const $websiteName = atom<string>('Dasig Solid')
|
||||||
|
export const $websiteDescription = atom<string>('A template for next level speed (Solid Version)')
|
||||||
|
export const $font = atom<string>('inter')
|
||||||
|
|
||||||
|
export const $yourName = atom<string>('Pat Alcala')
|
||||||
|
export const $copyRightYear = atom<number>(2025)
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"name": "example-basic",
|
"name": "dasig-solid",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vinxi dev",
|
"dev": "vinxi dev",
|
||||||
|
|
@ -8,10 +8,16 @@
|
||||||
"version": "vinxi version"
|
"version": "vinxi version"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@dotenvx/dotenvx": "^1.51.1",
|
||||||
"@solidjs/meta": "^0.29.4",
|
"@solidjs/meta": "^0.29.4",
|
||||||
"@solidjs/router": "^0.15.0",
|
"@solidjs/router": "^0.15.0",
|
||||||
"@solidjs/start": "^1.1.0",
|
"@solidjs/start": "^1.1.0",
|
||||||
|
"dayjs": "^1.11.19",
|
||||||
"dotenv": "^17.2.3",
|
"dotenv": "^17.2.3",
|
||||||
|
"eciesjs": "^0.4.16",
|
||||||
|
"jsencrypt": "^3.5.4",
|
||||||
|
"nanostores": "^1.1.0",
|
||||||
|
"ofetch": "^1.5.1",
|
||||||
"solid-icons": "^1.1.0",
|
"solid-icons": "^1.1.0",
|
||||||
"solid-js": "^1.9.5",
|
"solid-js": "^1.9.5",
|
||||||
"vinxi": "^0.5.7"
|
"vinxi": "^0.5.7"
|
||||||
180
pnpm-lock.yaml → frontend/pnpm-lock.yaml
generated
|
|
@ -8,6 +8,9 @@ importers:
|
||||||
|
|
||||||
.:
|
.:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@dotenvx/dotenvx':
|
||||||
|
specifier: ^1.51.1
|
||||||
|
version: 1.51.1
|
||||||
'@solidjs/meta':
|
'@solidjs/meta':
|
||||||
specifier: ^0.29.4
|
specifier: ^0.29.4
|
||||||
version: 0.29.4(solid-js@1.9.9)
|
version: 0.29.4(solid-js@1.9.9)
|
||||||
|
|
@ -17,9 +20,24 @@ importers:
|
||||||
'@solidjs/start':
|
'@solidjs/start':
|
||||||
specifier: ^1.1.0
|
specifier: ^1.1.0
|
||||||
version: 1.2.0(solid-js@1.9.9)(vinxi@0.5.8(@types/node@24.7.2)(db0@0.3.4)(ioredis@5.8.1)(jiti@2.6.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0))(vite@6.4.0(@types/node@24.7.2)(jiti@2.6.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0))
|
version: 1.2.0(solid-js@1.9.9)(vinxi@0.5.8(@types/node@24.7.2)(db0@0.3.4)(ioredis@5.8.1)(jiti@2.6.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0))(vite@6.4.0(@types/node@24.7.2)(jiti@2.6.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0))
|
||||||
|
dayjs:
|
||||||
|
specifier: ^1.11.19
|
||||||
|
version: 1.11.19
|
||||||
dotenv:
|
dotenv:
|
||||||
specifier: ^17.2.3
|
specifier: ^17.2.3
|
||||||
version: 17.2.3
|
version: 17.2.3
|
||||||
|
eciesjs:
|
||||||
|
specifier: ^0.4.16
|
||||||
|
version: 0.4.16
|
||||||
|
jsencrypt:
|
||||||
|
specifier: ^3.5.4
|
||||||
|
version: 3.5.4
|
||||||
|
nanostores:
|
||||||
|
specifier: ^1.1.0
|
||||||
|
version: 1.1.0
|
||||||
|
ofetch:
|
||||||
|
specifier: ^1.5.1
|
||||||
|
version: 1.5.1
|
||||||
solid-icons:
|
solid-icons:
|
||||||
specifier: ^1.1.0
|
specifier: ^1.1.0
|
||||||
version: 1.1.0(solid-js@1.9.9)
|
version: 1.1.0(solid-js@1.9.9)
|
||||||
|
|
@ -189,6 +207,16 @@ packages:
|
||||||
'@deno/shim-deno@0.19.2':
|
'@deno/shim-deno@0.19.2':
|
||||||
resolution: {integrity: sha512-q3VTHl44ad8T2Tw2SpeAvghdGOjlnLPDNO2cpOxwMrBE/PVas6geWpbpIgrM+czOCH0yejp0yi8OaTuB+NU40Q==}
|
resolution: {integrity: sha512-q3VTHl44ad8T2Tw2SpeAvghdGOjlnLPDNO2cpOxwMrBE/PVas6geWpbpIgrM+czOCH0yejp0yi8OaTuB+NU40Q==}
|
||||||
|
|
||||||
|
'@dotenvx/dotenvx@1.51.1':
|
||||||
|
resolution: {integrity: sha512-fqcQxcxC4LOaUlW8IkyWw8x0yirlLUkbxohz9OnWvVWjf73J5yyw7jxWnkOJaUKXZotcGEScDox9MU6rSkcDgg==}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
|
'@ecies/ciphers@0.2.5':
|
||||||
|
resolution: {integrity: sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==}
|
||||||
|
engines: {bun: '>=1', deno: '>=2', node: '>=16'}
|
||||||
|
peerDependencies:
|
||||||
|
'@noble/ciphers': ^1.0.0
|
||||||
|
|
||||||
'@esbuild/aix-ppc64@0.25.11':
|
'@esbuild/aix-ppc64@0.25.11':
|
||||||
resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==}
|
resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
@ -380,6 +408,18 @@ packages:
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
'@noble/ciphers@1.3.0':
|
||||||
|
resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==}
|
||||||
|
engines: {node: ^14.21.3 || >=16}
|
||||||
|
|
||||||
|
'@noble/curves@1.9.7':
|
||||||
|
resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==}
|
||||||
|
engines: {node: ^14.21.3 || >=16}
|
||||||
|
|
||||||
|
'@noble/hashes@1.8.0':
|
||||||
|
resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
|
||||||
|
engines: {node: ^14.21.3 || >=16}
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
|
|
@ -1028,6 +1068,10 @@ packages:
|
||||||
comma-separated-tokens@2.0.3:
|
comma-separated-tokens@2.0.3:
|
||||||
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
|
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
|
||||||
|
|
||||||
|
commander@11.1.0:
|
||||||
|
resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
|
||||||
|
engines: {node: '>=16'}
|
||||||
|
|
||||||
commander@2.20.3:
|
commander@2.20.3:
|
||||||
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
|
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
|
||||||
|
|
||||||
|
|
@ -1093,6 +1137,9 @@ packages:
|
||||||
dax-sh@0.43.2:
|
dax-sh@0.43.2:
|
||||||
resolution: {integrity: sha512-uULa1sSIHgXKGCqJ/pA0zsnzbHlVnuq7g8O2fkHokWFNwEGIhh5lAJlxZa1POG5En5ba7AU4KcBAvGQWMMf8rg==}
|
resolution: {integrity: sha512-uULa1sSIHgXKGCqJ/pA0zsnzbHlVnuq7g8O2fkHokWFNwEGIhh5lAJlxZa1POG5En5ba7AU4KcBAvGQWMMf8rg==}
|
||||||
|
|
||||||
|
dayjs@1.11.19:
|
||||||
|
resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
|
||||||
|
|
||||||
db0@0.3.4:
|
db0@0.3.4:
|
||||||
resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==}
|
resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -1193,6 +1240,10 @@ packages:
|
||||||
eastasianwidth@0.2.0:
|
eastasianwidth@0.2.0:
|
||||||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||||
|
|
||||||
|
eciesjs@0.4.16:
|
||||||
|
resolution: {integrity: sha512-dS5cbA9rA2VR4Ybuvhg6jvdmp46ubLn3E+px8cG/35aEDNclrqoCjg6mt0HYZ/M+OoESS3jSkCrqk1kWAEhWAw==}
|
||||||
|
engines: {bun: '>=1', deno: '>=2', node: '>=16'}
|
||||||
|
|
||||||
ee-first@1.1.1:
|
ee-first@1.1.1:
|
||||||
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
||||||
|
|
||||||
|
|
@ -1277,6 +1328,10 @@ packages:
|
||||||
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
|
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
|
||||||
engines: {node: '>=0.8.x'}
|
engines: {node: '>=0.8.x'}
|
||||||
|
|
||||||
|
execa@5.1.1:
|
||||||
|
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
execa@8.0.1:
|
execa@8.0.1:
|
||||||
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
|
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
|
||||||
engines: {node: '>=16.17'}
|
engines: {node: '>=16.17'}
|
||||||
|
|
@ -1354,6 +1409,10 @@ packages:
|
||||||
get-port-please@3.2.0:
|
get-port-please@3.2.0:
|
||||||
resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==}
|
resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==}
|
||||||
|
|
||||||
|
get-stream@6.0.1:
|
||||||
|
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
get-stream@8.0.1:
|
get-stream@8.0.1:
|
||||||
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
|
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
|
|
@ -1432,6 +1491,10 @@ packages:
|
||||||
httpxy@0.1.7:
|
httpxy@0.1.7:
|
||||||
resolution: {integrity: sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ==}
|
resolution: {integrity: sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ==}
|
||||||
|
|
||||||
|
human-signals@2.1.0:
|
||||||
|
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
||||||
|
engines: {node: '>=10.17.0'}
|
||||||
|
|
||||||
human-signals@5.0.0:
|
human-signals@5.0.0:
|
||||||
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
|
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
|
||||||
engines: {node: '>=16.17.0'}
|
engines: {node: '>=16.17.0'}
|
||||||
|
|
@ -1439,6 +1502,10 @@ packages:
|
||||||
ieee754@1.2.1:
|
ieee754@1.2.1:
|
||||||
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
||||||
|
|
||||||
|
ignore@5.3.2:
|
||||||
|
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
|
||||||
|
engines: {node: '>= 4'}
|
||||||
|
|
||||||
ignore@7.0.5:
|
ignore@7.0.5:
|
||||||
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
|
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
|
||||||
engines: {node: '>= 4'}
|
engines: {node: '>= 4'}
|
||||||
|
|
@ -1548,6 +1615,9 @@ packages:
|
||||||
js-tokens@9.0.1:
|
js-tokens@9.0.1:
|
||||||
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
|
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
|
||||||
|
|
||||||
|
jsencrypt@3.5.4:
|
||||||
|
resolution: {integrity: sha512-kNjfYEMNASxrDGsmcSQh/rUTmcoRfSUkxnAz+MMywM8jtGu+fFEZ3nJjHM58zscVnwR0fYmG9sGkTDjqUdpiwA==}
|
||||||
|
|
||||||
jsesc@3.1.0:
|
jsesc@3.1.0:
|
||||||
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
|
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
@ -1661,6 +1731,10 @@ packages:
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
mimic-fn@2.1.0:
|
||||||
|
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
mimic-fn@4.0.0:
|
mimic-fn@4.0.0:
|
||||||
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
|
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
@ -1695,6 +1769,10 @@ packages:
|
||||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
nanostores@1.1.0:
|
||||||
|
resolution: {integrity: sha512-yJBmDJr18xy47dbNVlHcgdPrulSn1nhSE6Ns9vTG+Nx9VPT6iV1MD6aQFp/t52zpf82FhLLTXAXr30NuCnxvwA==}
|
||||||
|
engines: {node: ^20.0.0 || >=22.0.0}
|
||||||
|
|
||||||
nitropack@2.12.7:
|
nitropack@2.12.7:
|
||||||
resolution: {integrity: sha512-HWyzMBj2d8b14J6Cfnxv97ztnuHIgXNcrGiWCruLfb2ZfKsp6OCbZYJm5T9sv/ZKl8LedhatrMKG66HWJux9Rg==}
|
resolution: {integrity: sha512-HWyzMBj2d8b14J6Cfnxv97ztnuHIgXNcrGiWCruLfb2ZfKsp6OCbZYJm5T9sv/ZKl8LedhatrMKG66HWJux9Rg==}
|
||||||
engines: {node: ^20.19.0 || >=22.12.0}
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
|
|
@ -1743,6 +1821,10 @@ packages:
|
||||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
npm-run-path@4.0.1:
|
||||||
|
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
npm-run-path@5.3.0:
|
npm-run-path@5.3.0:
|
||||||
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
|
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
|
@ -1752,8 +1834,12 @@ packages:
|
||||||
engines: {node: ^14.16.0 || >=16.10.0}
|
engines: {node: ^14.16.0 || >=16.10.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
ofetch@1.4.1:
|
object-treeify@1.1.33:
|
||||||
resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
|
resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
|
||||||
|
ofetch@1.5.1:
|
||||||
|
resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==}
|
||||||
|
|
||||||
ohash@2.0.11:
|
ohash@2.0.11:
|
||||||
resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
|
resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
|
||||||
|
|
@ -1762,6 +1848,10 @@ packages:
|
||||||
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
|
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
|
||||||
|
onetime@5.1.2:
|
||||||
|
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
onetime@6.0.0:
|
onetime@6.0.0:
|
||||||
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
|
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
@ -2125,6 +2215,9 @@ packages:
|
||||||
shiki@1.29.2:
|
shiki@1.29.2:
|
||||||
resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==}
|
resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==}
|
||||||
|
|
||||||
|
signal-exit@3.0.7:
|
||||||
|
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
||||||
|
|
||||||
signal-exit@4.1.0:
|
signal-exit@4.1.0:
|
||||||
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
|
|
@ -2222,6 +2315,10 @@ packages:
|
||||||
resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
|
resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
strip-final-newline@2.0.0:
|
||||||
|
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
strip-final-newline@3.0.0:
|
strip-final-newline@3.0.0:
|
||||||
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
|
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
@ -2808,6 +2905,22 @@ snapshots:
|
||||||
'@deno/shim-deno-test': 0.5.0
|
'@deno/shim-deno-test': 0.5.0
|
||||||
which: 4.0.0
|
which: 4.0.0
|
||||||
|
|
||||||
|
'@dotenvx/dotenvx@1.51.1':
|
||||||
|
dependencies:
|
||||||
|
commander: 11.1.0
|
||||||
|
dotenv: 17.2.3
|
||||||
|
eciesjs: 0.4.16
|
||||||
|
execa: 5.1.1
|
||||||
|
fdir: 6.5.0(picomatch@4.0.3)
|
||||||
|
ignore: 5.3.2
|
||||||
|
object-treeify: 1.1.33
|
||||||
|
picomatch: 4.0.3
|
||||||
|
which: 4.0.0
|
||||||
|
|
||||||
|
'@ecies/ciphers@0.2.5(@noble/ciphers@1.3.0)':
|
||||||
|
dependencies:
|
||||||
|
'@noble/ciphers': 1.3.0
|
||||||
|
|
||||||
'@esbuild/aix-ppc64@0.25.11':
|
'@esbuild/aix-ppc64@0.25.11':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
|
@ -2938,6 +3051,14 @@ snapshots:
|
||||||
- encoding
|
- encoding
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
'@noble/ciphers@1.3.0': {}
|
||||||
|
|
||||||
|
'@noble/curves@1.9.7':
|
||||||
|
dependencies:
|
||||||
|
'@noble/hashes': 1.8.0
|
||||||
|
|
||||||
|
'@noble/hashes@1.8.0': {}
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nodelib/fs.stat': 2.0.5
|
'@nodelib/fs.stat': 2.0.5
|
||||||
|
|
@ -3612,6 +3733,8 @@ snapshots:
|
||||||
|
|
||||||
comma-separated-tokens@2.0.3: {}
|
comma-separated-tokens@2.0.3: {}
|
||||||
|
|
||||||
|
commander@11.1.0: {}
|
||||||
|
|
||||||
commander@2.20.3: {}
|
commander@2.20.3: {}
|
||||||
|
|
||||||
commondir@1.0.1: {}
|
commondir@1.0.1: {}
|
||||||
|
|
@ -3668,6 +3791,8 @@ snapshots:
|
||||||
'@deno/shim-deno': 0.19.2
|
'@deno/shim-deno': 0.19.2
|
||||||
undici-types: 5.28.4
|
undici-types: 5.28.4
|
||||||
|
|
||||||
|
dayjs@1.11.19: {}
|
||||||
|
|
||||||
db0@0.3.4: {}
|
db0@0.3.4: {}
|
||||||
|
|
||||||
debug@2.6.9:
|
debug@2.6.9:
|
||||||
|
|
@ -3714,6 +3839,13 @@ snapshots:
|
||||||
|
|
||||||
eastasianwidth@0.2.0: {}
|
eastasianwidth@0.2.0: {}
|
||||||
|
|
||||||
|
eciesjs@0.4.16:
|
||||||
|
dependencies:
|
||||||
|
'@ecies/ciphers': 0.2.5(@noble/ciphers@1.3.0)
|
||||||
|
'@noble/ciphers': 1.3.0
|
||||||
|
'@noble/curves': 1.9.7
|
||||||
|
'@noble/hashes': 1.8.0
|
||||||
|
|
||||||
ee-first@1.1.1: {}
|
ee-first@1.1.1: {}
|
||||||
|
|
||||||
electron-to-chromium@1.5.237: {}
|
electron-to-chromium@1.5.237: {}
|
||||||
|
|
@ -3797,6 +3929,18 @@ snapshots:
|
||||||
|
|
||||||
events@3.3.0: {}
|
events@3.3.0: {}
|
||||||
|
|
||||||
|
execa@5.1.1:
|
||||||
|
dependencies:
|
||||||
|
cross-spawn: 7.0.6
|
||||||
|
get-stream: 6.0.1
|
||||||
|
human-signals: 2.1.0
|
||||||
|
is-stream: 2.0.1
|
||||||
|
merge-stream: 2.0.0
|
||||||
|
npm-run-path: 4.0.1
|
||||||
|
onetime: 5.1.2
|
||||||
|
signal-exit: 3.0.7
|
||||||
|
strip-final-newline: 2.0.0
|
||||||
|
|
||||||
execa@8.0.1:
|
execa@8.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
cross-spawn: 7.0.6
|
cross-spawn: 7.0.6
|
||||||
|
|
@ -3859,6 +4003,8 @@ snapshots:
|
||||||
|
|
||||||
get-port-please@3.2.0: {}
|
get-port-please@3.2.0: {}
|
||||||
|
|
||||||
|
get-stream@6.0.1: {}
|
||||||
|
|
||||||
get-stream@8.0.1: {}
|
get-stream@8.0.1: {}
|
||||||
|
|
||||||
giget@2.0.0:
|
giget@2.0.0:
|
||||||
|
|
@ -3981,10 +4127,14 @@ snapshots:
|
||||||
|
|
||||||
httpxy@0.1.7: {}
|
httpxy@0.1.7: {}
|
||||||
|
|
||||||
|
human-signals@2.1.0: {}
|
||||||
|
|
||||||
human-signals@5.0.0: {}
|
human-signals@5.0.0: {}
|
||||||
|
|
||||||
ieee754@1.2.1: {}
|
ieee754@1.2.1: {}
|
||||||
|
|
||||||
|
ignore@5.3.2: {}
|
||||||
|
|
||||||
ignore@7.0.5: {}
|
ignore@7.0.5: {}
|
||||||
|
|
||||||
immutable@5.1.4: {}
|
immutable@5.1.4: {}
|
||||||
|
|
@ -4073,6 +4223,8 @@ snapshots:
|
||||||
|
|
||||||
js-tokens@9.0.1: {}
|
js-tokens@9.0.1: {}
|
||||||
|
|
||||||
|
jsencrypt@3.5.4: {}
|
||||||
|
|
||||||
jsesc@3.1.0: {}
|
jsesc@3.1.0: {}
|
||||||
|
|
||||||
json5@2.2.3: {}
|
json5@2.2.3: {}
|
||||||
|
|
@ -4196,6 +4348,8 @@ snapshots:
|
||||||
|
|
||||||
mime@4.1.0: {}
|
mime@4.1.0: {}
|
||||||
|
|
||||||
|
mimic-fn@2.1.0: {}
|
||||||
|
|
||||||
mimic-fn@4.0.0: {}
|
mimic-fn@4.0.0: {}
|
||||||
|
|
||||||
minimatch@5.1.6:
|
minimatch@5.1.6:
|
||||||
|
|
@ -4225,6 +4379,8 @@ snapshots:
|
||||||
|
|
||||||
nanoid@3.3.11: {}
|
nanoid@3.3.11: {}
|
||||||
|
|
||||||
|
nanostores@1.1.0: {}
|
||||||
|
|
||||||
nitropack@2.12.7:
|
nitropack@2.12.7:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@cloudflare/kv-asset-handler': 0.4.0
|
'@cloudflare/kv-asset-handler': 0.4.0
|
||||||
|
|
@ -4270,7 +4426,7 @@ snapshots:
|
||||||
mlly: 1.8.0
|
mlly: 1.8.0
|
||||||
node-fetch-native: 1.6.7
|
node-fetch-native: 1.6.7
|
||||||
node-mock-http: 1.0.3
|
node-mock-http: 1.0.3
|
||||||
ofetch: 1.4.1
|
ofetch: 1.5.1
|
||||||
ohash: 2.0.11
|
ohash: 2.0.11
|
||||||
pathe: 2.0.3
|
pathe: 2.0.3
|
||||||
perfect-debounce: 2.0.0
|
perfect-debounce: 2.0.0
|
||||||
|
|
@ -4349,6 +4505,10 @@ snapshots:
|
||||||
|
|
||||||
normalize-path@3.0.0: {}
|
normalize-path@3.0.0: {}
|
||||||
|
|
||||||
|
npm-run-path@4.0.1:
|
||||||
|
dependencies:
|
||||||
|
path-key: 3.1.1
|
||||||
|
|
||||||
npm-run-path@5.3.0:
|
npm-run-path@5.3.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
path-key: 4.0.0
|
path-key: 4.0.0
|
||||||
|
|
@ -4361,7 +4521,9 @@ snapshots:
|
||||||
pkg-types: 2.3.0
|
pkg-types: 2.3.0
|
||||||
tinyexec: 1.0.1
|
tinyexec: 1.0.1
|
||||||
|
|
||||||
ofetch@1.4.1:
|
object-treeify@1.1.33: {}
|
||||||
|
|
||||||
|
ofetch@1.5.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
destr: 2.0.5
|
destr: 2.0.5
|
||||||
node-fetch-native: 1.6.7
|
node-fetch-native: 1.6.7
|
||||||
|
|
@ -4373,6 +4535,10 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
ee-first: 1.1.1
|
ee-first: 1.1.1
|
||||||
|
|
||||||
|
onetime@5.1.2:
|
||||||
|
dependencies:
|
||||||
|
mimic-fn: 2.1.0
|
||||||
|
|
||||||
onetime@6.0.0:
|
onetime@6.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
mimic-fn: 4.0.0
|
mimic-fn: 4.0.0
|
||||||
|
|
@ -4767,6 +4933,8 @@ snapshots:
|
||||||
'@shikijs/vscode-textmate': 10.0.2
|
'@shikijs/vscode-textmate': 10.0.2
|
||||||
'@types/hast': 3.0.4
|
'@types/hast': 3.0.4
|
||||||
|
|
||||||
|
signal-exit@3.0.7: {}
|
||||||
|
|
||||||
signal-exit@4.1.0: {}
|
signal-exit@4.1.0: {}
|
||||||
|
|
||||||
slash@5.1.0: {}
|
slash@5.1.0: {}
|
||||||
|
|
@ -4867,6 +5035,8 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex: 6.2.2
|
ansi-regex: 6.2.2
|
||||||
|
|
||||||
|
strip-final-newline@2.0.0: {}
|
||||||
|
|
||||||
strip-final-newline@3.0.0: {}
|
strip-final-newline@3.0.0: {}
|
||||||
|
|
||||||
strip-literal@3.1.0:
|
strip-literal@3.1.0:
|
||||||
|
|
@ -5048,7 +5218,7 @@ snapshots:
|
||||||
h3: 1.15.4
|
h3: 1.15.4
|
||||||
lru-cache: 10.4.3
|
lru-cache: 10.4.3
|
||||||
node-fetch-native: 1.6.7
|
node-fetch-native: 1.6.7
|
||||||
ofetch: 1.4.1
|
ofetch: 1.5.1
|
||||||
ufo: 1.6.1
|
ufo: 1.6.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
db0: 0.3.4
|
db0: 0.3.4
|
||||||
|
Before Width: | Height: | Size: 664 B After Width: | Height: | Size: 664 B |
23
frontend/src/@dasig/api/functions/getApi.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
import { ofetch } from 'ofetch'
|
||||||
|
import { $backendUrl } from '../../../../configs/config.api'
|
||||||
|
|
||||||
|
const URL = $backendUrl.get()
|
||||||
|
|
||||||
|
export default async (api: string, value?: any, value2?: any) => {
|
||||||
|
try {
|
||||||
|
let fetch
|
||||||
|
if (!value2) {
|
||||||
|
if (!value) {
|
||||||
|
fetch = await ofetch(URL + api, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] })
|
||||||
|
} else {
|
||||||
|
fetch = await ofetch(URL + `${api}/${value}/fetch-data`, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] })
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fetch = await ofetch(URL + `${api}/${value}/${value2}/fetch-data`, { parseResponse: JSON.parse, retry: 3, retryDelay: 500, retryStatusCodes: [400, 404, 405, 500, 502] })
|
||||||
|
}
|
||||||
|
const result = fetch
|
||||||
|
return [result, null]
|
||||||
|
} catch (error) {
|
||||||
|
return [[], error]
|
||||||
|
}
|
||||||
|
}
|
||||||
35
frontend/src/@dasig/api/functions/postApi.ts
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
import { ofetch } from 'ofetch'
|
||||||
|
import { $backendUrl } from '../../../../configs/config.api'
|
||||||
|
import { $tokenName, $tokenExpiration } from '../../../../configs/config.security'
|
||||||
|
import dayjs from 'dayjs'
|
||||||
|
import encryptRsa from '../../scripts/functions/encryptRsa'
|
||||||
|
|
||||||
|
const URL = $backendUrl.get()
|
||||||
|
const TOKEN_NAME = $tokenName.get()
|
||||||
|
const TOKEN_EXPIRATION = $tokenExpiration.get()
|
||||||
|
|
||||||
|
export default async (api: string, body: Object) => {
|
||||||
|
const today = new Date()
|
||||||
|
const todayUnix = dayjs(today).unix()
|
||||||
|
const expiration = todayUnix + TOKEN_EXPIRATION
|
||||||
|
const aes = await encryptRsa(`${api.toString()}-${todayUnix.toString()}-${expiration.toString()}`)
|
||||||
|
|
||||||
|
const hash = `${TOKEN_NAME}=${aes}token`
|
||||||
|
try {
|
||||||
|
await ofetch(URL + api, {
|
||||||
|
headers: {
|
||||||
|
Accept: 'application/json',
|
||||||
|
'Cache-Control': 'no-cache',
|
||||||
|
'Dasig-Token': hash,
|
||||||
|
},
|
||||||
|
retry: 3,
|
||||||
|
retryDelay: 500,
|
||||||
|
retryStatusCodes: [400, 404, 405, 500, 502],
|
||||||
|
method: 'POST',
|
||||||
|
body: body,
|
||||||
|
})
|
||||||
|
return true
|
||||||
|
} catch {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
2
frontend/src/@dasig/api/index.ts
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
export { default as getApi } from './functions/getApi'
|
||||||
|
export { default as postApi } from './functions/postApi'
|
||||||
50
frontend/src/@dasig/components/Background.tsx
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
// import '../styles/Background.sass'
|
||||||
|
// import { Show, createSignal } from 'solid-js'
|
||||||
|
// import fs from 'fs'
|
||||||
|
// import webpPath from '../images/background.webp'
|
||||||
|
// import avifPath from '../images/background.avif'
|
||||||
|
// import noBackground from '../images/no-background.webp'
|
||||||
|
|
||||||
|
// interface Props {
|
||||||
|
// image?: boolean
|
||||||
|
// color?: string
|
||||||
|
// }
|
||||||
|
|
||||||
|
// let [imageLoaded, setImageLoaded] = createSignal(false)
|
||||||
|
|
||||||
|
// const checkBackground = () => {
|
||||||
|
// if (!fs.existsSync(avifPath.src) && !fs.existsSync(webpPath.src)) {
|
||||||
|
// setImageLoaded(true)
|
||||||
|
// } else {
|
||||||
|
// setImageLoaded(false)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// export default (props: Props) => {
|
||||||
|
// checkBackground()
|
||||||
|
|
||||||
|
// return (
|
||||||
|
// <>
|
||||||
|
// <Show when={props.image}>
|
||||||
|
// <Show when={imageLoaded()}>
|
||||||
|
// <picture class="fullscreen">
|
||||||
|
// <source srcset={avifPath.src} type="image/avif" />
|
||||||
|
// <source srcset={webpPath.src} type="image/webp" />
|
||||||
|
// <source srcset={noBackground.src} type="image/webp" />
|
||||||
|
// <img width="1920" height="auto" decoding="async" loading="lazy" alt="An image background" />
|
||||||
|
// </picture>
|
||||||
|
// </Show>
|
||||||
|
// <Show when={!imageLoaded()}>
|
||||||
|
// <picture class="fullscreen">
|
||||||
|
// <source srcset={noBackground.src} type="image/webp" />
|
||||||
|
// <img width="1920" height="auto" decoding="async" loading="lazy" alt="An alternative background if found no image background" />
|
||||||
|
// </picture>
|
||||||
|
// </Show>
|
||||||
|
// </Show>
|
||||||
|
|
||||||
|
// <Show when={!props.image}>
|
||||||
|
// <div style={{ background: props.color }} class="fullscreen" />
|
||||||
|
// </Show>
|
||||||
|
// </>
|
||||||
|
// )
|
||||||
|
// }
|
||||||
19
frontend/src/@dasig/components/Box.tsx
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
import '../styles/Box.sass'
|
||||||
|
import { type JSXElement, createMemo } from 'solid-js'
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
thickness: number
|
||||||
|
color?: string
|
||||||
|
children: JSXElement
|
||||||
|
curved?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export default (props: Props) => {
|
||||||
|
const boxClass = createMemo(() => (props.curved ? 'curvedbox' : 'box'))
|
||||||
|
|
||||||
|
return (
|
||||||
|
<section class={boxClass()} style={{ border: `${props.thickness}px solid ${props.color || 'white'}` }}>
|
||||||
|
{props.children}
|
||||||
|
</section>
|
||||||
|
)
|
||||||
|
}
|
||||||
83
frontend/src/@dasig/components/Button.tsx
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
import '../styles/Button.sass'
|
||||||
|
import { Show, Switch, Match } from 'solid-js'
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
label?: string
|
||||||
|
to?: string
|
||||||
|
onClick?: () => void
|
||||||
|
edges?: 'curved' | 'rounded' | 'flat'
|
||||||
|
design?: 'bu-primary' | 'bu-link' | 'bu-info' | 'bu-success' | 'bu-warning' | 'bu-danger' | 'bu-dark' | 'bu-light' | 'bu-text' | 'bu-ghost' | 'bo-primary' | 'bo-secondary' | 'bo-success' | 'bo-danger' | 'bo-warning' | 'bo-info' | 'bo-light' | 'bo-dark' | 'bo-link'
|
||||||
|
submit?: boolean
|
||||||
|
newtab?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
const getBorderRadius = (edge: Props['edges']) => {
|
||||||
|
switch (edge) {
|
||||||
|
case 'curved':
|
||||||
|
return 'border-radius: 6px'
|
||||||
|
case 'rounded':
|
||||||
|
return 'border-radius: 32px'
|
||||||
|
case 'flat':
|
||||||
|
return 'border-radius: 0'
|
||||||
|
default:
|
||||||
|
return 'border-radius: 0'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default (props: Props) => {
|
||||||
|
const borderRadius = getBorderRadius(props.edges)
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Show when={props.to}>
|
||||||
|
<Switch>
|
||||||
|
<Match when={props.design}>
|
||||||
|
<a href={props.to} aria-label={props.label} rel="noopener" target={props.newtab ? '_blank' : '_self'} data-astro-prefetch>
|
||||||
|
<button class={props.design} style={borderRadius}>
|
||||||
|
{props.label || 'Click Me!'}
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
</Match>
|
||||||
|
<Match when={!props.design}>
|
||||||
|
<a href={props.to} aria-label={props.label} rel="noopener" target={props.newtab ? '_blank' : '_self'} data-astro-prefetch>
|
||||||
|
<button class="button" style={borderRadius}>
|
||||||
|
{props.label || 'Click Me!'}
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
</Match>
|
||||||
|
</Switch>
|
||||||
|
</Show>
|
||||||
|
|
||||||
|
<Show when={!props.to}>
|
||||||
|
<Switch>
|
||||||
|
<Match when={props.design}>
|
||||||
|
<Show when={props.submit}>
|
||||||
|
<button class={props.design} type="submit" style={borderRadius}>
|
||||||
|
{props.label || 'Click Me!'}
|
||||||
|
</button>
|
||||||
|
</Show>
|
||||||
|
|
||||||
|
<Show when={!props.submit}>
|
||||||
|
<button class={props.design} onClick={props.onClick} style={borderRadius}>
|
||||||
|
{props.label || 'Click Me!'}
|
||||||
|
</button>
|
||||||
|
</Show>
|
||||||
|
</Match>
|
||||||
|
<Match when={!props.design}>
|
||||||
|
<Show when={props.submit}>
|
||||||
|
<button class="button" type="submit" style={borderRadius}>
|
||||||
|
{props.label || 'Click Me!'}
|
||||||
|
</button>
|
||||||
|
</Show>
|
||||||
|
|
||||||
|
<Show when={!props.submit}>
|
||||||
|
<button class="button" onClick={props.onClick} style={borderRadius}>
|
||||||
|
{props.label || 'Click Me!'}
|
||||||
|
</button>
|
||||||
|
</Show>
|
||||||
|
</Match>
|
||||||
|
</Switch>
|
||||||
|
</Show>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
@ -26,10 +26,10 @@ export default (props: Props) => {
|
||||||
<meta name="description" content={props.description} />
|
<meta name="description" content={props.description} />
|
||||||
<meta name="title" property="og:title" content={props.name} />
|
<meta name="title" property="og:title" content={props.name} />
|
||||||
<meta name="keywords" content="HTML, CSS, JavaScript" />
|
<meta name="keywords" content="HTML, CSS, JavaScript" />
|
||||||
<meta name="author" content={props.author} />
|
<meta name="developer" content={props.author} />
|
||||||
<meta property="og:description" content={props.description} />
|
<meta property="og:description" content={props.description} />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.png" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
||||||
<Show when={props.font}>
|
<Show when={props.font}>
|
||||||
<link rel="preconnect" href="https://cdn.jsdelivr.net" />
|
<link rel="preconnect" href="https://cdn.jsdelivr.net" />
|
||||||
</Show>
|
</Show>
|
||||||
|
|
@ -41,7 +41,9 @@ export default (props: Props) => {
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class={props.font} id="app">{props.children}</div>
|
<div class={props.font} id="app">
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
{props.scripts}
|
{props.scripts}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -1,19 +1,21 @@
|
||||||
import '../styles/Page.sass'
|
import '../styles/Page.sass'
|
||||||
import { Show } from 'solid-js'
|
import { Show } from 'solid-js'
|
||||||
|
import { Title } from '@solidjs/meta'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
children?: any
|
children?: any
|
||||||
alignment?: 'row' | 'column'
|
alignment?: 'row' | 'column'
|
||||||
|
title: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export default (props: Props) => {
|
export default (props: Props) => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Show when={props.alignment}>
|
<Show when={props.alignment}>
|
||||||
<main class={props.alignment}>{props.children}</main>
|
<main class={props.alignment}><Title>{props.title}</Title>{props.children}</main>
|
||||||
</Show>
|
</Show>
|
||||||
<Show when={!props.alignment}>
|
<Show when={!props.alignment}>
|
||||||
<main class="page">{props.children}</main>
|
<main class="page"><Title>{props.title}</Title>{props.children}</main>
|
||||||
</Show>
|
</Show>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
13
frontend/src/@dasig/scripts/functions/encryptRsa.ts
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { JSEncrypt } from 'jsencrypt'
|
||||||
|
import { $rsaPublicKey } from '../../../../configs/config.security'
|
||||||
|
|
||||||
|
const enc = new JSEncrypt()
|
||||||
|
const PUBLIC_KEY = $rsaPublicKey.get()
|
||||||
|
|
||||||
|
export default async (message: string) => {
|
||||||
|
enc.setPublicKey(PUBLIC_KEY)
|
||||||
|
const encrypted = enc.encrypt(message).toString()
|
||||||
|
const fixedEncrypted = encrypted.replace(/\//g, '~')
|
||||||
|
|
||||||
|
return fixedEncrypted
|
||||||
|
}
|
||||||
1
frontend/src/@dasig/scripts/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export { default as encryptRsa } from './functions/encryptRsa'
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
import { MetaProvider, Title } from "@solidjs/meta";
|
import { MetaProvider, Title } from '@solidjs/meta'
|
||||||
import { Router } from "@solidjs/router";
|
import { Router } from '@solidjs/router'
|
||||||
import { FileRoutes } from "@solidjs/start/router";
|
import { FileRoutes } from '@solidjs/start/router'
|
||||||
import { Suspense } from "solid-js";
|
import { Suspense } from 'solid-js'
|
||||||
import "./app.sass";
|
import './styles/app.sass'
|
||||||
|
|
||||||
export default function App() {
|
export default () => {
|
||||||
return (
|
return (
|
||||||
<Router
|
<Router
|
||||||
root={props => (
|
root={(props) => (
|
||||||
<MetaProvider>
|
<MetaProvider>
|
||||||
<Title>Dasig - Solid</Title>
|
<Title>Dasig - Solid</Title>
|
||||||
|
|
||||||
{/* <a href="/">Index</a>
|
{/* <a href="/">Index</a>
|
||||||
<a href="/about">About</a> */}
|
<a href="/about">About</a> */}
|
||||||
<Suspense>{props.children}</Suspense>
|
<Suspense>{props.children}</Suspense>
|
||||||
|
|
@ -18,5 +19,5 @@ export default function App() {
|
||||||
>
|
>
|
||||||
<FileRoutes />
|
<FileRoutes />
|
||||||
</Router>
|
</Router>
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
23
frontend/src/entry-server.tsx
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
// // src/entry-server.tsx
|
||||||
|
// import { createHandler, StartServer } from '@solidjs/start/server'
|
||||||
|
// import dotenv from 'dotenv'
|
||||||
|
// dotenv.config({ path: 'env/.env.site' })
|
||||||
|
// import { HTML } from './_dasig'
|
||||||
|
|
||||||
|
// const websiteName = process.env.WEBSITE_NAME || 'Dasig - Solid'
|
||||||
|
// const websiteDescription = process.env.WEBSITE_DESCRIPTION || 'A template for fast development (Solid Version)'
|
||||||
|
// const author = process.env.AUTHOR || 'Patrick Alvin Alcala'
|
||||||
|
// const font = process.env.FONT
|
||||||
|
|
||||||
|
// export default createHandler(() => <StartServer document={({ assets, children, scripts }) => <HTML name={websiteName} description={websiteDescription} author={author} children={children} assets={assets} scripts={scripts} font={font} />} />)
|
||||||
|
|
||||||
|
import { createHandler, StartServer } from '@solidjs/start/server'
|
||||||
|
import { $websiteName, $websiteDescription, $yourName, $font } from '../configs/config.site'
|
||||||
|
import { HTML } from '~/@dasig'
|
||||||
|
|
||||||
|
const websiteName = $websiteName.get() || 'Dasig - Solid'
|
||||||
|
const websiteDescription = $websiteDescription.get() || 'A template for fast development (Solid Version)'
|
||||||
|
const author = $yourName.get() || 'Patrick Alvin Alcala'
|
||||||
|
const font = $font.get()
|
||||||
|
|
||||||
|
export default createHandler(() => <StartServer document={({ assets, children, scripts }) => <HTML name={websiteName} description={websiteDescription} author={author} children={children} assets={assets} scripts={scripts} font={font} />} />)
|
||||||
0
src/global.d.ts → frontend/src/global.d.ts
vendored
4
frontend/src/routes/index.sass
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
@use '../styles/variables' as vars
|
||||||
|
|
||||||
|
.h1
|
||||||
|
color: vars.$accentColor
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
import { Title } from '@solidjs/meta'
|
import './index.sass'
|
||||||
import Counter from '~/components/Counter/Counter'
|
import Counter from '~/components/Counter/Counter'
|
||||||
import { Page, Column } from '~/_dasig'
|
import { Page, Column } from '~/@dasig'
|
||||||
|
|
||||||
export default function Home() {
|
export default () => {
|
||||||
return (
|
return (
|
||||||
<Page>
|
<Page title="Dasig - Index">
|
||||||
<Column>
|
<Column>
|
||||||
<Title>Dasig - Index</Title>
|
|
||||||
<h1>DASIG</h1>
|
<h1>DASIG</h1>
|
||||||
<h4>A next level development for pure speed</h4>
|
<h4>A next level development for pure speed</h4>
|
||||||
<Counter />
|
<Counter />
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
@use './styles/classes'
|
@use './global'
|
||||||
@use './styles/variables'
|
@use './variables'
|
||||||
|
|
||||||
|
:root
|
||||||
|
background-color: variables.$background
|
||||||
|
|
||||||
a
|
a
|
||||||
margin-right: 1rem
|
margin-right: 1rem
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
$mobile: 375px
|
$mobile: 575.98px
|
||||||
$tablet: 768px
|
$tablet: 768px
|
||||||
$desktop: 1440px
|
$desktop: 1440px
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ $desktop: 1440px
|
||||||
display: none
|
display: none
|
||||||
|
|
||||||
.on-mobile-only
|
.on-mobile-only
|
||||||
@media only screen and (min-width: $mobile)
|
@media only screen and (max-width: $mobile)
|
||||||
display: block
|
display: block
|
||||||
|
|
||||||
@media only screen and (min-width: $tablet)
|
@media only screen and (min-width: $tablet)
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
.fullscreen
|
.background
|
||||||
position: absolute
|
position: absolute
|
||||||
top: 0
|
top: 0
|
||||||
left: 0
|
left: 0
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@use 'sass:color'
|
@use 'sass:color'
|
||||||
|
|
||||||
$background: #0c1b31
|
$background: #09111f
|
||||||
$textColor: #f0f8ff
|
$textColor: #f0f8ff
|
||||||
|
|
||||||
$fontSize: 1rem
|
$fontSize: 1rem
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
// src/entry-server.tsx
|
|
||||||
import { createHandler, StartServer } from '@solidjs/start/server'
|
|
||||||
import dotenv from 'dotenv'
|
|
||||||
dotenv.config({ path: '.env.dev' })
|
|
||||||
import { HTML } from './_dasig'
|
|
||||||
|
|
||||||
const websiteName = process.env.WEBSITE_NAME || 'Dasig - Solid'
|
|
||||||
const websiteDescription = process.env.WEBSITE_DESCRIPTION || 'A template for fast development (Solid Version)'
|
|
||||||
const author = process.env.AUTHOR || 'Patrick Alvin Alcala'
|
|
||||||
const font = process.env.FONT
|
|
||||||
|
|
||||||
export default createHandler(() => <StartServer document={({ assets, children, scripts }) => <HTML name={websiteName} description={websiteDescription} author={author} children={children} assets={assets} scripts={scripts} font={font} />} />)
|
|
||||||