$\def\ssp{\kern.4mm}
$Here is a sketch of proof of sufficiency of $d\ssp f=0$ , i.e. of $\partial_i f_j=\partial_j f_i$ assuming that the case where $f$ is $C^1$ is known, for which I refer e.g. to the Poincare lemma in §V.5 on pages 124−125  in Serge Lang's *Differential Manifolds*, Springer 1988.

Fix any $x_0\in\Omega$ , and define $u$ by $\Omega\owns x\mapsto\int_{\,0}^{\,1}f(x_0+t\,(x-x_0))\cdot(x-x_0)\,{\rm d\,}t$ . For fixed $x\in\Omega$ to prove that $d\ssp u(x)=f(x)$ , take a smooth "cut-off" function $\chi$ which has value $1$ up to "sufficiently" near to the boundary of $\Omega$ and which has value $0$ "very near" to the boundary. Further, take a "smooth bump" $\varphi$ at the origin with integral $1$ whose support is "very small". Then letting $g=(\chi\cdot f)*\varphi$ and defining $v$ by $\Omega\owns x\mapsto\int_{\,0}^{\,1}g\ssp(x_0+t\,(x-x_0))\cdot(x-x_0)\,{\rm d\,}t$ , by the $C^1$ or even the smooth case we have $\partial_i v=g_i=((\chi\cdot f_i)*\varphi)$ . Taking here in place of $\varphi$ the function $\varphi_n:z\mapsto n^d\ssp\varphi(n\ssp z)$ , and letting $n\to\infty$ , we get $\hat\partial_i u=f_i$ around $x$ with $\hat\partial_i$ denoting the distributional derivative. So we still do not know that $u$ has classical partial derivatives, but applying the du Bois Reymond lemma (4.3.10, p. 336 in Horváth's book) we get $\partial_i u=f_i$ around $x$ . Since $x\in\Omega$ here is arbitrarily fixed, we get $d\ssp u=f$ in $\Omega$ which further extends to the boundary by the assumed uniform continuity of $f$ .