1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 02:59:00 +03:00
This commit is contained in:
Anton Afanasyeu
2026-05-26 16:58:12 +02:00
parent 4e5a4a7031
commit 3047d2c643
2 changed files with 40 additions and 32 deletions

View File

@@ -1,4 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 720" role="img" aria-label="Android Cast  globe and rocket">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 720" role="img" aria-label="Android Cast - globe and rocket">
<defs>
<radialGradient id="globeShade" cx="38%" cy="32%" r="68%">
<stop offset="0%" stop-color="#3d8bfd" stop-opacity="0.35"/>
@@ -33,10 +33,9 @@
</defs>
<!-- Trail behind globe (left-bottom) -->
<path d="M 48 598 Q 140 520 220 468" fill="none" stroke="url(#trail)" stroke-width="28"
stroke-linecap="round" opacity="0.55"/>
<path d="M 48 598 Q 140 520 220 468" fill="none" stroke="url(#trail)" stroke-width="28" stroke-linecap="round" opacity="0.55"/>
<!-- Globe sphere -->
<!-- Globe -->
<circle cx="420" cy="380" r="248" fill="url(#ocean)" stroke="#2d3a4f" stroke-width="2"/>
<circle cx="420" cy="380" r="248" fill="url(#globeShade)"/>
@@ -47,45 +46,49 @@
<ellipse cx="420" cy="380" rx="248" ry="186"/>
<line x1="420" y1="132" x2="420" y2="628"/>
<line x1="172" y1="380" x2="668" y2="380"/>
<ellipse cx="420" cy="132" rx="248" ry="48"/>
<ellipse cx="420" cy="628" rx="248" ry="48"/>
<path d="M 200 220 Q 420 200 640 220"/>
<path d="M 180 320 Q 420 300 660 320"/>
<path d="M 190 440 Q 420 420 650 440"/>
<path d="M 210 520 Q 420 500 630 520"/>
<path d="M 280 180 Q 420 160 560 180"/>
<path d="M 250 560 Q 420 540 590 560"/>
<line x1="296" y1="132" x2="296" y2="628"/>
<line x1="544" y1="132" x2="544" y2="628"/>
<line x1="358" y1="132" x2="358" y2="628"/>
<line x1="482" y1="132" x2="482" y2="628"/>
</g>
<!-- Continents (stylized) -->
<g clip-path="url(#globeClip)" fill="#5a6b82" fill-opacity="0.55" stroke="#8b9cb3" stroke-opacity="0.35" stroke-width="1">
<path d="M 300 260 Q 280 220 310 200 Q 350 185 380 210 Q 400 250 370 290 Q 340 320 300 300 Z"/>
<path d="M 320 310 Q 300 340 330 380 Q 360 420 390 400 Q 410 360 400 330 Q 370 300 320 310 Z"/>
<path d="M 450 240 Q 480 210 520 230 Q 560 260 550 300 Q 530 340 490 330 Q 460 300 450 240 Z"/>
<path d="M 500 350 Q 540 330 580 360 Q 610 400 590 440 Q 550 470 510 450 Q 480 410 500 350 Z"/>
<path d="M 390 420 Q 420 400 460 430 Q 490 470 470 510 Q 440 530 410 500 Q 380 460 390 420 Z"/>
<!-- Continents -->
<g clip-path="url(#globeClip)" fill="#5a6b82" fill-opacity="0.5" stroke="#8b9cb3" stroke-opacity="0.3" stroke-width="1">
<!-- North America -->
<path d="M 230 210 Q 210 190 240 170 Q 280 155 330 175 Q 370 200 360 250 Q 340 300 290 290 Q 250 270 230 210 Z"/>
<!-- South America -->
<path d="M 290 310 Q 270 340 295 390 Q 320 440 360 420 Q 390 385 378 340 Q 355 295 290 310 Z"/>
<!-- Europe/Africa -->
<path d="M 430 190 Q 460 170 510 195 Q 545 225 530 270 Q 510 300 475 290 Q 445 265 430 190 Z"/>
<path d="M 445 305 Q 480 285 520 310 Q 555 350 540 410 Q 510 450 470 430 Q 440 395 445 305 Z"/>
<!-- Asia -->
<path d="M 540 190 Q 590 165 660 185 Q 710 215 700 270 Q 670 310 620 305 Q 570 285 540 190 Z"/>
</g>
<!-- Arc across globe + front trail -->
<path d="M 220 468 Q 320 400 420 360 Q 520 300 620 210 Q 700 150 780 120"
fill="none" stroke="url(#trail)" stroke-width="22" stroke-linecap="round"
filter="url(#glow)" opacity="0.75" clip-path="url(#globeClip)"/>
<path d="M 520 300 Q 600 240 700 180 Q 760 145 820 118"
fill="none" stroke="url(#trail)" stroke-width="20" stroke-linecap="round"
filter="url(#glow)" opacity="0.9"/>
<!-- Arc trail across globe -->
<path d="M 220 468 Q 320 400 420 355 Q 510 305 610 235" fill="none" stroke="url(#trail)" stroke-width="20" stroke-linecap="round" filter="url(#glow)" opacity="0.7" clip-path="url(#globeClip)"/>
<!-- Arc trail beyond globe -->
<path d="M 610 235 Q 680 185 760 148" fill="none" stroke="url(#trail)" stroke-width="18" stroke-linecap="round" filter="url(#glow)" opacity="0.85"/>
<!-- Rocket -->
<g transform="translate(798 108) rotate(38)">
<path d="M 0 28 L 52 0 L 48 8 L 72 12 L 44 20 L 56 48 L 24 32 L 8 40 Z"
fill="url(#rocketBody)" stroke="#3d8bfd" stroke-width="1.2" stroke-linejoin="round"/>
<path d="M 56 48 L 88 56 L 72 44 L 80 36 L 56 40 Z" fill="#3d8bfd" opacity="0.85"/>
<ellipse cx="62" cy="50" rx="18" ry="10" fill="#5eead4" opacity="0.7" filter="url(#glow)"/>
<path d="M 88 56 Q 110 62 130 58 Q 115 54 100 50" fill="none" stroke="#5eead4"
stroke-width="8" stroke-linecap="round" opacity="0.65"/>
<path d="M 130 58 Q 155 52 175 48" fill="none" stroke="#5eead4"
stroke-width="5" stroke-linecap="round" opacity="0.35"/>
<!-- Rocket: translate to tip position, rotate 38deg -->
<g transform="translate(740,132) rotate(38)">
<!-- Body -->
<path d="M 0 0 L 52 -14 L 48 -6 L 72 -4 L 44 8 L 52 34 L 20 18 L 6 28 Z" fill="url(#rocketBody)" stroke="#2d3a4f" stroke-width="1" stroke-linejoin="round"/>
<!-- Wing -->
<path d="M 52 34 L 82 44 L 68 30 L 76 22 L 52 24 Z" fill="#3d8bfd" opacity="0.9"/>
<!-- Engine glow -->
<ellipse cx="60" cy="36" rx="16" ry="9" fill="#5eead4" opacity="0.7" filter="url(#glow)"/>
<!-- Exhaust -->
<path d="M 82 44 Q 108 54 130 48" fill="none" stroke="#5eead4" stroke-width="9" stroke-linecap="round" opacity="0.65"/>
<path d="M 130 48 Q 158 42 182 38" fill="none" stroke="#5eead4" stroke-width="5" stroke-linecap="round" opacity="0.3"/>
</g>
<!-- Rim highlight -->
<circle cx="420" cy="380" r="248" fill="none" stroke="#3d8bfd" stroke-opacity="0.18" stroke-width="3"/>
<!-- Globe rim highlight -->
<circle cx="420" cy="380" r="248" fill="none" stroke="#3d8bfd" stroke-opacity="0.2" stroke-width="2"/>
</svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -38,6 +38,11 @@ require_once __DIR__ . '/DeviceRepository.php';
require_once __DIR__ . '/Auth.php';
require_once __DIR__ . '/ReportRepository.php';
require_once __DIR__ . '/TicketTagCatalog.php';
require_once __DIR__ . '/TicketWorkflow.php';
require_once __DIR__ . '/TicketAttachmentProvider.php';
require_once __DIR__ . '/TicketAttachmentRepository.php';
require_once __DIR__ . '/TicketCommentRepository.php';
require_once __DIR__ . '/UserRepository.php';
require_once __DIR__ . '/TicketRepository.php';
function cfg(string $key, $default = null) {