mirror of
https://github.com/empayre/fleet.git
synced 2024-11-07 17:28:54 +00:00
27eae209fd
* rename dir * no need to install website or docs from npm At some point, would also be nice to be able to exclude assets/ as well, and to only install a pre-built version of Fleet's frontend code * Bring in fleetdm.com website From https://github.com/fleetdm/fleetdm.com as of https://github.com/fleetdm/fleetdm.com/releases/tag/v0.0.21 * add procfile for heroku Using https://github.com/timanovsky/subdir-heroku-buildpack * avoid getting anybody's hopes up * Create deploy-fleet-website.yml (#82) * Create deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * update pjs with SPDX-like license expressions. also fix repo URL and remove package lock * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * remove dummy uri * Dissect deploy script * Update deploy-fleet-website.yml * workaround for eslintrc nesting issue * lint fixes * forgot the .js * add per-commit git config * Update deploy-fleet-website.yml * might as well remove that * cleanup * connect w/ heroku app and have it actually push * fix bug I introduced in 578a1a01ffb8404aae869e05005e30a6ba2b2a95 * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * the beauty, the glory, of javascript * GH actions don't like "\n" * Update deploy-fleet-website.yml * restore \n chars from 0d45e568f693efba7d7072085bc98d72a482d9ae hoping I was wrong in 0d45e568f693efba7d7072085bc98d72a482d9ae but see also https://github.community/t/what-is-the-correct-character-escaping-for-workflow-command-values-e-g-echo-xxxx/118465/5 * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * Update deploy-fleet-website.yml * rename script to prevent duplicate building * Configure the real website * clean up * a test of the deploy workflow * add handbook to npmignore * I guess you could call this fixing a typo * point workflow at master branch * now clearly bogus: this completely unused version string
109 lines
5.5 KiB
Plaintext
Vendored
109 lines
5.5 KiB
Plaintext
Vendored
<div id="account-overview" v-cloak>
|
|
<div class="container pt-5 pb-5">
|
|
<h1>My account</h1>
|
|
<hr/>
|
|
<div class="row mb-3">
|
|
<div class="col-sm-6">
|
|
<h4>Personal information</h4>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<span class="float-sm-right">
|
|
<a style="width: 150px" class="btn btn-sm btn-outline-info" href="/account/profile">Edit profile</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-3">Name:</div>
|
|
<div class="col"><strong>{{me.fullName}}</strong></div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-3">Email:</div>
|
|
<div class="col">
|
|
<strong :class="[me.emailStatus === 'unconfirmed' || me.emailStatus === 'change-requested' ? 'text-muted' : '']">{{me.emailChangeCandidate ? me.emailChangeCandidate : me.emailAddress}}</strong>
|
|
<span v-if="me.emailStatus === 'unconfirmed' || me.emailStatus === 'change-requested'" class="badge badge-pill badge-warning">Unverified</span>
|
|
</div>
|
|
</div>
|
|
<hr/>
|
|
<div class="row mb-3">
|
|
<div class="col-sm-6">
|
|
<h4>Password</h4>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<span class="float-sm-right">
|
|
<a style="width: 150px" class="btn btn-sm btn-outline-info" href="/account/password">Change password</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-3">Password:</div>
|
|
<div class="col"><strong>••••••••••</strong></div>
|
|
</div>
|
|
<hr/>
|
|
<div class="row mb-3" v-if="isBillingEnabled">
|
|
<div class="col-sm-6">
|
|
<h4>Billing</h4>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<span class="float-sm-right">
|
|
<button style="width: 150px;" class="btn btn-sm btn-outline-info" @click="clickUpdateBillingCardButton()">{{ me.hasBillingCard ? 'Change card' : '+ Add card' }}</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div v-if="isBillingEnabled && me.hasBillingCard">
|
|
<div class="row">
|
|
<div class="col-3">Credit card:</div>
|
|
<div class="col">{{me.billingCardBrand}} ending in <strong>{{me.billingCardLast4}}</strong> <a style="text-decoration: underline; cursor: pointer;" class="ml-2" purpose="remove-button" @click="clickRemoveCardButton()">Remove</a></div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-3">Expiration:</div>
|
|
<div class="col">{{me.billingCardExpMonth}}/{{me.billingCardExpYear}}</div>
|
|
</div>
|
|
</div>
|
|
<div class="alert alert-danger" v-else-if="isBillingEnabled && cloudError">
|
|
There was an error updating your credit card information. Please check your information and try again, or <a href="/contact">contact support</a> if the error persists.
|
|
</div>
|
|
<div class="alert alert-secondary" v-else-if="isBillingEnabled">
|
|
You have not linked a payment source to your account. In order to access paid features, you'll need to provide your credit card information. (Don't worry: you will only be charged when you've reached the limit of your free plan.)
|
|
</div>
|
|
</div>
|
|
|
|
<% /* Modify Card Info Modal */ %>
|
|
<modal v-if="modal === 'update-billing-card'" @close="closeModal()" v-cloak>
|
|
<div class="modal-header">
|
|
<h2 class="modal-title">{{me.hasBillingCard? 'Edit' : 'Add' }} card</h2>
|
|
</div>
|
|
<ajax-form :handle-submitting="handleSubmittingUpdateBillingCard" :syncing.sync="syncing" :cloud-error.sync="cloudError" :form-data="formData" :form-rules="formRules" :form-errors.sync="formErrors" @submitted="submittedUpdateBillingCard()">
|
|
<div class="modal-body">
|
|
<div class="form-group">
|
|
<label>Credit card</label>
|
|
<stripe-card-element :stripe-publishable-key="stripePublishableKey" :is-errored.sync="formErrors.newPaymentSource" v-model="formData.newPaymentSource" key="billing-card" ref="billingcardref"></stripe-card-element>
|
|
</div>
|
|
<p class="text-danger" v-if="cloudError"><small>An error occured while processing your request. Please check your information and try again, or <a href="/contact">contact support</a> if the error persists.</small></p>
|
|
</div>
|
|
<div class="modal-footer flex-row-reverse justify-content-start">
|
|
<ajax-button :syncing="syncing" class="btn btn-info">Save card</ajax-button>
|
|
<button type="button" class="btn btn-outline-danger mr-2" data-dismiss="modal">Cancel</button>
|
|
</div>
|
|
</ajax-form>
|
|
</modal>
|
|
|
|
<% /* Confirm Remove Card Info Modal */ %>
|
|
<modal v-if="modal === 'remove-billing-card'" @close="closeModal()" v-cloak>
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Remove Card Info?</h5>
|
|
</div>
|
|
<ajax-form action="updateBillingCard" :syncing.sync="syncingRemoveCard" :cloud-error.sync="cloudError" :form-data="formData" :form-rules="formRules" :form-errors.sync="formErrors" @submitted="submittedRemoveCardForm()">
|
|
<div class="modal-body text-center">
|
|
<p>Are you sure you want to remove your {{me.billingCardBrand}} ending in <strong>{{me.billingCardLast4}}</strong>?</p>
|
|
<p class="text-muted mb-0">This may restrict your access to paid features.</p>
|
|
<cloud-error v-if="cloudError"></cloud-error>
|
|
</div>
|
|
<div class="modal-footer border-0 justify-content-center">
|
|
<button data-dismiss="modal" class="btn btn-outline-secondary mr-2">Never mind</button>
|
|
<ajax-button type="submit" :syncing="syncingRemoveCard" class="btn btn-danger ml-2">Remove</ajax-button>
|
|
</div>
|
|
</ajax-form>
|
|
</modal>
|
|
</div>
|
|
<%- /* Expose locals as `window.SAILS_LOCALS` :: */ exposeLocalsToBrowser() %>
|