Compare commits

...

7 commits

7 changed files with 446 additions and 257 deletions

3
.env
View file

@ -2,6 +2,9 @@ VITE_BACKEND=http://localhost:4320/api/
# VITE_BACKEND=https://ocboapps.davaocity.gov.ph/esign-server/api/
# VITE_BACKEND=http://192.168.7.163/server/api/
VITE_SECRET_KEY="_q]e88#^vfHYZUwO@CI%r=VNsIW8EohK"
VITE_IV="vLXE!H~M&*u-1)bB"
VITE_HEAD=ARCH. KHASHAYAR L. TOGHYANI
VITE_PESO=
VITE_HEADID=276

View file

@ -54,7 +54,7 @@ func connect() {
router.Use(cors.New(cors.Config{
AllowOrigins: []string{"http://localhost:5173"},
AllowMethods: []string{"GET", "POST"},
AllowHeaders: []string{"Origin", "OCBO-ShieldConnection"},
AllowHeaders: []string{"Origin", "OCBO-Token"},
ExposeHeaders: []string{"Content-Length"},
AllowCredentials: true,
}))
@ -62,9 +62,9 @@ func connect() {
//SERVER
// router.Use(cors.New(cors.Config{
// //AllowAllOrigins: true,
// AllowOrigins: []string{"https://ocboapps.davaocity.gov.ph"},
// AllowOrigins: []string{"https://ocboapps.davaocity.gov.ph"},
// AllowMethods: []string{"GET", "POST"},
// AllowHeaders: []string{"Origin"},
// AllowHeaders: []string{"Origin", "OCBO-Token"},
// ExposeHeaders: []string{"Content-Length"},
// AllowCredentials: true,
// }))
@ -580,7 +580,7 @@ func connect() {
})
case "get-idbyapplication-occupancy":
err := db.QueryRow(`SELECT IFNULL(occupancyid, '') AS result FROM occupancy WHERE controlNo = ?`, data).Scan(&result)
err := db.QueryRow(`SELECT IFNULL(occupancyid, 0) AS result FROM occupancy WHERE controlNo = ?`, data).Scan(&result)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
@ -591,7 +591,7 @@ func connect() {
})
case "get-idbyapplication-electrical":
err := db.QueryRow(`SELECT IFNULL(electricalid, '') AS result FROM electrical WHERE electricalNo = ?`, data).Scan(&result)
err := db.QueryRow(`SELECT IFNULL(electricalid, 0) AS result FROM electrical WHERE electricalNo = ?`, data).Scan(&result)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
@ -659,30 +659,25 @@ func connect() {
"result": result,
})
case "get-opdetails-electrical":
var result2, result3, result4, result5, result6, result7, result8, result9, result10, result11, result12 string
case "get-opdetails-occupancy":
var result2, result3, result4, result5, result6 string
array := []string{}
array2 := []string{}
array3 := []string{}
array4 := []string{}
array5 := []string{}
array6 := []string{}
array7 := []string{}
array8 := []string{}
array9 := []string{}
array10 := []string{}
array11 := []string{}
array12 := []string{}
results, err := db.Query(`SELECT IFNULL(e.electricalNo, '') AS result, IFNULL(c.firstName, '') AS result2, IFNULL(c.middleInitial, '') AS result3, IFNULL(c.lastName, '') AS result4, IFNULL(e.locationofinstallation, '') AS result5, IFNULL(re.occupancyoruse, '') AS result6, IFNULL(em.employeename, '') AS result7, IFNULL(rb.accountdescription, '') AS result8, IFNULL(o.amount, '') AS result9, IFNULL(o.opDate, '') AS result10, IFNULL(e.electricalid, 0) AS result11, IFNULL(o.assessedbyid, 0) AS result12
FROM electrical e, customer c, electrical_orderofpayment_new o, ref_elec_occupancy re, ref_bldgcomputationsheet rb, employee em WHERE e.customerid = c.customerid AND e.electricalid = o.electricalid AND e.ref_elec_occupancyid = re.ref_elec_occupancyid AND o.ref_bldgcomputationsheetid = rb.ref_bldgcomputationsheetid AND o.assessedbyid = em.employeeid AND e.electricalNo = ?`, data)
results, err := db.Query(`SELECT IFNULL(r.locationofconstruction, '') AS result, IFNULL(CONCAT(ro.occupancy, '-', rot.occupancyType), '') AS result2, IFNULL(em.employeename, '') AS result3, IFNULL(o.amount, '') AS result4, IFNULL(o.assessedDate, '') AS result5, IFNULL(oc.occupancyid, 0) AS result6
FROM occupancy oc LEFT JOIN receiving r ON oc.bldgApplicationNo = r.applicationNo JOIN ref_occupancy_type rot ON oc.ref_occupancy_typeid = rot.ref_occupancy_typeid JOIN ref_occupancy ro ON rot.ref_occupancyid = ro.ref_occupancyid JOIN occupancy_orderofpayment o ON oc.occupancyid = o.occupancyid JOIN employee em ON o.assessedbyid = em.employeeid
WHERE oc.controlNo = ?`, data)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
return
}
for results.Next() {
err = results.Scan(&result, &result2, &result3, &result4, &result5, &result6, &result7, &result8, &result9, &result10, &result11, &result12)
err = results.Scan(&result, &result2, &result3, &result4, &result5, &result6)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
@ -694,27 +689,58 @@ func connect() {
array4 = append(array4, result4)
array5 = append(array5, result5)
array6 = append(array6, result6)
array7 = append(array7, result7)
array8 = append(array8, result8)
array9 = append(array9, result9)
array10 = append(array10, result10)
array11 = append(array11, result11)
array12 = append(array12, result12)
}
c.JSON(http.StatusOK, gin.H{
"result": array,
"result2": array2,
"result3": array3,
"result4": array4,
"result5": array5,
"result6": array6,
"result7": array7,
"result8": array8,
"result9": array9,
"result10": array10,
"result11": array11,
"result12": array12,
"result": array, //applicationNo
"result2": array2, //noOfPermits
"result3": array3, //firstName
"result4": array4, //middleName
"result5": array5, //lastName
"result6": array6, //occFirstName
})
case "get-opdetails-electrical":
var result2, result3, result4, result5, result6 string
array := []string{}
array2 := []string{}
array3 := []string{}
array4 := []string{}
array5 := []string{}
array6 := []string{}
// results, err := db.Query(`SELECT IFNULL(e.electricalNo, '') AS result, IFNULL(c.firstName, '') AS result2, IFNULL(c.middleInitial, '') AS result3, IFNULL(c.lastName, '') AS result4, IFNULL(e.locationofinstallation, '') AS result5, IFNULL(re.occupancyoruse, '') AS result6, IFNULL(em.employeename, '') AS result7, IFNULL(rb.accountdescription, '') AS result8, IFNULL(o.amount, '') AS result9, IFNULL(o.opDate, '') AS result10, IFNULL(e.electricalid, 0) AS result11, IFNULL(o.assessedbyid, 0) AS result12
// FROM electrical e join customer c on e.customerid = c.customerid join electrical_orderofpayment_new o on e.electricalid = o.electricalid join ref_elec_occupancy re on e.ref_elec_occupancyid = re.ref_elec_occupancyid join ref_bldgcomputationsheet rb on o.ref_bldgcomputationsheetid = rb.ref_bldgcomputationsheetid join employee em on o.assessedbyid = em.employeeid
// WHERE e.electricalNo = ?`, data)
results, err := db.Query(`SELECT IFNULL(e.locationofinstallation, '') AS result, IFNULL(re.occupancyoruse, '') AS result2, IFNULL(em.employeename, '') AS result3, IFNULL(o.amount, '') AS result4, IFNULL(o.opDate, '') AS result5, IFNULL(e.electricalid, 0) AS result6
FROM electrical e join electrical_orderofpayment_new o on e.electricalid = o.electricalid join ref_elec_occupancy re on e.ref_elec_occupancyid = re.ref_elec_occupancyid join employee em on o.assessedbyid = em.employeeid
WHERE e.electricalNo = ?`, data)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
return
}
for results.Next() {
err = results.Scan(&result, &result2, &result3, &result4, &result5, &result6)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
return
}
array = append(array, result)
array2 = append(array2, result2)
array3 = append(array3, result3)
array4 = append(array4, result4)
array5 = append(array5, result5)
array6 = append(array6, result6)
}
c.JSON(http.StatusOK, gin.H{
"result": array,
"result2": array2,
"result3": array3,
"result4": array4,
"result5": array5,
"result6": array6,
})
case "get-paymentname":
@ -956,6 +982,7 @@ func connect() {
}
})
// router.POST("/api/post-registration", middleware.tokenChecker, func(c *gin.Context) {
router.POST("/api/post-registration", func(c *gin.Context) {
type RegistrationData struct {
Data int `json:"data"`
@ -1000,6 +1027,54 @@ func connect() {
})
router.POST("/api/post-newstatus-occupancy", func(c *gin.Context) {
type NewstatusData struct {
Data int `json:"data"` //occuapancyid
Data2 string `json:"data2"` //date
Data3 string `json:"data3"` //remarks
Data4 string `json:"data4"` //is_tag
Data5 string `json:"data5"` //tagword
Data6 int `json:"data6"` //is_aprrove
Data7 int `json:"data7"` //employeeid
}
var newstatusData NewstatusData
if err := c.ShouldBindJSON(&newstatusData); err != nil {
c.String(http.StatusBadRequest, "Invalid request body")
return
}
c.Writer.Header().Set("X-XSS-Protection", "1; mode=block")
c.Writer.Header().Set("X-Content-Type-Options", "nosniff")
c.Writer.Header().Set("X-DNS-Prefetch-Control", "off")
c.Writer.Header().Set("X-Frame-Options", "DENY")
c.Writer.Header().Set("X-Download-Options", "noopen")
c.Writer.Header().Set("Referrer-Policy", "no-referrer")
dbpost, err := db.Prepare(`INSERT INTO occupancydocflowtxn (occupancydocflowtxnid, occupancyreceivingid, txndate, remarks, is_tag, tagword, is_approve, employeeid, is_compliance, comments)
VALUES (NULL, ?, ?, ?, ?, ?, ?, ?, 0, NULL)`)
if err != nil {
panic(err.Error())
}
defer dbpost.Close()
exec, err := dbpost.Exec(newstatusData.Data, newstatusData.Data2, newstatusData.Data3, newstatusData.Data4, newstatusData.Data5, newstatusData.Data6, newstatusData.Data7)
if err != nil {
panic(err.Error())
}
affect, err := exec.RowsAffected()
if err != nil {
panic(err.Error())
}
if affect > 0 {
c.String(http.StatusOK, "Success on Setting New Status")
} else {
c.String(http.StatusInternalServerError, "Failed on Setting New Status")
}
})
router.POST("/api/post-newstatus-electrical", func(c *gin.Context) {
type NewstatusData struct {
Data int `json:"data"`
@ -1048,6 +1123,53 @@ func connect() {
})
router.POST("/api/update-docflow-occupancy", func(c *gin.Context) {
type UpdateDocflowData struct {
Data int `json:"data"`
Data2 string `json:"data2"`
}
var updateDocflowData UpdateDocflowData
if err := c.ShouldBindJSON(&updateDocflowData); err != nil {
c.String(http.StatusBadRequest, "Invalid request body")
return
}
c.Writer.Header().Set("X-XSS-Protection", "1; mode=block")
c.Writer.Header().Set("X-Content-Type-Options", "nosniff")
c.Writer.Header().Set("X-DNS-Prefetch-Control", "off")
c.Writer.Header().Set("X-Frame-Options", "DENY")
c.Writer.Header().Set("X-Download-Options", "noopen")
c.Writer.Header().Set("Referrer-Policy", "no-referrer")
dbpost, err := db.Prepare("UPDATE occupancydocflowtxn SET is_approve = 1 WHERE occupancyreceivingid = ? AND remarks = ?")
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
c.String(http.StatusInternalServerError, "Internal Server Error")
return
}
defer dbpost.Close()
exec, err := dbpost.Exec(updateDocflowData.Data, updateDocflowData.Data2)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
c.String(http.StatusInternalServerError, "Internal Server Error")
return
}
affect, err := exec.RowsAffected()
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
c.String(http.StatusInternalServerError, "Internal Server Error")
return
}
if affect > 0 {
c.String(http.StatusOK, "Success on Updating Docflow on Electrical")
} else {
c.String(http.StatusInternalServerError, "Failed on Updating Docflow on Electrical")
}
})
router.POST("/api/update-docflow-electrical", func(c *gin.Context) {
type UpdateDocflowData struct {
Data int `json:"data"`
@ -1230,6 +1352,53 @@ func connect() {
}
})
router.POST("/api/update-opapproved-occupancy", func(c *gin.Context) {
type UpdateOpData struct {
Data int `json:"data"`
}
var updateOpData UpdateOpData
if err := c.ShouldBindJSON(&updateOpData); err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, "Invalid request body")
return
}
c.Writer.Header().Set("X-XSS-Protection", "1; mode=block")
c.Writer.Header().Set("X-Content-Type-Options", "nosniff")
c.Writer.Header().Set("X-DNS-Prefetch-Control", "off")
c.Writer.Header().Set("X-Frame-Options", "DENY")
c.Writer.Header().Set("X-Download-Options", "noopen")
c.Writer.Header().Set("Referrer-Policy", "no-referrer")
dbpost, err := db.Prepare("UPDATE occupancy_orderofpayment SET is_approve = 1 WHERE occupancyid = ? AND for_approval = 1 AND is_paid = 0")
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
c.String(http.StatusInternalServerError, "Internal Server Error")
return
}
defer dbpost.Close()
exec, err := dbpost.Exec(updateOpData.Data)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
c.String(http.StatusInternalServerError, "Internal Server Error")
return
}
affect, err := exec.RowsAffected()
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
c.String(http.StatusInternalServerError, "Internal Server Error")
return
}
if affect > 0 {
c.String(http.StatusOK, "Success on Updating Order of Payment on Approval")
} else {
c.String(http.StatusInternalServerError, "Failed on Updating Order of Payment on Approval")
}
})
router.POST("/api/update-opapproved-electrical", func(c *gin.Context) {
type UpdateOpData struct {
Data int `json:"data"`

View file

@ -15,29 +15,29 @@
"@solidjs/router": "^0.15.3",
"consola": "^3.4.2",
"crypto-js": "^4.2.0",
"dayjs": "^1.11.18",
"dayjs": "^1.11.19",
"gsap": "^3.13.0",
"jimp": "^1.6.0",
"jspdf": "^3.0.3",
"jspdf-barcode": "^1.0.2",
"nanostores": "^1.0.1",
"ofetch": "^1.4.1",
"ofetch": "^1.5.1",
"openssl-nodejs": "^1.0.5",
"pica": "^9.0.1",
"qrcode": "^1.5.4",
"sharp": "^0.34.4",
"solid-icons": "^1.1.0",
"solid-js": "^1.9.9",
"solid-js": "^1.9.10",
"solidjs-use": "^2.3.0"
},
"devDependencies": {
"@nanostores/solid": "^1.1.1",
"@types/crypto-js": "^4.2.2",
"@types/node": "^24.7.0",
"sass-embedded": "^1.93.2",
"@types/node": "^24.10.0",
"sass-embedded": "^1.93.3",
"typescript": "~5.8.3",
"vite": "^7.1.9",
"vite-plugin-compression2": "^2.2.1",
"vite-plugin-solid": "^2.11.9"
"vite": "^7.2.0",
"vite-plugin-compression2": "^2.3.1",
"vite-plugin-solid": "^2.11.10"
}
}

412
pnpm-lock.yaml generated
View file

@ -13,13 +13,13 @@ importers:
version: 5.2.8
'@kobalte/core':
specifier: ^0.13.11
version: 0.13.11(solid-js@1.9.9)
version: 0.13.11(solid-js@1.9.10)
'@solidjs-use/integrations':
specifier: ^2.3.0
version: 2.3.0(qrcode@1.5.4)(sortablejs@1.15.6)
'@solidjs/router':
specifier: ^0.15.3
version: 0.15.3(solid-js@1.9.9)
version: 0.15.3(solid-js@1.9.10)
consola:
specifier: ^3.4.2
version: 3.4.2
@ -27,8 +27,8 @@ importers:
specifier: ^4.2.0
version: 4.2.0
dayjs:
specifier: ^1.11.18
version: 1.11.18
specifier: ^1.11.19
version: 1.11.19
gsap:
specifier: ^3.13.0
version: 3.13.0
@ -45,8 +45,8 @@ importers:
specifier: ^1.0.1
version: 1.0.1
ofetch:
specifier: ^1.4.1
version: 1.4.1
specifier: ^1.5.1
version: 1.5.1
openssl-nodejs:
specifier: ^1.0.5
version: 1.0.5
@ -61,38 +61,38 @@ importers:
version: 0.34.4
solid-icons:
specifier: ^1.1.0
version: 1.1.0(solid-js@1.9.9)
version: 1.1.0(solid-js@1.9.10)
solid-js:
specifier: ^1.9.9
version: 1.9.9
specifier: ^1.9.10
version: 1.9.10
solidjs-use:
specifier: ^2.3.0
version: 2.3.0
devDependencies:
'@nanostores/solid':
specifier: ^1.1.1
version: 1.1.1(nanostores@1.0.1)(solid-js@1.9.9)
version: 1.1.1(nanostores@1.0.1)(solid-js@1.9.10)
'@types/crypto-js':
specifier: ^4.2.2
version: 4.2.2
'@types/node':
specifier: ^24.7.0
version: 24.7.0
specifier: ^24.10.0
version: 24.10.0
sass-embedded:
specifier: ^1.93.2
version: 1.93.2
specifier: ^1.93.3
version: 1.93.3
typescript:
specifier: ~5.8.3
version: 5.8.3
vite:
specifier: ^7.1.9
version: 7.1.9(@types/node@24.7.0)(sass-embedded@1.93.2)(sass@1.93.2)
specifier: ^7.2.0
version: 7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)
vite-plugin-compression2:
specifier: ^2.2.1
version: 2.2.1(rollup@4.52.1)
specifier: ^2.3.1
version: 2.3.1(rollup@4.52.1)
vite-plugin-solid:
specifier: ^2.11.9
version: 2.11.9(solid-js@1.9.9)(vite@7.1.9(@types/node@24.7.0)(sass-embedded@1.93.2)(sass@1.93.2))
specifier: ^2.11.10
version: 2.11.10(solid-js@1.9.10)(vite@7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3))
packages:
@ -969,8 +969,8 @@ packages:
'@types/node@16.9.1':
resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==}
'@types/node@24.7.0':
resolution: {integrity: sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw==}
'@types/node@24.10.0':
resolution: {integrity: sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==}
'@types/pako@2.0.4':
resolution: {integrity: sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==}
@ -1093,8 +1093,8 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
dayjs@1.11.18:
resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==}
dayjs@1.11.19:
resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
@ -1328,8 +1328,8 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
ofetch@1.4.1:
resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
ofetch@1.5.1:
resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==}
omggif@1.0.10:
resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
@ -1461,117 +1461,117 @@ packages:
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
sass-embedded-all-unknown@1.93.2:
resolution: {integrity: sha512-GdEuPXIzmhRS5J7UKAwEvtk8YyHQuFZRcpnEnkA3rwRUI27kwjyXkNeIj38XjUQ3DzrfMe8HcKFaqWGHvblS7Q==}
sass-embedded-all-unknown@1.93.3:
resolution: {integrity: sha512-3okGgnE41eg+CPLtAPletu6nQ4N0ij7AeW+Sl5Km4j29XcmqZQeFwYjHe1AlKTEgLi/UAONk1O8i8/lupeKMbw==}
cpu: ['!arm', '!arm64', '!riscv64', '!x64']
sass-embedded-android-arm64@1.93.2:
resolution: {integrity: sha512-346f4iVGAPGcNP6V6IOOFkN5qnArAoXNTPr5eA/rmNpeGwomdb7kJyQ717r9rbJXxOG8OAAUado6J0qLsjnjXQ==}
sass-embedded-android-arm64@1.93.3:
resolution: {integrity: sha512-uqUl3Kt1IqdGVAcAdbmC+NwuUJy8tM+2ZnB7/zrt6WxWVShVCRdFnWR9LT8HJr7eJN7AU8kSXxaVX/gedanPsg==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [android]
sass-embedded-android-arm@1.93.2:
resolution: {integrity: sha512-I8bpO8meZNo5FvFx5FIiE7DGPVOYft0WjuwcCCdeJ6duwfkl6tZdatex1GrSigvTsuz9L0m4ngDcX/Tj/8yMow==}
sass-embedded-android-arm@1.93.3:
resolution: {integrity: sha512-8xOw9bywfOD6Wv24BgCmgjkk6tMrsOTTHcb28KDxeJtFtoxiUyMbxo0vChpPAfp2Hyg2tFFKS60s0s4JYk+Raw==}
engines: {node: '>=14.0.0'}
cpu: [arm]
os: [android]
sass-embedded-android-riscv64@1.93.2:
resolution: {integrity: sha512-hSMW1s4yJf5guT9mrdkumluqrwh7BjbZ4MbBW9tmi1DRDdlw1Wh9Oy1HnnmOG8x9XcI1qkojtPL6LUuEJmsiDg==}
sass-embedded-android-riscv64@1.93.3:
resolution: {integrity: sha512-2jNJDmo+3qLocjWqYbXiBDnfgwrUeZgZFHJIwAefU7Fn66Ot7rsXl+XPwlokaCbTpj7eMFIqsRAZ/uDueXNCJg==}
engines: {node: '>=14.0.0'}
cpu: [riscv64]
os: [android]
sass-embedded-android-x64@1.93.2:
resolution: {integrity: sha512-JqktiHZduvn+ldGBosE40ALgQ//tGCVNAObgcQ6UIZznEJbsHegqStqhRo8UW3x2cgOO2XYJcrInH6cc7wdKbw==}
sass-embedded-android-x64@1.93.3:
resolution: {integrity: sha512-y0RoAU6ZenQFcjM9PjQd3cRqRTjqwSbtWLL/p68y2oFyh0QGN0+LQ826fc0ZvU/AbqCsAizkqjzOn6cRZJxTTQ==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [android]
sass-embedded-darwin-arm64@1.93.2:
resolution: {integrity: sha512-qI1X16qKNeBJp+M/5BNW7v/JHCDYWr1/mdoJ7+UMHmP0b5AVudIZtimtK0hnjrLnBECURifd6IkulybR+h+4UA==}
sass-embedded-darwin-arm64@1.93.3:
resolution: {integrity: sha512-7zb/hpdMOdKteK17BOyyypemglVURd1Hdz6QGsggy60aUFfptTLQftLRg8r/xh1RbQAUKWFbYTNaM47J9yPxYg==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [darwin]
sass-embedded-darwin-x64@1.93.2:
resolution: {integrity: sha512-4KeAvlkQ0m0enKUnDGQJZwpovYw99iiMb8CTZRSsQm8Eh7halbJZVmx67f4heFY/zISgVOCcxNg19GrM5NTwtA==}
sass-embedded-darwin-x64@1.93.3:
resolution: {integrity: sha512-Ek1Vp8ZDQEe327Lz0b7h3hjvWH3u9XjJiQzveq74RPpJQ2q6d9LfWpjiRRohM4qK6o4XOHw1X10OMWPXJtdtWg==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [darwin]
sass-embedded-linux-arm64@1.93.2:
resolution: {integrity: sha512-9ftX6nd5CsShJqJ2WRg+ptaYvUW+spqZfJ88FbcKQBNFQm6L87luj3UI1rB6cP5EWrLwHA754OKxRJyzWiaN6g==}
sass-embedded-linux-arm64@1.93.3:
resolution: {integrity: sha512-RBrHWgfd8Dd8w4fbmdRVXRrhh8oBAPyeWDTKAWw8ZEmuXfVl4ytjDuyxaVilh6rR1xTRTNpbaA/YWApBlLrrNw==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [linux]
sass-embedded-linux-arm@1.93.2:
resolution: {integrity: sha512-N3+D/ToHtzwLDO+lSH05Wo6/KRxFBPnbjVHASOlHzqJnK+g5cqex7IFAp6ozzlRStySk61Rp6d+YGrqZ6/P0PA==}
sass-embedded-linux-arm@1.93.3:
resolution: {integrity: sha512-yeiv2y+dp8B4wNpd3+JsHYD0mvpXSfov7IGyQ1tMIR40qv+ROkRqYiqQvAOXf76Qwh4Y9OaYZtLpnsPjfeq6mA==}
engines: {node: '>=14.0.0'}
cpu: [arm]
os: [linux]
sass-embedded-linux-musl-arm64@1.93.2:
resolution: {integrity: sha512-+3EHuDPkMiAX5kytsjEC1bKZCawB9J6pm2eBIzzLMPWbf5xdx++vO1DpT7hD4bm4ZGn0eVHgSOKIfP6CVz6tVg==}
sass-embedded-linux-musl-arm64@1.93.3:
resolution: {integrity: sha512-PS829l+eUng+9W4PFclXGb4uA2+965NHV3/Sa5U7qTywjeeUUYTZg70dJHSqvhrBEfCc2XJABeW3adLJbyQYkw==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [linux]
sass-embedded-linux-musl-arm@1.93.2:
resolution: {integrity: sha512-XBTvx66yRenvEsp3VaJCb3HQSyqCsUh7R+pbxcN5TuzueybZi0LXvn9zneksdXcmjACMlMpIVXi6LyHPQkYc8A==}
sass-embedded-linux-musl-arm@1.93.3:
resolution: {integrity: sha512-fU0fwAwbp7sBE3h5DVU5UPzvaLg7a4yONfFWkkcCp6ZrOiPuGRHXXYriWQ0TUnWy4wE+svsVuWhwWgvlb/tkKg==}
engines: {node: '>=14.0.0'}
cpu: [arm]
os: [linux]
sass-embedded-linux-musl-riscv64@1.93.2:
resolution: {integrity: sha512-0sB5kmVZDKTYzmCSlTUnjh6mzOhzmQiW/NNI5g8JS4JiHw2sDNTvt1dsFTuqFkUHyEOY3ESTsfHHBQV8Ip4bEA==}
sass-embedded-linux-musl-riscv64@1.93.3:
resolution: {integrity: sha512-cK1oBY+FWQquaIGEeQ5H74KTO8cWsSWwXb/WaildOO9U6wmUypTgUYKQ0o5o/29nZbWWlM1PHuwVYTSnT23Jjg==}
engines: {node: '>=14.0.0'}
cpu: [riscv64]
os: [linux]
sass-embedded-linux-musl-x64@1.93.2:
resolution: {integrity: sha512-t3ejQ+1LEVuHy7JHBI2tWHhoMfhedUNDjGJR2FKaLgrtJntGnyD1RyX0xb3nuqL/UXiEAtmTmZY+Uh3SLUe1Hg==}
sass-embedded-linux-musl-x64@1.93.3:
resolution: {integrity: sha512-A7wkrsHu2/I4Zpa0NMuPGkWDVV7QGGytxGyUq3opSXgAexHo/vBPlGoDXoRlSdex0cV+aTMRPjoGIfdmNlHwyg==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [linux]
sass-embedded-linux-riscv64@1.93.2:
resolution: {integrity: sha512-e7AndEwAbFtXaLy6on4BfNGTr3wtGZQmypUgYpSNVcYDO+CWxatKVY4cxbehMPhxG9g5ru+eaMfynvhZt7fLaA==}
sass-embedded-linux-riscv64@1.93.3:
resolution: {integrity: sha512-vWkW1+HTF5qcaHa6hO80gx/QfB6GGjJUP0xLbnAoY4pwEnw5ulGv6RM8qYr8IDhWfVt/KH+lhJ2ZFxnJareisQ==}
engines: {node: '>=14.0.0'}
cpu: [riscv64]
os: [linux]
sass-embedded-linux-x64@1.93.2:
resolution: {integrity: sha512-U3EIUZQL11DU0xDDHXexd4PYPHQaSQa2hzc4EzmhHqrAj+TyfYO94htjWOd+DdTPtSwmLp+9cTWwPZBODzC96w==}
sass-embedded-linux-x64@1.93.3:
resolution: {integrity: sha512-k6uFxs+e5jSuk1Y0niCwuq42F9ZC5UEP7P+RIOurIm8w/5QFa0+YqeW+BPWEW5M1FqVOsNZH3qGn4ahqvAEjPA==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [linux]
sass-embedded-unknown-all@1.93.2:
resolution: {integrity: sha512-7VnaOmyewcXohiuoFagJ3SK5ddP9yXpU0rzz+pZQmS1/+5O6vzyFCUoEt3HDRaLctH4GT3nUGoK1jg0ae62IfQ==}
sass-embedded-unknown-all@1.93.3:
resolution: {integrity: sha512-o5wj2rLpXH0C+GJKt/VpWp6AnMsCCbfFmnMAttcrsa+U3yrs/guhZ3x55KAqqUsE8F47e3frbsDL+1OuQM5DAA==}
os: ['!android', '!darwin', '!linux', '!win32']
sass-embedded-win32-arm64@1.93.2:
resolution: {integrity: sha512-Y90DZDbQvtv4Bt0GTXKlcT9pn4pz8AObEjFF8eyul+/boXwyptPZ/A1EyziAeNaIEIfxyy87z78PUgCeGHsx3Q==}
sass-embedded-win32-arm64@1.93.3:
resolution: {integrity: sha512-0dOfT9moy9YmBolodwYYXtLwNr4jL4HQC9rBfv6mVrD7ud8ue2kDbn+GVzj1hEJxvEexVSmDCf7MHUTLcGs9xQ==}
engines: {node: '>=14.0.0'}
cpu: [arm64]
os: [win32]
sass-embedded-win32-x64@1.93.2:
resolution: {integrity: sha512-BbSucRP6PVRZGIwlEBkp+6VQl2GWdkWFMN+9EuOTPrLxCJZoq+yhzmbjspd3PeM8+7WJ7AdFu/uRYdO8tor1iQ==}
sass-embedded-win32-x64@1.93.3:
resolution: {integrity: sha512-wHFVfxiS9hU/sNk7KReD+lJWRp3R0SLQEX4zfOnRP2zlvI2X4IQR5aZr9GNcuMP6TmNpX0nQPZTegS8+h9RrEg==}
engines: {node: '>=14.0.0'}
cpu: [x64]
os: [win32]
sass-embedded@1.93.2:
resolution: {integrity: sha512-FvQdkn2dZ8DGiLgi0Uf4zsj7r/BsiLImNa5QJ10eZalY6NfZyjrmWGFcuCN5jNwlDlXFJnftauv+UtvBKLvepQ==}
sass-embedded@1.93.3:
resolution: {integrity: sha512-+VUy01yfDqNmIVMd/LLKl2TTtY0ovZN0rTonh+FhKr65mFwIYgU9WzgIZKS7U9/SPCQvWTsTGx9jyt+qRm/XFw==}
engines: {node: '>=16.0.0'}
hasBin: true
sass@1.93.2:
resolution: {integrity: sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==}
sass@1.93.3:
resolution: {integrity: sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==}
engines: {node: '>=14.0.0'}
hasBin: true
@ -1613,8 +1613,8 @@ packages:
peerDependencies:
solid-js: '*'
solid-js@1.9.9:
resolution: {integrity: sha512-A0ZBPJQldAeGCTW0YRYJmt7RCeh5rbFfPZ2aOttgYnctHE7HgKeHCBB/PVc2P7eOfmNXqMFFFoYYdm3S4dcbkA==}
solid-js@1.9.10:
resolution: {integrity: sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew==}
solid-presence@0.1.8:
resolution: {integrity: sha512-pWGtXUFWYYUZNbg5YpG5vkQJyOtzn2KXhxYaMx/4I+lylTLYkITOLevaCwMRN+liCVk0pqB6EayLWojNqBFECA==}
@ -1708,8 +1708,8 @@ packages:
ufo@1.6.1:
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
undici-types@7.14.0:
resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==}
undici-types@7.16.0:
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
update-browserslist-db@1.1.3:
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
@ -1729,11 +1729,11 @@ packages:
varint@6.0.0:
resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
vite-plugin-compression2@2.2.1:
resolution: {integrity: sha512-LMDkgheJaFBmb8cB8ymgUpXHXnd3m4kmjEInvp59fOZMSaT/9oDUtqpO0ihr4ExGsnWfYcRe13/TNN3BEk2t/g==}
vite-plugin-compression2@2.3.1:
resolution: {integrity: sha512-bnhLTsurtvOiiP6EMISIKVsOMCeTAjE6FJbyqQus3W4mtAxF7pCuC4puUIAiCgNs98tOCpqo6GIXJXTLufzIaw==}
vite-plugin-solid@2.11.9:
resolution: {integrity: sha512-bTA6p+bspXZsuulSd2y6aTzegF8xGaJYcq1Uyh/mv+W4DQtzCgL9nN6n2fsTaxp/dMk+ZHHKgGndlNeooqHLKw==}
vite-plugin-solid@2.11.10:
resolution: {integrity: sha512-Yr1dQybmtDtDAHkii6hXuc1oVH9CPcS/Zb2jN/P36qqcrkNnVPsMTzQ06jyzFPFjj3U1IYKMVt/9ZqcwGCEbjw==}
peerDependencies:
'@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.*
solid-js: ^1.7.2
@ -1742,8 +1742,8 @@ packages:
'@testing-library/jest-dom':
optional: true
vite@7.1.9:
resolution: {integrity: sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==}
vite@7.2.0:
resolution: {integrity: sha512-C/Naxf8H0pBx1PA4BdpT+c/5wdqI9ILMdwjSMILw7tVIh3JsxzZqdeTLmmdaoh5MYUEOyBnM9K3o0DzoZ/fe+w==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@ -1945,10 +1945,10 @@ snapshots:
'@bufbuild/protobuf@2.9.0': {}
'@corvu/utils@0.4.2(solid-js@1.9.9)':
'@corvu/utils@0.4.2(solid-js@1.9.10)':
dependencies:
'@floating-ui/dom': 1.7.4
solid-js: 1.9.9
solid-js: 1.9.10
'@emnapi/runtime@1.5.0':
dependencies:
@ -2350,33 +2350,33 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
'@kobalte/core@0.13.11(solid-js@1.9.9)':
'@kobalte/core@0.13.11(solid-js@1.9.10)':
dependencies:
'@floating-ui/dom': 1.7.4
'@internationalized/date': 3.9.0
'@internationalized/number': 3.6.5
'@kobalte/utils': 0.9.1(solid-js@1.9.9)
'@solid-primitives/props': 3.2.2(solid-js@1.9.9)
'@solid-primitives/resize-observer': 2.1.3(solid-js@1.9.9)
solid-js: 1.9.9
solid-presence: 0.1.8(solid-js@1.9.9)
solid-prevent-scroll: 0.1.10(solid-js@1.9.9)
'@kobalte/utils': 0.9.1(solid-js@1.9.10)
'@solid-primitives/props': 3.2.2(solid-js@1.9.10)
'@solid-primitives/resize-observer': 2.1.3(solid-js@1.9.10)
solid-js: 1.9.10
solid-presence: 0.1.8(solid-js@1.9.10)
solid-prevent-scroll: 0.1.10(solid-js@1.9.10)
'@kobalte/utils@0.9.1(solid-js@1.9.9)':
'@kobalte/utils@0.9.1(solid-js@1.9.10)':
dependencies:
'@solid-primitives/event-listener': 2.4.3(solid-js@1.9.9)
'@solid-primitives/keyed': 1.5.2(solid-js@1.9.9)
'@solid-primitives/map': 0.4.13(solid-js@1.9.9)
'@solid-primitives/media': 2.3.3(solid-js@1.9.9)
'@solid-primitives/props': 3.2.2(solid-js@1.9.9)
'@solid-primitives/refs': 1.1.2(solid-js@1.9.9)
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/event-listener': 2.4.3(solid-js@1.9.10)
'@solid-primitives/keyed': 1.5.2(solid-js@1.9.10)
'@solid-primitives/map': 0.4.13(solid-js@1.9.10)
'@solid-primitives/media': 2.3.3(solid-js@1.9.10)
'@solid-primitives/props': 3.2.2(solid-js@1.9.10)
'@solid-primitives/refs': 1.1.2(solid-js@1.9.10)
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@nanostores/solid@1.1.1(nanostores@1.0.1)(solid-js@1.9.9)':
'@nanostores/solid@1.1.1(nanostores@1.0.1)(solid-js@1.9.10)':
dependencies:
nanostores: 1.0.1
solid-js: 1.9.9
solid-js: 1.9.10
'@parcel/watcher-android-arm64@2.5.1':
optional: true
@ -2513,64 +2513,64 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.52.1':
optional: true
'@solid-primitives/event-listener@2.4.3(solid-js@1.9.9)':
'@solid-primitives/event-listener@2.4.3(solid-js@1.9.10)':
dependencies:
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/keyed@1.5.2(solid-js@1.9.9)':
'@solid-primitives/keyed@1.5.2(solid-js@1.9.10)':
dependencies:
solid-js: 1.9.9
solid-js: 1.9.10
'@solid-primitives/map@0.4.13(solid-js@1.9.9)':
'@solid-primitives/map@0.4.13(solid-js@1.9.10)':
dependencies:
'@solid-primitives/trigger': 1.2.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/trigger': 1.2.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/media@2.3.3(solid-js@1.9.9)':
'@solid-primitives/media@2.3.3(solid-js@1.9.10)':
dependencies:
'@solid-primitives/event-listener': 2.4.3(solid-js@1.9.9)
'@solid-primitives/rootless': 1.5.2(solid-js@1.9.9)
'@solid-primitives/static-store': 0.1.2(solid-js@1.9.9)
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/event-listener': 2.4.3(solid-js@1.9.10)
'@solid-primitives/rootless': 1.5.2(solid-js@1.9.10)
'@solid-primitives/static-store': 0.1.2(solid-js@1.9.10)
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/props@3.2.2(solid-js@1.9.9)':
'@solid-primitives/props@3.2.2(solid-js@1.9.10)':
dependencies:
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/refs@1.1.2(solid-js@1.9.9)':
'@solid-primitives/refs@1.1.2(solid-js@1.9.10)':
dependencies:
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/resize-observer@2.1.3(solid-js@1.9.9)':
'@solid-primitives/resize-observer@2.1.3(solid-js@1.9.10)':
dependencies:
'@solid-primitives/event-listener': 2.4.3(solid-js@1.9.9)
'@solid-primitives/rootless': 1.5.2(solid-js@1.9.9)
'@solid-primitives/static-store': 0.1.2(solid-js@1.9.9)
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/event-listener': 2.4.3(solid-js@1.9.10)
'@solid-primitives/rootless': 1.5.2(solid-js@1.9.10)
'@solid-primitives/static-store': 0.1.2(solid-js@1.9.10)
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/rootless@1.5.2(solid-js@1.9.9)':
'@solid-primitives/rootless@1.5.2(solid-js@1.9.10)':
dependencies:
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/static-store@0.1.2(solid-js@1.9.9)':
'@solid-primitives/static-store@0.1.2(solid-js@1.9.10)':
dependencies:
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/trigger@1.2.2(solid-js@1.9.9)':
'@solid-primitives/trigger@1.2.2(solid-js@1.9.10)':
dependencies:
'@solid-primitives/utils': 6.3.2(solid-js@1.9.9)
solid-js: 1.9.9
'@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
solid-js: 1.9.10
'@solid-primitives/utils@6.3.2(solid-js@1.9.9)':
'@solid-primitives/utils@6.3.2(solid-js@1.9.10)':
dependencies:
solid-js: 1.9.9
solid-js: 1.9.10
'@solidjs-use/integrations@2.3.0(qrcode@1.5.4)(sortablejs@1.15.6)':
dependencies:
@ -2584,9 +2584,9 @@ snapshots:
'@solidjs-use/solid-to-vue@2.3.0': {}
'@solidjs/router@0.15.3(solid-js@1.9.9)':
'@solidjs/router@0.15.3(solid-js@1.9.10)':
dependencies:
solid-js: 1.9.9
solid-js: 1.9.10
'@swc/helpers@0.5.17':
dependencies:
@ -2621,9 +2621,9 @@ snapshots:
'@types/node@16.9.1': {}
'@types/node@24.7.0':
'@types/node@24.10.0':
dependencies:
undici-types: 7.14.0
undici-types: 7.16.0
'@types/pako@2.0.4': {}
@ -2659,12 +2659,12 @@ snapshots:
parse5: 7.3.0
validate-html-nesting: 1.2.3
babel-preset-solid@1.9.9(@babel/core@7.28.4)(solid-js@1.9.9):
babel-preset-solid@1.9.9(@babel/core@7.28.4)(solid-js@1.9.10):
dependencies:
'@babel/core': 7.28.4
babel-plugin-jsx-dom-expressions: 0.40.1(@babel/core@7.28.4)
optionalDependencies:
solid-js: 1.9.9
solid-js: 1.9.10
base64-arraybuffer@1.0.2:
optional: true
@ -2746,7 +2746,7 @@ snapshots:
csstype@3.1.3: {}
dayjs@1.11.18: {}
dayjs@1.11.19: {}
debug@4.4.3:
dependencies:
@ -2985,7 +2985,7 @@ snapshots:
object-assign@4.1.1: {}
ofetch@1.4.1:
ofetch@1.5.1:
dependencies:
destr: 2.0.5
node-fetch-native: 1.6.7
@ -3131,65 +3131,65 @@ snapshots:
safe-buffer@5.2.1: {}
sass-embedded-all-unknown@1.93.2:
sass-embedded-all-unknown@1.93.3:
dependencies:
sass: 1.93.2
sass: 1.93.3
optional: true
sass-embedded-android-arm64@1.93.2:
sass-embedded-android-arm64@1.93.3:
optional: true
sass-embedded-android-arm@1.93.2:
sass-embedded-android-arm@1.93.3:
optional: true
sass-embedded-android-riscv64@1.93.2:
sass-embedded-android-riscv64@1.93.3:
optional: true
sass-embedded-android-x64@1.93.2:
sass-embedded-android-x64@1.93.3:
optional: true
sass-embedded-darwin-arm64@1.93.2:
sass-embedded-darwin-arm64@1.93.3:
optional: true
sass-embedded-darwin-x64@1.93.2:
sass-embedded-darwin-x64@1.93.3:
optional: true
sass-embedded-linux-arm64@1.93.2:
sass-embedded-linux-arm64@1.93.3:
optional: true
sass-embedded-linux-arm@1.93.2:
sass-embedded-linux-arm@1.93.3:
optional: true
sass-embedded-linux-musl-arm64@1.93.2:
sass-embedded-linux-musl-arm64@1.93.3:
optional: true
sass-embedded-linux-musl-arm@1.93.2:
sass-embedded-linux-musl-arm@1.93.3:
optional: true
sass-embedded-linux-musl-riscv64@1.93.2:
sass-embedded-linux-musl-riscv64@1.93.3:
optional: true
sass-embedded-linux-musl-x64@1.93.2:
sass-embedded-linux-musl-x64@1.93.3:
optional: true
sass-embedded-linux-riscv64@1.93.2:
sass-embedded-linux-riscv64@1.93.3:
optional: true
sass-embedded-linux-x64@1.93.2:
sass-embedded-linux-x64@1.93.3:
optional: true
sass-embedded-unknown-all@1.93.2:
sass-embedded-unknown-all@1.93.3:
dependencies:
sass: 1.93.2
sass: 1.93.3
optional: true
sass-embedded-win32-arm64@1.93.2:
sass-embedded-win32-arm64@1.93.3:
optional: true
sass-embedded-win32-x64@1.93.2:
sass-embedded-win32-x64@1.93.3:
optional: true
sass-embedded@1.93.2:
sass-embedded@1.93.3:
dependencies:
'@bufbuild/protobuf': 2.9.0
buffer-builder: 0.2.0
@ -3200,26 +3200,26 @@ snapshots:
sync-child-process: 1.0.2
varint: 6.0.0
optionalDependencies:
sass-embedded-all-unknown: 1.93.2
sass-embedded-android-arm: 1.93.2
sass-embedded-android-arm64: 1.93.2
sass-embedded-android-riscv64: 1.93.2
sass-embedded-android-x64: 1.93.2
sass-embedded-darwin-arm64: 1.93.2
sass-embedded-darwin-x64: 1.93.2
sass-embedded-linux-arm: 1.93.2
sass-embedded-linux-arm64: 1.93.2
sass-embedded-linux-musl-arm: 1.93.2
sass-embedded-linux-musl-arm64: 1.93.2
sass-embedded-linux-musl-riscv64: 1.93.2
sass-embedded-linux-musl-x64: 1.93.2
sass-embedded-linux-riscv64: 1.93.2
sass-embedded-linux-x64: 1.93.2
sass-embedded-unknown-all: 1.93.2
sass-embedded-win32-arm64: 1.93.2
sass-embedded-win32-x64: 1.93.2
sass-embedded-all-unknown: 1.93.3
sass-embedded-android-arm: 1.93.3
sass-embedded-android-arm64: 1.93.3
sass-embedded-android-riscv64: 1.93.3
sass-embedded-android-x64: 1.93.3
sass-embedded-darwin-arm64: 1.93.3
sass-embedded-darwin-x64: 1.93.3
sass-embedded-linux-arm: 1.93.3
sass-embedded-linux-arm64: 1.93.3
sass-embedded-linux-musl-arm: 1.93.3
sass-embedded-linux-musl-arm64: 1.93.3
sass-embedded-linux-musl-riscv64: 1.93.3
sass-embedded-linux-musl-x64: 1.93.3
sass-embedded-linux-riscv64: 1.93.3
sass-embedded-linux-x64: 1.93.3
sass-embedded-unknown-all: 1.93.3
sass-embedded-win32-arm64: 1.93.3
sass-embedded-win32-x64: 1.93.3
sass@1.93.2:
sass@1.93.3:
dependencies:
chokidar: 4.0.3
immutable: 5.1.3
@ -3273,32 +3273,32 @@ snapshots:
simple-xml-to-json@1.2.3: {}
solid-icons@1.1.0(solid-js@1.9.9):
solid-icons@1.1.0(solid-js@1.9.10):
dependencies:
solid-js: 1.9.9
solid-js: 1.9.10
solid-js@1.9.9:
solid-js@1.9.10:
dependencies:
csstype: 3.1.3
seroval: 1.3.2
seroval-plugins: 1.3.3(seroval@1.3.2)
solid-presence@0.1.8(solid-js@1.9.9):
solid-presence@0.1.8(solid-js@1.9.10):
dependencies:
'@corvu/utils': 0.4.2(solid-js@1.9.9)
solid-js: 1.9.9
'@corvu/utils': 0.4.2(solid-js@1.9.10)
solid-js: 1.9.10
solid-prevent-scroll@0.1.10(solid-js@1.9.9):
solid-prevent-scroll@0.1.10(solid-js@1.9.10):
dependencies:
'@corvu/utils': 0.4.2(solid-js@1.9.9)
solid-js: 1.9.9
'@corvu/utils': 0.4.2(solid-js@1.9.10)
solid-js: 1.9.10
solid-refresh@0.6.3(solid-js@1.9.9):
solid-refresh@0.6.3(solid-js@1.9.10):
dependencies:
'@babel/generator': 7.28.3
'@babel/helper-module-imports': 7.27.1
'@babel/types': 7.28.4
solid-js: 1.9.9
solid-js: 1.9.10
transitivePeerDependencies:
- supports-color
@ -3376,7 +3376,7 @@ snapshots:
ufo@1.6.1: {}
undici-types@7.14.0: {}
undici-types@7.16.0: {}
update-browserslist-db@1.1.3(browserslist@4.26.2):
dependencies:
@ -3397,27 +3397,27 @@ snapshots:
varint@6.0.0: {}
vite-plugin-compression2@2.2.1(rollup@4.52.1):
vite-plugin-compression2@2.3.1(rollup@4.52.1):
dependencies:
'@rollup/pluginutils': 5.3.0(rollup@4.52.1)
tar-mini: 0.2.0
transitivePeerDependencies:
- rollup
vite-plugin-solid@2.11.9(solid-js@1.9.9)(vite@7.1.9(@types/node@24.7.0)(sass-embedded@1.93.2)(sass@1.93.2)):
vite-plugin-solid@2.11.10(solid-js@1.9.10)(vite@7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)):
dependencies:
'@babel/core': 7.28.4
'@types/babel__core': 7.20.5
babel-preset-solid: 1.9.9(@babel/core@7.28.4)(solid-js@1.9.9)
babel-preset-solid: 1.9.9(@babel/core@7.28.4)(solid-js@1.9.10)
merge-anything: 5.1.7
solid-js: 1.9.9
solid-refresh: 0.6.3(solid-js@1.9.9)
vite: 7.1.9(@types/node@24.7.0)(sass-embedded@1.93.2)(sass@1.93.2)
vitefu: 1.1.1(vite@7.1.9(@types/node@24.7.0)(sass-embedded@1.93.2)(sass@1.93.2))
solid-js: 1.9.10
solid-refresh: 0.6.3(solid-js@1.9.10)
vite: 7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)
vitefu: 1.1.1(vite@7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3))
transitivePeerDependencies:
- supports-color
vite@7.1.9(@types/node@24.7.0)(sass-embedded@1.93.2)(sass@1.93.2):
vite@7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3):
dependencies:
esbuild: 0.25.10
fdir: 6.5.0(picomatch@4.0.3)
@ -3426,14 +3426,14 @@ snapshots:
rollup: 4.52.1
tinyglobby: 0.2.15
optionalDependencies:
'@types/node': 24.7.0
'@types/node': 24.10.0
fsevents: 2.3.3
sass: 1.93.2
sass-embedded: 1.93.2
sass: 1.93.3
sass-embedded: 1.93.3
vitefu@1.1.1(vite@7.1.9(@types/node@24.7.0)(sass-embedded@1.93.2)(sass@1.93.2)):
vitefu@1.1.1(vite@7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)):
optionalDependencies:
vite: 7.1.9(@types/node@24.7.0)(sass-embedded@1.93.2)(sass@1.93.2)
vite: 7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)
webworkify@1.5.0: {}

View file

@ -2,15 +2,13 @@ import './Register.sass'
import { Logo, Link, Page, Row, Padding, Combobox, Box, Button, Modal, Column, QR, Input, Display } from '../../components'
import { IoChevronBack } from 'solid-icons/io'
import { Show, createSignal, createEffect } from 'solid-js'
import { ofetch } from 'ofetch'
import { SHA3, SHA1 } from 'crypto-js'
import dayjs from 'dayjs'
import { FileField } from '@kobalte/core/file-field'
import { useNavigate } from '@solidjs/router'
import { checkConnection, getApi } from '../../utils/functions'
import { checkConnection, getApi, postApi } from '../../utils/functions'
export default () => {
const API = import.meta.env.VITE_BACKEND
const APPROVERNAME = import.meta.env.VITE_HEAD
const assessors = JSON.parse(sessionStorage.getItem('assessors')!)
const roles = ['ASSESSOR', 'APPROVER']
@ -67,10 +65,11 @@ export default () => {
const base64 = await convertBase64(blob)
setBase64image(base64 as string)
await ofetch(API + 'post-registration', {
method: 'POST',
body: { data: globalId, data2: globalHashPassword, data3: signature(), data4: base64 },
})
// await ofetch(API + 'post-registration', {
// method: 'POST',
// body: { data: globalId, data2: globalHashPassword, data3: signature(), data4: base64 },
// })
await postApi('post-registration', { data: globalId, data2: globalHashPassword, data3: signature(), data4: base64 })
}
const getDate = () => {
@ -139,6 +138,14 @@ export default () => {
}
})
// const sample = async () => {
// // const today = new Date()
// // console.log(dayjs(today).unix())
// const batman = await encryptAes('Batman')
// console.log(batman)
// }
return (
<>
<Page alignment="column">

View file

@ -24,6 +24,10 @@ export const routes: RouteDefinition[] = [
path: '/assessor',
component: lazy(() => import('./pages/AssessorPage/Assessor.tsx')),
},
{
path: '/profile',
component: lazy(() => import('./pages/ProfilePage/Profile.tsx')),
},
{
path: '**',
component: lazy(() => import('./errors/404')),

View file

@ -1,16 +1,22 @@
import { ofetch } from 'ofetch'
import { SHA3 } from 'crypto-js'
import encryptAes from './encryptAes'
import dayjs from 'dayjs'
const API = import.meta.env.VITE_BACKEND
export default async (api: string, body: Object) => {
const today = new Date()
const todayUnix = dayjs(today).unix()
const expiration = todayUnix + 9
const aes = await encryptAes(`${todayUnix.toString()}-${expiration.toString()}`)
const hash = `ocbo-${aes}-token`
try {
await ofetch(API + api, {
headers: {
Accept: 'application/json',
'Cache-Control': 'no-cache',
'OCBO-Token': '',
'OCBO-Token': hash,
},
method: 'POST',
body: body,