-
-
Filter
+
+ -
+
+ Filters
+
- Check the tags that you prefer to be excluded from the results. The filter is a courtesy, and provides no guarantees.
+ -
+
+ Notifications
+
+
-
+
+
+
+
@@ -69,23 +68,74 @@ function toggleTag(tag, isChecked) {
diff --git a/pages/users/@username/+Page.vue b/pages/users/@username/+Page.vue
index 580b787..ac38477 100644
--- a/pages/users/@username/+Page.vue
+++ b/pages/users/@username/+Page.vue
@@ -27,7 +27,10 @@ function scrollHorizontal(event) {
@@ -160,6 +163,7 @@ function scrollHorizontal(event) {
color: var(--highlight-strong-30);
background: var(--shadow-strong-30);
border-radius: 0 0 .5rem .5rem;
+ margin-bottom: .5rem;
}
.user {
@@ -193,25 +197,41 @@ function scrollHorizontal(event) {
}
.domains {
- display: flex;
+ width: 100%;
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
gap: .5rem;
+ box-sizing: border-box;
padding: .5rem 0;
- margin-top: .25rem;
- overflow-x: auto;
+ margin-top: .5rem;
}
.domain {
+ display: flex;
+ align-items: center;
+ gap: 1.5rem;
flex-shrink: 0;
color: var(--glass-strong-20);
background: var(--background-dark-20);
- padding: .5rem 1rem;
+ padding: 1.25rem 2rem;
border-radius: 1rem;
- font-size: .9rem;
+ font-size: 1rem;
font-weight: bold;
- &.active {
+ .icon {
+ width: 1.25rem;
+ height: 1.25rem;
+ transform: translateY(-1px);
+ fill: var(--glass-strong-20);
+ }
+
+ &:hover {
background: var(--primary);
color: var(--text-light);
+
+ .icon {
+ fill: var(--text-light);
+ }
}
}
diff --git a/pages/users/@username/+route.js b/pages/users/@username/+route.js
index 585181c..f87e65f 100644
--- a/pages/users/@username/+route.js
+++ b/pages/users/@username/+route.js
@@ -6,16 +6,17 @@ const urlMatch = match(path, { decode: decodeURIComponent });
export default (pageContext) => {
const matched = urlMatch(pageContext.urlPathname);
+ const isSelf = pageContext.user?.username === matched.params?.username;
if (matched) {
- if (![undefined, 'stashes'].includes(matched.params.domain) && pageContext.user?.username !== matched.params.username) {
- throw redirect(`/user/${matched.params.username}`);
+ if (!isSelf && matched.params.section !== 'stashes') {
+ throw redirect(`/user/${matched.params.username}/stashes`);
}
return {
routeParams: {
username: matched.params.username,
- section: matched.params.section || 'stashes',
+ section: matched.params.section || '',
domain: matched.params.domain || 'scenes',
},
};