@stnd/launcher 1.0.15 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/Launcher.svelte +74 -54
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
package/Launcher.svelte
CHANGED
|
@@ -656,25 +656,16 @@
|
|
|
656
656
|
{/if}
|
|
657
657
|
</div>
|
|
658
658
|
|
|
659
|
-
<!-- Footer -->
|
|
660
|
-
|
|
661
|
-
<
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
launcherView("::account-settings");
|
|
670
|
-
} else if (registryState.views["::settings"]) {
|
|
671
|
-
launcherView("::settings");
|
|
672
|
-
} else {
|
|
673
|
-
launcherView("::my-space");
|
|
674
|
-
}
|
|
675
|
-
}}
|
|
676
|
-
onkeydown={(e) => {
|
|
677
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
659
|
+
<!-- Footer (shown in search / palette mode, hidden in full view mode) -->
|
|
660
|
+
{#if !ActiveViewComponent}
|
|
661
|
+
<footer class="std-launcher-footer mt-0">
|
|
662
|
+
<div>
|
|
663
|
+
{#if currentUser && currentUser.isAuthenticated}
|
|
664
|
+
<div
|
|
665
|
+
class="std-launcher-user flex items-center gap-xs"
|
|
666
|
+
role="button"
|
|
667
|
+
tabindex="0"
|
|
668
|
+
onclick={() => {
|
|
678
669
|
if (registryState.views["::account-settings"]) {
|
|
679
670
|
launcherView("::account-settings");
|
|
680
671
|
} else if (registryState.views["::settings"]) {
|
|
@@ -682,39 +673,50 @@
|
|
|
682
673
|
} else {
|
|
683
674
|
launcherView("::my-space");
|
|
684
675
|
}
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
676
|
+
}}
|
|
677
|
+
onkeydown={(e) => {
|
|
678
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
679
|
+
if (registryState.views["::account-settings"]) {
|
|
680
|
+
launcherView("::account-settings");
|
|
681
|
+
} else if (registryState.views["::settings"]) {
|
|
682
|
+
launcherView("::settings");
|
|
683
|
+
} else {
|
|
684
|
+
launcherView("::my-space");
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
}}
|
|
688
|
+
style="cursor: pointer;"
|
|
689
|
+
>
|
|
690
|
+
<Avatar
|
|
691
|
+
src={currentUser.image}
|
|
692
|
+
name={currentUser.username || currentUser.name}
|
|
693
|
+
email={currentUser.email}
|
|
694
|
+
size="18px"
|
|
695
|
+
border={false}
|
|
696
|
+
/>
|
|
697
|
+
<span class="smaller muted">
|
|
698
|
+
{currentUser.name || currentUser.username || currentUser.email}
|
|
699
|
+
</span>
|
|
700
|
+
</div>
|
|
701
|
+
{:else if hasAuthProvider && !shouldHideLogin}
|
|
702
|
+
<button
|
|
703
|
+
class="no-decoration smaller ghost text-subtle"
|
|
704
|
+
onclick={() => launcherView("::login")}
|
|
705
|
+
>
|
|
706
|
+
Login
|
|
707
|
+
</button>
|
|
708
|
+
{/if}
|
|
709
|
+
<div class="std-launcher-mode smaller inline hidden">
|
|
710
|
+
COMMAND MODE
|
|
699
711
|
</div>
|
|
700
|
-
{:else if hasAuthProvider && !shouldHideLogin}
|
|
701
|
-
<button
|
|
702
|
-
class="no-decoration smaller ghost text-subtle"
|
|
703
|
-
onclick={() => launcherView("::login")}
|
|
704
|
-
>
|
|
705
|
-
Login
|
|
706
|
-
</button>
|
|
707
|
-
{/if}
|
|
708
|
-
<div class="std-launcher-mode smaller inline hidden">
|
|
709
|
-
{ActiveViewComponent ? "SYSTEM VIEW" : "COMMAND MODE"}
|
|
710
712
|
</div>
|
|
711
|
-
</div>
|
|
712
713
|
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
714
|
+
<div class="std-launcher-hints sm:hidden hidden">
|
|
715
|
+
<span><kbd>↑</kbd> <kbd>↓</kbd> navigate</span>
|
|
716
|
+
<span><kbd>esc</kbd> close</span>
|
|
717
|
+
</div>
|
|
718
|
+
</footer>
|
|
719
|
+
{/if}
|
|
718
720
|
</div>
|
|
719
721
|
</div>
|
|
720
722
|
{/if}
|
|
@@ -918,13 +920,30 @@
|
|
|
918
920
|
Naming it is the point: views used to hardcode `var(--space)` to undo a
|
|
919
921
|
padding they could only guess, so the two drifted apart and content got
|
|
920
922
|
clipped at the frame. One name, one source of truth. */
|
|
921
|
-
--launcher-pad:
|
|
923
|
+
--launcher-pad: 1.25rem;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
/* Full-bleed views (settings, welcome horizon) manage their own internal layout */
|
|
927
|
+
.std-launcher-body:has(.settings-window),
|
|
928
|
+
.std-launcher-body:has(.full-bleed),
|
|
929
|
+
.std-launcher-body:has(.welcome) {
|
|
930
|
+
overflow-y: hidden;
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
.std-launcher-view {
|
|
934
|
+
width: 100%;
|
|
935
|
+
height: 100%;
|
|
922
936
|
}
|
|
923
937
|
|
|
924
938
|
.std-launcher-view > :first-child {
|
|
925
939
|
padding: var(--launcher-pad);
|
|
926
940
|
}
|
|
927
941
|
|
|
942
|
+
.std-launcher-view > .settings-window,
|
|
943
|
+
.std-launcher-view > .full-bleed {
|
|
944
|
+
padding: 0;
|
|
945
|
+
}
|
|
946
|
+
|
|
928
947
|
/* Height is bounded at BOTH ends on purpose. A pure `vh` cap measured the
|
|
929
948
|
window while the content measured itself — on a short viewport the welcome
|
|
930
949
|
view (~16rem) was cut off mid-descender, on a tall one the panel floated in
|
|
@@ -1043,12 +1062,13 @@
|
|
|
1043
1062
|
font-size: var(--scale-d2);
|
|
1044
1063
|
}
|
|
1045
1064
|
|
|
1046
|
-
/* Footer */
|
|
1065
|
+
/* Footer (Refined & Compact) */
|
|
1047
1066
|
.std-launcher-footer {
|
|
1048
1067
|
display: flex;
|
|
1049
1068
|
justify-content: space-between;
|
|
1050
1069
|
align-items: center;
|
|
1051
|
-
padding: var(--space-d2
|
|
1070
|
+
padding: 3px var(--space-d2, 10px);
|
|
1071
|
+
min-height: 28px;
|
|
1052
1072
|
font-size: var(--size-xs);
|
|
1053
1073
|
color: var(--color-muted);
|
|
1054
1074
|
border-top: var(--border);
|
|
@@ -1060,9 +1080,9 @@
|
|
|
1060
1080
|
.std-launcher-user {
|
|
1061
1081
|
display: flex;
|
|
1062
1082
|
align-items: center;
|
|
1063
|
-
gap: var(--space-d4);
|
|
1083
|
+
gap: var(--space-d4, 4px);
|
|
1064
1084
|
color: var(--color-foreground-muted);
|
|
1065
|
-
padding:
|
|
1085
|
+
padding: 2px 6px;
|
|
1066
1086
|
border-radius: var(--radius);
|
|
1067
1087
|
transition: all var(--transition-fast);
|
|
1068
1088
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stnd/launcher",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"svelte": "5.57.0",
|
|
22
22
|
"wrangler": "^4.129.0",
|
|
23
|
-
"@stnd/account": "0.2.10",
|
|
24
23
|
"@stnd/client": "0.7.0",
|
|
25
|
-
"@stnd/icon": "0.2.2",
|
|
26
24
|
"@stnd/log": "0.5.1",
|
|
25
|
+
"@stnd/icon": "0.2.2",
|
|
26
|
+
"@stnd/account": "0.2.11",
|
|
27
27
|
"@stnd/store": "0.5.1",
|
|
28
28
|
"@stnd/ui": "0.6.1"
|
|
29
29
|
},
|