diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..7605925 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "es5", + "bracketSpacing": true, + "printWidth": 320, + "proseWrap": "preserve" +} \ No newline at end of file diff --git a/.prettierrc.yml b/.prettierrc.yml deleted file mode 100644 index 9f7e97c..0000000 --- a/.prettierrc.yml +++ /dev/null @@ -1,6 +0,0 @@ -semi: false -singleQuote: true -trailingComma: 'es5' -bracketSpacing: true -printWidth: 500 -proseWrap: 'preserve' diff --git a/backend/go.mod b/backend/go.mod index cc040ee..17a6095 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -29,13 +29,13 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect - github.com/quic-go/qpack v0.5.1 // indirect + github.com/quic-go/qpack v0.6.0 // indirect github.com/quic-go/quic-go v0.56.0 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.3.1 // indirect go.uber.org/mock v0.6.0 // indirect golang.org/x/arch v0.23.0 // indirect - golang.org/x/crypto v0.44.0 // indirect + golang.org/x/crypto v0.45.0 // indirect golang.org/x/net v0.47.0 // indirect golang.org/x/sys v0.38.0 // indirect golang.org/x/text v0.31.0 // indirect diff --git a/backend/go.sum b/backend/go.sum index c07ccad..3e4bd08 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -57,6 +57,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= +github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= +github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= github.com/quic-go/quic-go v0.56.0 h1:q/TW+OLismmXAehgFLczhCDTYB3bFmua4D9lsNBWxvY= github.com/quic-go/quic-go v0.56.0/go.mod h1:9gx5KsFQtw2oZ6GZTyh+7YEvOxWCL9WZAepnHxgAo6c= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -80,6 +82,8 @@ golang.org/x/arch v0.23.0 h1:lKF64A2jF6Zd8L0knGltUnegD62JMFBiCPBmQpToHhg= golang.org/x/arch v0.23.0/go.mod h1:dNHoOeKiyja7GTvF9NJS1l3Z2yntpQNzgrjh1cU103A= golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU= golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc= +golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= +golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/biome.jsonc b/biome.jsonc index dc21802..0a76511 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -1,22 +1,46 @@ { "formatter": { - "semicolons": "asNeeded", + "enabled": true, + "formatWithErrors": false, "indentStyle": "space", - "lineWidth": 500, + "indentWidth": 2, + "lineEnding": "lf", + "lineWidth": 320, + "attributePosition": "auto", + "bracketSameLine": false, "bracketSpacing": true, - "quoteStyle": "single", - "trailingCommas": "es5", - "quoteProperties": "preserve" + "expand": "auto", + "useEditorconfig": true }, "javascript": { "formatter": { + "jsxQuoteStyle": "double", + "quoteProperties": "asNeeded", + "trailingCommas": "es5", + "semicolons": "asNeeded", + "arrowParentheses": "always", + "bracketSameLine": false, "quoteStyle": "single", - "lineWidth": 500 + "attributePosition": "auto", + "bracketSpacing": true } }, - "json": { + "json": { "formatter": { "enabled": false } }, + "html": { "formatter": { - "enabled": false + "indentScriptAndStyle": false, + "selfCloseVoidElements": "always" + } + }, + "linter": { + "rules": { + "style": { + "noNonNullAssertion": "off" + }, + "a11y": { + "useKeyWithClickEvents": "off", + "noStaticElementInteractions": "off" + } } } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 19a5b49..e58a34a 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,9 @@ "gsap": "^3.13.0", "jimp": "^1.6.0", "jsencrypt": "^3.5.4", - "jspdf": "^3.0.3", + "jspdf": "^3.0.4", "jspdf-barcode": "^1.0.2", - "nanostores": "^1.0.1", + "nanostores": "^1.1.0", "ofetch": "^1.5.1", "openssl-nodejs": "^1.0.5", "pica": "^9.0.1", @@ -32,7 +32,7 @@ "solidjs-use": "^2.3.0" }, "devDependencies": { - "@biomejs/biome": "2.3.5", + "@biomejs/biome": "^2.3.6", "@nanostores/solid": "^1.1.1", "@types/crypto-js": "^4.2.2", "@types/node": "^24.10.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abb431b..8bfc780 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,14 +39,14 @@ importers: specifier: ^3.5.4 version: 3.5.4 jspdf: - specifier: ^3.0.3 - version: 3.0.3 + specifier: ^3.0.4 + version: 3.0.4 jspdf-barcode: specifier: ^1.0.2 - version: 1.0.2(jspdf@3.0.3) + version: 1.0.2(jspdf@3.0.4) nanostores: - specifier: ^1.0.1 - version: 1.0.1 + specifier: ^1.1.0 + version: 1.1.0 ofetch: specifier: ^1.5.1 version: 1.5.1 @@ -73,11 +73,11 @@ importers: version: 2.3.0 devDependencies: '@biomejs/biome': - specifier: 2.3.5 - version: 2.3.5 + specifier: ^2.3.6 + version: 2.3.6 '@nanostores/solid': specifier: ^1.1.1 - version: 1.1.1(nanostores@1.0.1)(solid-js@1.9.10) + version: 1.1.1(nanostores@1.1.0)(solid-js@1.9.10) '@types/crypto-js': specifier: ^4.2.2 version: 4.2.2 @@ -187,55 +187,55 @@ packages: resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} - '@biomejs/biome@2.3.5': - resolution: {integrity: sha512-HvLhNlIlBIbAV77VysRIBEwp55oM/QAjQEin74QQX9Xb259/XP/D5AGGnZMOyF1el4zcvlNYYR3AyTMUV3ILhg==} + '@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.5': - resolution: {integrity: sha512-fLdTur8cJU33HxHUUsii3GLx/TR0BsfQx8FkeqIiW33cGMtUD56fAtrh+2Fx1uhiCsVZlFh6iLKUU3pniZREQw==} + '@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.5': - resolution: {integrity: sha512-qpT8XDqeUlzrOW8zb4k3tjhT7rmvVRumhi2657I2aGcY4B+Ft5fNwDdZGACzn8zj7/K1fdWjgwYE3i2mSZ+vOA==} + '@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.5': - resolution: {integrity: sha512-eGUG7+hcLgGnMNl1KHVZUYxahYAhC462jF/wQolqu4qso2MSk32Q+QrpN7eN4jAHAg7FUMIo897muIhK4hXhqg==} + '@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.5': - resolution: {integrity: sha512-u/pybjTBPGBHB66ku4pK1gj+Dxgx7/+Z0jAriZISPX1ocTO8aHh8x8e7Kb1rB4Ms0nA/SzjtNOVJ4exVavQBCw==} + '@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.5': - resolution: {integrity: sha512-awVuycTPpVTH/+WDVnEEYSf6nbCBHf/4wB3lquwT7puhNg8R4XvonWNZzUsfHZrCkjkLhFH/vCZK5jHatD9FEg==} + '@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.5': - resolution: {integrity: sha512-XrIVi9YAW6ye0CGQ+yax0gLfx+BFOtKaNX74n+xHWla6Cl6huUmcKNO7HPx7BiKnJUzrxXY1qYlm7xMvi08X4g==} + '@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.5': - resolution: {integrity: sha512-DlBiMlBZZ9eIq4H7RimDSGsYcOtfOIfZOaI5CqsWiSlbTfqbPVfWtCf92wNzx8GNMbu1s7/g3ZZESr6+GwM/SA==} + '@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.5': - resolution: {integrity: sha512-nUmR8gb6yvrKhtRgzwo/gDimPwnO5a4sCydf8ZS2kHIJhEmSmk+STsusr1LHTuM//wXppBawvSQi2xFXJCdgKQ==} + '@biomejs/cli-win32-x64@2.3.6': + resolution: {integrity: sha512-psgNEYgMAobY5h+QHRBVR9xvg2KocFuBKm6axZWB/aD12NWhQjiVFQUjV6wMXhlH4iT0Q9c3yK5JFRiDC/rzHA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -1350,8 +1350,8 @@ packages: peerDependencies: jspdf: '>=2.0.0' - jspdf@3.0.3: - resolution: {integrity: sha512-eURjAyz5iX1H8BOYAfzvdPfIKK53V7mCpBTe7Kb16PaM8JSXEcUQNBQaiWMI8wY5RvNOPj4GccMjTlfwRBd+oQ==} + jspdf@3.0.4: + resolution: {integrity: sha512-dc6oQ8y37rRcHn316s4ngz/nOjayLF/FFxBF4V9zamQKRqXxyiH1zagkCdktdWhtoQId5K20xt1lB90XzkB+hQ==} locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -1384,8 +1384,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanostores@1.0.1: - resolution: {integrity: sha512-kNZ9xnoJYKg/AfxjrVL4SS0fKX++4awQReGqWnwTRHxeHGZ1FJFVgTqr/eMrNQdp0Tz7M7tG/TDaX8QfHDwVCw==} + nanostores@1.1.0: + resolution: {integrity: sha512-yJBmDJr18xy47dbNVlHcgdPrulSn1nhSE6Ns9vTG+Nx9VPT6iV1MD6aQFp/t52zpf82FhLLTXAXr30NuCnxvwA==} engines: {node: ^20.0.0 || >=22.0.0} node-addon-api@7.1.1: @@ -2016,39 +2016,39 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@biomejs/biome@2.3.5': + '@biomejs/biome@2.3.6': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.3.5 - '@biomejs/cli-darwin-x64': 2.3.5 - '@biomejs/cli-linux-arm64': 2.3.5 - '@biomejs/cli-linux-arm64-musl': 2.3.5 - '@biomejs/cli-linux-x64': 2.3.5 - '@biomejs/cli-linux-x64-musl': 2.3.5 - '@biomejs/cli-win32-arm64': 2.3.5 - '@biomejs/cli-win32-x64': 2.3.5 + '@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.5': + '@biomejs/cli-darwin-arm64@2.3.6': optional: true - '@biomejs/cli-darwin-x64@2.3.5': + '@biomejs/cli-darwin-x64@2.3.6': optional: true - '@biomejs/cli-linux-arm64-musl@2.3.5': + '@biomejs/cli-linux-arm64-musl@2.3.6': optional: true - '@biomejs/cli-linux-arm64@2.3.5': + '@biomejs/cli-linux-arm64@2.3.6': optional: true - '@biomejs/cli-linux-x64-musl@2.3.5': + '@biomejs/cli-linux-x64-musl@2.3.6': optional: true - '@biomejs/cli-linux-x64@2.3.5': + '@biomejs/cli-linux-x64@2.3.6': optional: true - '@biomejs/cli-win32-arm64@2.3.5': + '@biomejs/cli-win32-arm64@2.3.6': optional: true - '@biomejs/cli-win32-x64@2.3.5': + '@biomejs/cli-win32-x64@2.3.6': optional: true '@bufbuild/protobuf@2.9.0': {} @@ -2489,9 +2489,9 @@ snapshots: '@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.10)': + '@nanostores/solid@1.1.1(nanostores@1.1.0)(solid-js@1.9.10)': dependencies: - nanostores: 1.0.1 + nanostores: 1.1.0 solid-js: 1.9.10 '@parcel/watcher-android-arm64@2.5.1': @@ -3048,11 +3048,11 @@ snapshots: json5@2.2.3: {} - jspdf-barcode@1.0.2(jspdf@3.0.3): + jspdf-barcode@1.0.2(jspdf@3.0.4): dependencies: - jspdf: 3.0.3 + jspdf: 3.0.4 - jspdf@3.0.3: + jspdf@3.0.4: dependencies: '@babel/runtime': 7.28.4 fast-png: 6.4.0 @@ -3092,7 +3092,7 @@ snapshots: nanoid@3.3.11: {} - nanostores@1.0.1: {} + nanostores@1.1.0: {} node-addon-api@7.1.1: optional: true diff --git a/src/pages/AssessorPage/Assessor.tsx b/src/pages/AssessorPage/Assessor.tsx index b0575f8..b7d674a 100644 --- a/src/pages/AssessorPage/Assessor.tsx +++ b/src/pages/AssessorPage/Assessor.tsx @@ -1,17 +1,39 @@ -import './Assessor.sass' -import { Logo, Page, Row, Padding, ModalButton, Button, Clickable, Link, Modal, Column, Box, Input } from '../../components' -import { FiLogOut } from 'solid-icons/fi' import { Tabs } from '@kobalte/core/tabs' -import { onMount, createSignal, createEffect } from 'solid-js' -import { Show } from 'solid-js/web' -import dayjs from 'dayjs' -import { checkConnection, createPdfOccupancy, createPdfElectrical } from '../../utils/functions' -import { FaSolidThumbsUp } from 'solid-icons/fa' -import { _employeeName, _employeeId } from '../../stores/employee' import { useNavigate } from '@solidjs/router' -import { _applicationNo, _date, _optn, _name, _location, _type, _assessor, _feeList, _codeList, _amountList, _signatureAssessor, _signatureApprover, _assessorid, _approvedDate, _assessedDate, _units, _totalUnits, _floorArea, _additional, _additionalFeeList, _additionalAmountList, _additionalCodeList, _additionalUnitList } from '../../stores/pdfinfo' +import dayjs from 'dayjs' +import { FaSolidThumbsUp } from 'solid-icons/fa' +import { FiLogOut } from 'solid-icons/fi' import { VsRefresh } from 'solid-icons/vs' -import { getApi, getApiMulti, postApi } from '../../utils/functions' +import { createEffect, createSignal, onMount } from 'solid-js' +import { Show } from 'solid-js/web' +import { Box, Button, Clickable, Column, Input, Link, Logo, Modal, ModalButton, Padding, Page, Row } from '../../components' +import { + _additional, + _additionalAmountList, + _additionalCodeList, + _additionalFeeList, + _additionalUnitList, + _amountList, + _applicationNo, + _approvedDate, + _assessedDate, + _assessor, + _assessorid, + _codeList, + _date, + _feeList, + _floorArea, + _location, + _name, + _optn, + _signatureApprover, + _signatureAssessor, + _totalUnits, + _type, + _units, +} from '../../stores/pdfinfo' +import { checkConnection, createPdfElectrical, createPdfOccupancy, getApi, getApiMulti, postApi } from '../../utils/functions' +import './Assessor.sass' const PESO = import.meta.env.VITE_PESO @@ -25,9 +47,6 @@ export default () => { const [type, setType] = createSignal('') const [applicationId, setApplicationId] = createSignal(0) - // const [applicationList, setApplicationList] = createSignal([]) - // const [nameList, setNameList] = createSignal([]) - const [applicationListElectrical, setApplicationListElectrical] = createSignal([]) const [nameListElectrical, setNameListElectrical] = createSignal([]) const [applicationListOccupancy, setApplicationListOccupancy] = createSignal([]) @@ -78,7 +97,7 @@ export default () => { _floorArea.set(floorArea) } - _optn.set('M' + applicationno.split('-')[0] + applicationno.split('-')[1]) + _optn.set(`M${applicationno.split('-')[0]}${applicationno.split('-')[1]}`) _applicationNo.set(applicationno) _date.set(dayjs(date).format('MMMM DD, YYYY')) _name.set(name) diff --git a/src/pages/LoginPage/Login.tsx b/src/pages/LoginPage/Login.tsx index cde44c3..10ee2d5 100644 --- a/src/pages/LoginPage/Login.tsx +++ b/src/pages/LoginPage/Login.tsx @@ -1,11 +1,12 @@ -import './Login.sass' -import { Logo, Link, Page, Row, Padding, Box, Radio, Combobox, Input, Button, Modal, Column, Display } from '../../components' -import { IoChevronBack } from 'solid-icons/io' -import { createSignal, Show, createEffect } from 'solid-js' -import { SHA1, SHA3 } from 'crypto-js' import { useNavigate } from '@solidjs/router' -import { checkConnection, getApi } from '../../utils/functions' +import { SHA1, SHA3 } from 'crypto-js' +import { IoChevronBack } from 'solid-icons/io' +import { createEffect, createSignal } from 'solid-js' +import { Show } from 'solid-js/web' +import { Box, Button, Column, Combobox, Display, Input, Link, Logo, Modal, Padding, Page, Radio, Row } from '../../components' import { _employeeId, _employeeName } from '../../stores/employee' +import { checkConnection, getApi } from '../../utils/functions' +import './Login.sass' export default () => { const APPROVERNAME = import.meta.env.VITE_HEAD