You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
198 lines
11 KiB
198 lines
11 KiB
@extends('layout.v2')
|
|
@section('content')
|
|
<div class="container" x-data="index">
|
|
<div class="row mt-3">
|
|
<div class="col-lg-10 offset-lg-1">
|
|
<h1>Firefly III Data Importer,
|
|
@if(str_starts_with($version, 'develop'))
|
|
{{ $version }}
|
|
@else
|
|
v{{ $version }}
|
|
@endif
|
|
</h1>
|
|
</div>
|
|
</div>
|
|
<div class="row mt-3">
|
|
<div class="col-lg-10 offset-lg-1">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
Firefly III Data Importer,
|
|
@if(str_starts_with($version, 'develop'))
|
|
{{ $version }}
|
|
@else
|
|
v{{ $version }}
|
|
@endif
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="card-text">
|
|
Welcome! This tool will help you import data into Firefly III. You can find instructions in
|
|
the <a href="https://docs.firefly-iii.org/" target="_blank">documentation</a>. Any links you
|
|
see to the documentation will open in a <em>new</em> window or tab.
|
|
</p>
|
|
<p>
|
|
To import data, you need to authenticate with Firefly III, and optionally with one of the
|
|
data sources this importer supports.
|
|
</p>
|
|
@if($pat)
|
|
<p id="firefly_expl">
|
|
You're using a Personal Access Token to <span class="text-info">authenticate</span> to
|
|
Firefly III.
|
|
</p>
|
|
@endif
|
|
@if($clientIdWithURL)
|
|
<p id="firefly_expl">
|
|
You're using a fixed Client ID and a fixed Firefly III URL to <span class="text-info">authenticate</span>
|
|
to Firefly III.
|
|
</p>
|
|
@endif
|
|
@if($URLonly)
|
|
<p id="firefly_expl">
|
|
You're using a Client ID and a fixed Firefly III URL to <span
|
|
class="text-info">authenticate</span> to Firefly III.
|
|
</p>
|
|
@endif
|
|
@if($flexible)
|
|
<p id="firefly_expl">
|
|
You're using a self-submitted Client ID and Firefly III URL to <span class="text-info">authenticate</span>
|
|
to Firefly III.
|
|
</p>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row" style="margin-top:1em;" x-show="pageProperties.connectionError">
|
|
<div class="col-lg-10 offset-lg-1">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
Configuration / connection error :(
|
|
</div>
|
|
<div class="card-body">
|
|
<p>The importer could not connect to Firefly III.
|
|
Please remedy the error below first, and check out the <a
|
|
href="https://docs.firefly-iii.org/references/faq/data-importer/general/"
|
|
target="_blank">
|
|
documentation</a> if necessary.</p>
|
|
<p class="text-danger" x-text="pageProperties.connectionErrorMessage"></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<form action="{{ route('index.post') }}/" method="post">
|
|
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
|
|
<div class="row" style="margin-top:1em;" id="importers">
|
|
<div class="col-lg-10 offset-lg-1">
|
|
<div class="row">
|
|
@if($enabled['file'])
|
|
<div class="col-lg">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
Import a file
|
|
</div>
|
|
<div class="card-body">
|
|
<button x-show="loadingFunctions.file" class="btn btn-info disabled" value="file" name="flow" disabled="disabled"
|
|
><span class="fas fa-cog fa-spin"></span></button>
|
|
<button x-show="!loadingFunctions.file && importFunctions.file" class="btn btn-info" value="file" name="flow"
|
|
>Import file</button>
|
|
<button x-show="!loadingFunctions.file && !importFunctions.file" class="btn text-white btn-danger disabled" value="file" name="flow"
|
|
disabled
|
|
><em class="fa-solid fa-face-dizzy"></em></button>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($enabled['nordigen'])
|
|
<div class="col-lg">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
Import from GoCardless
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="text-danger" x-text="errors.gocardless" x-show="'' !== errors.gocardless"></p>
|
|
<button x-show="loadingFunctions.gocardless" class="btn btn-info disabled" value="nordigen" name="flow" disabled="disabled"
|
|
><span class="fas fa-cog fa-spin"></span></button>
|
|
<button x-show="!loadingFunctions.gocardless && importFunctions.gocardless" class="btn btn-info" value="nordigen" name="flow"
|
|
>Import from GoCardless</button>
|
|
<button x-show="!loadingFunctions.gocardless && !importFunctions.gocardless" class="btn text-white btn-danger disabled" value="nordigen" name="flow"
|
|
disabled
|
|
><em class="fa-solid fa-face-dizzy"></em></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($enabled['spectre'])
|
|
<div class="col-lg">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
Import from Spectre
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="text-danger" x-text="errors.spectre" x-show="'' !== errors.spectre"></p>
|
|
<button x-show="loadingFunctions.spectre" class="btn btn-info disabled" value="spectre" name="flow" disabled="disabled"
|
|
><span class="fas fa-cog fa-spin"></span></button>
|
|
<button x-show="!loadingFunctions.spectre && importFunctions.spectre" class="btn btn-info" value="spectre" name="flow"
|
|
>Import from Spectre</button>
|
|
<button x-show="!loadingFunctions.spectre && !importFunctions.spectre" class="btn btn-danger text-white disabled" value="spectre" name="flow"
|
|
disabled
|
|
><em class="fa-solid fa-face-dizzy"></em></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($enabled['simplefin'])
|
|
<div class="col-lg">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
Import from SimpleFIN
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="text-danger" x-text="errors.simplefin" x-show="'' !== errors.simplefin"></p>
|
|
<button x-show="loadingFunctions.simplefin" class="btn btn-info disabled" value="spectre" name="flow" disabled="disabled"
|
|
><span class="fas fa-cog fa-spin"></span></button>
|
|
<button x-show="!loadingFunctions.simplefin && importFunctions.simplefin" class="btn btn-info" value="simplefin" name="flow"
|
|
>Import from SimpleFIN</button>
|
|
<button x-show="!loadingFunctions.simplefin && !importFunctions.simplefin" class="btn btn-danger text-white disabled" value="simplefin" name="flow"
|
|
disabled
|
|
><em class="fa-solid fa-face-dizzy"></em></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
<div class="row" style="margin-top:1em;" id="importers">
|
|
<div class="col-lg-10 offset-lg-1">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
Extra information
|
|
</div>
|
|
<div class="card-body">
|
|
<p>
|
|
If you change your settings, you may need to press <strong>start over</strong> for the
|
|
settings to be recognized.
|
|
If you are in doubt if the button works: your session identifier is "{{ $identifier }}" and
|
|
should change every time you
|
|
press the @if(!$isDocker)button,@else button or restart the container,@endif
|
|
but it
|
|
has to stay the same when you simply refresh the page.
|
|
</p>
|
|
<p>
|
|
<a class="btn btn-danger text-white btn-sm" href="{{ route('flush') }}" data-bs-toggle="tooltip"
|
|
data-bs-placement="top"
|
|
title="This button resets your progress">Start over</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@endsection
|
|
@section('scripts')
|
|
@vite(['src/pages/index/index.js'])
|
|
@endsection
|