Files
cal.diy/companion/utils/index.ts
T
2e9191fcad fix: open Join button in default browser instead of in-app browser (#27455)
* fix: open Join button in default browser instead of in-app browser

Co-Authored-By: peer@cal.com <peer@cal.com>

* feat(companion): open join in default browser (#27655)

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Dhairyashil Shinde <93669429+dhairyashiil@users.noreply.github.com>
2026-02-05 17:39:26 +05:30

77 lines
2.2 KiB
TypeScript

/**
* Utils Index
*
* Central export point for all utility functions.
* Import utilities from this file for clean imports:
*
* @example
* ```tsx
* import { formatDuration, secureStorage, parseBufferTime } from '../utils';
* ```
*/
// Alert utilities
export { setGlobalToastFunction, showErrorAlert, showInfoAlert, showSuccessAlert } from "./alerts";
// Browser utilities
export { openInAppBrowser } from "./browser";
export { openInDefaultBrowser } from "./browser";
// Default location utilities
export {
type DefaultLocation,
DefaultLocationType,
defaultLocations,
getDefaultLocationIconUrl,
isDefaultLocation,
} from "./defaultLocations";
// Event type parser utilities
export {
parseBufferTime,
parseFrequencyUnit,
parseMinimumNotice,
parseSlotInterval,
} from "./eventTypeParsers";
// Formatting utilities
export { formatAppIdToDisplayName, formatDuration, truncateTitle } from "./formatters";
// App icon utilities
export { getAppIconUrl } from "./getAppIconUrl";
// Avatar utilities
export { getAvatarUrl } from "./getAvatarUrl";
// Gmail Google Chip parser (for extension)
export {
type GoogleTimeSlot,
type ParsedGoogleChip,
parseGoogleChip,
} from "./gmailGoogleChipParser";
// Location helper utilities
export {
buildLocationOptions,
createLocationItemFromOption,
displayNameToLocationValue,
formatAppIdToDisplayName as formatAppId, // Alias for backward compatibility
generateLocationId,
getLocationDisplayName,
getLocationIconUrl,
getLocationInputLabel,
getLocationInputPlaceholder,
getLocationInputType,
locationRequiresInput,
mapApiLocationToItem,
mapItemToApiLocation,
validateLocationItem,
} from "./locationHelpers";
// Network utilities
export { fetchWithTimeout, isOnline } from "./network";
// Query persistence utilities
export { clearQueryCache, createQueryPersister, getCacheMetadata } from "./queryPersister";
// Safe logging utilities
export { getSafeErrorMessage, safeLogError, safeLogInfo, safeLogWarn } from "./safeLogger";
// Slug utilities
export { slugify } from "./slugify";
// Storage utilities
export {
generalStorage,
isChromeStorageAvailable,
type StorageAdapter,
secureStorage,
} from "./storage";