240 lines
11 KiB
HTML
240 lines
11 KiB
HTML
<div class="container">
|
||
<div class="row">
|
||
|
||
<h1>Create a new Website</h1>
|
||
<button class="btn btn-primary btn-lg" title="..." data-toggle="modal" data-target=".create-website-modal">
|
||
Create Website
|
||
</button>
|
||
|
||
<hr>
|
||
|
||
<div class="modal fade create-website-modal" tabindex="-1" role="dialog" aria-labelledby="create-website-modal" aria-hidden="true">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="close" data-dismiss="modal" ng-click="vm.showSharesList = false; vm.showListFiles = false;"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||
<h4 class="modal-title">Create a new Website</h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<h4>Select a domain</h4>
|
||
|
||
<div class="input-group">
|
||
<div angucomplete-alt
|
||
placeholder="Select a domain"
|
||
pause="300"
|
||
selected-object="vm.selectedDomain"
|
||
local-data="domain"
|
||
local-search="localDomainSearch"
|
||
title-field="domain"
|
||
minlength="0"
|
||
input-class="form-control trigger-dropdown"
|
||
match-class="highlight">
|
||
</div>
|
||
<!-- <input type="text" class="form-control" placeholder="Select a domain" aria-label="Domain Name" ng-model="vm.newDomain" ng-change="vm.setDomain()" /> -->
|
||
<div class="input-group-btn">
|
||
<div class="btn-group">
|
||
<button type="button" class="btn btn-default trigger-dropdown" aria-haspopup="true" aria-expanded="false" ng-click="vm.triggerDropdown()"><span class="caret"></span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="input-group">
|
||
<input type="text" class="form-control" placeholder="www" ng-model="vm.newRecord" ng-change="vm.setRecord()" />
|
||
<div class="input-group-btn">
|
||
<div class="btn-group">
|
||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>
|
||
</button>
|
||
<ul class="dropdown-menu">
|
||
<li ng-repeat="record in vm.records track by $index"><button class="btn btn-link" ng-bind="record.sub" ng-click="vm.selectRecord(record)">www</button></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="input-group">
|
||
<div>
|
||
<label>Select .zip upload</label>
|
||
<input type="file" class="js-file-upload this-has-a-special-non-angular-event-handler" />
|
||
</div>
|
||
<div ng-if="vm.isZip" >
|
||
<label>
|
||
<input type="checkbox" ng-model="vm.unzip" />
|
||
Unpack .zip
|
||
</label>
|
||
</div>
|
||
<div ng-if="vm.unzip" >
|
||
<label>
|
||
<input type="checkbox" ng-model="vm.stripZip" />
|
||
Strip zip directory root
|
||
</label>
|
||
</div>
|
||
<!-- <div ng-if="vm.isZip" ><label>Unzip directory</label> <input type="text" ng-model="vm.unzipPath" /></div -->
|
||
<div ng-if="vm.uploadTotal">
|
||
<span ng-bind="vm.uploadPercent">99</span>% | <span ng-bind="vm.uploadProgress">1</span> MiB / <span ng-bind="vm.uploadTotal">100</span> MiB
|
||
</div>
|
||
<div>
|
||
<label>Web path</label>
|
||
<input type="text" class="form-control" ng-model="vm.uploadPath" />
|
||
</div>
|
||
<button ng-click="vm.Sites.create()" type="button" name="button" class="btn btn-default">Create Website</button>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.showSharesList = false; vm.showListFiles = false;">Close</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="invite-card-container">
|
||
<div class="invite-option">
|
||
<h1>Enter Invite Code</h1>
|
||
<hr />
|
||
<input type="text" class="form-control" ng-model="vm.Shares.inviteToken" />
|
||
<hr />
|
||
<div class="price">
|
||
<div class="front">
|
||
<span class="price"> </span>
|
||
</div>
|
||
<div class="">
|
||
<a class="btn btn-primary" ng-click="vm.Shares.accept()">Accept Invite</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<hr>
|
||
<div class="row">
|
||
<div class="websites-tile">
|
||
<h1>Your Websites</h1>
|
||
<ul class="cards">
|
||
<li class="cards__item" ng-repeat="r in vm.sites">
|
||
<div class="card">
|
||
<div class="card__image card__image--fence">
|
||
<iframe src="{{ r.urlSafeDomain }}" width="350" height="350"></iframe>
|
||
</div>
|
||
<div class="card__content">
|
||
<div class="card__title text-center"><a ng-href="https://{{ r.domain }}" target="_blank" ng-bind="r.domain">example.com</a></div>
|
||
<button class="btn btn--block card__btn" data-toggle="modal" data-target=".{{ r.challenge }}" ng-click="vm.closeAllOpenActions()">Edit</button>
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
<div class="modal fade {{ r.challenge }}" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" ng-repeat="r in vm.sites">
|
||
<div class="modal-dialog modal-lg" role="document">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="close" data-dismiss="modal" ng-click="vm.closeAllOpenActions()"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||
<h4 class="modal-title"><a ng-href="https://{{ r.domain }}" target="_blank" ng-bind="r.urlSafeDomain">example.com</a></h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="website-menu container" ng-hide="vm.websiteTiles">
|
||
<div class="row">
|
||
<div class="col-md-3">
|
||
<div class="square-service-block">
|
||
<a ng-click="vm.showAction('invite')" class="cp">
|
||
<div class="ssb-icon"><i class="fa fa-share-square-o" aria-hidden="true"></i></div>
|
||
<h2 class="ssb-title">Invite</h2>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3">
|
||
<div class="square-service-block">
|
||
<a ng-click="vm.showAction('shares'); vm.Shares.list(r)" class="cp">
|
||
<div class="ssb-icon"> <i class="fa fa-list-alt" aria-hidden="true"></i> </div>
|
||
<h2 class="ssb-title">Shares</h2>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3">
|
||
<div class="square-service-block">
|
||
<a ng-click="vm.showAction('files'); vm.Sites.contents(r)" class="cp">
|
||
<div class="ssb-icon"><i class="fa fa-sitemap" aria-hidden="true"></i></div>
|
||
<h2 class="ssb-title">Files</h2>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col-md-3">
|
||
<div class="square-service-block">
|
||
<a ng-href="https://{{ r.domain }}" target="_blank" class="cp">
|
||
<div class="ssb-icon"><i class="fa fa-globe" aria-hidden="true"></i></div>
|
||
<h2 class="ssb-title">Website</h2>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3">
|
||
<div class="square-service-block">
|
||
<a ng-click="vm.Sites.archive(r)" class="cp">
|
||
<div class="ssb-icon"><i class="fa fa-file-archive-o" aria-hidden="true"></i></div>
|
||
<h2 class="ssb-title">Download</h2>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="col-md-3">
|
||
<div class="square-service-block">
|
||
<a ng-click="vm.Sites.remove(r)" class="cp">
|
||
<div class="ssb-icon"><i class="fa fa-trash" aria-hidden="true"></i></div>
|
||
<h2 class="ssb-title">Delete</h2>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div ng-show="vm.showInviteContainer">
|
||
<h1>TODO:// FIX THIS UGLY</h1>
|
||
<form class="form-inline text-center">
|
||
<div class="form-group">
|
||
<input type="text" ng-model="r.shareEmail" class="form-control" placeholder="ex: john@example.com" />
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="text" ng-model="r.sharePath" class="form-control" placeholder="/" />
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="text" ng-model="r.shareMode" class="form-control" placeholder="rwx (read, write, invite)" />
|
||
</div>
|
||
<button type="submit" class="btn btn-success" ng-click="vm.Shares.invite(r)">Invite</button>
|
||
</form>
|
||
</div>
|
||
<div ng-show="vm.showSharesContainer">
|
||
<span class="text-muted" ng-if="r.sharedWith.length === 1">Currently not shared with anyone...</span>
|
||
<ul class="shares-container" ng-repeat="share in r.sharedWith" ng-if="!share.me">
|
||
<li>
|
||
<div class="media">
|
||
<div class="media-left align-self-center">
|
||
<img class="rounded-circle" src="http://s3.amazonaws.com/37assets/svn/765-default-avatar.png">
|
||
</div>
|
||
<div class="media-body">
|
||
<h4 ng-bind="share.comment">friend@email.com</h4>
|
||
<p><b>Share Path:</b> <span ng-bind="share.path" class="text-muted">/</span></p>
|
||
<p><b>Actions Allowed:</b> <span ng-bind="share.mode" class="text-muted">rwx</span></p>
|
||
<p><b>Invite:</b> <em ng-if="share.pending" class="text-muted">pending</em></p>
|
||
</div>
|
||
<div class="media-right align-self-center">
|
||
<button class="btn btn-danger" ng-click="vm.Shares.remove(r, share)">Remove Access</button>
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div ng-show="vm.showFilesContainer">
|
||
<file-tree r="r"></file-tree>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer ">
|
||
<button type="button" class="btn btn-primary pull-left" ng-show="vm.showBackBtn" ng-click="vm.closeAllOpenActions()">Back</button>
|
||
<button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.closeAllOpenActions()">Close</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|