improve modal styles

This commit is contained in:
marlon-erler
2026-04-08 21:14:37 +00:00
parent 9883160113
commit 3ec8335c9d
8 changed files with 69 additions and 15 deletions
+4
View File
@@ -1,3 +1,7 @@
.modal>div:has(.split-modal[extended]) {
max-width: 64rem;
}
.split-modal {
width: 100%;
height: 100%;
+6 -2
View File
@@ -6,12 +6,14 @@ export function SplitModal(
leftView: React.State<Element>,
rightView: React.State<Element>,
scrollButtonLabel: React.State<string>,
extendedStyle: boolean = false,
navigationState?: React.State<any>,
) {
const view = (
<div class="split-modal">
<div class="split-modal" toggle:extended={extendedStyle}>
<div>
<div class="scroll-area" children:set={leftView}></div>
<div class="detail-button-wrapper">
<div class="detail-button-wrapper" toggle:hidden={navigationState != undefined}>
<button class="ghost" on:click={scrollToDetails}>
<span
class="ellipsis"
@@ -29,5 +31,7 @@ export function SplitModal(
view.scrollLeft = view.scrollWidth;
}
navigationState?.subscribe(scrollToDetails);
return view;
}
+9 -2
View File
@@ -12,12 +12,14 @@ export function SettingsModal(settingsViewModel: SettingsViewModel) {
class="modal"
toggle:open={settingsViewModel.isShowingSettingsModal}
>
<div style="max-width: 64rem">
<div>
<main class="padding-0">
{SplitModal(
new React.State(SettingsLeftPane(settingsViewModel)),
new React.State(<span>settings</span>),
new React.State(""),
false,
settingsViewModel.selectedModalPage,
)}
</main>
<button on:click={settingsViewModel.hideSettingsModal}>
@@ -31,7 +33,7 @@ export function SettingsModal(settingsViewModel: SettingsViewModel) {
function SettingsLeftPane(settingsViewModel: SettingsViewModel) {
return (
<div class="flex-column">
<div class="flex-column gap">
{SettingsPaneButton(
settingsViewModel,
SettingsModalPages.Appearance,
@@ -42,6 +44,11 @@ function SettingsLeftPane(settingsViewModel: SettingsViewModel) {
SettingsModalPages.Regional,
translations.settings.pages.regional,
)}
{SettingsPaneButton(
settingsViewModel,
SettingsModalPages.Info,
translations.settings.pages.info,
)}
</div>
);
}
+2 -1
View File
@@ -64,12 +64,13 @@ export function StorageModal(storageViewModel: StorageViewModel) {
);
return (
<div class="modal" toggle:open={storageViewModel.isShowingStorageModal}>
<div style="max-width: 64rem">
<div>
<main class="padding-0">
{SplitModal(
new React.State(DirectoryItemList(storageViewModel)),
detailView,
storageViewModel.selectedFileName,
true,
)}
</main>
<button on:click={storageViewModel.hideStorageModal}>
+3
View File
@@ -80,6 +80,7 @@ const englishTranslations = {
pages: {
appearance: "Appearance",
regional: "Language+Region",
info: "About Comms",
},
},
@@ -369,6 +370,7 @@ const allTranslations: { [language: string]: typeof englishTranslations } = {
pages: {
appearance: "Erscheinungsbild",
regional: "Sprache+Region",
info: "Über Comms",
},
},
@@ -629,6 +631,7 @@ const allTranslations: { [language: string]: typeof englishTranslations } = {
pages: {
appearance: "Aspecto",
regional: "Idioma+Región",
info: "Sobre Comms",
},
},
connectionModal: {
@@ -65,4 +65,5 @@ export default class SettingsViewModel {
export enum SettingsModalPages {
Appearance,
Regional,
Info,
}