Skip to content
This repository was archived by the owner on Feb 6, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cli/src/fonts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ function filterFonts(fontsList: FontsList) {
if (input && input.length >= 3) {
return true;
} else {
return 'Please provide at least 3 characters for the font\'s family name';
return "Please provide at least 3 characters for the font's family name";
}
},
},
Expand Down
190 changes: 95 additions & 95 deletions infra/nix/sources.json
Original file line number Diff line number Diff line change
@@ -1,97 +1,97 @@
{
"deckdeckgo-starter": {
"branch": "master",
"description": "The Progressive Web App alternative for simple presentations",
"homepage": "https://deckdeckgo.com",
"owner": "deckgo",
"repo": "studio-kit",
"rev": "58357c71466e36d1e8d0973f06ab0fd9c5c8f5c3",
"sha256": "178bfwqv2afy1v3r4knm2byhj2yf63dx1s85g3k8k4rfz42vkk29",
"type": "tarball",
"url": "https://github.com/deckgo/studio-kit/archive/58357c71466e36d1e8d0973f06ab0fd9c5c8f5c3.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"elasticmq": {
"sha256": "1cp2pmkc6gx7gr6109jlcphlky5rr6s1wj528r6hyhzdc01sjhhz",
"type": "file",
"url": "https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-0.14.6.jar",
"url_template": "https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-0.14.6.jar"
},
"hs-jose": {
"branch": "master",
"description": "Haskell JOSE and JWT library",
"homepage": "http://hackage.haskell.org/package/jose",
"owner": "frasertweedale",
"repo": "hs-jose",
"rev": "71274bf64c0600c1d877152173a08a5bff7adf4d",
"sha256": "0ah189vika1s0jk8f17mn77gilkw24vbs6xlggxw1qj926i6c4pk",
"type": "tarball",
"url": "https://github.com/frasertweedale/hs-jose/archive/71274bf64c0600c1d877152173a08a5bff7adf4d.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"napalm": {
"branch": "master",
"description": "Support for building npm packages in Nix and lightweight npm registry",
"homepage": "",
"owner": "nmattia",
"repo": "napalm",
"rev": "0331a5b586a186c966f816d434bd5c1ecfa16089",
"sha256": "14nlqmmv3xx4cf3r9kcw2xbfgpddppw27ygp8s3r0bbccgwcp9gi",
"type": "tarball",
"url": "https://github.com/nmattia/napalm/archive/0331a5b586a186c966f816d434bd5c1ecfa16089.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"niv": {
"branch": "master",
"description": "Easy dependency management for Nix projects",
"homepage": "https://github.com/nmattia/niv",
"owner": "nmattia",
"repo": "niv",
"rev": "c2698b0780b783880e0b1a520723948fe3b5c26a",
"sha256": "0v68x0h9si6kjqg5fcjrgsbsf4x18m32a786yvjmrdkrki9qwmcq",
"type": "tarball",
"url": "https://github.com/nmattia/niv/archive/c2698b0780b783880e0b1a520723948fe3b5c26a.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"nixpkgs": {
"branch": "master",
"description": "Nixpkgs/NixOS branches that track the Nixpkgs/NixOS channels",
"homepage": null,
"owner": "nh2",
"repo": "nixpkgs",
"rev": "a2d7e9b875e8ba7fd15b989cf2d80be4e183dc72",
"sha256": "1hnmp637r99qd6g0sbx4w3za564gbzwl5c4z0x7fvn7kfi2jp1hx",
"type": "tarball",
"url": "https://github.com/nh2/nixpkgs/archive/a2d7e9b875e8ba7fd15b989cf2d80be4e183dc72.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"port-utils": {
"sha256": "1vfmm8mmkmfffgza64h6qz4ibniibqdr8mj452ikp1xmvv6m8qm9",
"type": "tarball",
"url": "http://hackage.haskell.org/package/port-utils-0.2.1.0/port-utils-0.2.1.0.tar.gz",
"url_template": "http://hackage.haskell.org/package/port-utils-0.2.1.0/port-utils-0.2.1.0.tar.gz"
},
"static-haskell-nix": {
"branch": "master",
"description": "easily build most Haskell programs into fully static Linux executables",
"homepage": "",
"owner": "nh2",
"repo": "static-haskell-nix",
"rev": "8d004d7ced9da947c785b93b4011f39367442339",
"sha256": "0nw4g23c5rs0cvaar2phpr60zim9r0qycznpifi8d8k85y4r3bdd",
"type": "tarball",
"url": "https://github.com/nh2/static-haskell-nix/archive/8d004d7ced9da947c785b93b4011f39367442339.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"wai-lambda": {
"branch": "master",
"description": "Haskell Webapps on AWS Lambda",
"owner": "deckgo",
"repo": "wai-lambda",
"rev": "7f139047addff89e9d30e55b7eebb07c0e846456",
"sha256": "0qqi6wlg8v35dkh6gh9mrj0kb9kpzrz2pc7k0dykk2ahcj6m22k6",
"type": "tarball",
"url": "https://github.com/deckgo/wai-lambda/archive/7f139047addff89e9d30e55b7eebb07c0e846456.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}
"deckdeckgo-starter": {
"branch": "master",
"description": "The Progressive Web App alternative for simple presentations",
"homepage": "https://deckdeckgo.com",
"owner": "deckgo",
"repo": "studio-kit",
"rev": "58357c71466e36d1e8d0973f06ab0fd9c5c8f5c3",
"sha256": "178bfwqv2afy1v3r4knm2byhj2yf63dx1s85g3k8k4rfz42vkk29",
"type": "tarball",
"url": "https://github.com/deckgo/studio-kit/archive/58357c71466e36d1e8d0973f06ab0fd9c5c8f5c3.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"elasticmq": {
"sha256": "1cp2pmkc6gx7gr6109jlcphlky5rr6s1wj528r6hyhzdc01sjhhz",
"type": "file",
"url": "https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-0.14.6.jar",
"url_template": "https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-0.14.6.jar"
},
"hs-jose": {
"branch": "master",
"description": "Haskell JOSE and JWT library",
"homepage": "http://hackage.haskell.org/package/jose",
"owner": "frasertweedale",
"repo": "hs-jose",
"rev": "71274bf64c0600c1d877152173a08a5bff7adf4d",
"sha256": "0ah189vika1s0jk8f17mn77gilkw24vbs6xlggxw1qj926i6c4pk",
"type": "tarball",
"url": "https://github.com/frasertweedale/hs-jose/archive/71274bf64c0600c1d877152173a08a5bff7adf4d.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"napalm": {
"branch": "master",
"description": "Support for building npm packages in Nix and lightweight npm registry",
"homepage": "",
"owner": "nmattia",
"repo": "napalm",
"rev": "0331a5b586a186c966f816d434bd5c1ecfa16089",
"sha256": "14nlqmmv3xx4cf3r9kcw2xbfgpddppw27ygp8s3r0bbccgwcp9gi",
"type": "tarball",
"url": "https://github.com/nmattia/napalm/archive/0331a5b586a186c966f816d434bd5c1ecfa16089.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"niv": {
"branch": "master",
"description": "Easy dependency management for Nix projects",
"homepage": "https://github.com/nmattia/niv",
"owner": "nmattia",
"repo": "niv",
"rev": "c2698b0780b783880e0b1a520723948fe3b5c26a",
"sha256": "0v68x0h9si6kjqg5fcjrgsbsf4x18m32a786yvjmrdkrki9qwmcq",
"type": "tarball",
"url": "https://github.com/nmattia/niv/archive/c2698b0780b783880e0b1a520723948fe3b5c26a.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"nixpkgs": {
"branch": "master",
"description": "Nixpkgs/NixOS branches that track the Nixpkgs/NixOS channels",
"homepage": null,
"owner": "nh2",
"repo": "nixpkgs",
"rev": "a2d7e9b875e8ba7fd15b989cf2d80be4e183dc72",
"sha256": "1hnmp637r99qd6g0sbx4w3za564gbzwl5c4z0x7fvn7kfi2jp1hx",
"type": "tarball",
"url": "https://github.com/nh2/nixpkgs/archive/a2d7e9b875e8ba7fd15b989cf2d80be4e183dc72.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"port-utils": {
"sha256": "1vfmm8mmkmfffgza64h6qz4ibniibqdr8mj452ikp1xmvv6m8qm9",
"type": "tarball",
"url": "http://hackage.haskell.org/package/port-utils-0.2.1.0/port-utils-0.2.1.0.tar.gz",
"url_template": "http://hackage.haskell.org/package/port-utils-0.2.1.0/port-utils-0.2.1.0.tar.gz"
},
"static-haskell-nix": {
"branch": "master",
"description": "easily build most Haskell programs into fully static Linux executables",
"homepage": "",
"owner": "nh2",
"repo": "static-haskell-nix",
"rev": "8d004d7ced9da947c785b93b4011f39367442339",
"sha256": "0nw4g23c5rs0cvaar2phpr60zim9r0qycznpifi8d8k85y4r3bdd",
"type": "tarball",
"url": "https://github.com/nh2/static-haskell-nix/archive/8d004d7ced9da947c785b93b4011f39367442339.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"wai-lambda": {
"branch": "master",
"description": "Haskell Webapps on AWS Lambda",
"owner": "deckgo",
"repo": "wai-lambda",
"rev": "7f139047addff89e9d30e55b7eebb07c0e846456",
"sha256": "0qqi6wlg8v35dkh6gh9mrj0kb9kpzrz2pc7k0dykk2ahcj6m22k6",
"type": "tarball",
"url": "https://github.com/deckgo/wai-lambda/archive/7f139047addff89e9d30e55b7eebb07c0e846456.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}
}
12 changes: 6 additions & 6 deletions studio/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion studio/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"@deckdeckgo/social": "^3.0.0",
"@deckdeckgo/utils": "^1.3.0",
"@deckdeckgo/youtube": "^2.0.0",
"@ionic/core": "^5.3.4",
"@ionic/core": "^5.3.5",
"firebase": "^7.21.1",
"idb-keyval": "^3.2.0",
"socket.io-client": "^2.3.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export class AppActionBusy {
return (
<button onClick={(e: UIEvent) => this.action(e)} disabled={store.state.deckBusy} class="ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src={this.iconSrc}></ion-icon>
<ion-icon aria-hidden="true" src={this.iconSrc}></ion-icon>
<slot></slot>
</button>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ export class AppActionHelp {
);
} else {
return (
<button onClick={($event: UIEvent) => this.openGetHelp($event)} class="get-help-action ion-activatable">
<button aria-label="Help" onClick={($event: UIEvent) => this.openGetHelp($event)} class="get-help-action ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src="/assets/icons/ionicons/help.svg"></ion-icon>
<ion-label>Help</ion-label>
<ion-icon aria-hidden="true" src="/assets/icons/ionicons/help.svg"></ion-icon>
<ion-label aria-hidden="true">Help</ion-label>
</button>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@ export class AppActionShare {

render() {
return (
<button onClick={($event: UIEvent) => this.share($event)} class="ion-activatable">
<button aria-label="Share" onClick={($event: UIEvent) => this.share($event)} class="ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src="/assets/icons/ionicons/share.svg"></ion-icon>
<ion-label>Share</ion-label>
<ion-icon aria-hidden="true" src="/assets/icons/ionicons/share.svg"></ion-icon>
<ion-label aria-hidden="true">Share</ion-label>
</button>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -515,62 +515,73 @@ export class AppActionsDeck {
return (
<ion-toolbar>
<ion-buttons slot="start">
<app-action-busy iconSrc="/assets/icons/ionicons/add.svg" onActionReady={($event: CustomEvent) => this.onActionOpenSlideAdd($event)}>
<ion-label>Add slide</ion-label>
<app-action-busy
aria-label="Add slide"
iconSrc="/assets/icons/ionicons/add.svg"
onActionReady={($event: CustomEvent) => this.onActionOpenSlideAdd($event)}>
<ion-label aria-hidden="true">Add slide</ion-label>
</app-action-busy>

<button onClick={() => this.animatePrevNextSlide.emit(false)} class="ion-activatable">
<button aria-label="Previous" onClick={() => this.animatePrevNextSlide.emit(false)} class="ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src="/assets/icons/ionicons/arrow-back.svg"></ion-icon>
<ion-label>Previous</ion-label>
<ion-icon aria-hidden="true" src="/assets/icons/ionicons/arrow-back.svg"></ion-icon>
<ion-label aria-hidden="true">Previous</ion-label>
</button>

<button onClick={() => this.animatePrevNextSlide.emit(true)} class="ion-activatable">
<button aria-label="Next" onClick={() => this.animatePrevNextSlide.emit(true)} class="ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src="/assets/icons/ionicons/arrow-forward.svg"></ion-icon>
<ion-label>Next</ion-label>
<ion-icon aria-hidden="true" src="/assets/icons/ionicons/arrow-forward.svg"></ion-icon>
<ion-label aria-hidden="true">Next</ion-label>
</button>

<button onClick={() => this.openSlideNavigate()} color="primary" class="ion-activatable">
<button aria-label="Slides" onClick={() => this.openSlideNavigate()} color="primary" class="ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src="/assets/icons/ionicons/md-list.svg"></ion-icon>
<ion-label>Slides</ion-label>
<ion-icon aria-hidden="true" src="/assets/icons/ionicons/md-list.svg"></ion-icon>
<ion-label aria-hidden="true">Slides</ion-label>
</button>

<app-action-busy iconSrc="/assets/icons/ionicons/brush.svg" class="wider-devices" onActionReady={() => this.openDeckStyle()}>
<ion-label>Style</ion-label>
<app-action-busy aria-label="Style" iconSrc="/assets/icons/ionicons/brush.svg" class="wider-devices" onActionReady={() => this.openDeckStyle()}>
<ion-label aria-hidden="true">Style</ion-label>
</app-action-busy>

{this.renderFullscreenButton()}

<button onClick={($event: UIEvent) => this.openRemote($event)} color="primary" class="wider-devices open-remote ion-activatable">
<button aria-label="Remote" onClick={($event: UIEvent) => this.openRemote($event)} color="primary" class="wider-devices open-remote ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src="/assets/icons/ionicons/phone-portrait.svg"></ion-icon>
<ion-label>Remote</ion-label>
<ion-icon aria-hidden="true" src="/assets/icons/ionicons/phone-portrait.svg"></ion-icon>
<ion-label aria-hidden="true">Remote</ion-label>
</button>
</ion-buttons>

<ion-buttons slot="end">
<app-action-share class="wider-devices" onOpenEmbed={() => this.openEmbed()}></app-action-share>

<button onClick={() => this.goOnlineOffline()} color="primary" class="wider-devices ion-activatable">
<button
aria-label={offlineStore.state.offline ? 'Go online' : 'Go offline'}
onClick={() => this.goOnlineOffline()}
color="primary"
class="wider-devices ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src={`/assets/icons/ionicons/${offlineStore.state.offline ? 'cloud-done' : 'cloud-offline'}.svg`}></ion-icon>
{offlineStore.state.offline ? <ion-label>Go online</ion-label> : <ion-label>Go offline</ion-label>}
<ion-icon aria-hidden="true" src={`/assets/icons/ionicons/${offlineStore.state.offline ? 'cloud-done' : 'cloud-offline'}.svg`}></ion-icon>
{offlineStore.state.offline ? <ion-label aria-hidden="true">Go online</ion-label> : <ion-label aria-hidden="true">Go offline</ion-label>}
</button>

<app-action-help class="wider-devices"></app-action-help>

<button onClick={($event: UIEvent) => this.openRemote($event)} color="primary" class="small-devices open-remote-small-devices ion-activatable">
<button
aria-label="Remote"
onClick={($event: UIEvent) => this.openRemote($event)}
color="primary"
class="small-devices open-remote-small-devices ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src="/assets/icons/ionicons/phone-portrait.svg"></ion-icon>
<ion-label>Remote</ion-label>
<ion-icon aria-hidden="true" src="/assets/icons/ionicons/phone-portrait.svg"></ion-icon>
<ion-label aria-hidden="true">Remote</ion-label>
</button>

<button onClick={(e: UIEvent) => this.openMoreActions(e)} color="primary" class="small-devices ion-activatable">
<ion-ripple-effect></ion-ripple-effect>
<ion-icon src="/assets/icons/ionicons/ellipsis-vertical.svg"></ion-icon>
<ion-label>More</ion-label>
<ion-icon aria-hidden="true" src="/assets/icons/ionicons/ellipsis-vertical.svg"></ion-icon>
<ion-label aria-hidden="true">More</ion-label>
</button>
</ion-buttons>
</ion-toolbar>
Expand All @@ -592,9 +603,9 @@ export class AppActionsDeck {

private renderFullscreen() {
if (this.fullscreen) {
return [<ion-icon src="/assets/icons/ionicons/contract.svg"></ion-icon>, <ion-label>Exit fullscreen</ion-label>];
return [<ion-icon aria-hidden="true" src="/assets/icons/ionicons/contract.svg"></ion-icon>, <ion-label aria-hidden="true">Exit fullscreen</ion-label>];
} else {
return [<ion-icon src="/assets/icons/ionicons/expand.svg"></ion-icon>, <ion-label>Fullscreen</ion-label>];
return [<ion-icon aria-hidden="true" src="/assets/icons/ionicons/expand.svg"></ion-icon>, <ion-label aria-hidden="true">Fullscreen</ion-label>];
}
}
}
Loading