Skip to content

Instantly share code, notes, and snippets.

@pjaudiomv
pjaudiomv / getDirectionsUrl.ts
Last active April 11, 2026 19:01
Platform-aware directions URL helper
export type Platform = 'web' | 'ios' | 'android';
export function getPlatform(): Platform {
if (typeof window === 'undefined') return 'web';
const ua = window.navigator.userAgent.toLowerCase();
if (/android/.test(ua)) return 'android';
if (/iphone|ipad|ipod/.test(ua) || (window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1)) return 'ios';
return 'web';
}
@pjaudiomv
pjaudiomv / docker-compose.yaml
Last active April 22, 2026 01:05
BMTL Aggregator Docker Compose
x-bmlt-common: &bmlt-common
image: bmltenabled/bmlt-server:latest
restart: unless-stopped
environment:
APP_KEY: "base64:srS1uJ3KpqVGqX7K8GgKkIJ54NnuTmEQGmmWZj78sRM="
DB_HOST: db
DB_DATABASE: rootserver
DB_USERNAME: rootserver
DB_PASSWORD: CHANGE_ME
AGGREGATOR_MODE_ENABLED: true
@pjaudiomv
pjaudiomv / docker-compose.yml
Created June 21, 2026 02:04
WordPress Docker Compose
services:
wordpress:
depends_on:
- db
build: .
restart: always
ports:
- 8080:80
- 7443:443
environment:
@pjaudiomv
pjaudiomv / getDirectionsUrl.js
Last active July 14, 2026 15:14
Platform-aware directions URL helper JS
/**
* @typedef {'web' | 'ios' | 'android'} Platform
*/
/**
* @returns {Platform}
*/
export function getPlatform() {
if (typeof window === 'undefined') return 'web';
const ua = window.navigator.userAgent.toLowerCase();