mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-02 06:26:16 +00:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
ce085879c1 | |||
8a49003e9e | |||
dcc4276f09 | |||
f089779045 | |||
f1efb9a6c8 | |||
a7d472fb45 |
@ -12,5 +12,5 @@ MAIL_PORT=
|
|||||||
MAIL_USERNAME=null
|
MAIL_USERNAME=null
|
||||||
MAIL_PASSWORD=null
|
MAIL_PASSWORD=null
|
||||||
MAIL_ENCRYPTION=null
|
MAIL_ENCRYPTION=null
|
||||||
MAIL_FROM_ADDRESS=null
|
MAIL_FROM_ADDRESS="noreply@${APP_NAME}"
|
||||||
MAIL_FROM_NAME="${APP_NAME}"
|
MAIL_FROM_NAME="${APP_NAME}"
|
||||||
|
@ -12,5 +12,5 @@ MAIL_PORT=
|
|||||||
MAIL_USERNAME=null
|
MAIL_USERNAME=null
|
||||||
MAIL_PASSWORD=null
|
MAIL_PASSWORD=null
|
||||||
MAIL_ENCRYPTION=null
|
MAIL_ENCRYPTION=null
|
||||||
MAIL_FROM_ADDRESS=null
|
MAIL_FROM_ADDRESS="noreply@${APP_NAME}"
|
||||||
MAIL_FROM_NAME="${APP_NAME}"
|
MAIL_FROM_NAME="${APP_NAME}"
|
||||||
|
@ -13,5 +13,5 @@ MAIL_PORT=
|
|||||||
MAIL_USERNAME=null
|
MAIL_USERNAME=null
|
||||||
MAIL_PASSWORD=null
|
MAIL_PASSWORD=null
|
||||||
MAIL_ENCRYPTION=null
|
MAIL_ENCRYPTION=null
|
||||||
MAIL_FROM_ADDRESS=null
|
MAIL_FROM_ADDRESS="noreply@${APP_NAME}"
|
||||||
MAIL_FROM_NAME="${APP_NAME}"
|
MAIL_FROM_NAME="${APP_NAME}"
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -7,6 +7,8 @@
|
|||||||
/storage/test-key
|
/storage/test-key
|
||||||
/storage/test-key.pub
|
/storage/test-key.pub
|
||||||
/vendor
|
/vendor
|
||||||
|
/storage/database.sqlite
|
||||||
|
/storage/database-test.sqlite
|
||||||
.env
|
.env
|
||||||
.env.backup
|
.env.backup
|
||||||
.env.production
|
.env.production
|
||||||
|
@ -37,7 +37,7 @@ ## Useful Links
|
|||||||
- [Feedbacks](https://vitodeploy.featurebase.app)
|
- [Feedbacks](https://vitodeploy.featurebase.app)
|
||||||
- [Roadmap](https://vitodeploy.featurebase.app/roadmap)
|
- [Roadmap](https://vitodeploy.featurebase.app/roadmap)
|
||||||
- [Video Demo](https://youtu.be/rLRHIyEfON8)
|
- [Video Demo](https://youtu.be/rLRHIyEfON8)
|
||||||
- [Discord](https://discord.gg/dcUWA5DV)
|
- [Discord](https://discord.gg/uZeeHZZnm5)
|
||||||
- [Contribution](/CONTRIBUTING.md)
|
- [Contribution](/CONTRIBUTING.md)
|
||||||
- [Security](/SECURITY.md)
|
- [Security](/SECURITY.md)
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ public function boot(): void
|
|||||||
return new Toast;
|
return new Toast;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (str(config('app.url'))->startsWith('https://')) {
|
if (str(request()->url())->startsWith('https://')) {
|
||||||
URL::forceScheme('https');
|
URL::forceScheme('https');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -98,12 +98,12 @@ public function reboot(): void
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function editFile(string $path, string $content): void
|
public function editFile(string $path, ?string $content = null): void
|
||||||
{
|
{
|
||||||
$this->server->ssh()->exec(
|
$this->server->ssh()->exec(
|
||||||
$this->getScript('edit-file.sh', [
|
$this->getScript('edit-file.sh', [
|
||||||
'path' => $path,
|
'path' => $path,
|
||||||
'content' => $content,
|
'content' => $content ?? '',
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
1
public/build/assets/app-2c6e7578.css
Normal file
1
public/build/assets/app-2c6e7578.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"resources/css/app.css": {
|
"resources/css/app.css": {
|
||||||
"file": "assets/app-eff15392.css",
|
"file": "assets/app-2c6e7578.css",
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
"src": "resources/css/app.css"
|
"src": "resources/css/app.css"
|
||||||
},
|
},
|
||||||
@ -12,7 +12,7 @@
|
|||||||
"css": [
|
"css": [
|
||||||
"assets/app-a1ae07b3.css"
|
"assets/app-a1ae07b3.css"
|
||||||
],
|
],
|
||||||
"file": "assets/app-a74f846c.js",
|
"file": "assets/app-5f99a92f.js",
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
"src": "resources/js/app.js"
|
"src": "resources/js/app.js"
|
||||||
}
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
@ -26,7 +26,9 @@ document.body.addEventListener('htmx:configRequest', (event) => {
|
|||||||
if (window.getSelection) { window.getSelection().removeAllRanges(); }
|
if (window.getSelection) { window.getSelection().removeAllRanges(); }
|
||||||
else if (document.selection) { document.selection.empty(); }
|
else if (document.selection) { document.selection.empty(); }
|
||||||
});
|
});
|
||||||
|
let activeElement = null;
|
||||||
document.body.addEventListener('htmx:beforeRequest', (event) => {
|
document.body.addEventListener('htmx:beforeRequest', (event) => {
|
||||||
|
activeElement = document.activeElement;
|
||||||
let targetElements = event.target.querySelectorAll('[hx-disable]');
|
let targetElements = event.target.querySelectorAll('[hx-disable]');
|
||||||
for (let i = 0; i < targetElements.length; i++) {
|
for (let i = 0; i < targetElements.length; i++) {
|
||||||
targetElements[i].disabled = true;
|
targetElements[i].disabled = true;
|
||||||
@ -38,6 +40,18 @@ document.body.addEventListener('htmx:afterRequest', (event) => {
|
|||||||
targetElements[i].disabled = false;
|
targetElements[i].disabled = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
document.body.addEventListener('htmx:afterSwap', (event) => {
|
||||||
|
tippy('[data-tooltip]', {
|
||||||
|
content(reference) {
|
||||||
|
return reference.getAttribute('data-tooltip');
|
||||||
|
},
|
||||||
|
});
|
||||||
|
if (activeElement) {
|
||||||
|
activeElement.blur();
|
||||||
|
activeElement.focus();
|
||||||
|
activeElement = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
import toastr from 'toastr';
|
import toastr from 'toastr';
|
||||||
window.toastr = toastr;
|
window.toastr = toastr;
|
||||||
@ -49,13 +63,6 @@ window.toastr.options = {
|
|||||||
|
|
||||||
import tippy from 'tippy.js';
|
import tippy from 'tippy.js';
|
||||||
import 'tippy.js/dist/tippy.css';
|
import 'tippy.js/dist/tippy.css';
|
||||||
document.body.addEventListener('htmx:afterSettle', (event) => {
|
|
||||||
tippy('[data-tooltip]', {
|
|
||||||
content(reference) {
|
|
||||||
return reference.getAttribute('data-tooltip');
|
|
||||||
},
|
|
||||||
});
|
|
||||||
});
|
|
||||||
tippy('[data-tooltip]', {
|
tippy('[data-tooltip]', {
|
||||||
content(reference) {
|
content(reference) {
|
||||||
return reference.getAttribute('data-tooltip');
|
return reference.getAttribute('data-tooltip');
|
||||||
|
@ -11,16 +11,13 @@
|
|||||||
disabled: @js($disabled),
|
disabled: @js($disabled),
|
||||||
lang: @js($lang),
|
lang: @js($lang),
|
||||||
init() {
|
init() {
|
||||||
document.body.addEventListener('htmx:afterSettle', (event) => {
|
|
||||||
let editor = null
|
let editor = null
|
||||||
let theme =
|
let theme =
|
||||||
document.documentElement.className === 'dark'
|
document.documentElement.className === 'dark'
|
||||||
? 'one-dark'
|
? 'one-dark'
|
||||||
: 'github'
|
: 'github'
|
||||||
editor = window.ace.edit(this.editorId)
|
editor = window.ace.edit(this.editorId, {})
|
||||||
let contentElement = document.getElementById(
|
let contentElement = document.getElementById(`text-${this.editorId}`)
|
||||||
`text-${this.editorId}`,
|
|
||||||
)
|
|
||||||
editor.setValue(contentElement.innerText, 1)
|
editor.setValue(contentElement.innerText, 1)
|
||||||
if (this.disabled) {
|
if (this.disabled) {
|
||||||
editor.setReadOnly(true)
|
editor.setReadOnly(true)
|
||||||
@ -36,7 +33,6 @@
|
|||||||
theme = event.detail.theme === 'dark' ? 'one-dark' : 'github'
|
theme = event.detail.theme === 'dark' ? 'one-dark' : 'github'
|
||||||
editor.setTheme(`ace/theme/${theme}`)
|
editor.setTheme(`ace/theme/${theme}`)
|
||||||
})
|
})
|
||||||
})
|
|
||||||
},
|
},
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div data-tooltip="Project" class="cursor-pointer">
|
<div data-tooltip="Project" class="cursor-pointer">
|
||||||
<x-dropdown align="left">
|
<x-dropdown width="full">
|
||||||
<x-slot:trigger>
|
<x-slot:trigger>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
|
Reference in New Issue
Block a user