This commit is contained in:
Patrick Alvin Alcala 2025-11-21 15:34:18 +08:00
parent afb5f3a287
commit db3736b71f
16 changed files with 203 additions and 181 deletions

View file

@ -1,42 +1,53 @@
{ {
"$schema": "https://biomejs.dev/schemas/2.3.6/schema.json", "formatter": {
"vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, "enabled": true,
"files": { "ignoreUnknown": false }, "formatWithErrors": false,
"formatter": { "indentStyle": "space",
"enabled": true, "indentWidth": 2,
"formatWithErrors": false, "lineEnding": "lf",
"indentStyle": "space", "lineWidth": 320,
"indentWidth": 2, "attributePosition": "auto",
"lineEnding": "lf", "bracketSameLine": false,
"lineWidth": 320, "bracketSpacing": true,
"attributePosition": "auto", "expand": "auto",
"bracketSameLine": false, "useEditorconfig": true
"bracketSpacing": true, },
"expand": "auto", "javascript": {
"useEditorconfig": true "formatter": {
}, "jsxQuoteStyle": "double",
"linter": { "enabled": true, "rules": { "recommended": true } }, "quoteProperties": "asNeeded",
"javascript": { "trailingCommas": "es5",
"formatter": { "semicolons": "asNeeded",
"jsxQuoteStyle": "double", "arrowParentheses": "always",
"quoteProperties": "asNeeded", "bracketSameLine": false,
"trailingCommas": "es5", "quoteStyle": "single",
"semicolons": "asNeeded", "attributePosition": "auto",
"arrowParentheses": "always", "bracketSpacing": true
"bracketSameLine": false, }
"quoteStyle": "single", },
"attributePosition": "auto", "json": { "formatter": { "enabled": false } },
"bracketSpacing": true "html": {
} "formatter": {
}, "indentScriptAndStyle": false,
"html": { "selfCloseVoidElements": "always"
"formatter": { }
"indentScriptAndStyle": false, },
"selfCloseVoidElements": "always" "linter": {
} "rules": {
}, "style": {
"assist": { "noNonNullAssertion": "off"
"enabled": true, },
"actions": { "source": { "organizeImports": "on" } } "a11y": {
} "useKeyWithClickEvents": "off",
"noStaticElementInteractions": "off"
},
"complexity": {
"noUselessFragments": "off"
},
"suspicious": {
"noImplicitAnyLet": "off",
"noImplicitAny": "off"
}
}
}
} }

View file

@ -1,8 +1,10 @@
import { atom } from 'nanostores' import { atom } from 'nanostores'
export const $websiteName = atom<string>('Dasig Solid') export const $websiteName = atom<string>('Dasig')
export const $websiteDescription = atom<string>('A template for next level speed (Solid Version)') 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 $font = atom<string>('inter')
export const $fontSource = atom<'cdn'| 'local'>('cdn')
export const $companyName = atom<string>('Pat Alcala')
export const $copyRightYear = atom<number>(2025) export const $copyRightYear = atom<number>(2025)

View file

View file

@ -0,0 +1,2 @@
$lightBackground: #daf8fa
$darkBackground: #08051d

View file

@ -0,0 +1,21 @@
import { consola } from 'consola';
import * as fs from 'fs';
import * as path from 'path';
import sharp from 'sharp';
(async () => {
try {
const dirPath = path.resolve('../../../public')
if (fs.existsSync(dirPath)) {
const inputSrc = '../../assets/images/logo.png'
const favicon = dirPath + '/favicon.png'
const faviconBuffer = await sharp(inputSrc).png({ quality: 90 }).resize(50).toBuffer()
await sharp(faviconBuffer).toFile(favicon)
consola.success('Favicon generated successfully')
} else {
consola.error('Directory does not exist:', dirPath)
}
} catch (error) {
consola.error('Error generating favicon:', error)
}
})()

View file

@ -8,12 +8,10 @@
"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", "dayjs": "^1.11.19",
"dotenv": "^17.2.3",
"eciesjs": "^0.4.16", "eciesjs": "^0.4.16",
"jsencrypt": "^3.5.4", "jsencrypt": "^3.5.4",
"nanostores": "^1.1.0", "nanostores": "^1.1.0",
@ -26,6 +24,7 @@
"node": ">=22" "node": ">=22"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^2.3.6",
"@types/node": "^24.7.2", "@types/node": "^24.7.2",
"sass-embedded": "^1.93.2" "sass-embedded": "^1.93.2"
} }

192
frontend/pnpm-lock.yaml generated
View file

@ -8,9 +8,6 @@ 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)
@ -23,9 +20,6 @@ importers:
dayjs: dayjs:
specifier: ^1.11.19 specifier: ^1.11.19
version: 1.11.19 version: 1.11.19
dotenv:
specifier: ^17.2.3
version: 17.2.3
eciesjs: eciesjs:
specifier: ^0.4.16 specifier: ^0.4.16
version: 0.4.16 version: 0.4.16
@ -48,6 +42,9 @@ importers:
specifier: ^0.5.7 specifier: ^0.5.7
version: 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) version: 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)
devDependencies: devDependencies:
'@biomejs/biome':
specifier: ^2.3.6
version: 2.3.6
'@types/node': '@types/node':
specifier: ^24.7.2 specifier: ^24.7.2
version: 24.7.2 version: 24.7.2
@ -194,6 +191,59 @@ packages:
resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@biomejs/biome@2.3.6':
resolution: {integrity: sha512-oqUhWyU6tae0MFsr/7iLe++QWRg+6jtUhlx9/0GmCWDYFFrK366sBLamNM7D9Y+c7YSynUFKr8lpEp1r6Sk7eA==}
engines: {node: '>=14.21.3'}
hasBin: true
'@biomejs/cli-darwin-arm64@2.3.6':
resolution: {integrity: sha512-P4JWE5d8UayBxYe197QJwyW4ZHp0B+zvRIGCusOm1WbxmlhpAQA1zEqQuunHgSIzvyEEp4TVxiKGXNFZPg7r9Q==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
'@biomejs/cli-darwin-x64@2.3.6':
resolution: {integrity: sha512-I4rTebj+F/L9K93IU7yTFs8nQ6EhaCOivxduRha4w4WEZK80yoZ8OAdR1F33m4yJ/NfUuTUbP/Wjs+vKjlCoWA==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
'@biomejs/cli-linux-arm64-musl@2.3.6':
resolution: {integrity: sha512-oK1NpIXIixbJ/4Tcx40cwiieqah6rRUtMGOHDeK2ToT7yUFVEvXUGRKqH0O4hqZ9tW8TcXNZKfgRH6xrsjVtGg==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
'@biomejs/cli-linux-arm64@2.3.6':
resolution: {integrity: sha512-JjYy83eVBnvuINZiqyFO7xx72v8Srh4hsgaacSBCjC22DwM6+ZvnX1/fj8/SBiLuUOfZ8YhU2pfq2Dzakeyg1A==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
'@biomejs/cli-linux-x64-musl@2.3.6':
resolution: {integrity: sha512-QvxB8GHQeaO4FCtwJpJjCgJkbHBbWxRHUxQlod+xeaYE6gtJdSkYkuxdKAQUZEOIsec+PeaDAhW9xjzYbwmOFA==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
'@biomejs/cli-linux-x64@2.3.6':
resolution: {integrity: sha512-ZjPXzy5yN9wusIoX+8Zp4p6cL8r0NzJCXg/4r1KLVveIPXd2jKVlqZ6ZyzEq385WwU3OX5KOwQYLQsOc788waQ==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
'@biomejs/cli-win32-arm64@2.3.6':
resolution: {integrity: sha512-YM7hLHpwjdt8R7+O2zS1Vo2cKgqEeptiXB1tWW1rgjN5LlpZovBVKtg7zfwfRrFx3i08aNZThYpTcowpTlczug==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
'@biomejs/cli-win32-x64@2.3.6':
resolution: {integrity: sha512-psgNEYgMAobY5h+QHRBVR9xvg2KocFuBKm6axZWB/aD12NWhQjiVFQUjV6wMXhlH4iT0Q9c3yK5JFRiDC/rzHA==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
'@bufbuild/protobuf@2.9.0': '@bufbuild/protobuf@2.9.0':
resolution: {integrity: sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==} resolution: {integrity: sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==}
@ -207,10 +257,6 @@ 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': '@ecies/ciphers@0.2.5':
resolution: {integrity: sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==} resolution: {integrity: sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==}
engines: {bun: '>=1', deno: '>=2', node: '>=16'} engines: {bun: '>=1', deno: '>=2', node: '>=16'}
@ -1068,10 +1114,6 @@ 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==}
@ -1328,10 +1370,6 @@ 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'}
@ -1409,10 +1447,6 @@ 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'}
@ -1491,10 +1525,6 @@ 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'}
@ -1502,10 +1532,6 @@ 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'}
@ -1731,10 +1757,6 @@ 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'}
@ -1821,10 +1843,6 @@ 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}
@ -1834,10 +1852,6 @@ packages:
engines: {node: ^14.16.0 || >=16.10.0} engines: {node: ^14.16.0 || >=16.10.0}
hasBin: true hasBin: true
object-treeify@1.1.33:
resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==}
engines: {node: '>= 10'}
ofetch@1.5.1: ofetch@1.5.1:
resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==}
@ -1848,10 +1862,6 @@ 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'}
@ -2215,9 +2225,6 @@ 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'}
@ -2315,10 +2322,6 @@ 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'}
@ -2892,6 +2895,41 @@ snapshots:
'@babel/helper-string-parser': 7.27.1 '@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.27.1 '@babel/helper-validator-identifier': 7.27.1
'@biomejs/biome@2.3.6':
optionalDependencies:
'@biomejs/cli-darwin-arm64': 2.3.6
'@biomejs/cli-darwin-x64': 2.3.6
'@biomejs/cli-linux-arm64': 2.3.6
'@biomejs/cli-linux-arm64-musl': 2.3.6
'@biomejs/cli-linux-x64': 2.3.6
'@biomejs/cli-linux-x64-musl': 2.3.6
'@biomejs/cli-win32-arm64': 2.3.6
'@biomejs/cli-win32-x64': 2.3.6
'@biomejs/cli-darwin-arm64@2.3.6':
optional: true
'@biomejs/cli-darwin-x64@2.3.6':
optional: true
'@biomejs/cli-linux-arm64-musl@2.3.6':
optional: true
'@biomejs/cli-linux-arm64@2.3.6':
optional: true
'@biomejs/cli-linux-x64-musl@2.3.6':
optional: true
'@biomejs/cli-linux-x64@2.3.6':
optional: true
'@biomejs/cli-win32-arm64@2.3.6':
optional: true
'@biomejs/cli-win32-x64@2.3.6':
optional: true
'@bufbuild/protobuf@2.9.0': {} '@bufbuild/protobuf@2.9.0': {}
'@cloudflare/kv-asset-handler@0.4.0': '@cloudflare/kv-asset-handler@0.4.0':
@ -2905,18 +2943,6 @@ 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)': '@ecies/ciphers@0.2.5(@noble/ciphers@1.3.0)':
dependencies: dependencies:
'@noble/ciphers': 1.3.0 '@noble/ciphers': 1.3.0
@ -3733,8 +3759,6 @@ 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: {}
@ -3929,18 +3953,6 @@ 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
@ -4003,8 +4015,6 @@ 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:
@ -4127,14 +4137,10 @@ 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: {}
@ -4348,8 +4354,6 @@ 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:
@ -4505,10 +4509,6 @@ 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
@ -4521,8 +4521,6 @@ snapshots:
pkg-types: 2.3.0 pkg-types: 2.3.0
tinyexec: 1.0.1 tinyexec: 1.0.1
object-treeify@1.1.33: {}
ofetch@1.5.1: ofetch@1.5.1:
dependencies: dependencies:
destr: 2.0.5 destr: 2.0.5
@ -4535,10 +4533,6 @@ 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
@ -4933,8 +4927,6 @@ 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: {}
@ -5035,8 +5027,6 @@ 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:

View file

@ -1,5 +1,5 @@
import { $backendUrl } from 'configs/config.api'
import { ofetch } from 'ofetch' import { ofetch } from 'ofetch'
import { $backendUrl } from '../../../../configs/config.api'
const URL = $backendUrl.get() const URL = $backendUrl.get()

View file

@ -1,8 +1,8 @@
import { ofetch } from 'ofetch' import { encryptRsa } from '../../scripts'
import { $backendUrl } from '../../../../configs/config.api' import { $backendUrl } from 'configs/config.api'
import { $tokenName, $tokenExpiration } from '../../../../configs/config.security' import { $tokenExpiration, $tokenName } from 'configs/config.security'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import encryptRsa from '../../scripts/functions/encryptRsa' import { ofetch } from 'ofetch'
const URL = $backendUrl.get() const URL = $backendUrl.get()
const TOKEN_NAME = $tokenName.get() const TOKEN_NAME = $tokenName.get()

View file

@ -0,0 +1,11 @@
import { $companyName, $copyRightYear } from "configs/config.site"
export default () => {
return (
<>
<span>
Copyright © {$copyRightYear.get()} {$companyName.get()} All Rights Reserved.
</span>
</>
)
}

View file

@ -2,6 +2,7 @@ import '../styles/HTML.sass'
import { type JSXElement, Show } from 'solid-js' import { type JSXElement, Show } from 'solid-js'
import background1 from '../images/background.avif' import background1 from '../images/background.avif'
import background2 from '../images/background.webp' import background2 from '../images/background.webp'
import { $fontSource } from '../../../configs/config.site'
interface Props { interface Props {
name: string name: string
@ -30,7 +31,7 @@ export default (props: Props) => {
<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.ico" /> <link rel="icon" type="image/svg+xml" href="/favicon.ico" />
<Show when={props.font}> <Show when={$fontSource.get() === 'cdn'}>
<link rel="preconnect" href="https://cdn.jsdelivr.net" /> <link rel="preconnect" href="https://cdn.jsdelivr.net" />
</Show> </Show>
<Show when={props.preloadBackground}> <Show when={props.preloadBackground}>

View file

@ -1,3 +1,3 @@
export { default as Column } from './components/Column'
export { default as HTML } from './components/HTML' export { default as HTML } from './components/HTML'
export { default as Page } from './components/Page' export { default as Page } from './components/Page'
export { default as Column } from './components/Column'

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -1,23 +1,10 @@
// // 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 { createHandler, StartServer } from '@solidjs/start/server'
import { $websiteName, $websiteDescription, $yourName, $font } from '../configs/config.site'
import { HTML } from '~/@dasig' import { HTML } from '~/@dasig'
import { $companyName, $font, $websiteDescription, $websiteName } from '../configs/config.site'
const websiteName = $websiteName.get() || 'Dasig - Solid' const websiteName = $websiteName.get()
const websiteDescription = $websiteDescription.get() || 'A template for fast development (Solid Version)' const websiteDescription = $websiteDescription.get()
const author = $yourName.get() || 'Patrick Alvin Alcala' const author = $companyName.get()
const font = $font.get() 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} />} />) export default createHandler(() => <StartServer document={({ assets, children, scripts }) => <HTML name={websiteName} description={websiteDescription} author={author} children={children} assets={assets} scripts={scripts} font={font} />} />)

View file

@ -1,10 +0,0 @@
import { Title } from "@solidjs/meta";
export default function About() {
return (
<main>
<Title>About</Title>
<h1>About</h1>
</main>
);
}

View file

@ -1,8 +1,16 @@
@use './global' @use './global'
@use './variables' @use './variables'
@use '../../configs/design.site' as design
@use 'sass:color'
:root :root
background-color: variables.$background color-scheme: light dark
background-color: light-dark(design.$lightBackground, design.$darkBackground)
transition: background-color 0.6s ease-out
.title
color: light-dark(color.adjust(design.$lightBackground, $blackness: 70%), color.adjust(design.$darkBackground, $lightness: 70%))
transition: background-color 0.6s ease-out
a a
margin-right: 1rem margin-right: 1rem