@@ -503,7 +526,8 @@ export default function Namespace({ params }: { params: { namespace: string } })
size="small"
onClick={handleFilterClick}
aria-describedby={filterId}
- className="rounded-full bg-gray-50 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"
+ className="bg-gray-50 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"
+ sx={{ borderRadius: "16px" }}
>
@@ -513,7 +537,8 @@ export default function Namespace({ params }: { params: { namespace: string } })
size="small"
onClick={handleSortClick}
aria-describedby={sortId}
- className="rounded-full bg-gray-50 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"
+ className="bg-gray-50 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"
+ sx={{ borderRadius: "16px" }}
>
@@ -537,10 +562,9 @@ export default function Namespace({ params }: { params: { namespace: string } })
}}
TransitionComponent={Fade}
PaperProps={{
- className:
- "rounded-xl shadow-xl border border-gray-100 dark:border-gray-700",
+ className: "shadow-xl border border-gray-100 dark:border-gray-700",
elevation: 3,
- sx: { width: 280 },
+ sx: { width: 280, borderRadius: "20px" },
}}
>
@@ -557,7 +581,10 @@ export default function Namespace({ params }: { params: { namespace: string } })
}
>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -785,7 +827,8 @@ export default function Namespace({ params }: { params: { namespace: string } })
variant="text"
size="small"
onClick={handleFilterClose}
- className="rounded-lg px-3 py-1 text-xs"
+ className="px-3 py-1 text-xs"
+ sx={{ borderRadius: "12px" }}
>
Close
@@ -808,10 +851,9 @@ export default function Namespace({ params }: { params: { namespace: string } })
}}
TransitionComponent={Fade}
PaperProps={{
- className:
- "rounded-xl shadow-xl border border-gray-100 dark:border-gray-700",
+ className: "shadow-xl border border-gray-100 dark:border-gray-700",
elevation: 3,
- sx: { width: 280 },
+ sx: { width: 280, borderRadius: "20px" },
}}
>
@@ -826,7 +868,10 @@ export default function Namespace({ params }: { params: { namespace: string } })
onChange={(e) => setSortOption(e.target.value as SortOption)}
>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -957,7 +1011,8 @@ export default function Namespace({ params }: { params: { namespace: string } })
variant="text"
size="small"
onClick={handleSortClose}
- className="rounded-lg px-3 py-1 text-xs"
+ className="px-3 py-1 text-xs"
+ sx={{ borderRadius: "12px" }}
>
Close
@@ -974,12 +1029,16 @@ export default function Namespace({ params }: { params: { namespace: string } })
>
-
+
-
+
@@ -997,7 +1056,13 @@ export default function Namespace({ params }: { params: { namespace: string } })
{cluster.hasMigration &&
cluster.migratingSlot >= 0 && (
-
+
Migrating{" "}
@@ -1005,23 +1070,34 @@ export default function Namespace({ params }: { params: { namespace: string } })
cluster.migratingSlot
}
-
+
)}
{(!cluster.hasMigration ||
cluster.migratingSlot ===
-1) && (
-
+
)}
{cluster.hasImporting &&
cluster.importingSlot >= 0 && (
-
+
Importing{" "}
@@ -1029,7 +1105,7 @@ export default function Namespace({ params }: { params: { namespace: string } })
cluster.importingSlot
}
-
+
)}
@@ -1067,6 +1143,7 @@ export default function Namespace({ params }: { params: { namespace: string } })
color="secondary"
variant="outlined"
className="whitespace-nowrap"
+ sx={{ borderRadius: "12px" }}
/>
{!cluster.hasSlots && (
@@ -1088,6 +1166,7 @@ export default function Namespace({ params }: { params: { namespace: string } })
color="info"
variant="outlined"
className="whitespace-nowrap"
+ sx={{ borderRadius: "12px" }}
/>
)}
@@ -1098,12 +1177,16 @@ export default function Namespace({ params }: { params: { namespace: string } })
color="primary"
variant="outlined"
className="whitespace-nowrap"
+ sx={{ borderRadius: "12px" }}
/>
)}
-
+
{cluster.shardCount}
-
+
-
+
{cluster.nodeCount}
-
+
diff --git a/webui/src/app/namespaces/page.tsx b/webui/src/app/namespaces/page.tsx
index da98120a..93384713 100644
--- a/webui/src/app/namespaces/page.tsx
+++ b/webui/src/app/namespaces/page.tsx
@@ -265,7 +265,10 @@ export default function Namespace() {
-
+
setSearchTerm(e.target.value)}
/>
@@ -295,10 +299,11 @@ export default function Namespace() {
}
disableElevation
size="medium"
+ style={{ borderRadius: "16px" }}
>
Create Namespace
@@ -312,10 +317,14 @@ export default function Namespace() {
-
+
@@ -333,17 +342,24 @@ export default function Namespace() {
-
+
-
+
@@ -361,17 +377,24 @@ export default function Namespace() {
-
+
-
+
@@ -389,17 +412,24 @@ export default function Namespace() {
-
+
-
+
@@ -417,7 +447,10 @@ export default function Namespace() {
-
+
@@ -425,7 +458,8 @@ export default function Namespace() {
@@ -441,7 +475,8 @@ export default function Namespace() {
size="small"
onClick={handleFilterClick}
aria-describedby={filterId}
- className="rounded-full bg-gray-50 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"
+ className="bg-gray-50 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"
+ style={{ borderRadius: "16px" }}
>
@@ -451,7 +486,8 @@ export default function Namespace() {
size="small"
onClick={handleSortClick}
aria-describedby={sortId}
- className="rounded-full bg-gray-50 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"
+ className="bg-gray-50 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"
+ style={{ borderRadius: "16px" }}
>
@@ -475,10 +511,9 @@ export default function Namespace() {
}}
TransitionComponent={Fade}
PaperProps={{
- className:
- "rounded-xl shadow-xl border border-gray-100 dark:border-gray-700",
+ className: "shadow-xl border border-gray-100 dark:border-gray-700",
elevation: 3,
- sx: { width: 280 },
+ sx: { width: 280, borderRadius: "20px" },
}}
>
@@ -495,7 +530,10 @@ export default function Namespace() {
}
>
-
+
+
@@ -526,9 +567,12 @@ export default function Namespace() {
}
className="m-0 w-full"
/>
-
+
-
+
+
@@ -565,7 +612,10 @@ export default function Namespace() {
/>
-
+
+
@@ -600,7 +653,7 @@ export default function Namespace() {
}
className="m-0 w-full"
/>
-
+
@@ -609,7 +662,8 @@ export default function Namespace() {
variant="text"
size="small"
onClick={handleFilterClose}
- className="rounded-lg px-3 py-1 text-xs"
+ className="px-3 py-1 text-xs"
+ style={{ borderRadius: "12px" }}
>
Close
@@ -632,10 +686,9 @@ export default function Namespace() {
}}
TransitionComponent={Fade}
PaperProps={{
- className:
- "rounded-xl shadow-xl border border-gray-100 dark:border-gray-700",
+ className: "shadow-xl border border-gray-100 dark:border-gray-700",
elevation: 3,
- sx: { width: 280 },
+ sx: { width: 280, borderRadius: "20px" },
}}
>
@@ -654,7 +707,10 @@ export default function Namespace() {
Name
-
+
+
@@ -683,8 +742,11 @@ export default function Namespace() {
}
className="m-0 w-full"
/>
-
-
+
+
+
@@ -713,14 +778,17 @@ export default function Namespace() {
}
className="m-0 w-full"
/>
-
+
Clusters
-
+
+
@@ -749,8 +820,11 @@ export default function Namespace() {
}
className="m-0 w-full"
/>
-
-
+
+
+
@@ -779,14 +856,17 @@ export default function Namespace() {
}
className="m-0 w-full"
/>
-
+
Nodes
-
+
+
@@ -815,8 +898,11 @@ export default function Namespace() {
}
className="m-0 w-full"
/>
-
-
+
+
+
@@ -845,7 +934,7 @@ export default function Namespace() {
}
className="m-0 w-full"
/>
-
+
@@ -855,7 +944,8 @@ export default function Namespace() {
variant="text"
size="small"
onClick={handleSortClose}
- className="rounded-lg px-3 py-1 text-xs"
+ className="px-3 py-1 text-xs"
+ style={{ borderRadius: "12px" }}
>
Close
@@ -872,10 +962,14 @@ export default function Namespace() {
>
-
+
@@ -912,6 +1006,7 @@ export default function Namespace() {
color="primary"
variant="outlined"
className="whitespace-nowrap"
+ style={{ borderRadius: "12px" }}
/>
-
+
-
+
-
+
diff --git a/webui/src/app/page.tsx b/webui/src/app/page.tsx
index 93923a80..cc049e41 100644
--- a/webui/src/app/page.tsx
+++ b/webui/src/app/page.tsx
@@ -268,7 +268,10 @@ export default function Home() {
style={heroParallax}
>
-
+
Apache Software Foundation
@@ -305,9 +308,10 @@ export default function Home() {
}
+ style={{ borderRadius: "16px" }}
>
Get Started
@@ -315,10 +319,11 @@ export default function Home() {
}
+ style={{ borderRadius: "16px" }}
>
GitHub
@@ -350,7 +355,10 @@ export default function Home() {
-
+
@@ -438,25 +446,33 @@ export default function Home() {
-
+
Powerful Features
Why Choose Kvrocks?
-
- Apache Kvrocks offers powerful capabilities that make it an excellent
- choice for your database needs
-
+
+
+ Apache Kvrocks offers powerful capabilities that make it an
+ excellent choice for your database needs
+
+
@@ -464,8 +480,9 @@ export default function Home() {
{feature.icon}
@@ -523,14 +543,20 @@ export default function Home() {
-
+
Powerful Management
About Kvrocks Controller
@@ -538,7 +564,8 @@ export default function Home() {
@@ -546,28 +573,35 @@ export default function Home() {
Simplified Management
+
+
Kvrocks Controller provides a web management interface
for Apache Kvrocks clusters, enabling efficient
distribution, monitoring, and maintenance of your Redis
compatible database infrastructure.
+
{benefits.map((benefit, index) => (
-
+
{benefit.icon}
@@ -595,6 +629,7 @@ export default function Home() {
xs={12}
md={6}
className="bg-gradient-to-br from-gray-900 to-gray-800 text-white dark:from-gray-900 dark:to-gray-800"
+ style={{ borderRadius: "20px" }}
>
@@ -609,7 +644,10 @@ export default function Home() {
-
+
$ redis-cli -p 6666
@@ -665,6 +703,7 @@ export default function Home() {
size="small"
color="success"
className="bg-success/80 transition-colors hover:bg-success"
+ style={{ borderRadius: "12px" }}
/>
@@ -684,19 +723,24 @@ export default function Home() {
Resources
-
- Explore documentation and source code to get the most out of Kvrocks
- Controller
-
+
+
+ Explore documentation and source code to get the most out of Kvrocks
+ Controller
+
+
@@ -710,15 +754,19 @@ export default function Home() {
>
{React.cloneElement(resource.icon, {
@@ -763,7 +811,8 @@ export default function Home() {
-
- Start managing your distributed database infrastructure with our
- intuitive and powerful controller interface.
-
+
+
+ Start managing your distributed database infrastructure with our
+ intuitive and powerful controller interface.
+
+
}
+ style={{ borderRadius: "16px" }}
>
Get Started Now
diff --git a/webui/src/app/ui/formDialog.tsx b/webui/src/app/ui/formDialog.tsx
index 10a47bc9..8114513b 100644
--- a/webui/src/app/ui/formDialog.tsx
+++ b/webui/src/app/ui/formDialog.tsx
@@ -109,11 +109,12 @@ const FormDialog: React.FC = ({
}
size="small"
sx={{
textTransform: "none",
+ borderRadius: "16px",
"&:hover": {
transform: "translateY(-1px)",
},
@@ -125,10 +126,11 @@ const FormDialog: React.FC = ({
}
sx={{
textTransform: "none",
+ borderRadius: "20px",
borderWidth: "1.5px",
"&:hover": {
borderWidth: "1.5px",
@@ -145,7 +147,7 @@ const FormDialog: React.FC = ({
PaperProps={{
className: "overflow-hidden",
sx: {
- borderRadius: "16px",
+ borderRadius: "24px",
boxShadow: "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
maxWidth: "500px",
width: "100%",
@@ -209,9 +211,10 @@ const FormDialog: React.FC = ({
key={index}
label={option}
size="small"
- className="rounded-full bg-primary-light/20 dark:bg-primary-dark/20"
+ className="bg-primary-light/20 dark:bg-primary-dark/20"
sx={{
fontWeight: 500,
+ borderRadius: "12px",
"& .MuiChip-deleteIcon": {
color:
theme.palette.mode === "dark"
@@ -240,7 +243,7 @@ const FormDialog: React.FC = ({
className="rounded-xl bg-white dark:bg-dark-paper/70"
sx={{
"& .MuiOutlinedInput-root": {
- borderRadius: "12px",
+ borderRadius: "16px",
transition: "all 0.2s ease",
"&.Mui-focused": {
boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.2)}`,
@@ -269,7 +272,7 @@ const FormDialog: React.FC = ({
size="small"
className="rounded-xl bg-white dark:bg-dark-paper/70"
sx={{
- borderRadius: "12px",
+ borderRadius: "16px",
"& .MuiOutlinedInput-notchedOutline": {
borderColor: alpha(theme.palette.divider, 0.8),
},
@@ -290,7 +293,7 @@ const FormDialog: React.FC = ({
MenuProps={{
PaperProps: {
sx: {
- borderRadius: "12px",
+ borderRadius: "16px",
boxShadow:
"0 10px 25px -5px rgba(0, 0, 0, 0.1)",
mt: 1,
@@ -330,7 +333,7 @@ const FormDialog: React.FC = ({
mt: index === 0 ? 0 : 3,
mb: 1.5,
"& .MuiOutlinedInput-root": {
- borderRadius: "12px",
+ borderRadius: "16px",
transition: "all 0.2s ease",
"&.Mui-focused": {
boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.2)}`,
@@ -359,11 +362,12 @@ const FormDialog: React.FC = ({
Cancel
@@ -372,11 +376,12 @@ const FormDialog: React.FC = ({
type="submit"
variant="contained"
disabled={submitting}
- className="rounded-xl px-5 py-1.5 shadow-sm transition-all duration-200 hover:shadow-md"
+ className="px-5 py-1.5 shadow-sm transition-all duration-200 hover:shadow-md"
sx={{
textTransform: "none",
fontWeight: 600,
transition: "all 0.2s ease",
+ borderRadius: "16px",
"&:hover": {
transform: "translateY(-1px)",
boxShadow: "0 6px 15px rgba(0, 0, 0, 0.1)",
@@ -403,9 +408,9 @@ const FormDialog: React.FC = ({
onClose={() => setErrorMessage("")}
severity="error"
variant="filled"
- className="rounded-xl shadow-lg"
+ className="shadow-lg"
sx={{
- borderRadius: "12px",
+ borderRadius: "16px",
boxShadow: "0 10px 30px rgba(0, 0, 0, 0.15)",
}}
>