mengw15 commented on code in PR #7819:
URL: https://github.com/apache/texera/pull/7819#discussion_r3833535593


##########
frontend/src/app/app-routing.module.ts:
##########
@@ -139,6 +140,10 @@ routes.push({
           path: "compute",
           component: UserComputingUnitComponent,
         },
+        {
+          path: "warehouse",
+          component: UserWarehouseComponent,
+        },

Review Comment:
   This mirrors the computing-unit tab: `/user/compute` is registered 
unconditionally too, and only the sidebar entry is gated. With the flag off the 
page states that the feature is disabled and every warehouse endpoint answers 
403, so no functionality is reachable.



##########
frontend/src/app/dashboard/component/dashboard.component.ts:
##########
@@ -160,12 +168,35 @@ export class DashboardComponent implements OnInit {
           this.isLogin = this.userService.isLogin();
           this.isAdmin = this.userService.isAdmin();
           this.forumLogin();
+          this.loadWarehouseEnabled();
         });
       });
 
     this.loadLogos();
 
     this.loadTabs();
+
+    this.loadWarehouseEnabled();

Review Comment:
   Good catch — fixed in ca71888c2. The trailing call is gone; the 
`userChanged()` replay covers the initial load. A spec now asserts exactly one 
status request per dashboard load, so neither the duplicate nor the removal of 
both call sites can come back unnoticed.



##########
frontend/src/app/dashboard/component/user/user-warehouse/user-warehouse-list-item/user-warehouse-list-item.component.scss:
##########
@@ -0,0 +1,105 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+@use "../../../section-style" as *;
+@use "../../../dashboard.component.scss" as *;
+
+.warehouse-list-item-card {
+  padding: 3px;
+  width: 100%;
+  background-color: white;
+  position: relative;
+  min-height: 65px;
+  height: auto;
+
+  &:hover {
+    background-color: #f0f0f0;
+  }
+}
+
+// The computing-unit row is 64px of content: its two 32px metric bars drive
+// the height. A warehouse row has no metrics, so pin the same content height
+// here — card paddings and borders already match, so the rows line up exactly.
+.warehouse-item-row {
+  min-height: 64px;
+}
+
+.warehouse-list-item-card:hover .button-group {
+  display: flex;
+  background-color: transparent;
+}
+
+.type-icon {
+  font-size: 30px;
+}
+
+.warehouse-id {
+  padding: 6px;
+}
+
+.resource-name-group {
+  min-width: 0;
+}
+
+.resource-name {
+  font-size: 17px;
+  font-weight: 600;
+  cursor: pointer;
+  text-decoration: none;
+}
+
+.resource-name:hover {
+  text-decoration: underline;
+}
+
+.resource-info {
+  font-size: 13px;
+  color: grey;
+}
+
+.truncate-single-line {
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+.button-group {
+  display: none;

Review Comment:
   The hover-revealed action group is copied verbatim from the computing-unit 
row, which has the same gap. Fixing it here alone would leave the two tabs 
behaving differently; it deserves one pass over both rather than a divergence 
introduced by this PR.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to