From bd7543d0b1048e95917e42e0f4d2221c2514c91d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madis=20N=C3=B5mme?= Date: Wed, 13 Mar 2024 23:45:37 +0100 Subject: [PATCH 1/4] Fix proposal token amount form --- .../ethlance/ui/component/search_input.cljs | 1 - .../ui/component/token_amount_input.cljs | 2 +- ui/src/ethlance/ui/page/job_detail.cljs | 21 +++++++++++-------- .../ethlance/ui/page/job_detail/events.cljs | 2 +- ui/src/ethlance/ui/util/job.cljs | 4 ++++ 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ui/src/ethlance/ui/component/search_input.cljs b/ui/src/ethlance/ui/component/search_input.cljs index 32bd9c4e..fe7bb37a 100644 --- a/ui/src/ethlance/ui/component/search_input.cljs +++ b/ui/src/ethlance/ui/component/search_input.cljs @@ -12,7 +12,6 @@ (defn filter-selections [search-text selections label-fn] - (println ">>> filter-selections" selections) (let [fuzzy-options (map (fn [sel] {::fz/string (label-fn sel) :original-val sel}) selections)] (when (and (seq search-text) (seq selections)) diff --git a/ui/src/ethlance/ui/component/token_amount_input.cljs b/ui/src/ethlance/ui/component/token_amount_input.cljs index 449ac229..0ea193f9 100644 --- a/ui/src/ethlance/ui/component/token_amount_input.cljs +++ b/ui/src/ethlance/ui/component/token_amount_input.cljs @@ -6,7 +6,7 @@ (defn c-token-amount-input - [{:keys [decimals on-change] :as opts}] + [{:keys [decimals on-change :disabled] :as opts}] (let [text-input-opts (dissoc opts :decimals) ;; Even though tokens (including ETH) can have 18 decimals, using so many in the UI isn't practical max-ui-decimals 3 diff --git a/ui/src/ethlance/ui/page/job_detail.cljs b/ui/src/ethlance/ui/page/job_detail.cljs index ebe88ce2..87809697 100644 --- a/ui/src/ethlance/ui/page/job_detail.cljs +++ b/ui/src/ethlance/ui/page/job_detail.cljs @@ -133,7 +133,9 @@ *job-token-id (get job :job/token-id) *job-token-address (get job :job/token-address) *token-detail-name (get-in job [:token-details :token-detail/name]) - *token-detail-symbol (get-in job [:token-details :token-detail/symbol]) + token-detail-symbol (get-in job [:token-details :token-detail/symbol]) + token-display-name (name (or token-detail-symbol *job-token-type "")) + token-decimals (get-in job [:token-details :token-detail/decimals]) *proposal-token-amount (re/subscribe [:page.job-detail/proposal-token-amount]) *proposal-text (re/subscribe [:page.job-detail/proposal-text]) @@ -186,14 +188,15 @@ (if candidate-role? [:div.proposal-form [:div.label "Send Proposal"] - [c-token-values {:disabled? (not can-send-proposals?) - :token-type *job-token-type - :token-amount (if my-proposal? (:rate @my-proposal) @*proposal-token-amount) - :token-id *job-token-id - :token-address *job-token-address - :token-name *token-detail-name - :token-symbol *token-detail-symbol}] - [:label "The amount is for payment type: " (str *bid-option)] + [:div + [c-token-amount-input + {:value (if my-proposal? (token-utils/human-amount (:rate @my-proposal) *job-token-type token-decimals) (:human-amount @*proposal-token-amount)) + :placeholder "Token amount" + :decimals token-decimals + :disabled (not can-send-proposals?) + :on-change #(re/dispatch [:page.job-detail/set-proposal-token-amount %])}] + [:label.post-label token-display-name]] + [:label "The amount is for payment type: " (util.job/get-in-pair-vector util.job/bid-option *bid-option)] [:div.description-input [c-textarea-input {:disabled (not can-send-proposals?) diff --git a/ui/src/ethlance/ui/page/job_detail/events.cljs b/ui/src/ethlance/ui/page/job_detail/events.cljs index dd7bb28a..4441e5f9 100644 --- a/ui/src/ethlance/ui/page/job_detail/events.cljs +++ b/ui/src/ethlance/ui/page/job_detail/events.cljs @@ -136,7 +136,7 @@ [interceptors] (fn [{:keys [db]} [contract-address token-type]] (let [text (get-in db [state-key :job/proposal-text]) - token-amount (util.tokens/machine-amount (get-in db [state-key :job/proposal-token-amount]) token-type) + token-amount (get-in db [state-key :job/proposal-token-amount :token-amount]) proposal {:contract contract-address :text text :rate (js/parseFloat token-amount)}] diff --git a/ui/src/ethlance/ui/util/job.cljs b/ui/src/ethlance/ui/util/job.cljs index 75e96330..3b8de7f7 100644 --- a/ui/src/ethlance/ui/util/job.cljs +++ b/ui/src/ethlance/ui/util/job.cljs @@ -23,3 +23,7 @@ (def required-availability [[:full-time "Full time"] [:part-time "Part time"]]) + +(defn get-in-pair-vector + [pair-vector key] + (get (into {} pair-vector) key)) From 770d029b960665a86a64db549eaaa1e57b635f3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madis=20N=C3=B5mme?= Date: Thu, 14 Mar 2024 00:13:31 +0100 Subject: [PATCH 2/4] Fix feedback count on invoice details page --- ui/src/ethlance/ui/component/token_amount_input.cljs | 2 +- ui/src/ethlance/ui/page/invoices.cljs | 3 ++- ui/src/ethlance/ui/page/job_detail.cljs | 3 --- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/ui/src/ethlance/ui/component/token_amount_input.cljs b/ui/src/ethlance/ui/component/token_amount_input.cljs index 0ea193f9..449ac229 100644 --- a/ui/src/ethlance/ui/component/token_amount_input.cljs +++ b/ui/src/ethlance/ui/component/token_amount_input.cljs @@ -6,7 +6,7 @@ (defn c-token-amount-input - [{:keys [decimals on-change :disabled] :as opts}] + [{:keys [decimals on-change] :as opts}] (let [text-input-opts (dissoc opts :decimals) ;; Even though tokens (including ETH) can have 18 decimals, using so many in the UI isn't practical max-ui-decimals 3 diff --git a/ui/src/ethlance/ui/page/invoices.cljs b/ui/src/ethlance/ui/page/invoices.cljs index 82ad84c2..7c7ccb56 100644 --- a/ui/src/ethlance/ui/page/invoices.cljs +++ b/ui/src/ethlance/ui/page/invoices.cljs @@ -16,13 +16,14 @@ (defn c-participant-user-info [data-prefix data] + (println ">>> c-participant-user-info" {:data-prefix data-prefix :data data}) [:div.profile.employer [:div.label (clojure.string/capitalize (name data-prefix))] [c-profile-image {:src (get-in data [:user :user/profile-image])}] [:div.name (get-in data [:user :user/name])] [:div.rating [c-rating {:rating (get-in data [(keyword data-prefix "rating")])}] - [:span.num-feedback (str "(" (get data (keyword data-prefix "feedback") :total-count) ")")]] + [:span.num-feedback (str "(" (get-in data [(keyword data-prefix "feedback") :total-count]) ")")]] [:div.location (get-in data [:user :user/country])]]) diff --git a/ui/src/ethlance/ui/page/job_detail.cljs b/ui/src/ethlance/ui/page/job_detail.cljs index 87809697..aaa82697 100644 --- a/ui/src/ethlance/ui/page/job_detail.cljs +++ b/ui/src/ethlance/ui/page/job_detail.cljs @@ -130,9 +130,6 @@ *bid-option (:job/bid-option job) *job-token-type (get job :job/token-type "") - *job-token-id (get job :job/token-id) - *job-token-address (get job :job/token-address) - *token-detail-name (get-in job [:token-details :token-detail/name]) token-detail-symbol (get-in job [:token-details :token-detail/symbol]) token-display-name (name (or token-detail-symbol *job-token-type "")) token-decimals (get-in job [:token-details :token-detail/decimals]) From 1ce762d04f54ebd6ebebb121591b542114a596c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madis=20N=C3=B5mme?= Date: Sun, 17 Mar 2024 23:17:45 +0100 Subject: [PATCH 3/4] Fix ERC-1155 decimals - correct is 0 --- shared/src/ethlance/shared/token_utils.cljs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/src/ethlance/shared/token_utils.cljs b/shared/src/ethlance/shared/token_utils.cljs index f390b2f2..2985a00e 100644 --- a/shared/src/ethlance/shared/token_utils.cljs +++ b/shared/src/ethlance/shared/token_utils.cljs @@ -105,7 +105,7 @@ token-decimals (case token-type :eth 18 :erc721 0 - :erc1155 1 + :erc1155 0 :erc20 (if (has-contract-method? contract-instance "decimals") (chan (w3-eth/contract-call contract-instance :decimals [] {}))) 18))] From 1890d65d5eda42111b4145c742923722ea6a019c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madis=20N=C3=B5mme?= Date: Wed, 20 Mar 2024 21:18:54 +0100 Subject: [PATCH 4/4] Remove /employers search and related code Employers search wasn't used anywhere in the system --- .../ethlance/server/graphql/resolvers.cljs | 22 --- .../src/ethlance/shared/graphql/schema.cljs | 21 --- shared/src/ethlance/shared/routes.cljs | 1 - ui/resources/public/less/page/employers.less | 142 --------------- ui/resources/public/less/pages.less | 1 - ui/src/ethlance/ui/events.cljs | 2 - ui/src/ethlance/ui/page/employers.cljs | 165 ------------------ ui/src/ethlance/ui/page/employers/events.cljs | 53 ------ .../ui/page/employers/subscriptions.cljs | 21 --- ui/src/ethlance/ui/pages.cljs | 1 - ui/src/ethlance/ui/subscriptions.cljs | 1 - 11 files changed, 430 deletions(-) delete mode 100644 ui/resources/public/less/page/employers.less delete mode 100644 ui/src/ethlance/ui/page/employers.cljs delete mode 100644 ui/src/ethlance/ui/page/employers/events.cljs delete mode 100644 ui/src/ethlance/ui/page/employers/subscriptions.cljs diff --git a/server/src/ethlance/server/graphql/resolvers.cljs b/server/src/ethlance/server/graphql/resolvers.cljs index 4c28ebb4..eaad4cfc 100644 --- a/server/src/ethlance/server/graphql/resolvers.cljs +++ b/server/src/ethlance/server/graphql/resolvers.cljs @@ -732,27 +732,6 @@ ( employer-query - - id (sql-helpers/merge-where [:= id :Employer.user/id]) - - professional-title (sql-helpers/merge-where [:= professional-title :Employer.employer/professional-title]) - - order-by (sql-helpers/merge-order-by [[(get {:date-registered :user/date-registered - :date-updated :user/date-updated} - (graphql-utils/gql-name->kw order-by)) - (or (keyword order-direction) :asc)]]))] - ( .category-selector , > .country-selector { - margin: 1.5em 0; - } - - > .rating-label , > .selection-label { - padding: 1em; - color: white; - font-weight: bold; - } - - > .ethlance-component-rating { - padding: 1em; - padding-top: 0; - } - - > .currency-input { - padding-right: 0.5em; - } - - > .feedback-input { - padding: 1em; - > .ethlance-text-input { - padding: 0.5em 0; - } - } - } -} - -.employers-main-container { - #mixin.main-container(); - - > .search-filter { - #mixin.main-container.search-filter(); - #employers.search-filter-content(); - } - - > .mobile-search-filter { - > .content { - #jobs.search-filter-content(); - } - } - - > .listing { - #mixin.main-container.listing(); - - > .search-container { - > .ethlance-chip-search-input { - - margin: 2em; - max-width: 100vw; - - @media #media[tablet-query] { - margin: 1.5em; - } - - @media #media[mobile-query] { - margin: 0.0em; - } - } - } - - > .employer-element { - #mixin.box-shadow.item-inset(); - display: grid; - grid-template-areas: - 'profile price' - 'tags tags' - 'rating rating' - 'location location'; - grid-template-columns: repeat(2, auto); - grid-template-rows: repeat(4, auto); - min-height: 100px; - padding: 2em; - grid-column-gap: 1em; - - > .profile { - grid-area: profile; - display: grid; - grid-template-areas: - 'profile-image name' - 'profile-image title'; - grid-template-columns: auto 1fr; - grid-template-rows: repeat(2, auto); - - > .profile-image { - grid-area: profile-image; - display: flex; - align-items: center; - justify-content: center; - } - - > .name { - grid-area: name; - font-size: 1.8em; - font-weight: 400; - padding: 0.5em; - } - - > .title { - grid-area: title; - padding: 0.7em; - padding-left: 0.9em; - } - } - - > .tags { - display: flex; - flex-direction: row; - flex-wrap: wrap; - grid-area: tags; - margin: 1em 0; - > .ethlance-tag { - cursor: pointer; - margin-right: 1em; - margin-bottom: 0.5em; - } - } - - > .rating { - grid-area: rating; - display: flex; - flex-direction: row; - align-items: center; - margin: 0.5em 0; - > .label { - padding-left: 0.5em; - font-weight: 400; - font-size: 1.1em; - } - } - - > .location { - grid-area: location; - margin: 0.5em 0; - } - } - } -} diff --git a/ui/resources/public/less/pages.less b/ui/resources/public/less/pages.less index 89992fad..3eb1f394 100644 --- a/ui/resources/public/less/pages.less +++ b/ui/resources/public/less/pages.less @@ -11,7 +11,6 @@ @import "page/jobs"; @import "page/arbiters"; @import "page/candidates"; -@import "page/employers"; @import "page/profile"; // jobs diff --git a/ui/src/ethlance/ui/events.cljs b/ui/src/ethlance/ui/events.cljs index 68a03064..2fc814e2 100644 --- a/ui/src/ethlance/ui/events.cljs +++ b/ui/src/ethlance/ui/events.cljs @@ -5,7 +5,6 @@ [district.ui.web3-accounts.events] [ethlance.ui.page.arbiters.events] [ethlance.ui.page.candidates.events] - [ethlance.ui.page.employers.events] [ethlance.ui.page.home.events] [ethlance.ui.page.invoices.events] [ethlance.ui.page.job-contract.events] @@ -36,7 +35,6 @@ [:page.sign-up/initialize-page] [:page.candidates/initialize-page] [:page.arbiters/initialize-page] - [:page.employers/initialize-page] [:page.profile/initialize-page] [:page.job-contract/initialize-page] [:page.job-detail/initialize-page] diff --git a/ui/src/ethlance/ui/page/employers.cljs b/ui/src/ethlance/ui/page/employers.cljs deleted file mode 100644 index 9f56163e..00000000 --- a/ui/src/ethlance/ui/page/employers.cljs +++ /dev/null @@ -1,165 +0,0 @@ -(ns ethlance.ui.page.employers - "General Employer Listings on ethlance" - (:require - [district.ui.component.page :refer [page]] - [district.ui.graphql.subs :as gql] - [ethlance.shared.constants :as constants] - [ethlance.ui.component.error-message :refer [c-error-message]] - [ethlance.ui.component.info-message :refer [c-info-message]] - [ethlance.ui.component.loading-spinner :refer [c-loading-spinner]] - [ethlance.ui.component.main-layout :refer [c-main-layout]] - [ethlance.ui.component.mobile-search-filter - :refer - [c-mobile-search-filter]] - [ethlance.ui.component.pagination :refer [c-pagination]] - [ethlance.ui.component.profile-image :refer [c-profile-image]] - [ethlance.ui.component.rating :refer [c-rating]] - [ethlance.ui.component.search-input :refer [c-chip-search-input]] - [ethlance.ui.component.select-input :refer [c-select-input]] - [ethlance.ui.component.text-input :refer [c-text-input]] - [ethlance.ui.util.navigation :as navigation] - [re-frame.core :as re])) - - -(defn cf-employer-search-filter - [] - (let [*category (re/subscribe [:page.employers/category]) - *feedback-max-rating (re/subscribe [:page.employers/feedback-max-rating]) - *feedback-min-rating (re/subscribe [:page.employers/feedback-min-rating]) - *min-num-feedbacks (re/subscribe [:page.employers/min-num-feedbacks]) - *country (re/subscribe [:page.employers/country])] - (fn [] - [:<> - [:div.category-selector - [c-select-input - {:selection @*category - :color :secondary - :selections constants/categories-with-default - :on-select #(re/dispatch [:page.employers/set-category %])}]] - - [:span.rating-label "Min. Rating"] - [c-rating {:rating @*feedback-min-rating :color :white :size :small - :on-change #(re/dispatch [:page.employers/set-feedback-min-rating %])}] - - [:span.rating-label "Max. Rating"] - [c-rating {:rating @*feedback-max-rating :color :white :size :small - :on-change #(re/dispatch [:page.employers/set-feedback-max-rating %])}] - - [:div.feedback-input - [c-text-input - {:placeholder "Number of Feedbacks" - :color :secondary - :type :number :min 0 - :value @*min-num-feedbacks - :on-change #(re/dispatch [:page.employers/set-min-num-feedbacks %])}]] - - [:div.country-selector - [c-select-input - {:label "Country" - :selection @*country - :on-select #(re/dispatch [:page.employers/set-country %]) - :selections constants/countries - :search-bar? true - :color :secondary - :default-search-text "Search Countries"}]]]))) - - -(defn c-employer-search-filter - [] - [:div.search-filter - [cf-employer-search-filter]]) - - -(defn c-employer-mobile-search-filter - [] - [c-mobile-search-filter - [cf-employer-search-filter]]) - - -(defn c-employer-element - [{:employer/keys [professional-title] :as employer}] - [:a.employer-element (navigation/link-params {:route :route.user/profile - :params {:address (:user/id employer)} - :query {:tab "employer"}}) - [:div.profile - [:div.profile-image [c-profile-image {:src (get-in employer [:user :user/profile-image])}]] - [:div.name (get-in employer [:user :user/name])] - [:div.title professional-title]] - [:div.rating - [c-rating {:rating (-> employer :employer/rating)}] - [:div.label {:title "Number of reviews"} (str "(" (get-in employer [:employer/feedback :total-count] 0) ")")]] - [:div.location (get-in employer [:user :user/country])]]) - - -(defn c-employer-listing - [] - (let [*limit (re/subscribe [:page.employers/limit]) - *offset (re/subscribe [:page.employers/offset]) - *employer-listing-query - (re/subscribe - [::gql/query - {:queries - [[:employer-search - {:limit @*limit - :offset @*offset} - [[:items [:user/id - [:user - [:user/id - :user/name - :user/country - :user/profile-image]] - :employer/bio - :employer/professional-title]] - :total-count - :end-cursor]]]}])] - (fn [] - (let [{employer-search :employer-search - preprocessing? :graphql/preprocessing? - loading? :graphql/loading? - errors :graphql/errors} @*employer-listing-query - {employer-listing :items - total-count :total-count} employer-search] - [:<> - (cond - ;; Errors? - (seq errors) - [c-error-message "Failed to process GraphQL" (pr-str errors)] - - ;; Loading? - (or preprocessing? loading?) - [c-loading-spinner] - - ;; Empty? - (empty? employer-listing) - [c-info-message "No Employers"] - - :else - (doall - (for [employer employer-listing] - ^{:key (str "employer-" (hash employer))} - [c-employer-element employer]))) - - ;; Pagination - (when (seq employer-listing) - [c-pagination - {:total-count total-count - :limit @*limit - :offset @*offset - :set-offset-event :page.employers/set-offset}])])))) - - -(defmethod page :route.user/employers [] - (let [*skills (re/subscribe [:page.employers/skills])] - (fn [] - [c-main-layout {:container-opts {:class :employers-main-container}} - [c-employer-search-filter] - [c-employer-mobile-search-filter] - [:div.employer-listing.listing {:key "listing"} - [:div.search-container - [c-chip-search-input - {:chip-listing @*skills - :on-chip-listing-change #(re/dispatch [:page.employers/set-skills %]) - :placeholder "Search Job Skill Requirements" - :allow-custom-chips? false - :auto-suggestion-listing constants/skills}]] - [c-employer-listing]]]))) diff --git a/ui/src/ethlance/ui/page/employers/events.cljs b/ui/src/ethlance/ui/page/employers/events.cljs deleted file mode 100644 index bf4dd969..00000000 --- a/ui/src/ethlance/ui/page/employers/events.cljs +++ /dev/null @@ -1,53 +0,0 @@ -(ns ethlance.ui.page.employers.events - (:require - [district.parsers :refer [parse-int]] - [district.ui.router.effects :as router.effects] - [ethlance.shared.constants :as constants] - [ethlance.ui.event.templates :as event.templates] - [ethlance.ui.event.utils :as event.utils] - [re-frame.core :as re])) - - -(def state-key :page.employers) - - -(def state-default - {:offset 0 - :limit 10 - :skills #{} - :category constants/category-default - :feedback-min-rating 1 - :feedback-max-rating 5 - :min-num-feedbacks nil - :country nil}) - - -(def create-assoc-handler (partial event.utils/create-assoc-handler state-key)) - - -(defn initialize-page - "Event FX Handler. Setup listener to dispatch an event when the page is active/visited." - [{:keys [db]} _] - {:db (assoc db state-key state-default) - ::router.effects/watch-active-page - [{:id :page.employers/initialize-page - :name :route.user/employers - :dispatch []}]}) - - -(defn add-skill - "Event FX Handler. Append skill to skill listing." - [{:keys [db]} [_ new-skill]] - {:db (update-in db [state-key :skills] conj new-skill)}) - - -(re/reg-event-fx :page.employers/initialize-page initialize-page) -(re/reg-event-fx :page.employers/set-offset (create-assoc-handler :offset)) -(re/reg-event-fx :page.employers/set-limit (create-assoc-handler :limit)) -(re/reg-event-fx :page.employers/set-skills (create-assoc-handler :skills)) -(re/reg-event-fx :page.employers/add-skill add-skill) -(re/reg-event-fx :page.employers/set-category (create-assoc-handler :category)) -(re/reg-event-fx :page.employers/set-feedback-max-rating (event.templates/create-set-feedback-max-rating state-key)) -(re/reg-event-fx :page.employers/set-feedback-min-rating (event.templates/create-set-feedback-min-rating state-key)) -(re/reg-event-fx :page.employers/set-min-num-feedbacks (create-assoc-handler :min-num-feedbacks parse-int)) -(re/reg-event-fx :page.employers/set-country (create-assoc-handler :country)) diff --git a/ui/src/ethlance/ui/page/employers/subscriptions.cljs b/ui/src/ethlance/ui/page/employers/subscriptions.cljs deleted file mode 100644 index 26f3f5f0..00000000 --- a/ui/src/ethlance/ui/page/employers/subscriptions.cljs +++ /dev/null @@ -1,21 +0,0 @@ -(ns ethlance.ui.page.employers.subscriptions - (:require - [ethlance.ui.page.employers.events :as employers.events] - [ethlance.ui.subscription.utils :as subscription.utils] - [re-frame.core :as re])) - - -(def create-get-handler #(subscription.utils/create-get-handler employers.events/state-key %)) - - -;; -;; Registered Subscriptions -;; -(re/reg-sub :page.employers/offset (create-get-handler :offset)) -(re/reg-sub :page.employers/limit (create-get-handler :limit)) -(re/reg-sub :page.employers/skills (create-get-handler :skills)) -(re/reg-sub :page.employers/category (create-get-handler :category)) -(re/reg-sub :page.employers/feedback-max-rating (create-get-handler :feedback-max-rating)) -(re/reg-sub :page.employers/feedback-min-rating (create-get-handler :feedback-min-rating)) -(re/reg-sub :page.employers/min-num-feedbacks (create-get-handler :min-num-feedbacks)) -(re/reg-sub :page.employers/country (create-get-handler :country)) diff --git a/ui/src/ethlance/ui/pages.cljs b/ui/src/ethlance/ui/pages.cljs index e6dfeea8..338e3aa8 100644 --- a/ui/src/ethlance/ui/pages.cljs +++ b/ui/src/ethlance/ui/pages.cljs @@ -6,7 +6,6 @@ [ethlance.ui.page.dev.contract-ops] ;; Development Pages [ethlance.ui.page.devcard] - [ethlance.ui.page.employers] ;; Splash Page [ethlance.ui.page.home] ;; Misc Pages diff --git a/ui/src/ethlance/ui/subscriptions.cljs b/ui/src/ethlance/ui/subscriptions.cljs index 2ff6dfae..44611680 100644 --- a/ui/src/ethlance/ui/subscriptions.cljs +++ b/ui/src/ethlance/ui/subscriptions.cljs @@ -6,7 +6,6 @@ [ethlance.ui.component.modal.subscriptions] [ethlance.ui.page.arbiters.subscriptions] [ethlance.ui.page.candidates.subscriptions] - [ethlance.ui.page.employers.subscriptions] [ethlance.ui.page.invoices.subscriptions] [ethlance.ui.page.job-contract.subscriptions] [ethlance.ui.page.job-detail.subscriptions]