···11+/**
22+ * Formats salary range for display
33+ * @param minSalary - Minimum salary value
44+ * @param maxSalary - Maximum salary value
55+ * @returns Formatted salary string or null if no valid salary data
66+ */
77+export const formatSalary = (
88+ minSalary?: number | null,
99+ maxSalary?: number | null,
1010+): string | null => {
1111+ // If both are undefined/null, return null
1212+ if (!(minSalary || maxSalary)) {
1313+ return null;
1414+ }
1515+1616+ // If minSalary === maxSalary, show just one value
1717+ if (minSalary && maxSalary && minSalary === maxSalary) {
1818+ return `$${minSalary.toLocaleString()}`;
1919+ }
2020+2121+ // If both are defined and different, show range
2222+ if (minSalary && maxSalary) {
2323+ return `$${minSalary.toLocaleString()} - $${maxSalary.toLocaleString()}`;
2424+ }
2525+2626+ // If only minSalary is defined, show with "+"
2727+ if (minSalary) {
2828+ return `$${minSalary.toLocaleString()}+`;
2929+ }
3030+3131+ // If only maxSalary is defined, show "Up to"
3232+ if (maxSalary) {
3333+ return `Up to $${maxSalary.toLocaleString()}`;
3434+ }
3535+3636+ return null;
3737+};
···11+/**
22+ * Utility functions for user-related operations
33+ */
44+55+/**
66+ * Formats a user's name to get the first initial in uppercase
77+ * @param name - User's name
88+ * @returns First character of the name in uppercase
99+ */
1010+export const formatName = (name: string): string => {
1111+ return name.charAt(0).toUpperCase();
1212+};