summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-03-25 20:06:46 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-03-25 20:06:46 +0900
commit97fddf2a80e0d37757d668d0e3dac52aaaf733c3 (patch)
treefe08b2861b275a6a4acd09815a904a6013c837e2 /packages
parentBump version to 2025.3.2-beta.13 (diff)
downloadsharkey-97fddf2a80e0d37757d668d0e3dac52aaaf733c3.tar.gz
sharkey-97fddf2a80e0d37757d668d0e3dac52aaaf733c3.tar.bz2
sharkey-97fddf2a80e0d37757d668d0e3dac52aaaf733c3.zip
🎨
Diffstat (limited to 'packages')
-rw-r--r--packages/frontend/src/ui/_common_/navbar.vue19
-rw-r--r--packages/frontend/src/ui/universal.vue38
2 files changed, 22 insertions, 35 deletions
diff --git a/packages/frontend/src/ui/_common_/navbar.vue b/packages/frontend/src/ui/_common_/navbar.vue
index 0f00a25d7a..8bd33c7052 100644
--- a/packages/frontend/src/ui/_common_/navbar.vue
+++ b/packages/frontend/src/ui/_common_/navbar.vue
@@ -48,6 +48,9 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkA>
</div>
<div :class="$style.bottom">
+ <button v-if="showWidgetButton" class="_button" :class="[$style.widget]" @click="() => emit('widgetButtonClick')">
+ <i class="ti ti-apps ti-fw"></i>
+ </button>
<button v-tooltip.noDelay.right="i18n.ts.note" class="_button" :class="[$style.post]" data-cy-open-post-form @click="() => { os.post(); }">
<i class="ti ti-pencil ti-fw" :class="$style.postIcon"></i><span :class="$style.postText">{{ i18n.ts.note }}</span>
</button>
@@ -104,6 +107,14 @@ import { $i } from '@/i.js';
const router = useRouter();
+const props = defineProps<{
+ showWidgetButton?: boolean;
+}>();
+
+const emit = defineEmits<{
+ (ev: 'widgetButtonClick'): void;
+}>();
+
const forceIconOnly = ref(window.innerWidth <= 1279);
const iconOnly = computed(() => {
return forceIconOnly.value || (store.r.menuDisplay.value === 'sideIcon');
@@ -560,6 +571,14 @@ function menuEdit() {
backdrop-filter: var(--MI-blur, blur(8px));
}
+ .widget {
+ display: block;
+ position: relative;
+ width: 100%;
+ height: 52px;
+ text-align: center;
+ }
+
.post {
display: block;
position: relative;
diff --git a/packages/frontend/src/ui/universal.vue b/packages/frontend/src/ui/universal.vue
index acd188ac0c..576f215acd 100644
--- a/packages/frontend/src/ui/universal.vue
+++ b/packages/frontend/src/ui/universal.vue
@@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<div :class="$style.root">
- <XSidebar v-if="!isMobile" :class="$style.sidebar"/>
+ <XSidebar v-if="!isMobile" :class="$style.sidebar" :showWidgetButton="!isDesktop" @widgetButtonClick="widgetsShowing = true"/>
<div :class="$style.contents" @contextmenu.stop="onContextmenu">
<div>
@@ -29,9 +29,6 @@ SPDX-License-Identifier: AGPL-3.0-only
<button :class="$style.navButton" class="_button" @click="widgetsShowing = true"><i :class="$style.navButtonIcon" class="ti ti-apps"></i></button>
<button :class="$style.postButton" class="_button" @click="os.post()"><i :class="$style.navButtonIcon" class="ti ti-pencil"></i></button>
</div>
- <div v-else-if="!isDesktop" ref="navFooter" :class="$style.navForTablet">
- <button :class="$style.navForTabletWidgetButton" class="_button" @click="widgetsShowing = true"><i class="ti ti-apps"></i></button>
- </div>
</div>
<div v-if="isDesktop && !pageMetadata?.needWideArea" :class="$style.widgets">
@@ -281,7 +278,7 @@ $widgets-hide-threshold: 1090px;
.transition_widgetsDrawer_enterFrom,
.transition_widgetsDrawer_leaveTo {
opacity: 0;
- transform: translateX(240px);
+ transform: translateX(-240px);
}
.root {
@@ -310,35 +307,6 @@ $widgets-hide-threshold: 1090px;
min-height: 0;
}
-.navForTablet {
- display: flex;
- padding: 12px 12px max(12px, env(safe-area-inset-bottom, 0px)) 12px;
- width: 100%;
- box-sizing: border-box;
- background: var(--MI_THEME-bg);
- border-top: solid 0.5px var(--MI_THEME-divider);
-}
-
-.navForTabletWidgetButton {
- position: relative;
- padding: 0;
- aspect-ratio: 1;
- width: 100%;
- max-width: 60px;
- margin-left: auto;
- border-radius: 100%;
- background: var(--MI_THEME-panel);
- color: var(--MI_THEME-fg);
-
- &:hover {
- background: var(--MI_THEME-panelHighlight);
- }
-
- &:active {
- background: hsl(from var(--MI_THEME-panel) h s calc(l - 2));
- }
-}
-
.nav {
padding: 12px 12px max(12px, env(safe-area-inset-bottom, 0px)) 12px;
display: grid;
@@ -447,7 +415,7 @@ $widgets-hide-threshold: 1090px;
.widgetsDrawer {
position: fixed;
top: 0;
- right: 0;
+ left: 0;
z-index: 1001;
width: 310px;
height: 100dvh;