Skip to content
This repository was archived by the owner on Feb 6, 2024. It is now read-only.

Commit 0b06e2f

Browse files
merge: from master
2 parents d232c84 + 1c56dfc commit 0b06e2f

File tree

6 files changed

+31
-15
lines changed

6 files changed

+31
-15
lines changed

studio/src/app/components/core/app-menu-user/app-menu-user.tsx

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export class AppMenuUser {
7676

7777
componentDidLoad() {
7878
this.deckSubscription = this.deckEditorService.watch().subscribe(async (deck: Deck) => {
79-
await this.updateDeckName(deck);
79+
await this.updateDeckList(deck);
8080
});
8181
}
8282

@@ -110,7 +110,7 @@ export class AppMenuUser {
110110
});
111111
}
112112

113-
private updateDeckName(deck: Deck): Promise<void> {
113+
private updateDeckList(deck: Deck): Promise<void> {
114114
return new Promise<void>((resolve) => {
115115
if (!deck || !deck.id || !deck.name) {
116116
resolve();
@@ -127,25 +127,30 @@ export class AppMenuUser {
127127
});
128128

129129
if (index < 0) {
130-
resolve();
131-
return;
130+
this.decks = [...this.decks, deck];
131+
} else {
132+
this.decks[index].name = deck.name;
133+
this.decks = [...this.decks];
132134
}
133135

134-
this.decks[index].name = deck.name;
135-
this.decks = [...this.decks];
136-
137136
resolve();
138137
});
139138
}
140139

140+
private navigateNewDeck() {
141+
this.navService.navigate({
142+
url: '/editor',
143+
direction: NavDirection.ROOT
144+
})
145+
}
146+
141147
render() {
142148
return <ion-list>
143149
{this.renderUser()}
144150

145151
<ion-item-divider>
146152
<ion-label>Presentations</ion-label>
147-
<ion-button size="small" slot="end" shape="round" margin-end href="/editor"
148-
routerDirection="forward" class="new">
153+
<ion-button size="small" slot="end" shape="round" margin-end onClick={() => this.navigateNewDeck()} class="new">
149154
<ion-icon name="book" slot="start"></ion-icon>
150155
<ion-label>New</ion-label>
151156
</ion-button>
@@ -197,7 +202,7 @@ export class AppMenuUser {
197202
this.decks.map((deck: Deck) => {
198203
const url: string = `/editor/${deck.id}`;
199204

200-
return <ion-item href={url} routerDirection="forward">
205+
return <ion-item href={url} routerDirection="root">
201206
<ion-icon name="book" slot="start"></ion-icon>
202207
<ion-label>{deck.name}</ion-label>
203208
</ion-item>

studio/src/app/components/feed/app-demo/app-demo.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ div.tablet-container {
211211

212212
div.beamer-container {
213213
height: 240px;
214+
padding: 0 16px;
214215
}
215216

216217
div.beamer-container, div.laptop-container, div.tablet-container, div.smartphone-container {

studio/src/app/components/feed/app-demo/app-demo.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export class AppDemo {
8989

9090
private renderBeamer() {
9191
if (this.type === DemoType.BEAMER) {
92-
return <div class="beamer-container">
92+
return <div class="beamer-container" padding>
9393
<iframe src="https://www.deckdeckgo.com" />
9494
</div>
9595
} else {

studio/src/app/components/feed/app-popular/app-popular.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ export class AppPopular {
2222

2323
<p padding-top padding-bottom>It is also an online community for sharing presentations, slides and talks about your interests and ideas.</p>
2424
</ion-card-content>
25-
</ion-card>,
26-
<ion-card class="demo">
25+
2726
<app-demo></app-demo>
2827
</ion-card>
2928
];

studio/src/app/handlers/editor/deck-events/deck-events.handler.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import {SlideAttributes} from '../../../models/slide-attributes';
77
import {User} from '../../../models/user';
88
import {Deck} from '../../../models/deck';
99

10+
import {Utils} from '../../../utils/core/utils';
11+
1012
import {SlideService} from '../../../services/slide/slide.service';
1113
import {DeckService} from '../../../services/deck/deck.service';
1214
import {ErrorService} from '../../../services/error/error.service';
@@ -174,10 +176,9 @@ export class DeckEventsHandler {
174176
this.deckEditorService.next(updatedDeck);
175177
} else {
176178
this.userService.watch().pipe(filter((user: User) => user !== null && user !== undefined), take(1)).subscribe(async (user: User) => {
177-
// TODO: Deck name to be solve with the UX
178179
deck = {
179180
slides: [slide.id],
180-
name: 'Presentation A',
181+
name: `Presentation ${await Utils.getNow()}`,
181182
owner_id: user.id
182183
};
183184

studio/src/app/utils/core/utils.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {AuthUser} from '../../models/auth-user';
2+
import DateTimeFormatOptions = Intl.DateTimeFormatOptions;
23

34
export class Utils {
45

@@ -57,5 +58,14 @@ export class Utils {
5758
static isLoggedIn(authUser: AuthUser): boolean {
5859
return authUser && !authUser.anonymous;
5960
}
61+
62+
static getNow(): Promise<string> {
63+
return new Promise<string>((resolve) => {
64+
const options: DateTimeFormatOptions = {year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false};
65+
const now: string = new Intl.DateTimeFormat('en-US', options).format(new Date());
66+
67+
resolve(now);
68+
});
69+
}
6070
}
6171

0 commit comments

Comments
 (0)