Skip to content

Commit b06337a

Browse files
author
Ferenc Nánási
committed
Collection editing modal made more consisten
1 parent add3f5c commit b06337a

10 files changed

+92
-386
lines changed

android/app/src/main/AndroidManifest.xml.orig

-317
This file was deleted.

android/app/src/main/assets/capacitor.config.json

+1-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,5 @@
22
"appId": "com.husudosu.mpvremote",
33
"appName": "MPV Remote",
44
"webDir": "dist",
5-
"bundledWebRuntime": false,
6-
"server": {
7-
"url": "http://192.168.88.160:8100"
8-
}
5+
"bundledWebRuntime": false
96
}

src/components/addCollectionModal.vue

+34-14
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33
<ion-header>
44
<ion-toolbar>
55
<ion-title>{{ modalTitle }}</ion-title>
6+
<ion-buttons slot="start">
7+
<ion-button @click="onCancelClicked">
8+
<ion-icon slot="icon-only" :icon="arrowBack"></ion-icon>
9+
</ion-button>
10+
</ion-buttons>
11+
12+
<ion-buttons slot="end">
13+
<ion-button @click="onDeleteCollectionCliced">
14+
<ion-icon slot="icon-only" :icon="trash"></ion-icon>
15+
</ion-button>
16+
</ion-buttons>
617
</ion-toolbar>
718
</ion-header>
819
<ion-content class="ion-padding">
@@ -28,27 +39,30 @@
2839
</ion-list>
2940

3041
<ion-list-header>Paths</ion-list-header>
31-
<ion-item lines="full" @click="onAddPathClicked">Add path</ion-item>
42+
<ion-item lines="full" @click="onAddPathClicked" button
43+
>Add path</ion-item
44+
>
3245
<ion-item lines="full" v-for="(path, i) in dialog.paths" :key="i">
3346
<ion-label class="ion-text-wrap">
3447
{{ path.path }}
3548
</ion-label>
36-
<ion-button slot="end" @click="onDeletePathClicked(path)"
49+
<ion-button fill="none" slot="end" @click="onDeletePathClicked(path)"
3750
><ion-icon slot="icon-only" :icon="trashBin"></ion-icon
3851
></ion-button>
3952
</ion-item>
53+
<ion-button
54+
style="margin-top: 10px"
55+
color="success"
56+
expand="block"
57+
@click="onSubmitClicked"
58+
>Save</ion-button
59+
>
4060
</ion-content>
41-
<ion-footer>
42-
<ion-button @click="onCancelClicked">Cancel</ion-button>
43-
<ion-button color="success" @click="onSubmitClicked">{{
44-
dialog.id ? "Update" : "Create"
45-
}}</ion-button>
46-
</ion-footer>
4761
</ion-page>
4862
</template>
4963
<script>
5064
import { computed, ref } from "vue";
51-
import { trashBin } from "ionicons/icons";
65+
import { trashBin, trash, arrowBack } from "ionicons/icons";
5266
import {
5367
IonPage,
5468
IonHeader,
@@ -60,7 +74,6 @@ import {
6074
IonSelectOption,
6175
IonItem,
6276
IonLabel,
63-
IonFooter,
6477
IonButton,
6578
IonList,
6679
IonListHeader,
@@ -94,11 +107,16 @@ export default {
94107
};
95108
96109
const onSubmitClicked = () => {
97-
console.log("Clicked");
98-
console.log(dialog.value);
99110
props.modalController.dismiss(dialog.value);
100111
};
101112
113+
const onDeleteCollectionCliced = () => {
114+
if (confirm(`Delete collection: ${dialog.value.name}?`)) {
115+
dialog.value.deleted = true;
116+
props.modalController.dismiss(dialog.value);
117+
}
118+
};
119+
102120
const onDeletePathClicked = async (item) => {
103121
if ("id" in item) {
104122
if (confirm(`Delete path: ${item.path}?`)) {
@@ -131,13 +149,16 @@ export default {
131149
});
132150
};
133151
return {
134-
trashBin,
152+
trash,
135153
dialog,
136154
modalTitle,
137155
onCancelClicked,
138156
onSubmitClicked,
139157
onAddPathClicked,
140158
onDeletePathClicked,
159+
arrowBack,
160+
trashBin,
161+
onDeleteCollectionCliced,
141162
};
142163
},
143164
components: {
@@ -150,7 +171,6 @@ export default {
150171
IonSelect,
151172
IonItem,
152173
IonLabel,
153-
IonFooter,
154174
IonButton,
155175
IonSelectOption,
156176
IonList,

src/components/addServerModal.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@
1313
<ion-content class="ion-padding">
1414
<ion-list-header>Server info</ion-list-header>
1515
<ion-list>
16-
<ion-item>
16+
<ion-item lines="full">
1717
<ion-input
1818
placeholder="Name"
1919
type="text"
2020
v-model="dialog.name"
2121
></ion-input>
2222
</ion-item>
2323

24-
<ion-item>
24+
<ion-item lines="full">
2525
<ion-input
2626
placeholder="Host"
2727
type="text"
2828
v-model="dialog.host"
2929
></ion-input>
3030
</ion-item>
31-
<ion-item>
31+
<ion-item lines="full">
3232
<ion-input
3333
placeholder="Host"
3434
type="number"

src/components/audioSettingsModal.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</ion-toolbar>
77
</ion-header>
88
<ion-content v-if="playerData.filename" class="ion-padding">
9-
<ion-item>
9+
<ion-item lines="full">
1010
<ion-label>Audio track</ion-label>
1111
<ion-select
1212
:value="activeAudioTrackId"
@@ -22,7 +22,7 @@
2222
</ion-select-option>
2323
</ion-select>
2424
</ion-item>
25-
<ion-item class="audioDelay">
25+
<ion-item class="audioDelay" lines="full">
2626
<ion-label>Delay</ion-label>
2727
<ion-button @click="onAudioDelayChanged('decrease')"> - </ion-button>
2828
{{ playerData["audio-delay"] }}

src/components/fileBrowserModal.vue

+4-2
Original file line numberDiff line numberDiff line change
@@ -100,27 +100,29 @@
100100
<ion-list-header>Collections</ion-list-header>
101101
<ion-list>
102102
<ion-item
103+
lines="full"
103104
@click="getDirectoryContents(null, collection.id)"
104105
v-for="(collection, i) in collections"
105106
:key="i"
106107
>
107108
{{ collection.name }}
108109
</ion-item>
109-
<ion-item v-if="collections.length == 0">
110+
<ion-item lines="full" v-if="collections.length == 0">
110111
No collection created
111112
</ion-item>
112113
</ion-list>
113114

114115
<ion-list-header>Drives</ion-list-header>
115116
<ion-list>
116117
<ion-item
118+
lines="full"
117119
@click="getDirectoryContents(drive.path)"
118120
v-for="(drive, i) in drives"
119121
:key="i"
120122
>
121123
{{ drive.path }}
122124
</ion-item>
123-
<ion-item v-if="drives.length == 0">
125+
<ion-item lines="full" v-if="drives.length == 0">
124126
No available drive/path to browse
125127
</ion-item>
126128
</ion-list>

src/components/infoModal.vue

+17-10
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,22 @@
88
<ion-content class="ion-padding" v-if="playerData.filename">
99
<ion-list-header>Basic Info</ion-list-header>
1010
<ion-list>
11-
<ion-item v-if="playerData['media-title'] != playerData.filename">
11+
<ion-item
12+
lines="full"
13+
v-if="playerData['media-title'] != playerData.filename"
14+
>
1215
<ion-label class="ion-text-wrap">
1316
<h2>Title</h2>
1417
<p>{{ playerData["media-title"] }}</p>
1518
</ion-label>
1619
</ion-item>
17-
<ion-item>
20+
<ion-item lines="full">
1821
<ion-label class="ion-text-wrap">
1922
<h2>File name</h2>
2023
<p>{{ playerData.filename }}</p>
2124
</ion-label>
2225
</ion-item>
23-
<ion-item>
26+
<ion-item lines="full">
2427
<ion-label class="ion-text-wrap">
2528
<h2>Duration</h2>
2629
<p>{{ formatTime(playerData.duration) }}</p>
@@ -30,7 +33,11 @@
3033

3134
<ion-list-header> Metadata </ion-list-header>
3235
<ion-list>
33-
<ion-item v-for="(value, key, i) in playerData.metadata" :key="i">
36+
<ion-item
37+
v-for="(value, key, i) in playerData.metadata"
38+
:key="i"
39+
lines="full"
40+
>
3441
<ion-label class="ion-text-wrap">
3542
<h2>{{ key }}</h2>
3643
<p>{{ value }}</p>
@@ -43,13 +50,13 @@
4350
{{ track.selected ? "(Selected)" : "" }}</ion-list-header
4451
>
4552
<ion-list>
46-
<ion-item>
53+
<ion-item lines="full">
4754
<ion-label class="ion-text-wrap">
4855
<h2>Size</h2>
4956
<p>{{ track["demux-w"] }}x{{ track["demux-h"] }}</p>
5057
</ion-label>
5158
</ion-item>
52-
<ion-item>
59+
<ion-item lines="full">
5360
<ion-label class="ion-text-wrap">
5461
<h2>Codec</h2>
5562
<p>{{ track.codec }}</p>
@@ -63,25 +70,25 @@
6370
{{ track.selected ? "(Selected)" : "" }}</ion-list-header
6471
>
6572
<ion-list>
66-
<ion-item>
73+
<ion-item lines="full">
6774
<ion-label class="ion-text-wrap">
6875
<h2>Codec</h2>
6976
<p>{{ track.codec }}</p>
7077
</ion-label>
7178
</ion-item>
72-
<ion-item>
79+
<ion-item lines="full">
7380
<ion-label class="ion-text-wrap">
7481
<h2>Language</h2>
7582
<p>{{ track.lang }}</p>
7683
</ion-label>
7784
</ion-item>
78-
<ion-item>
85+
<ion-item lines="full">
7986
<ion-label class="ion-text-wrap">
8087
<h2>Channel count</h2>
8188
<p>{{ track["demux-channel-count"] }}</p>
8289
</ion-label>
8390
</ion-item>
84-
<ion-item>
91+
<ion-item lines="full">
8592
<ion-label class="ion-text-wrap">
8693
<h2>Sample rate</h2>
8794
<p>{{ track["demux-samplerate"] }}</p>

src/components/subtitleSettingsModal.vue

+6-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</ion-toolbar>
77
</ion-header>
88
<ion-content v-if="playerData.filename" class="ion-padding">
9-
<ion-item>
9+
<ion-item lines="full">
1010
<ion-label>Track</ion-label>
1111
<ion-select
1212
v-model="selectedTrack"
@@ -22,23 +22,23 @@
2222
</ion-select-option>
2323
</ion-select>
2424
</ion-item>
25-
<ion-item @click="onAddSubtitleClicked">
25+
<ion-item lines="full" @click="onAddSubtitleClicked">
2626
<ion-label>Add subtitle</ion-label>
2727
</ion-item>
2828

29-
<ion-item class="subtitleDelay">
29+
<ion-item lines="full" class="subtitleDelay">
3030
<ion-label>Delay</ion-label>
3131
<ion-button @click="onSubDelayChanged('decrease')"> - </ion-button>
3232
{{ playerData["sub-delay"] }}
3333
<ion-button @click="onSubDelayChanged('increase')"> + </ion-button>
3434
</ion-item>
35-
<ion-item class="subtitleDelay">
35+
<ion-item lines="full" class="subtitleDelay">
3636
<ion-label>Font size</ion-label>
3737
<ion-button @click="onSubFontSizeChanged('decrease')"> - </ion-button>
3838
{{ playerData["sub-font-size"] }}
3939
<ion-button @click="onSubFontSizeChanged('increase')"> + </ion-button>
4040
</ion-item>
41-
<ion-item>
41+
<ion-item lines="full">
4242
<ion-label>Show subtitle</ion-label>
4343
<ion-checkbox
4444
:checked="playerData['sub-visibility']"
@@ -47,7 +47,7 @@
4747
></ion-checkbox>
4848
</ion-item>
4949

50-
<ion-item>
50+
<ion-item lines="full">
5151
<ion-label>ASS Override</ion-label>
5252

5353
<ion-select

0 commit comments

Comments
 (0)