[repo] move from Prettier to Oxfmt

This commit is contained in:
Yangshun
2026-03-20 14:05:43 +08:00
parent a5c9b684ae
commit 135af1325f
91 changed files with 68148 additions and 67913 deletions

51
.oxfmtrc.json Normal file
View File

@@ -0,0 +1,51 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"bracketSameLine": true,
"printWidth": 80,
"proseWrap": "never",
"singleQuote": true,
"trailingComma": "all",
"sortPackageJson": false,
"overrides": [
{
"files": ["apps/portal/**/*.{js,jsx,ts,tsx}"],
"options": {
"sortTailwindcss": {
"config": "apps/portal/tailwind.config.cjs",
"functions": ["clsx"]
}
}
}
],
"ignorePatterns": [
"node_modules",
".vscode",
".next",
"build",
"dist",
"*.tsbuildinfo",
"*.gitignore",
"*.svg",
"*.lock",
"*.npmignore",
"*.sql",
"*.png",
"*.jpg",
"*.jpeg",
"*.gif",
"*.ico",
"*.sh",
"Dockerfile",
"Dockerfile.*",
".env",
".env.*",
"LICENSE",
"*.log",
".DS_Store",
".dockerignore",
"*.patch",
"*.toml",
"*.prisma",
"apps/website/experimental/domain/**/*.html"
]
}

View File

@@ -1,27 +0,0 @@
node_modules
.next
build
dist
*.tsbuildinfo
*.gitignore
*.svg
*.lock
*.npmignore
*.sql
*.png
*.jpg
*.jpeg
*.gif
*.ico
*.sh
Dockerfile
Dockerfile.*
.env
.env.*
LICENSE
*.log
.DS_Store
.dockerignore
*.patch
*.toml
*.prisma

View File

@@ -1,7 +0,0 @@
{
"bracketSameLine": true,
"printWidth": 80,
"proseWrap": "never",
"singleQuote": true,
"trailingComma": "all"
}

View File

@@ -59,7 +59,6 @@
"autoprefixer": "^10.4.12",
"csv": "^6.2.2",
"postcss": "^8.4.16",
"prettier-plugin-tailwindcss": "^0.1.13",
"prisma": "^4.4.0",
"ts-node": "^10.9.1",
"typescript": "4.8.3"

File diff suppressed because it is too large Load Diff

View File

@@ -1,410 +1,410 @@
{
"data": [
{ "country_id": "1", "sortname": "AF", "country_name": "Afghanistan" },
{ "country_id": "2", "sortname": "AL", "country_name": "Albania" },
{ "country_id": "3", "sortname": "DZ", "country_name": "Algeria" },
{ "country_id": "4", "sortname": "AS", "country_name": "American Samoa" },
{ "country_id": "5", "sortname": "AD", "country_name": "Andorra" },
{ "country_id": "6", "sortname": "AO", "country_name": "Angola" },
{ "country_id": "7", "sortname": "AI", "country_name": "Anguilla" },
{ "country_id": "8", "sortname": "AQ", "country_name": "Antarctica" },
{
"country_id": "9",
"sortname": "AG",
"country_name": "Antigua And Barbuda"
},
{ "country_id": "10", "sortname": "AR", "country_name": "Argentina" },
{ "country_id": "11", "sortname": "AM", "country_name": "Armenia" },
{ "country_id": "12", "sortname": "AW", "country_name": "Aruba" },
{ "country_id": "13", "sortname": "AU", "country_name": "Australia" },
{ "country_id": "14", "sortname": "AT", "country_name": "Austria" },
{ "country_id": "15", "sortname": "AZ", "country_name": "Azerbaijan" },
{ "country_id": "16", "sortname": "BS", "country_name": "The Bahamas" },
{ "country_id": "17", "sortname": "BH", "country_name": "Bahrain" },
{ "country_id": "18", "sortname": "BD", "country_name": "Bangladesh" },
{ "country_id": "19", "sortname": "BB", "country_name": "Barbados" },
{ "country_id": "20", "sortname": "BY", "country_name": "Belarus" },
{ "country_id": "21", "sortname": "BE", "country_name": "Belgium" },
{ "country_id": "22", "sortname": "BZ", "country_name": "Belize" },
{ "country_id": "23", "sortname": "BJ", "country_name": "Benin" },
{ "country_id": "24", "sortname": "BM", "country_name": "Bermuda" },
{ "country_id": "25", "sortname": "BT", "country_name": "Bhutan" },
{ "country_id": "26", "sortname": "BO", "country_name": "Bolivia" },
{
"country_id": "27",
"sortname": "BA",
"country_name": "Bosnia and Herzegovina"
},
{ "country_id": "28", "sortname": "BW", "country_name": "Botswana" },
{ "country_id": "29", "sortname": "BV", "country_name": "Bouvet Island" },
{ "country_id": "30", "sortname": "BR", "country_name": "Brazil" },
{
"country_id": "31",
"sortname": "IO",
"country_name": "British Indian Ocean Territory"
},
{ "country_id": "32", "sortname": "BN", "country_name": "Brunei" },
{ "country_id": "33", "sortname": "BG", "country_name": "Bulgaria" },
{ "country_id": "34", "sortname": "BF", "country_name": "Burkina Faso" },
{ "country_id": "35", "sortname": "BI", "country_name": "Burundi" },
{ "country_id": "36", "sortname": "KH", "country_name": "Cambodia" },
{ "country_id": "37", "sortname": "CM", "country_name": "Cameroon" },
{ "country_id": "38", "sortname": "CA", "country_name": "Canada" },
{ "country_id": "39", "sortname": "CV", "country_name": "Cape Verde" },
{ "country_id": "40", "sortname": "KY", "country_name": "Cayman Islands" },
{
"country_id": "41",
"sortname": "CF",
"country_name": "Central African Republic"
},
{ "country_id": "42", "sortname": "TD", "country_name": "Chad" },
{ "country_id": "43", "sortname": "CL", "country_name": "Chile" },
{ "country_id": "44", "sortname": "CN", "country_name": "China" },
{
"country_id": "45",
"sortname": "CX",
"country_name": "Christmas Island"
},
{
"country_id": "46",
"sortname": "CC",
"country_name": "Cocos (Keeling) Islands"
},
{ "country_id": "47", "sortname": "CO", "country_name": "Colombia" },
{ "country_id": "48", "sortname": "KM", "country_name": "Comoros" },
{ "country_id": "49", "sortname": "CG", "country_name": "Congo" },
{
"country_id": "50",
"sortname": "CD",
"country_name": "Democratic Republic of The Congo"
},
{ "country_id": "51", "sortname": "CK", "country_name": "Cook Islands" },
{ "country_id": "52", "sortname": "CR", "country_name": "Costa Rica" },
{
"country_id": "53",
"sortname": "CI",
"country_name": "Cote D'Ivoire (Ivory Coast)"
},
{
"country_id": "54",
"sortname": "HR",
"country_name": "Croatia (Hrvatska)"
},
{ "country_id": "55", "sortname": "CU", "country_name": "Cuba" },
{ "country_id": "56", "sortname": "CY", "country_name": "Cyprus" },
{ "country_id": "57", "sortname": "CZ", "country_name": "Czech Republic" },
{ "country_id": "58", "sortname": "DK", "country_name": "Denmark" },
{ "country_id": "59", "sortname": "DJ", "country_name": "Djibouti" },
{ "country_id": "60", "sortname": "DM", "country_name": "Dominica" },
{
"country_id": "61",
"sortname": "DO",
"country_name": "Dominican Republic"
},
{ "country_id": "62", "sortname": "TP", "country_name": "East Timor" },
{ "country_id": "63", "sortname": "EC", "country_name": "Ecuador" },
{ "country_id": "64", "sortname": "EG", "country_name": "Egypt" },
{ "country_id": "65", "sortname": "SV", "country_name": "El Salvador" },
{
"country_id": "66",
"sortname": "GQ",
"country_name": "Equatorial Guinea"
},
{ "country_id": "67", "sortname": "ER", "country_name": "Eritrea" },
{ "country_id": "68", "sortname": "EE", "country_name": "Estonia" },
{ "country_id": "69", "sortname": "ET", "country_name": "Ethiopia" },
{
"country_id": "70",
"sortname": "XA",
"country_name": "External Territories of Australia"
},
{
"country_id": "71",
"sortname": "FK",
"country_name": "Falkland Islands"
},
{ "country_id": "72", "sortname": "FO", "country_name": "Faroe Islands" },
{ "country_id": "73", "sortname": "FJ", "country_name": "Fiji Islands" },
{ "country_id": "74", "sortname": "FI", "country_name": "Finland" },
{ "country_id": "75", "sortname": "FR", "country_name": "France" },
{ "country_id": "76", "sortname": "GF", "country_name": "French Guiana" },
{
"country_id": "77",
"sortname": "PF",
"country_name": "French Polynesia"
},
{
"country_id": "78",
"sortname": "TF",
"country_name": "French Southern Territories"
},
{ "country_id": "79", "sortname": "GA", "country_name": "Gabon" },
{ "country_id": "80", "sortname": "GM", "country_name": "The Gambia" },
{ "country_id": "81", "sortname": "GE", "country_name": "Georgia" },
{ "country_id": "82", "sortname": "DE", "country_name": "Germany" },
{ "country_id": "83", "sortname": "GH", "country_name": "Ghana" },
{ "country_id": "84", "sortname": "GI", "country_name": "Gibraltar" },
{ "country_id": "85", "sortname": "GR", "country_name": "Greece" },
{ "country_id": "86", "sortname": "GL", "country_name": "Greenland" },
{ "country_id": "87", "sortname": "GD", "country_name": "Grenada" },
{ "country_id": "88", "sortname": "GP", "country_name": "Guadeloupe" },
{ "country_id": "89", "sortname": "GU", "country_name": "Guam" },
{ "country_id": "90", "sortname": "GT", "country_name": "Guatemala" },
{
"country_id": "91",
"sortname": "XU",
"country_name": "Guernsey and Alderney"
},
{ "country_id": "92", "sortname": "GN", "country_name": "Guinea" },
{ "country_id": "93", "sortname": "GW", "country_name": "Guinea-Bissau" },
{ "country_id": "94", "sortname": "GY", "country_name": "Guyana" },
{ "country_id": "95", "sortname": "HT", "country_name": "Haiti" },
{
"country_id": "96",
"sortname": "HM",
"country_name": "Heard and McDonald Islands"
},
{ "country_id": "97", "sortname": "HN", "country_name": "Honduras" },
{
"country_id": "98",
"sortname": "HK",
"country_name": "Hong Kong"
},
{ "country_id": "99", "sortname": "HU", "country_name": "Hungary" },
{ "country_id": "100", "sortname": "IS", "country_name": "Iceland" },
{ "country_id": "101", "sortname": "IN", "country_name": "India" },
{ "country_id": "102", "sortname": "ID", "country_name": "Indonesia" },
{ "country_id": "103", "sortname": "IR", "country_name": "Iran" },
{ "country_id": "104", "sortname": "IQ", "country_name": "Iraq" },
{ "country_id": "105", "sortname": "IE", "country_name": "Ireland" },
{ "country_id": "106", "sortname": "IL", "country_name": "Israel" },
{ "country_id": "107", "sortname": "IT", "country_name": "Italy" },
{ "country_id": "108", "sortname": "JM", "country_name": "Jamaica" },
{ "country_id": "109", "sortname": "JP", "country_name": "Japan" },
{ "country_id": "110", "sortname": "XJ", "country_name": "Jersey" },
{ "country_id": "111", "sortname": "JO", "country_name": "Jordan" },
{ "country_id": "112", "sortname": "KZ", "country_name": "Kazakhstan" },
{ "country_id": "113", "sortname": "KE", "country_name": "Kenya" },
{ "country_id": "114", "sortname": "KI", "country_name": "Kiribati" },
{ "country_id": "115", "sortname": "KP", "country_name": "North Korea" },
{ "country_id": "116", "sortname": "KR", "country_name": "South Korea" },
{ "country_id": "117", "sortname": "KW", "country_name": "Kuwait" },
{ "country_id": "118", "sortname": "KG", "country_name": "Kyrgyzstan" },
{ "country_id": "119", "sortname": "LA", "country_name": "Laos" },
{ "country_id": "120", "sortname": "LV", "country_name": "Latvia" },
{ "country_id": "121", "sortname": "LB", "country_name": "Lebanon" },
{ "country_id": "122", "sortname": "LS", "country_name": "Lesotho" },
{ "country_id": "123", "sortname": "LR", "country_name": "Liberia" },
{ "country_id": "124", "sortname": "LY", "country_name": "Libya" },
{ "country_id": "125", "sortname": "LI", "country_name": "Liechtenstein" },
{ "country_id": "126", "sortname": "LT", "country_name": "Lithuania" },
{ "country_id": "127", "sortname": "LU", "country_name": "Luxembourg" },
{ "country_id": "128", "sortname": "MO", "country_name": "Macau" },
{ "country_id": "129", "sortname": "MK", "country_name": "Macedonia" },
{ "country_id": "130", "sortname": "MG", "country_name": "Madagascar" },
{ "country_id": "131", "sortname": "MW", "country_name": "Malawi" },
{ "country_id": "132", "sortname": "MY", "country_name": "Malaysia" },
{ "country_id": "133", "sortname": "MV", "country_name": "Maldives" },
{ "country_id": "134", "sortname": "ML", "country_name": "Mali" },
{ "country_id": "135", "sortname": "MT", "country_name": "Malta" },
{ "country_id": "136", "sortname": "XM", "country_name": "Isle of Man" },
{
"country_id": "137",
"sortname": "MH",
"country_name": "Marshall Islands"
},
{ "country_id": "138", "sortname": "MQ", "country_name": "Martinique" },
{ "country_id": "139", "sortname": "MR", "country_name": "Mauritania" },
{ "country_id": "140", "sortname": "MU", "country_name": "Mauritius" },
{ "country_id": "141", "sortname": "YT", "country_name": "Mayotte" },
{ "country_id": "142", "sortname": "MX", "country_name": "Mexico" },
{ "country_id": "143", "sortname": "FM", "country_name": "Micronesia" },
{ "country_id": "144", "sortname": "MD", "country_name": "Moldova" },
{ "country_id": "145", "sortname": "MC", "country_name": "Monaco" },
{ "country_id": "146", "sortname": "MN", "country_name": "Mongolia" },
{ "country_id": "147", "sortname": "MS", "country_name": "Montserrat" },
{ "country_id": "148", "sortname": "MA", "country_name": "Morocco" },
{ "country_id": "149", "sortname": "MZ", "country_name": "Mozambique" },
{ "country_id": "150", "sortname": "MM", "country_name": "Myanmar" },
{ "country_id": "151", "sortname": "NA", "country_name": "Namibia" },
{ "country_id": "152", "sortname": "NR", "country_name": "Nauru" },
{ "country_id": "153", "sortname": "NP", "country_name": "Nepal" },
{
"country_id": "154",
"sortname": "AN",
"country_name": "Netherlands Antilles"
},
{
"country_id": "155",
"sortname": "NL",
"country_name": "Netherlands The"
},
{ "country_id": "156", "sortname": "NC", "country_name": "New Caledonia" },
{ "country_id": "157", "sortname": "NZ", "country_name": "New Zealand" },
{ "country_id": "158", "sortname": "NI", "country_name": "Nicaragua" },
{ "country_id": "159", "sortname": "NE", "country_name": "Niger" },
{ "country_id": "160", "sortname": "NG", "country_name": "Nigeria" },
{ "country_id": "161", "sortname": "NU", "country_name": "Niue" },
{ "country_id": "162", "sortname": "NF", "country_name": "Norfolk Island" },
{
"country_id": "163",
"sortname": "MP",
"country_name": "Northern Mariana Islands"
},
{ "country_id": "164", "sortname": "NO", "country_name": "Norway" },
{ "country_id": "165", "sortname": "OM", "country_name": "Oman" },
{ "country_id": "166", "sortname": "PK", "country_name": "Pakistan" },
{ "country_id": "167", "sortname": "PW", "country_name": "Palau" },
{
"country_id": "168",
"sortname": "PS",
"country_name": "Palestinian Territory Occupied"
},
{ "country_id": "169", "sortname": "PA", "country_name": "Panama" },
{
"country_id": "170",
"sortname": "PG",
"country_name": "Papua new Guinea"
},
{ "country_id": "171", "sortname": "PY", "country_name": "Paraguay" },
{ "country_id": "172", "sortname": "PE", "country_name": "Peru" },
{ "country_id": "173", "sortname": "PH", "country_name": "Philippines" },
{
"country_id": "174",
"sortname": "PN",
"country_name": "Pitcairn Island"
},
{ "country_id": "175", "sortname": "PL", "country_name": "Poland" },
{ "country_id": "176", "sortname": "PT", "country_name": "Portugal" },
{ "country_id": "177", "sortname": "PR", "country_name": "Puerto Rico" },
{ "country_id": "178", "sortname": "QA", "country_name": "Qatar" },
{ "country_id": "179", "sortname": "RE", "country_name": "Reunion" },
{ "country_id": "180", "sortname": "RO", "country_name": "Romania" },
{ "country_id": "181", "sortname": "RU", "country_name": "Russia" },
{ "country_id": "182", "sortname": "RW", "country_name": "Rwanda" },
{ "country_id": "183", "sortname": "SH", "country_name": "Saint Helena" },
{
"country_id": "184",
"sortname": "KN",
"country_name": "Saint Kitts And Nevis"
},
{ "country_id": "185", "sortname": "LC", "country_name": "Saint Lucia" },
{
"country_id": "186",
"sortname": "PM",
"country_name": "Saint Pierre and Miquelon"
},
{
"country_id": "187",
"sortname": "VC",
"country_name": "Saint Vincent and The Grenadines"
},
{ "country_id": "188", "sortname": "WS", "country_name": "Samoa" },
{ "country_id": "189", "sortname": "SM", "country_name": "San Marino" },
{
"country_id": "190",
"sortname": "ST",
"country_name": "Sao Tome and Principe"
},
{ "country_id": "191", "sortname": "SA", "country_name": "Saudi Arabia" },
{ "country_id": "192", "sortname": "SN", "country_name": "Senegal" },
{ "country_id": "193", "sortname": "RS", "country_name": "Serbia" },
{ "country_id": "194", "sortname": "SC", "country_name": "Seychelles" },
{ "country_id": "195", "sortname": "SL", "country_name": "Sierra Leone" },
{ "country_id": "196", "sortname": "SG", "country_name": "Singapore" },
{ "country_id": "197", "sortname": "SK", "country_name": "Slovakia" },
{ "country_id": "198", "sortname": "SI", "country_name": "Slovenia" },
{
"country_id": "199",
"sortname": "XG",
"country_name": "Smaller Territories of the UK"
},
{
"country_id": "200",
"sortname": "SB",
"country_name": "Solomon Islands"
},
{ "country_id": "201", "sortname": "SO", "country_name": "Somalia" },
{ "country_id": "202", "sortname": "ZA", "country_name": "South Africa" },
{ "country_id": "203", "sortname": "GS", "country_name": "South Georgia" },
{ "country_id": "204", "sortname": "SS", "country_name": "South Sudan" },
{ "country_id": "205", "sortname": "ES", "country_name": "Spain" },
{ "country_id": "206", "sortname": "LK", "country_name": "Sri Lanka" },
{ "country_id": "207", "sortname": "SD", "country_name": "Sudan" },
{ "country_id": "208", "sortname": "SR", "country_name": "Suriname" },
{
"country_id": "209",
"sortname": "SJ",
"country_name": "Svalbard And Jan Mayen Islands"
},
{ "country_id": "210", "sortname": "SZ", "country_name": "Swaziland" },
{ "country_id": "211", "sortname": "SE", "country_name": "Sweden" },
{ "country_id": "212", "sortname": "CH", "country_name": "Switzerland" },
{ "country_id": "213", "sortname": "SY", "country_name": "Syria" },
{ "country_id": "214", "sortname": "TW", "country_name": "Taiwan" },
{ "country_id": "215", "sortname": "TJ", "country_name": "Tajikistan" },
{ "country_id": "216", "sortname": "TZ", "country_name": "Tanzania" },
{ "country_id": "217", "sortname": "TH", "country_name": "Thailand" },
{ "country_id": "218", "sortname": "TG", "country_name": "Togo" },
{ "country_id": "219", "sortname": "TK", "country_name": "Tokelau" },
{ "country_id": "220", "sortname": "TO", "country_name": "Tonga" },
{
"country_id": "221",
"sortname": "TT",
"country_name": "Trinidad And Tobago"
},
{ "country_id": "222", "sortname": "TN", "country_name": "Tunisia" },
{ "country_id": "223", "sortname": "TR", "country_name": "Turkey" },
{ "country_id": "224", "sortname": "TM", "country_name": "Turkmenistan" },
{
"country_id": "225",
"sortname": "TC",
"country_name": "Turks And Caicos Islands"
},
{ "country_id": "226", "sortname": "TV", "country_name": "Tuvalu" },
{ "country_id": "227", "sortname": "UG", "country_name": "Uganda" },
{ "country_id": "228", "sortname": "UA", "country_name": "Ukraine" },
{
"country_id": "229",
"sortname": "AE",
"country_name": "United Arab Emirates"
},
{ "country_id": "230", "sortname": "GB", "country_name": "United Kingdom" },
{ "country_id": "231", "sortname": "US", "country_name": "United States" },
{
"country_id": "232",
"sortname": "UM",
"country_name": "United States Minor Outlying Islands"
},
{ "country_id": "233", "sortname": "UY", "country_name": "Uruguay" },
{ "country_id": "234", "sortname": "UZ", "country_name": "Uzbekistan" },
{ "country_id": "235", "sortname": "VU", "country_name": "Vanuatu" },
{
"country_id": "236",
"sortname": "VA",
"country_name": "Vatican City State (Holy See)"
},
{ "country_id": "237", "sortname": "VE", "country_name": "Venezuela" },
{ "country_id": "238", "sortname": "VN", "country_name": "Vietnam" },
{
"country_id": "239",
"sortname": "VG",
"country_name": "Virgin Islands (British)"
},
{
"country_id": "240",
"sortname": "VI",
"country_name": "Virgin Islands (US)"
},
{
"country_id": "241",
"sortname": "WF",
"country_name": "Wallis And Futuna Islands"
},
{ "country_id": "242", "sortname": "EH", "country_name": "Western Sahara" },
{ "country_id": "243", "sortname": "YE", "country_name": "Yemen" },
{ "country_id": "244", "sortname": "YU", "country_name": "Yugoslavia" },
{ "country_id": "245", "sortname": "ZM", "country_name": "Zambia" },
{ "country_id": "246", "sortname": "ZW", "country_name": "Zimbabwe" }
]
}
{
"data": [
{ "country_id": "1", "sortname": "AF", "country_name": "Afghanistan" },
{ "country_id": "2", "sortname": "AL", "country_name": "Albania" },
{ "country_id": "3", "sortname": "DZ", "country_name": "Algeria" },
{ "country_id": "4", "sortname": "AS", "country_name": "American Samoa" },
{ "country_id": "5", "sortname": "AD", "country_name": "Andorra" },
{ "country_id": "6", "sortname": "AO", "country_name": "Angola" },
{ "country_id": "7", "sortname": "AI", "country_name": "Anguilla" },
{ "country_id": "8", "sortname": "AQ", "country_name": "Antarctica" },
{
"country_id": "9",
"sortname": "AG",
"country_name": "Antigua And Barbuda"
},
{ "country_id": "10", "sortname": "AR", "country_name": "Argentina" },
{ "country_id": "11", "sortname": "AM", "country_name": "Armenia" },
{ "country_id": "12", "sortname": "AW", "country_name": "Aruba" },
{ "country_id": "13", "sortname": "AU", "country_name": "Australia" },
{ "country_id": "14", "sortname": "AT", "country_name": "Austria" },
{ "country_id": "15", "sortname": "AZ", "country_name": "Azerbaijan" },
{ "country_id": "16", "sortname": "BS", "country_name": "The Bahamas" },
{ "country_id": "17", "sortname": "BH", "country_name": "Bahrain" },
{ "country_id": "18", "sortname": "BD", "country_name": "Bangladesh" },
{ "country_id": "19", "sortname": "BB", "country_name": "Barbados" },
{ "country_id": "20", "sortname": "BY", "country_name": "Belarus" },
{ "country_id": "21", "sortname": "BE", "country_name": "Belgium" },
{ "country_id": "22", "sortname": "BZ", "country_name": "Belize" },
{ "country_id": "23", "sortname": "BJ", "country_name": "Benin" },
{ "country_id": "24", "sortname": "BM", "country_name": "Bermuda" },
{ "country_id": "25", "sortname": "BT", "country_name": "Bhutan" },
{ "country_id": "26", "sortname": "BO", "country_name": "Bolivia" },
{
"country_id": "27",
"sortname": "BA",
"country_name": "Bosnia and Herzegovina"
},
{ "country_id": "28", "sortname": "BW", "country_name": "Botswana" },
{ "country_id": "29", "sortname": "BV", "country_name": "Bouvet Island" },
{ "country_id": "30", "sortname": "BR", "country_name": "Brazil" },
{
"country_id": "31",
"sortname": "IO",
"country_name": "British Indian Ocean Territory"
},
{ "country_id": "32", "sortname": "BN", "country_name": "Brunei" },
{ "country_id": "33", "sortname": "BG", "country_name": "Bulgaria" },
{ "country_id": "34", "sortname": "BF", "country_name": "Burkina Faso" },
{ "country_id": "35", "sortname": "BI", "country_name": "Burundi" },
{ "country_id": "36", "sortname": "KH", "country_name": "Cambodia" },
{ "country_id": "37", "sortname": "CM", "country_name": "Cameroon" },
{ "country_id": "38", "sortname": "CA", "country_name": "Canada" },
{ "country_id": "39", "sortname": "CV", "country_name": "Cape Verde" },
{ "country_id": "40", "sortname": "KY", "country_name": "Cayman Islands" },
{
"country_id": "41",
"sortname": "CF",
"country_name": "Central African Republic"
},
{ "country_id": "42", "sortname": "TD", "country_name": "Chad" },
{ "country_id": "43", "sortname": "CL", "country_name": "Chile" },
{ "country_id": "44", "sortname": "CN", "country_name": "China" },
{
"country_id": "45",
"sortname": "CX",
"country_name": "Christmas Island"
},
{
"country_id": "46",
"sortname": "CC",
"country_name": "Cocos (Keeling) Islands"
},
{ "country_id": "47", "sortname": "CO", "country_name": "Colombia" },
{ "country_id": "48", "sortname": "KM", "country_name": "Comoros" },
{ "country_id": "49", "sortname": "CG", "country_name": "Congo" },
{
"country_id": "50",
"sortname": "CD",
"country_name": "Democratic Republic of The Congo"
},
{ "country_id": "51", "sortname": "CK", "country_name": "Cook Islands" },
{ "country_id": "52", "sortname": "CR", "country_name": "Costa Rica" },
{
"country_id": "53",
"sortname": "CI",
"country_name": "Cote D'Ivoire (Ivory Coast)"
},
{
"country_id": "54",
"sortname": "HR",
"country_name": "Croatia (Hrvatska)"
},
{ "country_id": "55", "sortname": "CU", "country_name": "Cuba" },
{ "country_id": "56", "sortname": "CY", "country_name": "Cyprus" },
{ "country_id": "57", "sortname": "CZ", "country_name": "Czech Republic" },
{ "country_id": "58", "sortname": "DK", "country_name": "Denmark" },
{ "country_id": "59", "sortname": "DJ", "country_name": "Djibouti" },
{ "country_id": "60", "sortname": "DM", "country_name": "Dominica" },
{
"country_id": "61",
"sortname": "DO",
"country_name": "Dominican Republic"
},
{ "country_id": "62", "sortname": "TP", "country_name": "East Timor" },
{ "country_id": "63", "sortname": "EC", "country_name": "Ecuador" },
{ "country_id": "64", "sortname": "EG", "country_name": "Egypt" },
{ "country_id": "65", "sortname": "SV", "country_name": "El Salvador" },
{
"country_id": "66",
"sortname": "GQ",
"country_name": "Equatorial Guinea"
},
{ "country_id": "67", "sortname": "ER", "country_name": "Eritrea" },
{ "country_id": "68", "sortname": "EE", "country_name": "Estonia" },
{ "country_id": "69", "sortname": "ET", "country_name": "Ethiopia" },
{
"country_id": "70",
"sortname": "XA",
"country_name": "External Territories of Australia"
},
{
"country_id": "71",
"sortname": "FK",
"country_name": "Falkland Islands"
},
{ "country_id": "72", "sortname": "FO", "country_name": "Faroe Islands" },
{ "country_id": "73", "sortname": "FJ", "country_name": "Fiji Islands" },
{ "country_id": "74", "sortname": "FI", "country_name": "Finland" },
{ "country_id": "75", "sortname": "FR", "country_name": "France" },
{ "country_id": "76", "sortname": "GF", "country_name": "French Guiana" },
{
"country_id": "77",
"sortname": "PF",
"country_name": "French Polynesia"
},
{
"country_id": "78",
"sortname": "TF",
"country_name": "French Southern Territories"
},
{ "country_id": "79", "sortname": "GA", "country_name": "Gabon" },
{ "country_id": "80", "sortname": "GM", "country_name": "The Gambia" },
{ "country_id": "81", "sortname": "GE", "country_name": "Georgia" },
{ "country_id": "82", "sortname": "DE", "country_name": "Germany" },
{ "country_id": "83", "sortname": "GH", "country_name": "Ghana" },
{ "country_id": "84", "sortname": "GI", "country_name": "Gibraltar" },
{ "country_id": "85", "sortname": "GR", "country_name": "Greece" },
{ "country_id": "86", "sortname": "GL", "country_name": "Greenland" },
{ "country_id": "87", "sortname": "GD", "country_name": "Grenada" },
{ "country_id": "88", "sortname": "GP", "country_name": "Guadeloupe" },
{ "country_id": "89", "sortname": "GU", "country_name": "Guam" },
{ "country_id": "90", "sortname": "GT", "country_name": "Guatemala" },
{
"country_id": "91",
"sortname": "XU",
"country_name": "Guernsey and Alderney"
},
{ "country_id": "92", "sortname": "GN", "country_name": "Guinea" },
{ "country_id": "93", "sortname": "GW", "country_name": "Guinea-Bissau" },
{ "country_id": "94", "sortname": "GY", "country_name": "Guyana" },
{ "country_id": "95", "sortname": "HT", "country_name": "Haiti" },
{
"country_id": "96",
"sortname": "HM",
"country_name": "Heard and McDonald Islands"
},
{ "country_id": "97", "sortname": "HN", "country_name": "Honduras" },
{
"country_id": "98",
"sortname": "HK",
"country_name": "Hong Kong"
},
{ "country_id": "99", "sortname": "HU", "country_name": "Hungary" },
{ "country_id": "100", "sortname": "IS", "country_name": "Iceland" },
{ "country_id": "101", "sortname": "IN", "country_name": "India" },
{ "country_id": "102", "sortname": "ID", "country_name": "Indonesia" },
{ "country_id": "103", "sortname": "IR", "country_name": "Iran" },
{ "country_id": "104", "sortname": "IQ", "country_name": "Iraq" },
{ "country_id": "105", "sortname": "IE", "country_name": "Ireland" },
{ "country_id": "106", "sortname": "IL", "country_name": "Israel" },
{ "country_id": "107", "sortname": "IT", "country_name": "Italy" },
{ "country_id": "108", "sortname": "JM", "country_name": "Jamaica" },
{ "country_id": "109", "sortname": "JP", "country_name": "Japan" },
{ "country_id": "110", "sortname": "XJ", "country_name": "Jersey" },
{ "country_id": "111", "sortname": "JO", "country_name": "Jordan" },
{ "country_id": "112", "sortname": "KZ", "country_name": "Kazakhstan" },
{ "country_id": "113", "sortname": "KE", "country_name": "Kenya" },
{ "country_id": "114", "sortname": "KI", "country_name": "Kiribati" },
{ "country_id": "115", "sortname": "KP", "country_name": "North Korea" },
{ "country_id": "116", "sortname": "KR", "country_name": "South Korea" },
{ "country_id": "117", "sortname": "KW", "country_name": "Kuwait" },
{ "country_id": "118", "sortname": "KG", "country_name": "Kyrgyzstan" },
{ "country_id": "119", "sortname": "LA", "country_name": "Laos" },
{ "country_id": "120", "sortname": "LV", "country_name": "Latvia" },
{ "country_id": "121", "sortname": "LB", "country_name": "Lebanon" },
{ "country_id": "122", "sortname": "LS", "country_name": "Lesotho" },
{ "country_id": "123", "sortname": "LR", "country_name": "Liberia" },
{ "country_id": "124", "sortname": "LY", "country_name": "Libya" },
{ "country_id": "125", "sortname": "LI", "country_name": "Liechtenstein" },
{ "country_id": "126", "sortname": "LT", "country_name": "Lithuania" },
{ "country_id": "127", "sortname": "LU", "country_name": "Luxembourg" },
{ "country_id": "128", "sortname": "MO", "country_name": "Macau" },
{ "country_id": "129", "sortname": "MK", "country_name": "Macedonia" },
{ "country_id": "130", "sortname": "MG", "country_name": "Madagascar" },
{ "country_id": "131", "sortname": "MW", "country_name": "Malawi" },
{ "country_id": "132", "sortname": "MY", "country_name": "Malaysia" },
{ "country_id": "133", "sortname": "MV", "country_name": "Maldives" },
{ "country_id": "134", "sortname": "ML", "country_name": "Mali" },
{ "country_id": "135", "sortname": "MT", "country_name": "Malta" },
{ "country_id": "136", "sortname": "XM", "country_name": "Isle of Man" },
{
"country_id": "137",
"sortname": "MH",
"country_name": "Marshall Islands"
},
{ "country_id": "138", "sortname": "MQ", "country_name": "Martinique" },
{ "country_id": "139", "sortname": "MR", "country_name": "Mauritania" },
{ "country_id": "140", "sortname": "MU", "country_name": "Mauritius" },
{ "country_id": "141", "sortname": "YT", "country_name": "Mayotte" },
{ "country_id": "142", "sortname": "MX", "country_name": "Mexico" },
{ "country_id": "143", "sortname": "FM", "country_name": "Micronesia" },
{ "country_id": "144", "sortname": "MD", "country_name": "Moldova" },
{ "country_id": "145", "sortname": "MC", "country_name": "Monaco" },
{ "country_id": "146", "sortname": "MN", "country_name": "Mongolia" },
{ "country_id": "147", "sortname": "MS", "country_name": "Montserrat" },
{ "country_id": "148", "sortname": "MA", "country_name": "Morocco" },
{ "country_id": "149", "sortname": "MZ", "country_name": "Mozambique" },
{ "country_id": "150", "sortname": "MM", "country_name": "Myanmar" },
{ "country_id": "151", "sortname": "NA", "country_name": "Namibia" },
{ "country_id": "152", "sortname": "NR", "country_name": "Nauru" },
{ "country_id": "153", "sortname": "NP", "country_name": "Nepal" },
{
"country_id": "154",
"sortname": "AN",
"country_name": "Netherlands Antilles"
},
{
"country_id": "155",
"sortname": "NL",
"country_name": "Netherlands The"
},
{ "country_id": "156", "sortname": "NC", "country_name": "New Caledonia" },
{ "country_id": "157", "sortname": "NZ", "country_name": "New Zealand" },
{ "country_id": "158", "sortname": "NI", "country_name": "Nicaragua" },
{ "country_id": "159", "sortname": "NE", "country_name": "Niger" },
{ "country_id": "160", "sortname": "NG", "country_name": "Nigeria" },
{ "country_id": "161", "sortname": "NU", "country_name": "Niue" },
{ "country_id": "162", "sortname": "NF", "country_name": "Norfolk Island" },
{
"country_id": "163",
"sortname": "MP",
"country_name": "Northern Mariana Islands"
},
{ "country_id": "164", "sortname": "NO", "country_name": "Norway" },
{ "country_id": "165", "sortname": "OM", "country_name": "Oman" },
{ "country_id": "166", "sortname": "PK", "country_name": "Pakistan" },
{ "country_id": "167", "sortname": "PW", "country_name": "Palau" },
{
"country_id": "168",
"sortname": "PS",
"country_name": "Palestinian Territory Occupied"
},
{ "country_id": "169", "sortname": "PA", "country_name": "Panama" },
{
"country_id": "170",
"sortname": "PG",
"country_name": "Papua new Guinea"
},
{ "country_id": "171", "sortname": "PY", "country_name": "Paraguay" },
{ "country_id": "172", "sortname": "PE", "country_name": "Peru" },
{ "country_id": "173", "sortname": "PH", "country_name": "Philippines" },
{
"country_id": "174",
"sortname": "PN",
"country_name": "Pitcairn Island"
},
{ "country_id": "175", "sortname": "PL", "country_name": "Poland" },
{ "country_id": "176", "sortname": "PT", "country_name": "Portugal" },
{ "country_id": "177", "sortname": "PR", "country_name": "Puerto Rico" },
{ "country_id": "178", "sortname": "QA", "country_name": "Qatar" },
{ "country_id": "179", "sortname": "RE", "country_name": "Reunion" },
{ "country_id": "180", "sortname": "RO", "country_name": "Romania" },
{ "country_id": "181", "sortname": "RU", "country_name": "Russia" },
{ "country_id": "182", "sortname": "RW", "country_name": "Rwanda" },
{ "country_id": "183", "sortname": "SH", "country_name": "Saint Helena" },
{
"country_id": "184",
"sortname": "KN",
"country_name": "Saint Kitts And Nevis"
},
{ "country_id": "185", "sortname": "LC", "country_name": "Saint Lucia" },
{
"country_id": "186",
"sortname": "PM",
"country_name": "Saint Pierre and Miquelon"
},
{
"country_id": "187",
"sortname": "VC",
"country_name": "Saint Vincent and The Grenadines"
},
{ "country_id": "188", "sortname": "WS", "country_name": "Samoa" },
{ "country_id": "189", "sortname": "SM", "country_name": "San Marino" },
{
"country_id": "190",
"sortname": "ST",
"country_name": "Sao Tome and Principe"
},
{ "country_id": "191", "sortname": "SA", "country_name": "Saudi Arabia" },
{ "country_id": "192", "sortname": "SN", "country_name": "Senegal" },
{ "country_id": "193", "sortname": "RS", "country_name": "Serbia" },
{ "country_id": "194", "sortname": "SC", "country_name": "Seychelles" },
{ "country_id": "195", "sortname": "SL", "country_name": "Sierra Leone" },
{ "country_id": "196", "sortname": "SG", "country_name": "Singapore" },
{ "country_id": "197", "sortname": "SK", "country_name": "Slovakia" },
{ "country_id": "198", "sortname": "SI", "country_name": "Slovenia" },
{
"country_id": "199",
"sortname": "XG",
"country_name": "Smaller Territories of the UK"
},
{
"country_id": "200",
"sortname": "SB",
"country_name": "Solomon Islands"
},
{ "country_id": "201", "sortname": "SO", "country_name": "Somalia" },
{ "country_id": "202", "sortname": "ZA", "country_name": "South Africa" },
{ "country_id": "203", "sortname": "GS", "country_name": "South Georgia" },
{ "country_id": "204", "sortname": "SS", "country_name": "South Sudan" },
{ "country_id": "205", "sortname": "ES", "country_name": "Spain" },
{ "country_id": "206", "sortname": "LK", "country_name": "Sri Lanka" },
{ "country_id": "207", "sortname": "SD", "country_name": "Sudan" },
{ "country_id": "208", "sortname": "SR", "country_name": "Suriname" },
{
"country_id": "209",
"sortname": "SJ",
"country_name": "Svalbard And Jan Mayen Islands"
},
{ "country_id": "210", "sortname": "SZ", "country_name": "Swaziland" },
{ "country_id": "211", "sortname": "SE", "country_name": "Sweden" },
{ "country_id": "212", "sortname": "CH", "country_name": "Switzerland" },
{ "country_id": "213", "sortname": "SY", "country_name": "Syria" },
{ "country_id": "214", "sortname": "TW", "country_name": "Taiwan" },
{ "country_id": "215", "sortname": "TJ", "country_name": "Tajikistan" },
{ "country_id": "216", "sortname": "TZ", "country_name": "Tanzania" },
{ "country_id": "217", "sortname": "TH", "country_name": "Thailand" },
{ "country_id": "218", "sortname": "TG", "country_name": "Togo" },
{ "country_id": "219", "sortname": "TK", "country_name": "Tokelau" },
{ "country_id": "220", "sortname": "TO", "country_name": "Tonga" },
{
"country_id": "221",
"sortname": "TT",
"country_name": "Trinidad And Tobago"
},
{ "country_id": "222", "sortname": "TN", "country_name": "Tunisia" },
{ "country_id": "223", "sortname": "TR", "country_name": "Turkey" },
{ "country_id": "224", "sortname": "TM", "country_name": "Turkmenistan" },
{
"country_id": "225",
"sortname": "TC",
"country_name": "Turks And Caicos Islands"
},
{ "country_id": "226", "sortname": "TV", "country_name": "Tuvalu" },
{ "country_id": "227", "sortname": "UG", "country_name": "Uganda" },
{ "country_id": "228", "sortname": "UA", "country_name": "Ukraine" },
{
"country_id": "229",
"sortname": "AE",
"country_name": "United Arab Emirates"
},
{ "country_id": "230", "sortname": "GB", "country_name": "United Kingdom" },
{ "country_id": "231", "sortname": "US", "country_name": "United States" },
{
"country_id": "232",
"sortname": "UM",
"country_name": "United States Minor Outlying Islands"
},
{ "country_id": "233", "sortname": "UY", "country_name": "Uruguay" },
{ "country_id": "234", "sortname": "UZ", "country_name": "Uzbekistan" },
{ "country_id": "235", "sortname": "VU", "country_name": "Vanuatu" },
{
"country_id": "236",
"sortname": "VA",
"country_name": "Vatican City State (Holy See)"
},
{ "country_id": "237", "sortname": "VE", "country_name": "Venezuela" },
{ "country_id": "238", "sortname": "VN", "country_name": "Vietnam" },
{
"country_id": "239",
"sortname": "VG",
"country_name": "Virgin Islands (British)"
},
{
"country_id": "240",
"sortname": "VI",
"country_name": "Virgin Islands (US)"
},
{
"country_id": "241",
"sortname": "WF",
"country_name": "Wallis And Futuna Islands"
},
{ "country_id": "242", "sortname": "EH", "country_name": "Western Sahara" },
{ "country_id": "243", "sortname": "YE", "country_name": "Yemen" },
{ "country_id": "244", "sortname": "YU", "country_name": "Yugoslavia" },
{ "country_id": "245", "sortname": "ZM", "country_name": "Zambia" },
{ "country_id": "246", "sortname": "ZW", "country_name": "Zimbabwe" }
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -43,7 +43,7 @@ function ProfileJewel() {
return router.pathname !== loginHref.pathname ? (
<div className="flex items-center space-x-4">
<Link
className="hover:text-primary-500 text-xs font-medium text-slate-700"
className="text-xs font-medium text-slate-700 hover:text-primary-500"
href={loginHref}>
Sign In
</Link>
@@ -78,7 +78,7 @@ function ProfileJewel() {
return (
<Menu as="div" className="relative flex-shrink-0">
<div>
<Menu.Button className="focus:ring-primary-500 flex rounded-full bg-white text-sm focus:outline-none focus:ring-2 focus:ring-offset-2">
<Menu.Button className="flex rounded-full bg-white text-sm focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2">
<span className="sr-only">Open user menu</span>
{session?.user?.image == null ? (
<span>TODO: Render some icon</span>
@@ -220,7 +220,7 @@ export default function AppShell({ children }: Props) {
<header className="sticky top-0 z-10 w-full">
<div className="relative flex h-16 flex-shrink-0 border-b border-slate-200 bg-white shadow-sm">
<button
className="focus:ring-primary-500 border-r border-slate-200 px-4 text-slate-500 focus:outline-none focus:ring-2 focus:ring-inset md:hidden"
className="border-r border-slate-200 px-4 text-slate-500 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-primary-500 md:hidden"
type="button"
onClick={() => setMobileMenuOpen(true)}>
<span className="sr-only">Open sidebar</span>

View File

@@ -47,7 +47,7 @@ export default function MobileNavigation({
leave="transition ease-in-out duration-300 transform"
leaveFrom="translate-x-0"
leaveTo="-translate-x-full">
<Dialog.Panel className="relative flex w-full max-w-xs flex-1 flex-col bg-white pt-5 pb-4">
<Dialog.Panel className="relative flex w-full max-w-xs flex-1 flex-col bg-white pb-4 pt-5">
<Transition.Child
as={Fragment}
enter="ease-in-out duration-300"
@@ -56,7 +56,7 @@ export default function MobileNavigation({
leave="ease-in-out duration-300"
leaveFrom="opacity-100"
leaveTo="opacity-0">
<div className="absolute top-1 right-0 -mr-14 p-1">
<div className="absolute right-0 top-1 -mr-14 p-1">
<button
className="flex h-12 w-12 items-center justify-center rounded-full focus:outline-none focus:ring-2 focus:ring-white"
type="button"
@@ -89,7 +89,7 @@ export default function MobileNavigation({
key={item.name}
className={clsx(
'text-slate-700 hover:bg-slate-100',
'group flex items-center rounded-md py-2 px-3 text-sm font-medium',
'group flex items-center rounded-md px-3 py-2 text-sm font-medium',
)}
href={item.href}>
<span>{item.name}</span>
@@ -108,7 +108,7 @@ export default function MobileNavigation({
key={item.name}
className={clsx(
'text-slate-700 hover:bg-slate-100',
'group flex items-center rounded-md py-2 px-3 text-sm font-medium',
'group flex items-center rounded-md px-3 py-2 text-sm font-medium',
)}
href={item.href}>
<item.icon

View File

@@ -33,7 +33,7 @@ export default function ProductNavigation({
return (
<nav aria-label="Global" className="flex h-full items-center space-x-8">
<Link
className="hover:text-primary-700 flex items-center gap-2 text-base font-medium"
className="flex items-center gap-2 text-base font-medium hover:text-primary-700"
href={titleHref}>
<div>
{logo ?? (
@@ -51,7 +51,7 @@ export default function ProductNavigation({
const isActive = router.pathname === item.href;
return item.children != null && item.children.length > 0 ? (
<Menu key={item.name} as="div" className="relative text-left">
<Menu.Button className="focus:ring-primary-600 flex items-center rounded-md text-base font-medium text-slate-900 focus:outline-none focus:ring-2 focus:ring-offset-2">
<Menu.Button className="flex items-center rounded-md text-base font-medium text-slate-900 focus:outline-none focus:ring-2 focus:ring-primary-600 focus:ring-offset-2">
<span>{item.name}</span>
<ChevronDownIcon
aria-hidden="true"
@@ -96,7 +96,7 @@ export default function ProductNavigation({
<Link
key={item.name}
className={clsx(
'hover:text-primary-600 inline-flex h-full items-center border-y-2 border-t-transparent text-base text-slate-900',
'inline-flex h-full items-center border-y-2 border-t-transparent text-base text-slate-900 hover:text-primary-600',
isActive ? 'border-b-primary-500' : 'border-b-transparent',
)}
href={item.href}

View File

@@ -35,7 +35,7 @@ export default function JobTypeTabs({ value, onChange }: Props) {
: 'text-slate-500 hover:bg-slate-50 hover:text-slate-700',
tabIdx === 0 && 'rounded-l-lg',
tabIdx === tabs.length - 1 && 'rounded-r-lg',
'focus:ring-primary-500 group relative min-w-0 flex-1 overflow-hidden py-3 px-4 text-center font-medium focus:z-10',
'group relative min-w-0 flex-1 overflow-hidden px-4 py-3 text-center font-medium focus:z-10 focus:ring-primary-500',
)}
type="button"
onClick={() => {

View File

@@ -28,7 +28,7 @@ export default function OffersHeader({
<th
key={header}
className={clsx(
'bg-slate-100 py-3 px-4',
'bg-slate-100 px-4 py-3',
sortType &&
'hover:cursor-pointer hover:bg-slate-200 active:bg-slate-300',
header !== 'Company' && 'whitespace-nowrap',

View File

@@ -35,31 +35,31 @@ export default function OfferTableRow({
}: OfferTableRowProps) {
return (
<tr key={id} className="divide-x divide-slate-200 border-b bg-white">
<td className="space-y-0.5 py-4 px-4" scope="row">
<td className="space-y-0.5 px-4 py-4" scope="row">
<div className="font-medium">{company.name}</div>
<div className="text-xs text-slate-500">
{location.cityName} ({location.countryCode})
</div>
</td>
<td className="py-4 px-4">
<td className="px-4 py-4">
{getLabelForJobTitleType(title as JobTitleType)}
</td>
<td className="py-4 px-4">{totalYoe}</td>
<td className="py-4 px-4">{convertMoneyToString(income)}</td>
<td className="px-4 py-4">{totalYoe}</td>
<td className="px-4 py-4">{convertMoneyToString(income)}</td>
{jobType === JobType.FULLTIME && (
<td className="py-4 px-4">
<td className="px-4 py-4">
{`${convertMoneyToString(baseSalary)} / ${convertMoneyToString(
bonus,
)} / ${convertMoneyToString(stocks)}`}
</td>
)}
<td className="py-4 px-4">{formatDate(monthYearReceived)}</td>
<td className="px-4 py-4">{formatDate(monthYearReceived)}</td>
<td
className={clsx(
'sticky right-0 bg-white px-4 py-4 drop-shadow lg:drop-shadow-none',
)}>
<Link
className="text-primary-600 dark:text-primary-500 font-medium hover:underline"
className="font-medium text-primary-600 hover:underline dark:text-primary-500"
href={`/offers/profile/${profileId}?token=${token}`}>
View Editable Profile
</Link>

View File

@@ -27,7 +27,7 @@ export default function OffersTablePagination({
}, []);
return (
<nav aria-label="Offers Pagination" className="py-3 px-4">
<nav aria-label="Offers Pagination" className="px-4 py-3">
<div className="grid grid-cols-1 items-center gap-2 md:grid-cols-2">
<div>
{!isInitialFetch && (

View File

@@ -23,10 +23,10 @@ export default function LeftTextCard({
}: LeftTextCardProps) {
return (
<div className="items-center lg:mx-auto lg:grid lg:max-w-7xl lg:grid-flow-col-dense lg:grid-cols-2 lg:gap-24 lg:px-8">
<div className="mx-auto max-w-xl px-4 sm:px-6 lg:mx-0 lg:max-w-none lg:py-16 lg:px-0">
<div className="mx-auto max-w-xl px-4 sm:px-6 lg:mx-0 lg:max-w-none lg:px-0 lg:py-16">
<div>
<div>
<span className="to-primary-500 flex h-12 w-12 items-center justify-center rounded-md bg-gradient-to-r from-purple-600">
<span className="flex h-12 w-12 items-center justify-center rounded-md bg-gradient-to-r from-purple-600 to-primary-500">
{icon}
</span>
</div>
@@ -37,7 +37,7 @@ export default function LeftTextCard({
<p className="mt-4 text-lg text-gray-500">{description}</p>
<div className="mt-6">
<a
className="to-primary-500 inline-flex rounded-md border border-transparent bg-gradient-to-r from-purple-600 bg-origin-border px-4 py-2 text-base font-medium text-white shadow-sm hover:from-purple-700 hover:to-indigo-700"
className="inline-flex rounded-md border border-transparent bg-gradient-to-r from-purple-600 to-primary-500 bg-origin-border px-4 py-2 text-base font-medium text-white shadow-sm hover:from-purple-700 hover:to-indigo-700"
href={url}>
{buttonLabel}
</a>

View File

@@ -23,10 +23,10 @@ export default function RightTextCard({
}: RightTextCarddProps) {
return (
<div className="items-center lg:mx-auto lg:grid lg:max-w-7xl lg:grid-flow-col-dense lg:grid-cols-2 lg:gap-24 lg:px-8">
<div className="mx-auto max-w-xl px-4 sm:px-6 lg:col-start-2 lg:mx-0 lg:max-w-none lg:py-32 lg:px-0">
<div className="mx-auto max-w-xl px-4 sm:px-6 lg:col-start-2 lg:mx-0 lg:max-w-none lg:px-0 lg:py-32">
<div>
<div>
<span className="to-primary-500 flex h-12 w-12 items-center justify-center rounded-md bg-gradient-to-r from-purple-600">
<span className="flex h-12 w-12 items-center justify-center rounded-md bg-gradient-to-r from-purple-600 to-primary-500">
{icon}
</span>
</div>
@@ -37,7 +37,7 @@ export default function RightTextCard({
<p className="mt-4 text-lg text-gray-500">{description}</p>
<div className="mt-6">
<a
className="to-primary-500 inline-flex rounded-md border border-transparent bg-gradient-to-r from-purple-600 bg-origin-border px-4 py-2 text-base font-medium text-white shadow-sm hover:from-purple-700 hover:to-indigo-700"
className="inline-flex rounded-md border border-transparent bg-gradient-to-r from-purple-600 to-primary-500 bg-origin-border px-4 py-2 text-base font-medium text-white shadow-sm hover:from-purple-700 hover:to-indigo-700"
href={url}>
{buttonLabel}
</a>

View File

@@ -27,10 +27,10 @@ function OfferAnalysisContent({
jobType === JobType.INTERN
? ''
: totalYoe <= 2
? YOE_CATEGORY.ENTRY
: totalYoe <= 5
? YOE_CATEGORY.MID
: YOE_CATEGORY.SENIOR;
? YOE_CATEGORY.ENTRY
: totalYoe <= 5
? YOE_CATEGORY.MID
: YOE_CATEGORY.SENIOR;
if (!analysis || analysis.noOfOffers === 0) {
if (tab === OVERALL_TAB) {

View File

@@ -75,7 +75,7 @@ export default function OffersProfileSave({
We value your privacy
</p>
<div className="mt-6 max-w-md text-slate-500">
<div className="bg-info-50 rounded-lg p-6">
<div className="rounded-lg bg-info-50 p-6">
<p className="sm:tex-base text-sm">
To keep your offer profile strictly anonymous, it is not linked to
your user account. Only people who have the link below can edit

View File

@@ -12,7 +12,7 @@ export default function EducationCard({
education: { type, field, startDate, endDate, school },
}: Props) {
return (
<div className="block rounded-lg border border-slate-200 bg-white p-4 text-sm ">
<div className="block rounded-lg border border-slate-200 bg-white p-4 text-sm">
<div className="flex justify-between">
<div>
<div className="mb-2 flex items-center">
@@ -26,8 +26,8 @@ export default function EducationCard({
'N/A'
}`
: type
? type.charAt(0).toUpperCase() + type.slice(1)
: `N/A`}
? type.charAt(0).toUpperCase() + type.slice(1)
: `N/A`}
</span>
</div>
{school && (

View File

@@ -107,7 +107,7 @@ export default function ProfileComments({
<div className="bh-white h-fit lg:h-[calc(100vh-4.5rem)] lg:overflow-y-auto">
<div className="border-b border-slate-200 bg-white p-4 lg:sticky lg:top-0">
<div className="flex justify-end">
<div className="grid w-fit grid-cols-1 space-y-2 md:grid-cols-2 md:space-y-0 md:space-x-4">
<div className="grid w-fit grid-cols-1 space-y-2 md:grid-cols-2 md:space-x-4 md:space-y-0">
<div className="col-span-1 flex justify-end">
{isEditable && (
<Tooltip tooltipContent="Copy this link to edit your profile later">
@@ -169,7 +169,9 @@ export default function ProfileComments({
<div>
<TextArea
label={`Comment as ${
isEditable ? profileName : session?.user?.name ?? 'anonymous'
isEditable
? profileName
: (session?.user?.name ?? 'anonymous')
}`}
placeholder="Type your comment here"
value={currentReply}

View File

@@ -28,7 +28,7 @@ export default function OffersHeader({
<th
key={header}
className={clsx(
'bg-slate-100 py-3 px-4',
'bg-slate-100 px-4 py-3',
sortType &&
'hover:cursor-pointer hover:bg-slate-200 active:bg-slate-300',
header !== 'Company' && 'whitespace-nowrap',

View File

@@ -35,14 +35,14 @@ export default function OfferTableRow({
}: OfferTableRowProps) {
return (
<tr key={id} className="divide-x divide-slate-200 border-b bg-white">
<td className="flex items-center gap-3 space-y-0.5 py-2 px-4" scope="row">
<td className="flex items-center gap-3 space-y-0.5 px-4 py-2" scope="row">
<CompanyProfileImage
alt={company.name}
className="hidden h-6 w-6 object-contain sm:block"
src={company.logoUrl}
/>
<div>
<div className="line-clamp-2 sm:line-clamp-1 font-medium">
<div className="line-clamp-2 font-medium sm:line-clamp-1">
{company.name}
</div>
<div className="text-xs text-slate-500">
@@ -50,25 +50,25 @@ export default function OfferTableRow({
</div>
</div>
</td>
<td className="py-2 px-4">
<td className="px-4 py-2">
{getLabelForJobTitleType(title as JobTitleType)}
</td>
<td className="py-2 px-4">{totalYoe}</td>
<td className="py-2 px-4">{convertMoneyToString(income)}</td>
<td className="px-4 py-2">{totalYoe}</td>
<td className="px-4 py-2">{convertMoneyToString(income)}</td>
{jobType === JobType.FULLTIME && (
<td className="py-2 px-4">
<td className="px-4 py-2">
{`${convertMoneyToString(baseSalary)} / ${convertMoneyToString(
bonus,
)} / ${convertMoneyToString(stocks)}`}
</td>
)}
<td className="py-2 px-4">{formatDate(monthYearReceived)}</td>
<td className="px-4 py-2">{formatDate(monthYearReceived)}</td>
<td
className={clsx(
'sticky right-0 bg-white px-4 py-2 drop-shadow lg:drop-shadow-none',
)}>
<Link
className="text-primary-600 dark:text-primary-500 font-medium hover:underline"
className="font-medium text-primary-600 hover:underline dark:text-primary-500"
href={`/offers/profile/${profileId}`}>
View Profile
</Link>

View File

@@ -27,7 +27,7 @@ export default function OffersTablePagination({
}, []);
return (
<nav aria-label="Offers Pagination" className="py-3 px-4">
<nav aria-label="Offers Pagination" className="px-4 py-3">
<div className="grid grid-cols-1 items-center gap-2 md:grid-cols-2">
<div>
{!isInitialFetch && (

View File

@@ -106,7 +106,7 @@ export default function AddToListDropdown({
const CustomMenuButton = ({ children }: PropsWithChildren<unknown>) => (
<button
className="focus:ring-primary-500 inline-flex w-full items-center justify-center rounded-md border border-slate-300 bg-white px-2.5 py-1.5 text-xs font-medium text-slate-700 shadow-sm hover:bg-slate-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-slate-100"
className="inline-flex w-full items-center justify-center rounded-md border border-slate-300 bg-white px-2.5 py-1.5 text-xs font-medium text-slate-700 shadow-sm hover:bg-slate-50 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 focus:ring-offset-slate-100"
type="button"
onClick={handleMenuButtonClick}>
{children}

View File

@@ -29,7 +29,7 @@ export default function ContributeQuestionCard({
className="flex w-full flex-1 justify-between gap-2 rounded-md border border-slate-300 bg-white p-4 text-left transition hover:bg-slate-100"
type="button"
onClick={handleOpenContribute}>
<div className="w-full rounded-md border border-slate-300 bg-slate-100 py-2 px-4 text-slate-400">
<div className="w-full rounded-md border border-slate-300 bg-slate-100 px-4 py-2 text-slate-400">
<p className="font-semibold">
Just completed your interview? Contribute your questions
</p>

View File

@@ -67,13 +67,13 @@ export default function LandingComponent({ onLanded }: LandingComponentProps) {
}, [defaultLocation, location]);
return (
<div className="relative pt-6 pb-16 sm:pb-24">
<div className="relative pb-16 pt-6 sm:pb-24">
<main className="mt-8 sm:mt-16">
<Container>
<div className="lg:grid lg:grid-cols-12 lg:gap-8">
<div className="px-4 sm:px-6 sm:text-center md:mx-auto md:max-w-2xl lg:col-span-6 lg:flex lg:items-center lg:text-left">
<div>
<h1 className="text-primary-600 mt-4 text-4xl font-bold tracking-tight sm:text-5xl md:text-6xl">
<h1 className="mt-4 text-4xl font-bold tracking-tight text-primary-600 sm:text-5xl md:text-6xl">
Tech Interview Question Bank
</h1>
<p className="mt-3 text-base text-slate-500 sm:mt-5 sm:text-xl lg:text-lg xl:text-xl">

View File

@@ -55,8 +55,7 @@ export default function QuestionAggregateBadge({
<>
<button
ref={setTriggerRef}
className="-my-1 flex items-center rounded-md px-2
py-1 text-xs font-medium text-slate-500 bg-slate-100 hover:bg-slate-200 hover:text-slate-600"
className="-my-1 flex items-center rounded-md bg-slate-100 px-2 py-1 text-xs font-medium text-slate-500 hover:bg-slate-200 hover:text-slate-600"
type="button">
<Icon
aria-hidden={true}

View File

@@ -56,7 +56,7 @@ export default function VotingButtons({
size === 'md' && 'h-6 w-6',
vote?.vote === 'UPVOTE'
? 'text-primary-500'
: 'hover:text-primary-500 text-slate-400',
: 'text-slate-400 hover:text-primary-500',
)}
/>
</button>
@@ -79,7 +79,7 @@ export default function VotingButtons({
size === 'md' && 'h-6 w-6',
vote?.vote === 'DOWNVOTE'
? 'text-danger-500'
: 'hover:text-danger-500 text-slate-400',
: 'text-slate-400 hover:text-danger-500',
)}
/>
</button>

View File

@@ -64,9 +64,7 @@ export default function AnswerCard({
<div className="-ml-2">
{commentCount !== undefined && (
<button
className="-my-1 flex items-center rounded-md px-2
py-1 text-xs font-medium
text-slate-500 hover:bg-slate-100 hover:text-slate-600"
className="-my-1 flex items-center rounded-md px-2 py-1 text-xs font-medium text-slate-500 hover:bg-slate-100 hover:text-slate-600"
type="button">
<ChatBubbleLeftRightIcon
aria-hidden={true}

View File

@@ -266,9 +266,7 @@ export default function BaseQuestionCard({
{showAnswerStatistics && (
<div>
<button
className="-my-1 flex items-center rounded-md px-2
py-1 text-xs font-medium
text-slate-500 hover:bg-slate-100 hover:text-slate-600"
className="-my-1 flex items-center rounded-md px-2 py-1 text-xs font-medium text-slate-500 hover:bg-slate-100 hover:text-slate-600"
type="button">
<ChatBubbleBottomCenterTextIcon
aria-hidden={true}
@@ -281,9 +279,7 @@ export default function BaseQuestionCard({
{showReceivedStatistics && (
<div>
<button
className="-my-1 flex items-center rounded-md px-2
py-1 text-xs font-medium
text-slate-500 hover:bg-slate-100 hover:text-slate-600"
className="-my-1 flex items-center rounded-md px-2 py-1 text-xs font-medium text-slate-500 hover:bg-slate-100 hover:text-slate-600"
type="button">
<EyeIcon aria-hidden={true} className="mr-2 h-5 w-5" />
{receivedCount} received this
@@ -320,12 +316,12 @@ export default function BaseQuestionCard({
<article
className={clsx(
'group flex gap-4 border-slate-200',
showHover && 'hover:border-primary-500 transition',
showHover && 'transition hover:border-primary-500',
!hideCard && 'rounded-md border bg-white px-2 py-4 sm:rounded-lg',
)}>
{cardContent}
{showDeleteButton && (
<div className="fill-danger-700 invisible self-center group-hover:visible">
<div className="invisible self-center fill-danger-700 group-hover:visible">
<Button
icon={TrashIcon}
isLabelHidden={true}

View File

@@ -118,7 +118,7 @@ export default function ContributeQuestionForm({
rows={5}
{...register('questionContent')}
/>
<h2 className="text-md text-primary-800 font-semibold">
<h2 className="text-md font-semibold text-primary-800">
Additional information
</h2>
<div className="flex flex-col flex-wrap items-stretch gap-2 sm:flex-row sm:items-end">
@@ -193,10 +193,7 @@ export default function ContributeQuestionForm({
</div>
</div>
<h2
className="text-primary-900
text-lg font-semibold
">
<h2 className="text-lg font-semibold text-primary-900">
Are these questions the same as yours?
</h2>
<Button
@@ -250,7 +247,7 @@ export default function ContributeQuestionForm({
)}
</div>
<div
className="bg-primary-50 flex w-full flex-col gap-y-2 py-3 shadow-[0_0_0_100vmax_theme(colors.primary.50)] sm:flex-row sm:justify-between"
className="flex w-full flex-col gap-y-2 bg-primary-50 py-3 shadow-[0_0_0_100vmax_theme(colors.primary.50)] sm:flex-row sm:justify-between"
style={{
// Hack to make the background bleed outside the container
clipPath: 'inset(0 -100vmax)',

View File

@@ -13,7 +13,7 @@ export default function BackButtonLayout({
children,
}: BackButtonLayoutProps) {
return (
<Container className="flex flex-col gap-4 pt-4 pb-12" variant="sm">
<Container className="flex flex-col gap-4 pb-12 pt-4" variant="sm">
<div>
<Button
addonPosition="start"

View File

@@ -57,7 +57,7 @@ export default function ResumePdf({ url }: Props) {
width={pageWidth}
/>
</div>
<div className="absolute top-2 right-5 hidden hover:block group-hover:block">
<div className="absolute right-5 top-2 hidden hover:block group-hover:block">
<Button
className="rounded-r-none focus:ring-0 focus:ring-offset-0"
disabled={pageWidth === 450}

View File

@@ -13,14 +13,7 @@ export default function ResumeUserBadge({
}: Props) {
return (
<div className="group relative flex items-center justify-center">
<div
className="absolute top-7 z-10 hidden h-36 w-48 flex-col justify-center
gap-1 rounded-xl bg-white pb-2 text-center drop-shadow-lg
after:absolute after:left-1/2 after:top-[-11%] after:-translate-x-1/2
after:border-8 after:border-x-transparent after:border-t-transparent
after:border-b-slate-200 after:drop-shadow-sm after:content-['']
group-hover:flex">
<div className="absolute top-7 z-10 hidden h-36 w-48 flex-col justify-center gap-1 rounded-xl bg-white pb-2 text-center drop-shadow-lg after:absolute after:left-1/2 after:top-[-11%] after:-translate-x-1/2 after:border-8 after:border-x-transparent after:border-b-slate-200 after:border-t-transparent after:drop-shadow-sm after:content-[''] group-hover:flex">
<Icon className="h-16 w-full self-center rounded-t-xl bg-slate-200 py-2" />
<div className="flex h-20 flex-col justify-evenly px-2">
<p className="font-medium">{title}</p>

View File

@@ -14,10 +14,10 @@ export default function ResumeFilterPill({
return (
<button
className={clsx(
'border-primary-500 focus:bg-primary-500 rounded-xl border border-transparent px-2 py-1 text-xs font-medium focus:text-white',
'rounded-xl border border-primary-500 border-transparent px-2 py-1 text-xs font-medium focus:bg-primary-500 focus:text-white',
isSelected
? 'bg-primary-500 text-white'
: 'text-primary-500 hover:text-primary-700 bg-white hover:bg-slate-100',
: 'bg-white text-primary-500 hover:bg-slate-100 hover:text-primary-700',
)}
type="button"
onClick={onClick}>

View File

@@ -47,7 +47,7 @@ export default function ResumeListItem({ href, resumeInfo }: Props) {
{resumeInfo.isResolved ? 'Reviewed' : 'Unreviewed'}
</p>
</div>
<div className="text-primary-500 mt-2 flex items-center justify-start text-xs">
<div className="mt-2 flex items-center justify-start text-xs text-primary-500">
<div className="flex">
<BriefcaseIcon
aria-hidden="true"

View File

@@ -47,7 +47,7 @@ export default function ResumeCommentListItem({
{comment.user.name ?? 'Reviewer ABC'}
</p>
{isCommentOwner && (
<span className="bg-primary-100 text-primary-800 rounded-md py-0.5 px-1 text-xs">
<span className="rounded-md bg-primary-100 px-1 py-0.5 text-xs text-primary-800">
Me
</span>
)}

View File

@@ -115,7 +115,7 @@ export default function ResumeCommentsForm({
};
return (
<div className="overflow-y-auto py-8 px-4">
<div className="overflow-y-auto px-4 py-8">
<h2 className="text-xl font-medium text-slate-800">
Contribute a review
</h2>

View File

@@ -7,10 +7,10 @@ export function Hero() {
<Container className="pb-36 pt-20 text-center lg:pt-32">
<h1 className="font-display mx-auto max-w-4xl text-5xl font-medium tracking-tight text-slate-900 sm:text-7xl">
Resume review{' '}
<span className="text-primary-500 relative whitespace-nowrap">
<span className="relative whitespace-nowrap text-primary-500">
<svg
aria-hidden="true"
className="absolute top-2/3 left-0 h-[0.58em] w-full fill-blue-300/70"
className="absolute left-0 top-2/3 h-[0.58em] w-full fill-blue-300/70"
preserveAspectRatio="none"
viewBox="0 0 418 42">
<path d="M203.371.916c-26.013-2.078-76.686 1.963-124.73 9.946L67.3 12.749C35.421 18.062 18.2 21.766 6.004 25.934 1.244 27.561.828 27.778.874 28.61c.07 1.214.828 1.121 9.595-1.176 9.072-2.377 17.15-3.92 39.246-7.496C123.565 7.986 157.869 4.492 195.942 5.046c7.461.108 19.25 1.696 19.17 2.582-.107 1.183-7.874 4.31-25.75 10.366-21.992 7.45-35.43 12.534-36.701 13.884-2.173 2.308-.202 4.407 4.442 4.734 2.654.187 3.263.157 15.593-.78 35.401-2.686 57.944-3.488 88.365-3.143 46.327.526 75.721 2.23 130.788 7.584 19.787 1.924 20.814 1.98 24.557 1.332l.066-.011c1.201-.203 1.53-1.825.399-2.335-2.911-1.31-4.893-1.604-22.048-3.261-57.509-5.556-87.871-7.36-132.059-7.842-23.239-.254-33.617-.116-50.627.674-11.629.54-42.371 2.494-46.696 2.967-2.359.259 8.133-3.625 26.504-9.81 23.239-7.825 27.934-10.149 28.304-14.005.417-4.348-3.529-6-16.878-7.066Z" />

View File

@@ -49,7 +49,7 @@ export function PrimaryFeatures() {
return (
<section
className="from-primary-400 to-primary-700 relative overflow-hidden bg-gradient-to-r pt-20 pb-28 sm:py-32"
className="relative overflow-hidden bg-gradient-to-r from-primary-400 to-primary-700 pb-28 pt-20 sm:py-32"
id="features">
<Container className="relative">
<div className="max-w-2xl md:mx-auto md:text-center xl:max-w-none">
@@ -69,7 +69,7 @@ export function PrimaryFeatures() {
<div
key={feature.title}
className={clsx(
'group relative rounded-full lg:rounded-r-none lg:rounded-l-xl lg:p-6',
'group relative rounded-full lg:rounded-l-xl lg:rounded-r-none lg:p-6',
selectedIndex === featureIndex
? 'bg-white lg:bg-white/10 lg:ring-1 lg:ring-inset lg:ring-white/10'
: 'hover:bg-white/10 lg:hover:bg-white/5',
@@ -77,13 +77,13 @@ export function PrimaryFeatures() {
<h3>
<Tab
className={clsx(
'rounded-full py-1 px-4',
'rounded-full px-4 py-1',
'font-display text-lg [&:not(:focus-visible)]:focus:outline-none',
selectedIndex === featureIndex
? 'text-blue-600 lg:text-white'
: 'text-blue-100 hover:text-white lg:text-white',
)}>
<span className="absolute inset-0 rounded-full lg:rounded-r-none lg:rounded-l-xl" />
<span className="absolute inset-0 rounded-full lg:rounded-l-xl lg:rounded-r-none" />
<div className="font-bold">{feature.title}</div>
</Tab>
</h3>
@@ -104,7 +104,7 @@ export function PrimaryFeatures() {
{features.map((feature) => (
<Tab.Panel key={feature.title} unmount={false}>
<div className="relative sm:px-6 lg:hidden">
<div className="absolute -inset-x-4 top-[-6.5rem] bottom-[-4.25rem] bg-white/10 ring-1 ring-inset ring-white/10 sm:inset-x-0 sm:rounded-t-xl" />
<div className="absolute -inset-x-4 bottom-[-4.25rem] top-[-6.5rem] bg-white/10 ring-1 ring-inset ring-white/10 sm:inset-x-0 sm:rounded-t-xl" />
<p className="relative mx-auto max-w-2xl text-base text-white sm:text-center">
{feature.description}
</p>

View File

@@ -36,7 +36,7 @@ export default function ResumeExpandableText({
</span>
{descriptionOverflow && (
<button
className="text-primary-500 hover:text-primary-600 text-xs font-medium"
className="text-xs font-medium text-primary-500 hover:text-primary-600"
type="button"
onClick={onSeeActionClicked}>
{isExpanded ? 'See Less' : 'See More'}

View File

@@ -143,7 +143,7 @@ export default function MonthYearPicker({
</div>
</div>
{errorMessage && (
<p className="text-danger-600 mt-2 text-sm" id={errorId}>
<p className="mt-2 text-sm text-danger-600" id={errorId}>
{errorMessage}
</p>
)}

View File

@@ -4,7 +4,7 @@ export default function loginPageHref(redirectUrl?: string) {
query: {
callbackUrl:
typeof window !== 'undefined'
? redirectUrl ?? window.location.href
? (redirectUrl ?? window.location.href)
: null,
},
};

View File

@@ -93,8 +93,8 @@ const analysisOfferDtoMapper = (
profileName,
title:
offer.jobType === JobType.FULLTIME
? offer.offersFullTime?.title ?? ''
: offer.offersIntern?.title ?? '',
? (offer.offersFullTime?.title ?? '')
: (offer.offersIntern?.title ?? ''),
totalYoe: background?.totalYoe ?? -1,
};
@@ -189,8 +189,8 @@ const analysisUnitDtoMapper = (
jobType === JobType.FULLTIME && analysedOffer.offersFullTime != null
? analysedOffer.offersFullTime.title
: jobType === JobType.INTERN && analysedOffer.offersIntern != null
? analysedOffer.offersIntern.title
: '',
? analysedOffer.offersIntern.title
: '',
topPercentileOffers: analysisUnit.topSimilarOffers.map((offer) =>
analysisOfferDtoMapper(offer),
),
@@ -909,8 +909,8 @@ const userProfileOfferDtoMapper = (
monthYearReceived: offer.monthYearReceived,
title:
offer.jobType === JobType.FULLTIME
? offer.offersFullTime?.title ?? ''
: offer.offersIntern?.title ?? '',
? (offer.offersFullTime?.title ?? '')
: (offer.offersIntern?.title ?? ''),
};
if (

View File

@@ -60,23 +60,23 @@ export default function Example() {
You may be trying to access the following services
</h2>
<ul
className="mt-4 divide-y divide-slate-200 border-t border-b border-slate-200"
className="mt-4 divide-y divide-slate-200 border-b border-t border-slate-200"
role="list">
{links.map((link) => (
<li
key={link.href}
className="relative flex items-start space-x-4 py-6">
<div className="flex-shrink-0">
<span className="bg-primary-50 flex h-12 w-12 items-center justify-center rounded-lg">
<span className="flex h-12 w-12 items-center justify-center rounded-lg bg-primary-50">
<link.icon
aria-hidden="true"
className="text-primary-700 h-6 w-6"
className="h-6 w-6 text-primary-700"
/>
</span>
</div>
<div className="min-w-0 flex-1">
<h3 className="text-base font-medium text-slate-900">
<span className="focus-within:ring-primary-500 rounded-sm focus-within:ring-2 focus-within:ring-offset-2">
<span className="rounded-sm focus-within:ring-2 focus-within:ring-primary-500 focus-within:ring-offset-2">
<Link className="focus:outline-none" href={link.href}>
<span
aria-hidden="true"
@@ -101,7 +101,7 @@ export default function Example() {
</ul>
<div className="mt-8">
<Link
className="text-primary-600 hover:text-primary-500 text-base font-medium"
className="text-base font-medium text-primary-600 hover:text-primary-500"
href="/">
Or go back home
<span aria-hidden="true"> &rarr;</span>

View File

@@ -39,7 +39,7 @@ export default function HomePage() {
<Container>
<h1 className="text-4xl font-bold tracking-tight text-slate-900 sm:text-5xl md:text-6xl">
<span className="block">Tech Interview Handbook</span>
<span className="text-primary-600 block">Portal</span>
<span className="block text-primary-600">Portal</span>
</h1>
<p className="mx-auto mt-3 max-w-md text-base text-slate-500 sm:text-lg md:mt-5 md:max-w-3xl md:text-xl">
Suite of products to help you get better at technical

View File

@@ -24,7 +24,7 @@ export default function LoginPage({
return (
<div className="flex w-full justify-center">
<div className="flex min-h-full flex-col justify-center py-12 px-6 lg:px-8">
<div className="flex min-h-full flex-col justify-center px-6 py-12 lg:px-8">
<div className="sm:mx-auto sm:w-full sm:max-w-md">
<img
alt="Tech Interview Handbook"

View File

@@ -60,7 +60,7 @@ export default function AboutPage() {
Thank you for using our platform! Feel free to submit your
feedback / feature request / bug report
<a
className="text-primary-600 hover:text-primary-500 ml-1"
className="ml-1 text-primary-600 hover:text-primary-500"
href="https://docs.google.com/forms/d/e/1FAIpQLScbhjhlCdcmu9SGyASevqrqLl_HOr4W1B_bpTXUgs78yClr_w/viewform?usp=send_form"
rel="noreferrer"
target="_blank">
@@ -79,7 +79,7 @@ export default function AboutPage() {
{people.map((person) => (
<li key={person.name}>
<div className="space-y-4 sm:grid sm:grid-cols-4 sm:gap-6 sm:space-y-0 lg:gap-8">
<div className="aspect-w-2 aspect-h-2 h-0">
<div className="aspect-h-2 aspect-w-2 h-0">
<img
alt={person.name}
className="rounded-lg object-cover shadow-lg"

View File

@@ -69,7 +69,7 @@ export default function OffersHomePage({
</Link>
.
</Banner>
<div className="text-primary-600 flex items-center justify-end space-x-1 bg-slate-100 px-4 pt-4 sm:text-lg">
<div className="flex items-center justify-end space-x-1 bg-slate-100 px-4 pt-4 text-primary-600 sm:text-lg">
<span>
<MapPinIcon className="flex h-7 w-7" />
</span>
@@ -90,10 +90,10 @@ export default function OffersHomePage({
}}
/>
</div>
<div className="bg-slate-100 py-16 px-4">
<div className="bg-slate-100 px-4 py-16">
<div>
<div>
<h1 className="text-primary-600 text-center text-4xl font-bold sm:text-5xl">
<h1 className="text-center text-4xl font-bold text-primary-600 sm:text-5xl">
Tech Offers Repo (Admin)
</h1>
</div>
@@ -102,7 +102,7 @@ export default function OffersHomePage({
offers.
</div>
</div>
<div className="mt-6 flex flex-col items-center justify-center space-y-2 text-sm text-slate-700 sm:mt-10 sm:flex-row sm:space-y-0 sm:space-x-4 sm:text-lg">
<div className="mt-6 flex flex-col items-center justify-center space-y-2 text-sm text-slate-700 sm:mt-10 sm:flex-row sm:space-x-4 sm:space-y-0 sm:text-lg">
<span>Viewing offers for</span>
<div className="flex items-center space-x-4">
<JobTitlesTypeahead

View File

@@ -91,7 +91,7 @@ export default function LandingPage() {
<main>
{/* Hero section */}
<div className="relative h-full">
<div className="relative px-4 py-16 sm:px-6 sm:py-24 lg:py-32 lg:px-8">
<div className="relative px-4 py-16 sm:px-6 sm:py-24 lg:px-8 lg:py-32">
<img
alt="Tech Offers Repo"
className="mx-auto mb-8 w-auto"
@@ -99,7 +99,7 @@ export default function LandingPage() {
/>
<h1 className="text-center text-4xl font-bold tracking-tight sm:text-5xl lg:text-6xl">
<span>Choosing offers </span>
<span className="from-primary-600 -mb-1 mr-2 bg-gradient-to-r to-purple-500 bg-clip-text pb-1 pr-4 italic text-transparent">
<span className="-mb-1 mr-2 bg-gradient-to-r from-primary-600 to-purple-500 bg-clip-text pb-1 pr-4 italic text-transparent">
made easier
</span>
</h1>
@@ -115,7 +115,7 @@ export default function LandingPage() {
Get started
</a>
<a
className="bg-primary-500 flex items-center justify-center rounded-md border border-transparent px-4 py-3 text-base font-medium text-white shadow-sm hover:bg-opacity-70 sm:px-8"
className="flex items-center justify-center rounded-md border border-transparent bg-primary-500 px-4 py-3 text-base font-medium text-white shadow-sm hover:bg-opacity-70 sm:px-8"
href="https://www.youtube.com/watch?v=e4g1lS6zWGA&feature=youtu.be">
Promo Video
</a>
@@ -125,7 +125,7 @@ export default function LandingPage() {
</div>
{/* Alternating Feature Sections */}
<div className="relative overflow-hidden pt-16 pb-32">
<div className="relative overflow-hidden pb-32 pt-16">
<div
aria-hidden="true"
className="absolute inset-x-0 top-0 h-48 bg-gradient-to-b from-gray-100"
@@ -181,12 +181,12 @@ export default function LandingPage() {
</div>
{/* Gradient Feature Section */}
<div className="to-primary-600 bg-gradient-to-r from-purple-800">
<div className="mx-auto max-w-4xl px-4 py-16 sm:px-6 sm:pt-20 sm:pb-24 lg:max-w-7xl lg:px-8 lg:pt-24">
<div className="bg-gradient-to-r from-purple-800 to-primary-600">
<div className="mx-auto max-w-4xl px-4 py-16 sm:px-6 sm:pb-24 sm:pt-20 lg:max-w-7xl lg:px-8 lg:pt-24">
<h2 className="flex justify-center text-4xl font-bold tracking-tight text-white">
Your privacy is our priority.
</h2>
<p className="text-primary-100 mt-4 flex flex-row justify-center text-lg">
<p className="mt-4 flex flex-row justify-center text-lg text-primary-100">
All offer profiles are anonymized and we do not store
information about your personal identity.
</p>
@@ -205,7 +205,7 @@ export default function LandingPage() {
<h3 className="text-lg font-medium text-white">
{feature.name}
</h3>
<p className="text-primary-100 mt-2 text-base">
<p className="mt-2 text-base text-primary-100">
{feature.description}
</p>
</div>
@@ -217,16 +217,16 @@ export default function LandingPage() {
{/* CTA Section */}
<div className="bg-white">
<div className="mx-auto max-w-4xl py-16 px-4 sm:px-6 sm:py-24 lg:flex lg:max-w-7xl lg:items-center lg:justify-between lg:px-8">
<div className="mx-auto max-w-4xl px-4 py-16 sm:px-6 sm:py-24 lg:flex lg:max-w-7xl lg:items-center lg:justify-between lg:px-8">
<h2 className="text-4xl font-bold tracking-tight text-gray-900 sm:text-4xl">
<span className="block">Ready to get started?</span>
<span className="to-primary-600 -mb-1 block bg-gradient-to-r from-purple-600 bg-clip-text pb-1 text-transparent">
<span className="-mb-1 block bg-gradient-to-r from-purple-600 to-primary-600 bg-clip-text pb-1 text-transparent">
Create your own offer profile today.
</span>
</h2>
<div className="mt-6 space-y-4 sm:flex sm:space-y-0 sm:space-x-5">
<div className="mt-6 space-y-4 sm:flex sm:space-x-5 sm:space-y-0">
<a
className="to-primary-500 flex items-center justify-center rounded-md border border-transparent bg-gradient-to-r from-purple-600 bg-origin-border px-4 py-3 text-base font-medium text-white shadow-sm hover:from-purple-700 hover:to-indigo-700"
className="flex items-center justify-center rounded-md border border-transparent bg-gradient-to-r from-purple-600 to-primary-500 bg-origin-border px-4 py-3 text-base font-medium text-white shadow-sm hover:from-purple-700 hover:to-indigo-700"
href={OFFERS_SUBMIT_URL}>
Get Started
</a>
@@ -239,7 +239,7 @@ export default function LandingPage() {
<h2 className="sr-only" id="footer-heading">
Footer
</h2>
<div className="mx-auto max-w-7xl px-4 pt-0 pb-8 sm:px-6 lg:px-8">
<div className="mx-auto max-w-7xl px-4 pb-8 pt-0 sm:px-6 lg:px-8">
<div className="mt-12 border-t border-gray-200 pt-8 md:flex md:items-center md:justify-between lg:mt-16">
<div className="flex space-x-6 md:order-2">
{footerNavigation.social.map((item) => (

View File

@@ -73,7 +73,7 @@ export default function OffersHomePage({
</Link>
.
</Banner>
<div className="text-primary-600 flex items-center justify-end space-x-1 bg-slate-100 px-4 pt-4 sm:text-lg">
<div className="flex items-center justify-end space-x-1 bg-slate-100 px-4 pt-4 text-primary-600 sm:text-lg">
<span>
<MapPinIcon className="flex h-7 w-7" />
</span>
@@ -96,10 +96,10 @@ export default function OffersHomePage({
}}
/>
</div>
<div className="bg-slate-100 py-16 px-4">
<div className="bg-slate-100 px-4 py-16">
<div>
<div>
<h1 className="text-primary-600 text-center text-4xl font-bold sm:text-5xl">
<h1 className="text-center text-4xl font-bold text-primary-600 sm:text-5xl">
Tech Offers Repo
</h1>
</div>
@@ -108,7 +108,7 @@ export default function OffersHomePage({
offers.
</div>
</div>
<div className="mt-6 flex flex-col items-center justify-center space-y-2 text-sm text-slate-700 sm:mt-10 sm:flex-row sm:space-y-0 sm:space-x-4 sm:text-lg">
<div className="mt-6 flex flex-col items-center justify-center space-y-2 text-sm text-slate-700 sm:mt-10 sm:flex-row sm:space-x-4 sm:space-y-0 sm:text-lg">
<span>Viewing offers for</span>
<div className="flex items-center space-x-4">
<JobTitlesTypeahead

View File

@@ -235,7 +235,7 @@ export default function OfferProfile() {
</div>
</div>
<div
className="bg-white lg:fixed lg:right-0 lg:bottom-0 lg:w-1/3"
className="bg-white lg:fixed lg:bottom-0 lg:right-0 lg:w-1/3"
style={{ top: 64 }}>
<ProfileComments
isDisabled={deleteMutation.isLoading}

View File

@@ -336,7 +336,7 @@ export default function QuestionPage() {
rows={5}
/>
</div>
<div className="mt-3 mb-1 flex justify-end">
<div className="mb-1 mt-3 flex justify-end">
<Button
disabled={!isDirty || !isValid}
label="Contribute"

View File

@@ -60,7 +60,7 @@ export default function AboutPage() {
Thank you for using our platform! Feel free to submit your
feedback / feature request / bug report
<a
className="text-primary-600 hover:text-primary-500 ml-1"
className="ml-1 text-primary-600 hover:text-primary-500"
href="https://forms.gle/BPbhrcXWcFvCbvvv8"
rel="noreferrer"
target="_blank">
@@ -79,7 +79,7 @@ export default function AboutPage() {
{people.map((person) => (
<li key={person.name}>
<div className="space-y-4 sm:grid sm:grid-cols-4 sm:gap-6 sm:space-y-0 lg:gap-8">
<div className="aspect-w-2 aspect-h-2 h-0">
<div className="aspect-h-2 aspect-w-2 h-0">
<img
alt={person.name}
className="rounded-lg object-cover shadow-lg"

View File

@@ -175,10 +175,10 @@ export default function QuestionsBrowsePage() {
return selectedQuestionAge === 'last-year'
? subYears(new Date(), 1)
: selectedQuestionAge === 'last-6-months'
? subMonths(new Date(), 6)
: selectedQuestionAge === 'last-month'
? subMonths(new Date(), 1)
: undefined;
? subMonths(new Date(), 6)
: selectedQuestionAge === 'last-month'
? subMonths(new Date(), 1)
: undefined;
}, [selectedQuestionAge]);
const questionsInfiniteQuery = trpc.useInfiniteQuery(
@@ -508,7 +508,7 @@ export default function QuestionsBrowsePage() {
<main>
<QuestionContainer className="relative flex" variant="sm">
<section className="min-h-0 flex-1 overflow-auto">
<div className="my-4 mx-auto flex flex-col items-stretch justify-start gap-6 sm:px-4">
<div className="mx-auto my-4 flex flex-col items-stretch justify-start gap-6 sm:px-4">
<ContributeQuestionCard
onSubmit={(data) => {
const { cityId, countryId, stateId } = data.location;

View File

@@ -88,7 +88,7 @@ export default function ListPage() {
onClick={() => {
setSelectedListIndex(index);
}}>
<p className="text-primary-700 text-md p-3 pl-6 font-medium">
<p className="text-md p-3 pl-6 font-medium text-primary-700">
{list.name}
</p>
</button>
@@ -98,12 +98,12 @@ export default function ListPage() {
<Menu.Button className="inline-flex w-full justify-center rounded-md p-2 text-sm font-medium text-white">
<EllipsisVerticalIcon
aria-hidden="true"
className="hover:text-primary-700 mr-1 h-5 w-5 text-violet-400"
className="mr-1 h-5 w-5 text-violet-400 hover:text-primary-700"
/>
</Menu.Button>
</div>
<Menu.Items className="w-18 absolute right-0 z-10 mr-2 origin-top-right rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none">
<div className="px-1 py-1 ">
<div className="px-1 py-1">
<Menu.Item>
{({ active }) => (
<button

View File

@@ -388,7 +388,7 @@ export default function ResumeReviewPage() {
className="mr-1.5 h-5 w-5 flex-shrink-0 text-indigo-400"
/>
<button
className="hover:text-primary-800 underline"
className="underline hover:text-primary-800"
type="button"
onClick={() =>
onInfoTagClick({
@@ -404,7 +404,7 @@ export default function ResumeReviewPage() {
className="mr-1.5 h-5 w-5 flex-shrink-0 text-indigo-400"
/>
<button
className="hover:text-primary-800 underline"
className="underline hover:text-primary-800"
type="button"
onClick={() =>
onInfoTagClick({
@@ -421,7 +421,7 @@ export default function ResumeReviewPage() {
className="mr-1.5 h-5 w-5 flex-shrink-0 text-indigo-400"
/>
<button
className="hover:text-primary-800 underline"
className="underline hover:text-primary-800"
type="button"
onClick={() =>
onInfoTagClick({

View File

@@ -45,10 +45,10 @@ export default function AboutUsPage() {
<div className="flex justify-center text-2xl font-bold">
<div className="font-display sm:text-md mx-auto max-w-xl text-2xl font-medium italic tracking-tight text-slate-500">
Resume reviews{' '}
<span className="text-primary-500 relative whitespace-nowrap">
<span className="relative whitespace-nowrap text-primary-500">
<svg
aria-hidden="true"
className="absolute top-2/3 left-0 h-[0.58em] w-full fill-blue-300/70"
className="absolute left-0 top-2/3 h-[0.58em] w-full fill-blue-300/70"
preserveAspectRatio="none"
viewBox="0 0 418 42">
<path d="M203.371.916c-26.013-2.078-76.686 1.963-124.73 9.946L67.3 12.749C35.421 18.062 18.2 21.766 6.004 25.934 1.244 27.561.828 27.778.874 28.61c.07 1.214.828 1.121 9.595-1.176 9.072-2.377 17.15-3.92 39.246-7.496C123.565 7.986 157.869 4.492 195.942 5.046c7.461.108 19.25 1.696 19.17 2.582-.107 1.183-7.874 4.31-25.75 10.366-21.992 7.45-35.43 12.534-36.701 13.884-2.173 2.308-.202 4.407 4.442 4.734 2.654.187 3.263.157 15.593-.78 35.401-2.686 57.944-3.488 88.365-3.143 46.327.526 75.721 2.23 130.788 7.584 19.787 1.924 20.814 1.98 24.557 1.332l.066-.011c1.201-.203 1.53-1.825.399-2.335-2.911-1.31-4.893-1.604-22.048-3.261-57.509-5.556-87.871-7.36-132.059-7.842-23.239-.254-33.617-.116-50.627.674-11.629.54-42.371 2.494-46.696 2.967-2.359.259 8.133-3.625 26.504-9.81 23.239-7.825 27.934-10.149 28.304-14.005.417-4.348-3.529-6-16.878-7.066Z" />
@@ -86,7 +86,7 @@ export default function AboutUsPage() {
<p className="text-lg text-slate-500">
Submit your feedback
<a
className="text-primary-600 hover:text-primary-500 ml-1"
className="ml-1 text-primary-600 hover:text-primary-500"
href="https://docs.google.com/forms/d/e/1FAIpQLSf-eCK4ybgewGDCoyStGdpi7e0EativtWU1Iq0HW3evdLEfwQ/viewform?usp=send_form"
rel="noreferrer"
target="_blank">
@@ -106,7 +106,7 @@ export default function AboutUsPage() {
{people.map((person) => (
<li key={person.name}>
<div className="space-y-4 sm:grid sm:grid-cols-4 sm:gap-6 sm:space-y-0 lg:gap-8">
<div className="aspect-w-2 aspect-h-2 h-0">
<div className="aspect-h-2 aspect-w-2 h-0">
<img
alt={person.name}
className="rounded-lg object-cover shadow-lg"

View File

@@ -454,7 +454,7 @@ export default function ResumeHomePage() {
<Disclosure
key={filter.id}
as="div"
className="border-t border-slate-200 px-4 pt-6 pb-4"
className="border-t border-slate-200 px-4 pb-4 pt-6"
defaultOpen={isFiltersOpen[filter.id]}>
{({ open }) => (
<>
@@ -534,7 +534,7 @@ export default function ResumeHomePage() {
<main className="h-full flex-auto px-8 pb-4">
<div className="flex justify-start">
<div className="fixed top-0 bottom-0 mt-24 hidden w-64 overflow-auto lg:block">
<div className="fixed bottom-0 top-0 mt-24 hidden w-64 overflow-auto lg:block">
{/* Quick Access Section */}
<h3 className="text-md font-medium tracking-tight text-gray-900">
Quick access
@@ -563,7 +563,7 @@ export default function ResumeHomePage() {
<Disclosure
key={filter.id}
as="div"
className="border-b border-slate-200 pt-6 pb-4"
className="border-b border-slate-200 pb-4 pt-6"
defaultOpen={isFiltersOpen[filter.id]}>
{({ open }) => (
<>
@@ -639,7 +639,7 @@ export default function ResumeHomePage() {
</div>
</div>
<div className="relative lg:left-64 lg:w-[calc(100%-16rem)]">
<div className="lg:border-grey-200 z-1 sticky top-16 flex flex-wrap items-center justify-between bg-slate-50 pt-6 pb-2 lg:border-b">
<div className="lg:border-grey-200 z-1 sticky top-16 flex flex-wrap items-center justify-between bg-slate-50 pb-2 pt-6 lg:border-b">
<div className="border-grey-200 mb-4 flex w-full justify-between border-b pb-2 lg:mb-0 lg:w-auto lg:border-none xl:pb-0">
<div>
<Tabs

View File

@@ -370,7 +370,7 @@ export default function SubmitResumeForm({
fileUploadError
? 'border-danger-600'
: 'border-slate-300',
'cursor-pointer flex-col items-center space-y-1 rounded-md border-2 border-dashed bg-slate-50 py-4 px-4 text-center',
'cursor-pointer flex-col items-center space-y-1 rounded-md border-2 border-dashed bg-slate-50 px-4 py-4 text-center',
)}>
<input
{...register('file', { required: true })}
@@ -383,20 +383,20 @@ export default function SubmitResumeForm({
type="file"
/>
{resumeFile == null ? (
<ArrowUpCircleIcon className="text-primary-500 m-auto h-10 w-10" />
<ArrowUpCircleIcon className="m-auto h-10 w-10 text-primary-500" />
) : (
<p
className="hover:text-primary-600 cursor-pointer underline underline-offset-1"
className="cursor-pointer underline underline-offset-1 hover:text-primary-600"
onClick={onClickDownload}>
{resumeFile.name}
</p>
)}
<label
className="focus-within:ring-primary-500 cursor-pointer text-sm focus-within:outline-none focus-within:ring-2 focus-within:ring-offset-2"
className="cursor-pointer text-sm focus-within:outline-none focus-within:ring-2 focus-within:ring-primary-500 focus-within:ring-offset-2"
htmlFor="file-upload">
<span className="font-medium">Drop file here</span>
<span className="mr-1 ml-1 font-light">or</span>
<span className="text-primary-600 hover:text-primary-400 font-medium">
<span className="ml-1 mr-1 font-light">or</span>
<span className="font-medium text-primary-600 hover:text-primary-400">
{resumeFile == null ? 'Select file' : 'Replace file'}
</span>
</label>
@@ -405,7 +405,7 @@ export default function SubmitResumeForm({
</p>
</div>
{fileUploadError && (
<p className="text-danger-600 text-sm">
<p className="text-sm text-danger-600">
{fileUploadError}
</p>
)}

View File

@@ -55,7 +55,7 @@ function SettingsForm({
name: name ? name : undefined,
});
}}>
<div className="grid grid-cols-1 gap-y-8 gap-x-4 sm:grid-cols-6">
<div className="grid grid-cols-1 gap-x-4 gap-y-8 sm:grid-cols-6">
<div className="sm:col-span-3">
<TextInput
description="This name will be used across the entire platform"

View File

@@ -34,7 +34,7 @@ export default function HomePage() {
return (
<main className="mx-auto max-w-5xl flex-1 overflow-y-auto py-24">
<h1 className="text-primary-600 text-center text-4xl font-bold">
<h1 className="text-center text-4xl font-bold text-primary-600">
Test Page
</h1>
<div className="mt-8 grid grid-cols-2 gap-8">

View File

@@ -39,9 +39,9 @@ export default function TodoList() {
A list of all Todos added by everyone.
</p>
</div>
<div className="mt-4 sm:mt-0 sm:ml-16 sm:flex-none">
<div className="mt-4 sm:ml-16 sm:mt-0 sm:flex-none">
<Link
className="bg-primary-600 hover:bg-primary-700 focus:ring-primary-500 inline-flex items-center justify-center rounded-md border border-transparent px-4 py-2 text-sm font-medium text-white shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 sm:w-auto"
className="inline-flex items-center justify-center rounded-md border border-transparent bg-primary-600 px-4 py-2 text-sm font-medium text-white shadow-sm hover:bg-primary-700 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 sm:w-auto"
href="/todos/new">
Add Todo
</Link>
@@ -51,7 +51,7 @@ export default function TodoList() {
<div>Loading...</div>
) : (
<div className="mt-8 flex flex-col">
<div className="-my-2 -mx-4 overflow-x-auto sm:-mx-6 lg:-mx-8">
<div className="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
<div className="inline-block min-w-full py-2 align-middle md:px-6 lg:px-8">
<div className="overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg">
<table className="min-w-full divide-y divide-slate-300">
@@ -120,7 +120,7 @@ export default function TodoList() {
}}>
<input
autoFocus={true}
className="focus:border-primary-500 focus:ring-primary-500 block w-full min-w-0 flex-1 rounded-md border-slate-300 sm:text-sm"
className="block w-full min-w-0 flex-1 rounded-md border-slate-300 focus:border-primary-500 focus:ring-primary-500 sm:text-sm"
defaultValue={todo.text}
name="text"
type="text"
@@ -142,7 +142,7 @@ export default function TodoList() {
<td className="whitespace-nowrap py-4 pl-4 pr-4 text-sm text-slate-500 sm:pr-6">
<input
checked={todo.status === 'COMPLETE'}
className="text-primary-600 focus:ring-primary-500 h-4 w-4 rounded border-slate-300"
className="h-4 w-4 rounded border-slate-300 text-primary-600 focus:ring-primary-500"
type="checkbox"
onChange={() => {
todoUpdateMutation.mutate({

View File

@@ -59,7 +59,7 @@ export default function TodosCreate() {
<div className="mt-1 flex rounded-md shadow-sm">
<input
autoFocus={true}
className="focus:border-primary-500 focus:ring-primary-500 block w-full min-w-0 flex-1 rounded-md border-slate-300 sm:text-sm"
className="block w-full min-w-0 flex-1 rounded-md border-slate-300 focus:border-primary-500 focus:ring-primary-500 sm:text-sm"
id="text"
name="text"
type="text"
@@ -71,12 +71,12 @@ export default function TodosCreate() {
<div className="pt-5">
<div className="flex justify-end">
<Link
className="focus:ring-primary-500 rounded-md border border-slate-300 bg-white py-2 px-4 text-sm font-medium text-slate-700 shadow-sm hover:bg-slate-50 focus:outline-none focus:ring-2 focus:ring-offset-2"
className="rounded-md border border-slate-300 bg-white px-4 py-2 text-sm font-medium text-slate-700 shadow-sm hover:bg-slate-50 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2"
href="/todos">
Cancel
</Link>
<button
className="bg-primary-600 hover:bg-primary-700 focus:ring-primary-500 ml-3 inline-flex justify-center rounded-md border border-transparent py-2 px-4 text-sm font-medium text-white shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2"
className="ml-3 inline-flex justify-center rounded-md border border-transparent bg-primary-600 px-4 py-2 text-sm font-medium text-white shadow-sm hover:bg-primary-700 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2"
type="submit">
Save
</button>

View File

@@ -35,12 +35,12 @@ const getYoeRange = (yoeCategory: number | null | undefined) => {
return yoeCategory == null
? { maxYoe: 100, minYoe: 0 }
: yoeCategoryMap[yoeCategory] === 'Fresh Grad'
? { maxYoe: 2, minYoe: 0 }
: yoeCategoryMap[yoeCategory] === 'Mid'
? { maxYoe: 5, minYoe: 3 }
: yoeCategoryMap[yoeCategory] === 'Senior'
? { maxYoe: 100, minYoe: 6 }
: null; // Internship
? { maxYoe: 2, minYoe: 0 }
: yoeCategoryMap[yoeCategory] === 'Mid'
? { maxYoe: 5, minYoe: 3 }
: yoeCategoryMap[yoeCategory] === 'Senior'
? { maxYoe: 100, minYoe: 6 }
: null; // Internship
};
export const offerAdminRouter = createProtectedRouter()
@@ -130,54 +130,54 @@ export const offerAdminRouter = createProtectedRouter()
monthYearReceived: order,
}
: sortingKey === sortingKeysMap.totalCompensation
? [
{
offersIntern: {
monthlySalary: {
baseValue: order,
? [
{
offersIntern: {
monthlySalary: {
baseValue: order,
},
},
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.totalYoe
? [
{
profile: {
background: {
totalYoe: order,
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.totalYoe
? [
{
profile: {
background: {
totalYoe: order,
},
},
},
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.companyName
? [
{
company: {
name: order,
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.jobTitle
? [
{
offersIntern: {
title: order,
},
},
{
monthYearReceived: 'desc',
},
]
: { monthYearReceived: 'desc' },
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.companyName
? [
{
company: {
name: order,
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.jobTitle
? [
{
offersIntern: {
title: order,
},
},
{
monthYearReceived: 'desc',
},
]
: { monthYearReceived: 'desc' },
where: {
AND: [
{
@@ -282,54 +282,54 @@ export const offerAdminRouter = createProtectedRouter()
monthYearReceived: order,
}
: sortingKey === sortingKeysMap.totalCompensation
? [
{
offersFullTime: {
totalCompensation: {
baseValue: order,
? [
{
offersFullTime: {
totalCompensation: {
baseValue: order,
},
},
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.totalYoe
? [
{
profile: {
background: {
totalYoe: order,
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.totalYoe
? [
{
profile: {
background: {
totalYoe: order,
},
},
},
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.companyName
? [
{
company: {
name: order,
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.jobTitle
? [
{
offersFullTime: {
title: order,
},
},
{
monthYearReceived: 'desc',
},
]
: { monthYearReceived: 'desc' },
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.companyName
? [
{
company: {
name: order,
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.jobTitle
? [
{
offersFullTime: {
title: order,
},
},
{
monthYearReceived: 'desc',
},
]
: { monthYearReceived: 'desc' },
where: {
AND: [
{

View File

@@ -35,12 +35,12 @@ const getYoeRange = (yoeCategory: number | null | undefined) => {
return yoeCategory == null
? { maxYoe: 100, minYoe: 0 }
: yoeCategoryMap[yoeCategory] === 'Fresh Grad'
? { maxYoe: 2, minYoe: 0 }
: yoeCategoryMap[yoeCategory] === 'Mid'
? { maxYoe: 5, minYoe: 3 }
: yoeCategoryMap[yoeCategory] === 'Senior'
? { maxYoe: 100, minYoe: 6 }
: null; // Internship
? { maxYoe: 2, minYoe: 0 }
: yoeCategoryMap[yoeCategory] === 'Mid'
? { maxYoe: 5, minYoe: 3 }
: yoeCategoryMap[yoeCategory] === 'Senior'
? { maxYoe: 100, minYoe: 6 }
: null; // Internship
};
export const offersRouter = createRouter().query('list', {
@@ -115,54 +115,54 @@ export const offersRouter = createRouter().query('list', {
monthYearReceived: order,
}
: sortingKey === sortingKeysMap.totalCompensation
? [
{
offersIntern: {
monthlySalary: {
baseValue: order,
? [
{
offersIntern: {
monthlySalary: {
baseValue: order,
},
},
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.totalYoe
? [
{
profile: {
background: {
totalYoe: order,
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.totalYoe
? [
{
profile: {
background: {
totalYoe: order,
},
},
},
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.companyName
? [
{
company: {
name: order,
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.jobTitle
? [
{
offersIntern: {
title: order,
},
},
{
monthYearReceived: 'desc',
},
]
: { monthYearReceived: 'desc' },
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.companyName
? [
{
company: {
name: order,
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.jobTitle
? [
{
offersIntern: {
title: order,
},
},
{
monthYearReceived: 'desc',
},
]
: { monthYearReceived: 'desc' },
where: {
AND: [
{
@@ -267,54 +267,54 @@ export const offersRouter = createRouter().query('list', {
monthYearReceived: order,
}
: sortingKey === sortingKeysMap.totalCompensation
? [
{
offersFullTime: {
totalCompensation: {
baseValue: order,
? [
{
offersFullTime: {
totalCompensation: {
baseValue: order,
},
},
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.totalYoe
? [
{
profile: {
background: {
totalYoe: order,
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.totalYoe
? [
{
profile: {
background: {
totalYoe: order,
},
},
},
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.companyName
? [
{
company: {
name: order,
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.jobTitle
? [
{
offersFullTime: {
title: order,
},
},
{
monthYearReceived: 'desc',
},
]
: { monthYearReceived: 'desc' },
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.companyName
? [
{
company: {
name: order,
},
},
{
monthYearReceived: 'desc',
},
]
: sortingKey === sortingKeysMap.jobTitle
? [
{
offersFullTime: {
title: order,
},
},
{
monthYearReceived: 'desc',
},
]
: { monthYearReceived: 'desc' },
where: {
AND: [
{

View File

@@ -73,12 +73,12 @@ export const resumesRouter = createRouter()
createdAt: 'desc',
}
: sortOrder === 'popular'
? {
stars: {
_count: 'desc',
},
}
: { comments: { _count: 'desc' } },
? {
stars: {
_count: 'desc',
},
}
: { comments: { _count: 'desc' } },
skip: isTop10 ? 0 : skip,
take,
where: {

View File

@@ -126,20 +126,20 @@ export const resumesResumeUserRouter = createProtectedRouter()
},
}
: sortOrder === 'popular'
? {
resume: {
stars: {
_count: 'desc',
? {
resume: {
stars: {
_count: 'desc',
},
},
}
: {
resume: {
comments: {
_count: 'desc',
},
},
},
}
: {
resume: {
comments: {
_count: 'desc',
},
},
},
skip: isTop10 ? 0 : skip,
take,
where: {
@@ -323,12 +323,12 @@ export const resumesResumeUserRouter = createProtectedRouter()
createdAt: 'desc',
}
: sortOrder === 'popular'
? {
stars: {
_count: 'desc',
},
}
: { comments: { _count: 'desc' } },
? {
stars: {
_count: 'desc',
},
}
: { comments: { _count: 'desc' } },
skip: isTop10 ? 0 : skip,
take,
where: {

View File

@@ -14,11 +14,11 @@ export default function Banner({ children, size = 'md', onHide }: Props) {
return (
<div
className={clsx(
'bg-primary-600 relative',
'relative bg-primary-600',
size === 'sm' && 'text-sm',
size === 'xs' && 'text-xs',
)}>
<div className="mx-auto max-w-7xl py-2 px-3 sm:px-6 lg:px-8">
<div className="mx-auto max-w-7xl px-3 py-2 sm:px-6 lg:px-8">
<div
className={clsx('text-center sm:px-16', onHide != null && 'pr-16')}>
<p className="font-medium text-white">{children}</p>
@@ -27,13 +27,13 @@ export default function Banner({ children, size = 'md', onHide }: Props) {
<div
className={clsx(
'absolute inset-y-0 right-0 flex items-start sm:items-start',
size === 'md' && 'pt-2 pr-2',
size === 'sm' && 'pt-2 pr-2',
size === 'xs' && 'pt-1.5 pr-2',
size === 'md' && 'pr-2 pt-2',
size === 'sm' && 'pr-2 pt-2',
size === 'xs' && 'pr-2 pt-1.5',
)}>
<button
className={clsx(
'hover:bg-primary-400 flex rounded-md focus:outline-none focus:ring-2 focus:ring-white',
'flex rounded-md hover:bg-primary-400 focus:outline-none focus:ring-2 focus:ring-white',
size === 'md' && 'p-1',
size === 'sm' && 'p-0.5',
size === 'xs' && 'p-0.5',

View File

@@ -150,11 +150,11 @@ export default function Button({
const commonProps = {
'aria-controls': ariaControls ?? undefined,
'aria-label': isLabelHidden ? ariaLabel ?? label : undefined,
'aria-label': isLabelHidden ? (ariaLabel ?? label) : undefined,
children,
className: clsx(
display === 'block' ? 'flex w-full justify-center' : 'inline-flex',
'whitespace-nowrap items-center border font-medium focus:outline-none focus:ring-2 focus:ring-offset-2',
'items-center whitespace-nowrap border font-medium focus:outline-none focus:ring-2 focus:ring-offset-2',
disabled ? variantDisabledClasses[variant] : variantClasses[variant],
disabled && 'pointer-events-none',
isLabelHidden ? iconOnlySizeClasses[size] : sizeClasses[size],

View File

@@ -89,7 +89,7 @@ function CheckboxInput(
</div>
</div>
{errorMessage && (
<p className="text-danger-600 mt-2 text-sm" id={errorId}>
<p className="mt-2 text-sm text-danger-600" id={errorId}>
{errorMessage}
</p>
)}

View File

@@ -36,7 +36,7 @@ export default function CheckboxList({
className={clsx(
'space-y-2',
orientation === 'horizontal' &&
'sm:flex sm:items-center sm:space-y-0 sm:space-x-10',
'sm:flex sm:items-center sm:space-x-10 sm:space-y-0',
)}
role="group">
{children}

View File

@@ -17,13 +17,13 @@ export default function Collapsible({ children, defaultOpen, label }: Props) {
<Disclosure.Button className="-mx-2.5 box-content flex w-full justify-between rounded-lg px-2.5 py-2 text-left text-sm font-medium text-slate-900 hover:bg-slate-100 focus:outline-none focus-visible:ring focus-visible:ring-slate-500 focus-visible:ring-opacity-75">
<ChevronDownIcon
className={clsx(
'mr-1 -ml-1 h-5 w-5 text-slate-500',
'-ml-1 mr-1 h-5 w-5 text-slate-500',
open && 'rotate-180 transform',
)}
/>
<span className="flex-1">{label}</span>
</Disclosure.Button>
<Disclosure.Panel className="w-full pt-1 pb-2 text-sm text-gray-500">
<Disclosure.Panel className="w-full pb-2 pt-1 text-sm text-gray-500">
{children}
</Disclosure.Panel>
</>

View File

@@ -50,7 +50,7 @@ export default function Dialog({
leave="ease-in duration-200"
leaveFrom="opacity-100 translate-y-0 sm:scale-100"
leaveTo="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95">
<HeadlessDialog.Panel className="relative transform overflow-hidden rounded-lg bg-white px-4 pt-5 pb-4 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-lg sm:p-6">
<HeadlessDialog.Panel className="relative transform overflow-hidden rounded-lg bg-white px-4 pb-4 pt-5 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-lg sm:p-6">
<div>
{TopIcon != null && (
<div className="mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-green-100">

View File

@@ -83,7 +83,7 @@ export default function DropdownMenu({
<Menu.Items
className={clsx(
alignmentClasses[align],
'ring-primary-500 absolute z-10 mt-2 w-48 rounded-md bg-white shadow-lg ring-1 ring-opacity-5 focus:outline-none',
'absolute z-10 mt-2 w-48 rounded-md bg-white shadow-lg ring-1 ring-primary-500 ring-opacity-5 focus:outline-none',
)}>
<div className="py-1">{children}</div>
</Menu.Items>

View File

@@ -23,7 +23,7 @@ export default function DropdownMenuItem({
className: clsx(
isSelected ? 'font-medium text-slate-900' : 'text-slate-500',
active && 'bg-slate-100',
'block px-4 py-2 text-sm w-full text-left',
'block w-full px-4 py-2 text-left text-sm',
),
onClick,
};

View File

@@ -24,9 +24,9 @@ function PaginationPage({
<button
aria-current={isCurrent}
className={clsx(
'focus:ring-primary-500 focus:border-primary-500 relative inline-flex items-center border px-4 py-2 text-sm font-medium focus:z-20 focus:outline-none focus:ring-1',
'relative inline-flex items-center border px-4 py-2 text-sm font-medium focus:z-20 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500',
isCurrent
? 'border-primary-500 bg-primary-50 text-primary-600 z-10'
? 'z-10 border-primary-500 bg-primary-50 text-primary-600'
: 'border-slate-300 bg-white text-slate-500 hover:bg-slate-50',
)}
disabled={isCurrent}
@@ -113,7 +113,7 @@ export default function Pagination({
'relative inline-flex items-center rounded-l-md border border-slate-300 px-2 py-2 text-sm font-medium focus:z-20',
isPrevButtonDisabled
? 'text-slate-300'
: 'focus:ring-primary-500 focus:border-primary-500 bg-white text-slate-500 hover:bg-slate-50 focus:outline-none focus:ring-1',
: 'bg-white text-slate-500 hover:bg-slate-50 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500',
)}
disabled={isPrevButtonDisabled}
type="button"
@@ -129,7 +129,7 @@ export default function Pagination({
'relative inline-flex items-center rounded-r-md border border-slate-300 px-2 py-2 text-sm font-medium focus:z-20',
isNextButtonDisabled
? 'text-slate-300'
: 'focus:ring-primary-500 focus:border-primary-500 bg-white text-slate-500 hover:bg-slate-50 focus:outline-none focus:ring-1',
: 'bg-white text-slate-500 hover:bg-slate-50 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500',
)}
disabled={isNextButtonDisabled}
type="button"

View File

@@ -61,7 +61,7 @@ export default function RadioList<T>({
className={clsx(
'space-y-2',
orientation === 'horizontal' &&
'sm:flex sm:items-center sm:space-y-0 sm:space-x-10',
'sm:flex sm:items-center sm:space-x-10 sm:space-y-0',
)}
role="radiogroup">
{children}

View File

@@ -34,7 +34,7 @@ export default function RadioListItem<T>({
context?.value != null ? value === context?.value : undefined
}
className={clsx(
'text-primary-600 focus:ring-primary-500 h-4 w-4 border-slate-300',
'h-4 w-4 border-slate-300 text-primary-600 focus:ring-primary-500',
disabled && 'bg-slate-100',
)}
defaultChecked={

View File

@@ -113,7 +113,7 @@ function Select<T>(
))}
</select>
{errorMessage && (
<p className="text-danger-600 mt-2 text-sm" id={errorId}>
<p className="mt-2 text-sm text-danger-600" id={errorId}>
{errorMessage}
</p>
)}

View File

@@ -84,7 +84,7 @@ export default function SlideOut({
<div className="flex items-center justify-between px-4">
<h2 className="text-lg font-medium text-slate-900">{title}</h2>
<button
className="focus:ring-primary-500 -mr-2 flex h-10 w-10 items-center justify-center rounded-full p-2 text-slate-400 hover:text-slate-500 focus:outline-none focus:ring-2 focus:ring-inset"
className="-mr-2 flex h-10 w-10 items-center justify-center rounded-full p-2 text-slate-400 hover:text-slate-500 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-primary-500"
type="button"
onClick={() => onClose?.()}>
<span className="sr-only">Close menu</span>

View File

@@ -29,8 +29,8 @@ export default function Tabs<T>({ label, tabs, value, onChange }: Props<T>) {
className: clsx(
isSelected
? 'bg-primary-100 text-primary-700'
: 'hover:bg-slate-100 text-slate-500 hover:text-slate-700',
'px-3 py-2 font-medium text-sm rounded-md',
: 'text-slate-500 hover:bg-slate-100 hover:text-slate-700',
'rounded-md px-3 py-2 text-sm font-medium',
),
onClick: onChange != null ? () => onChange(tab.value) : undefined,
role: 'tab',

View File

@@ -26,7 +26,7 @@ function ToastIcon({ variant }: Readonly<{ variant: ToastVariant }>) {
switch (variant) {
case 'success':
return (
<CheckIcon aria-hidden="true" className="text-success-500 h-6 w-6" />
<CheckIcon aria-hidden="true" className="h-6 w-6 text-success-500" />
);
case 'failure':
return (

View File

@@ -193,7 +193,7 @@ export default function Typeahead({
textSizes[textSize],
)}>
{options.length === 0 && query !== '' ? (
<div className="relative cursor-default select-none py-2 px-4 text-slate-700">
<div className="relative cursor-default select-none px-4 py-2 text-slate-700">
{noResultsMessage}
</div>
) : (
@@ -202,7 +202,7 @@ export default function Typeahead({
key={option.id}
className={({ active }) =>
clsx(
'relative cursor-default select-none py-2 px-4 text-slate-500',
'relative cursor-default select-none px-4 py-2 text-slate-500',
active && 'bg-slate-100',
)
}
@@ -238,7 +238,7 @@ export default function Typeahead({
</div>
</Combobox>
{errorMessage && (
<p className="text-danger-600 mt-2 text-sm" id={errorId}>
<p className="mt-2 text-sm text-danger-600" id={errorId}>
{errorMessage}
</p>
)}

View File

@@ -1,3 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@tailwind utilities;

View File

@@ -314,9 +314,9 @@ const getSalary = (offer: Offer | SimilarOffer, defaultSalary = 0) => {
offer.offersFullTime?.totalCompensation?.baseValue != null
? offer.offersFullTime.totalCompensation.baseValue
: offer.jobType === JobType.INTERN &&
offer.offersIntern?.monthlySalary?.baseValue != null
? offer.offersIntern.monthlySalary.baseValue
: defaultSalary;
offer.offersIntern?.monthlySalary?.baseValue != null
? offer.offersIntern.monthlySalary.baseValue
: defaultSalary;
};
const getTopOffers = (

View File

@@ -10,7 +10,7 @@ const withHref = <Props extends Record<string, unknown>>(
return (
<a
className="ring-primary-500 rounded-md focus:ring-2 focus-visible:outline-none active:bg-slate-100"
className="rounded-md ring-primary-500 focus:ring-2 focus-visible:outline-none active:bg-slate-100"
href={href}>
<Component {...(others as unknown as Props)} />
</a>

View File

@@ -24,7 +24,6 @@ In most companies, the resume stage is the most important as it is the first sta
2. As far as possible, <strong>attend career talks</strong> by your favorite companies because hiring managers are there and you can get some feedback about your resume. It is indeed helpful because you know what to look out for when applying.
3. Keep your sentences short and sweet, else you are out of the game.
- <strong>Good example:</strong> "Developed a full-stack website that garnered positive responses from faculty and administration about course visualization." You need not provide tech stacks and let alone, links here. The sentence here is short and sweet and all in past tense.
- <strong>Bad example:</strong> "Was a project manager for two projects- AI_ducation as well as the lift project for ALEF. Helped day-to-day operations by communicating with clients in Mandarin to map business requirements to technical requirements.". Over here, the sentence is long and things can be <strong>separated out into points</strong>. Furthermore, it does not describe the outcome of the project enough to say <strong>"Why should you be hired?"</strong>.
@@ -44,7 +43,6 @@ I am about to recommend relevant sections to go in sequentially and how to syste
2. Go to your Glassdoor page and pick out some of the past relevant interview questions that your company has done to get a gauge of what to expect. If you are unable to do those past questions, I suggest revising a good amount about the common topics. One common topic is array and hash table design. You can refer to the [coding interview rubrics section](/coding-interview-rubrics/) get to know your interview rubrics. It helps and you know what to do.
3. Know and try various techniques for each LeetCode question. It's not purely about variety but more about if you were to even come back to the same question, will you be able to give a more optimal solution? If you don't know where to get started especially when solving problems in general refer to this [coding interview techniques section](/coding-interview-techniques/).
- Start with a whiteboard or pen and paper. Show your thought process.
- In most companies, if you were to show your thought process while doing, interviewers tend to favour candidates who do this. If you are not confident, start thinking that you are explaining and teaching a 12 year old child about how to solve this question.
- Code it out and write your own test cases. Get used to the HackerRank or LeetCode IDEs.

View File

@@ -25,9 +25,10 @@
--ifm-color-primary-lighter: #8a8adf;
--ifm-color-primary-lightest: #afafe9;
--ifm-font-family-base: 'Inter var', -apple-system, BlinkMacSystemFont,
'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
'Droid Sans', 'Helvetica Neue', sans-serif;
--ifm-font-family-base:
'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto',
'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans',
'Helvetica Neue', sans-serif;
--ifm-font-size-base: 16px;
--ifm-footer-padding-vertical: 3rem;

View File

@@ -16,13 +16,14 @@
"dev:ui": "turbo dev --filter=storybook... --filter=ui...",
"dev:website": "turbo dev --filter=website...",
"dev:all": "turbo dev --no-cache --parallel --continue",
"format": "prettier --write \"**/*.{js,jsx,cjs,mjs,ts,tsx,md,mdx}\"",
"format": "oxfmt .",
"format:check": "oxfmt --check .",
"lint": "turbo lint",
"test": "turbo test",
"tsc": "turbo tsc"
},
"devDependencies": {
"prettier": "^2.7.1",
"oxfmt": "^0.41.0",
"turbo": "1.5.6"
},
"engines": {

684
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff