<?php
use Picqer\Barcode\BarcodeGeneratorPNG;

if (!function_exists('feature_enabled')) {
    /**
     * Check if a feature flag is enabled
     *
     * @param string $key
     * @param int|null $userId
     * @return bool
     */
    function feature_enabled(string $key, ?int $userId = null): bool
    {
        return app(\App\Services\FeatureFlagService::class)->isEnabled($key, $userId ?? auth()->id());
    }
}

if (!function_exists('generateBarcodeImage')) {
    function generateBarcodeImage($text) {
      try {
            $generator = new BarcodeGeneratorPNG();
            
            $barcodeData = $generator->getBarcode(
                $text,
                $generator::TYPE_CODE_128,
                2,
                50,
                [0, 0, 0]
            );

            return 'data:image/png;base64,' . base64_encode($barcodeData);
        } catch (\Exception $e) {
            throw new \RuntimeException('Failed to generate barcode: ' . $e->getMessage());
        }
    }
}
