-
+
-
+
- handleInstanceRightClick(
- event,
- instanceComponents[getInstanceIndex(rowIndex, instanceIndex)]
- )
- "
+ @contextmenu.prevent.stop="(event) => handleInstanceRightClick(event, instance)"
+ />
+
+
+ handleProjectClick(event, project)"
/>
@@ -231,6 +268,8 @@ const getInstanceIndex = (rowIndex, index) => {
Open in Modrinth
Copy link
+
+
diff --git a/theseus_gui/src/components/ui/AccountsCard.vue b/theseus_gui/src/components/ui/AccountsCard.vue
index 0ec2d552b..cb48e2bc3 100644
--- a/theseus_gui/src/components/ui/AccountsCard.vue
+++ b/theseus_gui/src/components/ui/AccountsCard.vue
@@ -272,13 +272,13 @@ onBeforeUnmount(() => {
align-items: center;
gap: 0.5rem;
color: var(--color-base);
- background-color: var(--color-bg);
+ background-color: var(--color-raised-bg);
border-radius: var(--radius-md);
- box-shadow: none;
width: 100%;
text-align: left;
&.expanded {
+ border: 1px solid var(--color-button-bg);
padding: 1rem;
}
}
diff --git a/theseus_gui/src/components/ui/Instance.vue b/theseus_gui/src/components/ui/Instance.vue
index d30b24553..5627af754 100644
--- a/theseus_gui/src/components/ui/Instance.vue
+++ b/theseus_gui/src/components/ui/Instance.vue
@@ -250,27 +250,7 @@ onUnmounted(() => unlisten())
&:hover {
.cta {
opacity: 1;
- bottom: 4.75rem;
- }
-
- .instance-card-item {
- background: hsl(220, 11%, 11%) !important;
- }
- }
-}
-
-.light-mode {
- .instance:hover {
- .instance-card-item {
- background: hsl(0, 0%, 91%) !important;
- }
- }
-
- .instance-card-item {
- background: hsl(0, 0%, 100%) !important;
-
- &:hover {
- background: hsl(0, 0%, 91%) !important;
+ bottom: calc(var(--gap-md) + 4.25rem);
}
}
}
@@ -280,14 +260,14 @@ onUnmounted(() => unlisten())
display: flex;
align-items: center;
justify-content: center;
- border-radius: var(--radius-lg);
+ border-radius: var(--radius-md);
z-index: 1;
width: 3rem;
height: 3rem;
- right: 1.25rem;
- bottom: 4.25rem;
+ right: calc(var(--gap-md) * 2);
+ bottom: 3.25rem;
opacity: 0;
- transition: 0.2s ease-in-out bottom, 0.1s ease-in-out opacity, 0.1s ease-in-out filter !important;
+ transition: 0.2s ease-in-out bottom, 0.2s ease-in-out opacity, 0.1s ease-in-out filter !important;
cursor: pointer;
box-shadow: var(--shadow-floating);
@@ -321,17 +301,11 @@ onUnmounted(() => unlisten())
align-items: center;
justify-content: center;
cursor: pointer;
- padding: 0.75rem !important; /* overrides card class */
+ padding: var(--gap-md);
transition: 0.1s ease-in-out all !important; /* overrides Omorphia defaults */
- background: hsl(220, 11%, 17%) !important;
margin-bottom: 0;
- &:hover {
- filter: brightness(1) !important;
- background: hsl(220, 11%, 11%) !important;
- }
-
- > .avatar {
+ .mod-image {
--size: 100%;
width: 100% !important;
diff --git a/theseus_gui/src/components/ui/ProjectCard.vue b/theseus_gui/src/components/ui/ProjectCard.vue
new file mode 100644
index 000000000..6fd7fe6ae
--- /dev/null
+++ b/theseus_gui/src/components/ui/ProjectCard.vue
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+
+
+ {{ formatNumber(project.downloads) }}
+
+
+
+ {{ formatNumber(project.follows) }}
+
+
+
+ {{ formatCategory(dayjs(project.date_modified).fromNow()) }}
+
+
+
+
+
+
+
+ {{ project.title }}
+
+
by {{ project.author }}
+
+
+ {{ project.description }}
+
+
+
+
+
+
+
diff --git a/theseus_gui/src/components/ui/RunningAppBar.vue b/theseus_gui/src/components/ui/RunningAppBar.vue
index 716d64daa..ea40874fa 100644
--- a/theseus_gui/src/components/ui/RunningAppBar.vue
+++ b/theseus_gui/src/components/ui/RunningAppBar.vue
@@ -1,45 +1,47 @@
-
-
-
+