@description('Globally unique storage account name (3–24 lowercase letters and numbers).')
param storageAccountName string

@description('Azure region for the storage account.')
param location string = resourceGroup().location

@description('Tags applied to the storage account.')
param tags object = {
  project: 'sot-demo'
  component: 'vite-static-web'
}

resource storage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: storageAccountName
  location: location
  tags: tags
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
    supportsHttpsTrafficOnly: true
    minimumTlsVersion: 'TLS1_2'
    allowBlobPublicAccess: true
  }
}

resource blobService 'Microsoft.Storage/storageAccounts/blobServices@2023-05-01' = {
  parent: storage
  name: 'default'
  properties: {
    staticWebsite: {
      enabled: true
      indexDocument: 'index.html'
      errorDocument404Path: 'index.html'
    }
  }
}

output storageAccountName string = storage.name
output staticWebsiteUrl string = 'https://${storage.properties.primaryEndpoints.web}'
