<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <!-- API requests go to PHP -->
                <rule name="API" stopProcessing="true">
                    <match url="^api/(.*)" />
                    <action type="Rewrite" url="api/index.php" />
                </rule>
                
                <!-- Upload files served directly -->
                <rule name="Uploads" stopProcessing="true">
                    <match url="^uploads/(.*)" />
                    <action type="None" />
                </rule>
                
                <!-- Static files served directly -->
                <rule name="Static Files" stopProcessing="true">
                    <match url="^assets/(.*)" />
                    <action type="None" />
                </rule>
                
                <!-- Everything else → React SPA -->
                <rule name="React SPA" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.html" />
                </rule>
            </rules>
        </rewrite>
        
        <staticContent>
            <remove fileExtension=".json" />
            <mimeMap fileExtension=".json" mimeType="application/json" />
            <remove fileExtension=".woff2" />
            <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
        </staticContent>
        
        <defaultDocument>
            <files>
                <clear />
                <add value="index.html" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>
