remove orange pill modal

This commit is contained in:
HolgerHatGarKeineNode
2023-02-19 16:16:55 +01:00
parent 2f05eee4e3
commit a15ca4a2bc
3 changed files with 76 additions and 136 deletions

76
MEETUP.md Normal file
View File

@@ -0,0 +1,76 @@
# Ben (HolgerHatGarKeineNode)
### https://portal.einundzwanzig.space
![enter image description here](https://i.imgur.com/ipJdhVt.jpg)
## Fragen über Fragen
- [1. Was ist Bitcoin?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section0)
- [2. Welches Problem löst Bitcoin?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section1)
- [3. Welche Kritik & Gefahren gibt es?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section2)
- [4. Sollte ich Bitcoins kaufen?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section3)
- [5. Wo und wie kann ich Bitcoins kaufen?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section4)
- [6. Welche anderen Kryptowährungen gibt es?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section5)
- [7. Sollte ich auch andere Kryptowährungen kaufen?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section6)
- [8. Wie bewahre ich Bitcoins sicher auf?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section7)
- [9. Muss ich Bitcoins versteuern?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section8)
- [10. Was sollte ich sonst noch wissen?](https://www.blocktrainer.de/bitcoin-einstieg-leicht-gemacht/#section9)
### Bitcoin
![enter image description here](https://i.imgur.com/Idqu9ZE.png)
- [mempool - Bitcoin Explorer](https://mempool.space/)
- [Bitcoin Transaction Visualizer - TxStreet.com](https://txstreet.com/v/btc)
- [Bitfeed](https://bits.monospace.live/)
### Wallets
- Hardware-Wallets
- https://shiftcrypto.ch/de/bitbox02/
- Software-Wallets
- https://sparrowwallet.com/
### Nostr (Notes and Other Stuff Transmitted by Relays)
- Get started
- https://nostr-resources.com/ (englisch)
- https://nostr-info.de/ (deutsch)
- Apps
- https://iris.to/HolgerHatGarKeineNode@nip05.easify.de
- Relays
- https://nostr.easify.de
### Bitcoin Nodes
- RaspiBlitz
- https://shop.fulmo.org/
- Dojo
- https://ronindojo.io/
### Lightning
- Node
- https://umbrel.com/
- getAlby
- https://getalby.com/
# Bitcoin: Ein elektronisches Peer-to-Peer-Cash-System
> Ein reine Peer-to-Peer-Version elektronischen Cashs würde es ermöglichen,
Onlinezahlungen ohne Rückgriff auf ein Finanzinstitut direkt von einer Partei zur an-
deren zu senden.
> Digitale Signaturen stellen einen Teil der Lösung bereit, doch die
wichtigsten Vorteile gehen verloren, wenn dennoch eine vertrauenswürdige dritte
Partei vonnöten ist, um Doppelausgaben zu verhindern.
> Wir schlagen eine Lösung des Doppelausgabenproblems durch die Verwendung eines Peer-to-Peer-Netzwerks vor.
Das Netzwerk zeitstempelt Transaktionen, indem es sie in eine fortlaufende Kette aus
hashwertbasierten Arbeitsnachweisen hasht, wodurch ein Verlauf geschaffen wird,
der nicht geändert werden kann, ohne den Arbeitsnachweis erneut zu erbringen.
> Die längste Kette stellt nicht nur den Beweis der Sequenz aller bezeugten Ereignisse dar,
sondern zudem den Nachweis, dass sie vom größten Pool an CPU-Leistung stammt.
> Solange der Großteil der CPU-Leistung von Nodes stammt, die nicht bei einem Angriff
auf das Netzwerk kooperieren, werden sie die längste Kette erzeugen und die Angrei-
fer abschütteln.
> Das Netzwerk selbst benötigt eine minimale Struktur. Nachrichten
werden auf der Grundlage bestmöglichen Bemühens übermittelt und Nodes können
das Netzwerk beliebig verlassen oder ihm beitreten, wobei sie die längste Arbeits-
nachweiskette als Beweis dafür akzeptieren, was während ihrer Abwesenheit pas-
sierte.

View File

@@ -13,20 +13,9 @@ use WireUi\Traits\Actions;
class BookCaseTable extends DataTableComponent
{
use WithFileUploads;
use Actions;
public string $country;
public $photo;
public bool $viewingModal = false;
public $currentModal;
public array $orangepill = [
'amount' => 1,
'date' => null,
'comment' => '',
];
public string $tableName = 'bookcases';
public function configure(): void
@@ -133,50 +122,4 @@ class BookCaseTable extends DataTableComponent
->orderByDesc('orange_pills_count')
->orderBy('book_cases.id');
}
public function viewHistoryModal($modelId): void
{
$this->viewingModal = true;
$this->currentModal = BookCase::findOrFail($modelId);
}
public function submit(): void
{
$this->validate([
'orangepill.amount' => 'required|numeric',
'orangepill.date' => 'required|date',
'photo' => 'image|max:8192', // 8MB Max
]);
$orangePill = OrangePill::create([
'user_id' => auth()->id(),
'book_case_id' => $this->currentModal->id,
'amount' => $this->orangepill['amount'],
'date' => $this->orangepill['date'],
]);
$orangePill
->addMedia($this->photo)
->preservingOriginal()
->usingFileName(md5($this->photo->getClientOriginalName()).'.'.$this->photo->getClientOriginalExtension())
->toMediaCollection('images');
$orangePill->load(['media']);
$this->currentModal
->addMedia($this->photo)
->usingFileName(md5($this->photo->getClientOriginalName()).'.'.$this->photo->getClientOriginalExtension())
->toMediaCollection('images');
if ($this->orangepill['comment']) {
$this->currentModal->comment($this->orangepill['comment'], null);
}
$this->resetModal();
$this->emit('refreshDatatable');
}
public function resetModal(): void
{
$this->reset('viewingModal', 'currentModal');
}
public function customView(): string
{
return 'modals.book_cases.orange_pill';
}
}

View File

@@ -1,79 +0,0 @@
<x-jet-dialog-modal wire:model="viewingModal" maxWidth="screen" bg="bg-21gray">
<x-slot name="title">
<div class="text-gray-200">
{{ __('Orange Pill Book Case') }}
</div>
</x-slot>
<x-slot name="content">
<div class="space-y-4 mt-16 flex flex-col justify-center min-h-[600px]">
<div class="my-4">
<div class="border-b border-gray-200 pb-5">
<h3 class="text-lg font-medium leading-6 text-gray-200">{{ __('So far here were') }}</h3>
</div>
<ul role="list" class="divide-y divide-gray-200">
@foreach($currentModal?->orangePills ?? [] as $orangePill)
<li class="flex py-4">
<img class="h-10 w-10 rounded-full" src="{{ $orangePill->user->profile_photo_url }}" alt="">
<div class="ml-3">
<p class="text-sm text-gray-200">
{{ __('On :asDateTime :name has added :amount Bitcoin books.', ['asDateTime' => $orangePill->date->asDateTime(), 'name' => $orangePill->user->name, 'amount' => $orangePill->amount]) }}
</p>
</div>
</li>
@endforeach
</ul>
</div>
<div class="col-span-6 sm:col-span-4">
<form wire:submit.prevent="save">
<label class="my-2 text-gray-200 text-xl">{{ __('Photo') }}</label>
<div class="text-sm text-gray-500">
<input type="file" wire:model="photo">
@error('photo') <span class="text-red-500">{{ $message }}</span> @enderror
</div>
</form>
</div>
<div class="col-span-6 sm:col-span-4">
<x-input
min="1"
type="number"
wire:model.debounce="orangepill.amount"
label="{{ __('Number of books') }}"
placeholder="{{ __('Number of books') }}"
corner-hint="{{ __('How many bitcoin books have you put in?') }}"
/>
</div>
<div class="col-span-6 sm:col-span-4">
<x-datetime-picker
label="{{ __('Date') }}"
placeholder="{{ __('Date') }}"
wire:model.defer="orangepill.date"
timezone="UTC"
user-timezone="{{ config('app.user-timezone') }}"
corner-hint="{{ __('When did you put bitcoin books in?') }}"
without-time
display-format="DD.MM.YYYY"
/>
</div>
<div class="col-span-6 sm:col-span-4">
<x-textarea wire:model.defer="orangepill.comment" label="{{ __('Comment') }}" placeholder="{{ __('Comment') }}"
corner-hint="{{ __('For example, what books you put in.') }}"/>
</div>
</div>
</x-slot>
<x-slot name="footer">
<div class="space-x-4">
<x-jet-secondary-button wire:click="resetModal" wire:loading.attr="disabled">
@lang('Close')
</x-jet-secondary-button>
<x-jet-secondary-button wire:click="submit" wire:loading.attr="disabled">
💊 <span class="text-amber-500">@lang('Orange Pill Now')</span>
</x-jet-secondary-button>
</div>
</x-slot>
</x-jet-dialog-modal>