diff --git a/frontend/src/app/main/data/nitrate.cljs b/frontend/src/app/main/data/nitrate.cljs index 7c3efefb40..4d758dbf1c 100644 --- a/frontend/src/app/main/data/nitrate.cljs +++ b/frontend/src/app/main/data/nitrate.cljs @@ -69,9 +69,10 @@ ([path query-params] (build-admin-console-url cf/public-uri path query-params)) ([public-uri path query-params] - (dm/str - (cond-> (u/join public-uri "admin-console/" path) - (seq query-params) (assoc :query (u/map->query-string query-params)))))) + (let [base-uri (assoc public-uri :path "/" :query nil :fragment nil)] + (dm/str + (cond-> (u/join base-uri "admin-console/" path) + (seq query-params) (assoc :query (u/map->query-string query-params))))))) (defn build-admin-console-href ([] diff --git a/frontend/test/frontend_tests/data/nitrate_test.cljs b/frontend/test/frontend_tests/data/nitrate_test.cljs index 2ea4442157..55481be4d9 100644 --- a/frontend/test/frontend_tests/data/nitrate_test.cljs +++ b/frontend/test/frontend_tests/data/nitrate_test.cljs @@ -142,12 +142,12 @@ (t/is (= :auth-register (:id event))) (t/is (= invitation-token (get-in event [:params :invitation-token]))))))) -(t/deftest build-admin-console-url-preserves-public-uri-subpath - (t/testing "builds admin console routes below the configured Penpot subpath" +(t/deftest build-admin-console-url-uses-public-uri-origin + (t/testing "builds admin console routes at the root of the Penpot origin" (let [public-uri (u/uri "https://example.com/penpot/")] - (t/is (= "https://example.com/penpot/admin-console/" + (t/is (= "https://example.com/admin-console/" (dnt/build-admin-console-url public-uri "" nil))) - (t/is (= "https://example.com/penpot/admin-console/organization/my-organization/organization-id/people/" + (t/is (= "https://example.com/admin-console/organization/my-organization/organization-id/people/" (dnt/build-admin-console-url public-uri "organization/my-organization/organization-id/people/"