|
|
- @extends('layouts.master')
-
- @section('content')
-
- @include('partials/logged-in')
-
- <div class="dashboard">
-
- <br>
- <h2>Database: {{ $database->name }}</h2>
-
- <form class="ui form">
- <div class="field">
- <label>Read Token</label>
- <input readonly="" value="{{ $database->read_token }}">
- </div>
-
- @if ($database->created_by == session('user_id'))
- <div class="field">
- <label>Write Token <a href="#" class="show-api-endpoint">(show API endpoint)</a></label>
- <input readonly="" value="{{ $database->write_token }}">
- </div>
-
- <div class="api-endpoint field hidden">
- <label>API Endpoint</label>
- <input type="text" readonly value="{{ env('BASE_URL') }}api/input?token={{ $database->write_token }}">
- </div>
- @endif
- </form>
-
- <div style="margin-top: 20px;">
- <h3>Users with Access</h3>
-
- <ul class="users">
- @foreach($users as $user)
- <li class="user">
- @if($user->id != session('user_id'))
- <a href="#" data-user="{{ $user->url }}" class="remove-user hidden">×</a>
- @endif
- {{ $user->url }}
- </li>
- @endforeach
- <li>
- <a href="javascript:$('.users .create').removeClass('hidden');$('.create-link').addClass('hidden');" class="pure-button create-link {{ session('create-error') ? 'hidden' : '' }}">New User</a>
- @if(session('create-error'))
- <div class="error">{{ session('create-error') }}</div>
- @endif
- <span class="create {{ session('create-error') ? '' : 'hidden' }}">
- <form action="/settings/{{ $database->name }}" method="post" class="ui form">
- <div class="ui action input">
- <input type="url" name="add_user" value="{{ session('add-user-url') }}" placeholder="github or indieauth url">
- <button type="submit" class="ui button primary">Add User</button>
- </div>
- </form>
- </span>
- </li>
- </ul>
-
- </div>
-
- <br>
-
- <h2>Settings</h2>
-
- <p>Here you can pick a default timezone and system of measurement to display this database in.</p>
-
- <div class="panel">
- <form action="/settings/{{ $database->name }}" method="post" class="ui form">
- <div class="field">
- <label for="timezone">Timezone</label>
- <input name="timezone" type="text" class="pure-input-1" value="{{ $database->timezone }}">
- </div>
-
- <div class="field">
- <label for="metric">System</label>
- <select name="metric" class="pure-input-1">
- <option value="0" {{ $database->metric ? '' : 'selected' }}>Imperial (miles)</option>
- <option value="1" {{ $database->metric ? 'selected' : '' }}>Metric (kilometer)</option>
- </select>
- </div>
-
- <button type="submit" class="ui button primary">Save</button>
- </form>
- </div>
- <br>
-
- <h2>Micropub Trip Export</h2>
-
- <div class="panel">
- @if (empty($database->micropub_token))
- <p>Authorize Compass with a Micropub endpoint and any trips that are written to this database will be sent to that endpoint as well.</p>
- <form action="/settings/{{ $database->name }}/auth/start" method="post" class="ui form">
- <div class="field">
- <label for="micropub_endpoint">web sign-in</label>
- <input name="me" type="url" placeholder="https://example.com/" class="pure-input-1" value="">
- </div>
-
- <button type="submit" class="ui button primary">Connect</button>
- </form>
- @else
- <form action="/settings/{{ $database->name }}/auth/remove" method="get" class="ui form">
- <div class="field">
- <p>You are currently posting to <strong>{{$database->micropub_endpoint}}</strong>. Any trips that are written to this database will be sent to that endpoint as well.</p>
- </div>
-
- <button type="submit" class="ui button primary">Disconnect</button>
- </form>
- @endif
- </div>
-
- <br>
-
- <h2>Web Hooks</h2>
-
- <p>Enter one or more URLs to ping when events occur. This will send a POST request to each URL configured when new a location is received, or a trip is started or ended.</p>
-
- <p>The POST body will be JSON encoded and will contain either a top-level property <code>location</code> or <code>trip</code>. If the trip has started, then the trip object will contain a <code>current_location</code> property. If the trip has ended, the trip object will contain a <code>end_location</code> property.</p>
-
- <p>Enter one or more URLs separated by whitespace.</p>
-
- <div class="panel">
- <form action="/settings/{{ $database->name }}" method="post" class="ui form">
- <div class="field">
- <label for="ping_urls">Ping URLs</label>
- <textarea name="ping_urls" class="pure-input-1">{{ $database->ping_urls }}</textarea>
- </div>
-
- <button type="submit" class="ui button primary">Save</button>
- </form>
- </div>
-
- <br>
-
- </div>
- <script>
- jQuery(function($){
- $(".users .user").hover(function(){
- $(this).children(".remove-user").removeClass("hidden");
- }, function(){
- $(this).children(".remove-user").addClass("hidden");
- });
- $(".remove-user").click(function(){
- $.post("/settings/{{ $database->name }}", {
- database: "{{ $database->name }}",
- remove_user: $(this).data('user')
- }, function(data){
- window.location = window.location;
- });
- return false;
- });
- $(".show-api-endpoint").click(function(){
- $(".api-endpoint").removeClass("hidden");
- $(".show-api-endpoint").addClass("hidden");
- });
- });
- </script>
- @endsection
|