Add QA test outputs, build scripts, and Dockerfile validation
- Created `qa-test-output-after-fix.txt` and `qa-test-output.txt` to log results of certificate page authentication tests. - Added `build.sh` for deterministic backend builds in CI, utilizing `go list` for efficiency. - Introduced `codeql_scan.sh` for CodeQL database creation and analysis for Go and JavaScript/TypeScript. - Implemented `dockerfile_check.sh` to validate Dockerfiles for base image and package manager mismatches. - Added `sourcery_precommit_wrapper.sh` to facilitate Sourcery CLI usage in pre-commit hooks.
This commit is contained in:
32
frontend/src/utils/compareHosts.ts
Normal file
32
frontend/src/utils/compareHosts.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import type { ProxyHost } from '../api/proxyHosts'
|
||||
|
||||
type SortColumn = 'name' | 'domain' | 'forward'
|
||||
type SortDirection = 'asc' | 'desc'
|
||||
|
||||
export function compareHosts(a: ProxyHost, b: ProxyHost, sortColumn: SortColumn, sortDirection: SortDirection) {
|
||||
let aVal: string
|
||||
let bVal: string
|
||||
|
||||
switch (sortColumn) {
|
||||
case 'name':
|
||||
aVal = (a.name || a.domain_names.split(',')[0] || '').toLowerCase()
|
||||
bVal = (b.name || b.domain_names.split(',')[0] || '').toLowerCase()
|
||||
break
|
||||
case 'domain':
|
||||
aVal = (a.domain_names.split(',')[0] || '').toLowerCase()
|
||||
bVal = (b.domain_names.split(',')[0] || '').toLowerCase()
|
||||
break
|
||||
case 'forward':
|
||||
aVal = `${a.forward_host}:${a.forward_port}`.toLowerCase()
|
||||
bVal = `${b.forward_host}:${b.forward_port}`.toLowerCase()
|
||||
break
|
||||
default:
|
||||
return 0
|
||||
}
|
||||
|
||||
if (aVal < bVal) return sortDirection === 'asc' ? -1 : 1
|
||||
if (aVal > bVal) return sortDirection === 'asc' ? 1 : -1
|
||||
return 0
|
||||
}
|
||||
|
||||
export default compareHosts
|
||||
Reference in New Issue
Block a user