Compare commits
45
Commits
ddcb410eee
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c961948930 | ||
|
|
ee9a1f2e13 | ||
|
|
dada5855ab | ||
|
|
890bb53ef6 | ||
|
|
2bce3f9a71 | ||
|
|
5613a95063 | ||
|
|
cc892fdebf | ||
|
|
c1fcb34ee5 | ||
|
|
836c83b473 | ||
|
|
5d5250287d | ||
|
|
865ac153b2 | ||
|
|
a79363b4da | ||
|
|
cab6a3e7f1 | ||
|
|
0395c01cdf | ||
|
|
a79ce3706f | ||
|
|
0a605fce7c | ||
|
|
e325e20521 | ||
|
|
9af75a0781 | ||
|
|
6ac21fc4ca | ||
|
|
eca1bf138c | ||
|
|
73b0f6527a | ||
|
|
853498e9ac | ||
|
|
fb5f59027e | ||
|
|
e4ef5eb646 | ||
|
|
e3fcadc900 | ||
|
|
c7d52b2e39 | ||
|
|
3b9fbf322f | ||
|
|
5f72174d39 | ||
|
|
f1fbd8b782 | ||
|
|
db91e3ba86 | ||
|
|
1f8f3a663e | ||
|
|
2e4b8ce58f | ||
|
|
dde6beeba8 | ||
|
|
7250a9ea68 | ||
|
|
eca046c1ea | ||
|
|
cd9ffc012e | ||
|
|
5a6c398a3a | ||
|
|
0de5d2af94 | ||
|
|
f263220b81 | ||
|
|
4aa1a77e1d | ||
|
|
46e679b8bf | ||
|
|
9b69a2afff | ||
|
|
11d440c6ed | ||
|
|
406458c33b | ||
|
|
0f1de1fffc |
@@ -7,7 +7,7 @@ jobs:
|
||||
env:
|
||||
IMAGE_NAME: tladle
|
||||
REGISTRY_NAME: gitea.sc0tt.org
|
||||
GIT_TAG: 1.0.1
|
||||
GIT_TAG: 2.0
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TlaSuggestions\Pages;
|
||||
|
||||
use App\Filament\Resources\TlaSuggestions\TlaSuggestionResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ManageRecords;
|
||||
|
||||
class ManageTlaSuggestions extends ManageRecords
|
||||
{
|
||||
protected static string $resource = TlaSuggestionResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TlaSuggestions;
|
||||
|
||||
use App\Filament\Resources\TlaSuggestions\Pages\ManageTlaSuggestions;
|
||||
use App\Models\TlaSuggestion;
|
||||
use BackedEnum;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
use Filament\Actions\Action;
|
||||
|
||||
class TlaSuggestionResource extends Resource
|
||||
{
|
||||
protected static ?string $model = TlaSuggestion::class;
|
||||
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack;
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'Suggestions';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
TextInput::make('acronym')
|
||||
->required(),
|
||||
TextInput::make('hint')
|
||||
->default(null),
|
||||
Select::make('language')
|
||||
->options(['hu' => 'Hu', 'en' => 'En'])
|
||||
->required(),
|
||||
Textarea::make('context')
|
||||
->default(null)
|
||||
->columnSpanFull(),
|
||||
TextInput::make('submitter')
|
||||
->default(null),
|
||||
]);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->recordTitleAttribute('Suggestions')
|
||||
->columns([
|
||||
TextColumn::make('acronym')
|
||||
->searchable(),
|
||||
TextColumn::make('hint')
|
||||
->searchable(),
|
||||
TextColumn::make('language')
|
||||
->badge(),
|
||||
TextColumn::make('submitter')
|
||||
->searchable(),
|
||||
TextColumn::make('created_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
TextColumn::make('updated_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->recordActions([
|
||||
EditAction::make(),
|
||||
DeleteAction::make(),
|
||||
Action::make('Approve')
|
||||
->action(fn (TlaSuggestion $record) => TlaSuggestion::ApproveTla($record))
|
||||
->requiresConfirmation()
|
||||
->modalHeading('Approve TLA')
|
||||
->modalDescription('Are you sure you want to approve this TLA?')
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => ManageTlaSuggestions::route('/'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Tlas\Pages;
|
||||
|
||||
use App\Filament\Resources\Tlas\TlaResource;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateTla extends CreateRecord
|
||||
{
|
||||
protected static string $resource = TlaResource::class;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Tlas\Pages;
|
||||
|
||||
use App\Filament\Resources\Tlas\TlaResource;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditTla extends EditRecord
|
||||
{
|
||||
protected static string $resource = TlaResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Tlas\Pages;
|
||||
|
||||
use App\Filament\Resources\Tlas\TlaResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListTlas extends ListRecords
|
||||
{
|
||||
protected static string $resource = TlaResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Tlas\Pages;
|
||||
|
||||
use App\Filament\Resources\Tlas\TlaResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ManageRecords;
|
||||
|
||||
class ManageTlas extends ManageRecords
|
||||
{
|
||||
protected static string $resource = TlaResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Tlas\Schemas;
|
||||
|
||||
use Filament\Forms\Components\DatePicker;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class TlaForm
|
||||
{
|
||||
public static function configure(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
TextInput::make('acronym')
|
||||
->required(),
|
||||
TextInput::make('hint')
|
||||
->default(null),
|
||||
Select::make('language')
|
||||
->options(['hu' => 'Hu', 'en' => 'En'])
|
||||
->required(),
|
||||
DatePicker::make('used'),
|
||||
Textarea::make('context')
|
||||
->default(null)
|
||||
->columnSpanFull(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Tlas\Tables;
|
||||
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class TlasTable
|
||||
{
|
||||
public static function configure(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
TextColumn::make('acronym')
|
||||
->searchable(),
|
||||
TextColumn::make('hint')
|
||||
->searchable(),
|
||||
TextColumn::make('language')
|
||||
->badge(),
|
||||
TextColumn::make('used')
|
||||
->date()
|
||||
->sortable(),
|
||||
TextColumn::make('created_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
TextColumn::make('updated_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
])->defaultSort('used', direction: 'asc')
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->recordActions([
|
||||
EditAction::make(),
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Tlas;
|
||||
|
||||
use App\Filament\Resources\Tlas\Pages\ManageTlas;
|
||||
use App\Models\Tla;
|
||||
use BackedEnum;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Forms\Components\DatePicker;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class TlaResource extends Resource
|
||||
{
|
||||
protected static ?string $model = Tla::class;
|
||||
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack;
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'Tla';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
TextInput::make('acronym')
|
||||
->required(),
|
||||
TextInput::make('hint')
|
||||
->default(null),
|
||||
Select::make('language')
|
||||
->options(['hu' => 'Hu', 'en' => 'En'])
|
||||
->required(),
|
||||
DatePicker::make('used'),
|
||||
Textarea::make('context')
|
||||
->default(null)
|
||||
->columnSpanFull(),
|
||||
TextInput::make('submitter')
|
||||
->default(null),
|
||||
TextInput::make('likes')
|
||||
->required()
|
||||
->numeric()
|
||||
->default(0),
|
||||
TextInput::make('dislikes')
|
||||
->required()
|
||||
->numeric()
|
||||
->default(0),
|
||||
]);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->recordTitleAttribute('Tla')
|
||||
->columns([
|
||||
TextColumn::make('acronym')
|
||||
->searchable(),
|
||||
TextColumn::make('hint')
|
||||
->searchable(),
|
||||
TextColumn::make('language')
|
||||
->badge(),
|
||||
TextColumn::make('used')
|
||||
->date()
|
||||
->sortable(),
|
||||
TextColumn::make('submitter')
|
||||
->searchable(),
|
||||
TextColumn::make('likes')
|
||||
->numeric()
|
||||
->sortable(),
|
||||
TextColumn::make('dislikes')
|
||||
->numeric()
|
||||
->sortable(),
|
||||
TextColumn::make('created_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
TextColumn::make('updated_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->recordActions([
|
||||
EditAction::make(),
|
||||
DeleteAction::make(),
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => ManageTlas::route('/'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Users\Pages;
|
||||
|
||||
use App\Filament\Resources\Users\UserResource;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateUser extends CreateRecord
|
||||
{
|
||||
protected static string $resource = UserResource::class;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Users\Pages;
|
||||
|
||||
use App\Filament\Resources\Users\UserResource;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditUser extends EditRecord
|
||||
{
|
||||
protected static string $resource = UserResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Users\Pages;
|
||||
|
||||
use App\Filament\Resources\Users\UserResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListUsers extends ListRecords
|
||||
{
|
||||
protected static string $resource = UserResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Users\Schemas;
|
||||
|
||||
use Filament\Forms\Components\DateTimePicker;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class UserForm
|
||||
{
|
||||
public static function configure(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
TextInput::make('name')
|
||||
->required(),
|
||||
TextInput::make('email')
|
||||
->label('Email address')
|
||||
->email()
|
||||
->required(),
|
||||
DateTimePicker::make('email_verified_at'),
|
||||
TextInput::make('password')
|
||||
->password()
|
||||
->required(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Users\Tables;
|
||||
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class UsersTable
|
||||
{
|
||||
public static function configure(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
TextColumn::make('name')
|
||||
->searchable(),
|
||||
TextColumn::make('email')
|
||||
->label('Email address')
|
||||
->searchable(),
|
||||
TextColumn::make('email_verified_at')
|
||||
->dateTime()
|
||||
->sortable(),
|
||||
TextColumn::make('created_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
TextColumn::make('updated_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->recordActions([
|
||||
EditAction::make(),
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\Users;
|
||||
|
||||
use App\Filament\Resources\Users\Pages\CreateUser;
|
||||
use App\Filament\Resources\Users\Pages\EditUser;
|
||||
use App\Filament\Resources\Users\Pages\ListUsers;
|
||||
use App\Filament\Resources\Users\Schemas\UserForm;
|
||||
use App\Filament\Resources\Users\Tables\UsersTable;
|
||||
use App\Models\User;
|
||||
use BackedEnum;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class UserResource extends Resource
|
||||
{
|
||||
protected static ?string $model = User::class;
|
||||
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack;
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'user';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return UserForm::configure($schema);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return UsersTable::configure($table);
|
||||
}
|
||||
|
||||
public static function getRelations(): array
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => ListUsers::route('/'),
|
||||
'create' => CreateUser::route('/create'),
|
||||
'edit' => EditUser::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -3,37 +3,22 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Tla;
|
||||
use App\Models\TlaSuggestion;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TlaController extends Controller
|
||||
{
|
||||
public function store(Request $request): RedirectResponse
|
||||
{
|
||||
$request->validate([
|
||||
'title' => 'required',
|
||||
'body' => 'required',
|
||||
]);
|
||||
|
||||
$tla = new Tla($requestData);
|
||||
|
||||
$tla->save();
|
||||
|
||||
return redirect()->route('admin')->with('success', 'Record added!');
|
||||
} //
|
||||
|
||||
public function destroy(Tla $tla): RedirectResponse
|
||||
{
|
||||
$tla->delete();
|
||||
|
||||
return redirect()->route('admin')->with('success', 'Record deleted');
|
||||
}
|
||||
|
||||
public function session_flush(Request $request, string $language)
|
||||
{
|
||||
if ($request->session()->get('date', NULL) != date('Y-m-d'))
|
||||
$session = $request->session();
|
||||
if ($session->get('date-'.$language, NULL) != date('Y-m-d'))
|
||||
{
|
||||
$request->session()->forget('guesses-'.$language);
|
||||
$request->session()->put('date', date('Y-m-d'));
|
||||
$session->forget('guesses-'.$language);
|
||||
$session->forget('tla-'.$language);
|
||||
$session->forget('correct-'.$language);
|
||||
$session->forget('review-'.$language);
|
||||
$session->put('tla-array-'.$language, ['', '', '']);
|
||||
$session->put('date-'.$language, date('Y-m-d'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,12 +28,22 @@ class TlaController extends Controller
|
||||
if ( !in_array($language, $allowedLanguages) ) $language = 'en';
|
||||
|
||||
$tla = Tla::GetCurrentTla($language);
|
||||
|
||||
if ($tla == NULL) return response()->json([ 'no_tla' => true ]);
|
||||
|
||||
$this->session_flush($request, $language);
|
||||
|
||||
$session = $request->session();
|
||||
|
||||
return response()->json([
|
||||
'hint' => $tla->hint,
|
||||
'guesses' => $request->session()->get('guesses-'.$language, []),
|
||||
'date' => $request->session()->get('date'),
|
||||
'guesses' => $session->get('guesses-'.$language, []),
|
||||
'date' => $session->get('date-'.$language),
|
||||
'tla' => $session->get('tla-'.$language) == $tla->acronym ? $tla->acronym : NULL,
|
||||
'context' => $session->get('tla-'.$language) == $tla->acronym ? $tla->context : NULL,
|
||||
'submitter' => $tla->submitter,
|
||||
'correct' => $session->get('correct-'.$language),
|
||||
'tla_array' => $session->get('tla-array-'.$language),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -58,10 +53,16 @@ class TlaController extends Controller
|
||||
'guess' => 'required|array|size:3',
|
||||
]);
|
||||
$this->session_flush($request, $language);
|
||||
$tla_object = Tla::GetCurrentTla($language);
|
||||
|
||||
$session = $request->session();
|
||||
|
||||
$tla = explode(' ', Tla::GetCurrentTla($language)->abbreviation);
|
||||
$tla = explode(' ', strtolower($tla_object->acronym));
|
||||
|
||||
$guess_array = $request->all()['guess'];
|
||||
for ($i = 0; $i<3; $i++) {
|
||||
$guess_array[$i] = strtolower($guess_array[$i]);
|
||||
}
|
||||
|
||||
$proposal = [];
|
||||
|
||||
@@ -85,32 +86,85 @@ class TlaController extends Controller
|
||||
array_push($guess_array, max($proposal[0][$i], $proposal[1][$i], $proposal[2][$i]));
|
||||
}
|
||||
|
||||
$score = 0;
|
||||
|
||||
if ( $request->session()->get('guesses-'.$language, NULL) == NULL ) $request->session()->put('guesses-'.$language, [$guess_array]);
|
||||
else $request->session()->push('guesses-'.$language, $guess_array);
|
||||
for ($i = 0; $i<3; $i++) {
|
||||
$guess_array[$i] = ucfirst($guess_array[$i]);
|
||||
$score += $guess_array[$i + 3];
|
||||
}
|
||||
|
||||
$guesses = $request->session()->get('guesses-'.$language, NULL);
|
||||
$session->push('guesses-'.$language, $guess_array);
|
||||
$guesses = $session->get('guesses-'.$language, NULL);
|
||||
|
||||
if ($score == 12 || count($guesses) == env('MAX_GUESSES', 10)) {
|
||||
$session->put('tla-'.$language, $tla_object->acronym);
|
||||
if ($score == 12) $session->put('correct-'.$language, true);
|
||||
}
|
||||
|
||||
$tla_array = $session->get('tla-array-'.$language);
|
||||
|
||||
for ($i = 0; $i < 3; $i++) {
|
||||
if ($tla_array[$i] == "" && $guess_array[$i + 3] == 2) $tla_array[$i] = $tla[$i];
|
||||
}
|
||||
|
||||
$session->put('tla-array-'.$language, $tla_array);
|
||||
|
||||
return response()->json([
|
||||
'guesses' => $request->session()->get('guesses-'.$language, []),
|
||||
'date' => $request->session()->get('date'),
|
||||
'real' => $tla
|
||||
'guesses' => $guesses,
|
||||
'date' => $session->get('date'),
|
||||
'tla' => $session->get('tla-'.$language) == $tla_object->acronym ? $tla_object->acronym : NULL,
|
||||
'context' => $session->get('tla-'.$language) == $tla_object->acronym ? $tla_object->context : NULL,
|
||||
'score' => $score,
|
||||
'correct' => $session->get('correct-'.$language),
|
||||
'tla_array' => $tla_array,
|
||||
]);
|
||||
}
|
||||
|
||||
public function update(Request $request, Tla $tla): RedirectResponse
|
||||
{
|
||||
public function suggestion(Request $request, ?String $language = "en") {
|
||||
$request->validate([
|
||||
'title' => 'required',
|
||||
'body' => 'required',
|
||||
'acronym' => 'required',
|
||||
'hint' => 'required',
|
||||
'context' => 'required',
|
||||
]);
|
||||
|
||||
$requestData = $request->all();
|
||||
|
||||
$tla->update($requestData);
|
||||
$requestData = $request->input();
|
||||
$tla = new TlaSuggestion($requestData);
|
||||
|
||||
$tla->save();
|
||||
|
||||
return redirect()->route('admin')->with('success', 'Record updated!');
|
||||
return response($tla);
|
||||
}
|
||||
|
||||
public function review(Request $request, String $language, int $type) {
|
||||
$session = $request->session();
|
||||
if ($session->get('correct-'.$language) == true) {
|
||||
$current = $session->get('review-'.$language);
|
||||
$tla = Tla::GetCurrentTla($language);
|
||||
|
||||
if ($type != 2) {
|
||||
if ($current == $type) {
|
||||
if ($current == 1) $tla->likes--;
|
||||
else if ($current == -1) $tla->dislikes--;
|
||||
$type = 2;
|
||||
} else {
|
||||
if ($current == 1) $tla->likes--;
|
||||
else if ($current == -1) $tla->dislikes--;
|
||||
|
||||
if ($type == 1) $tla->likes++;
|
||||
else if ($type == -1) $tla->dislikes++;
|
||||
}
|
||||
$tla->save();
|
||||
$session->put('review-'.$language, $type);
|
||||
} else $type = $current;
|
||||
|
||||
return response()->json([
|
||||
'likes' => $tla->likes,
|
||||
'dislikes' => $tla->dislikes,
|
||||
'current' => $type,
|
||||
]);
|
||||
}
|
||||
|
||||
else return response(null, 403);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+4
-2
@@ -11,9 +11,9 @@ class Tla extends Model
|
||||
|
||||
use HasFactory;
|
||||
|
||||
protected $fillable = ['abbreviation', 'hint', 'used'];
|
||||
protected $fillable = ['acronym', 'hint', 'language', 'used', 'context', 'submitter', 'likes', 'dislikes'];
|
||||
|
||||
public static function GetCurrentTla( string $language ) : Tla {
|
||||
public static function GetCurrentTla( string $language ) {
|
||||
$tla = Tla::where('used', date("Y-m-d"))
|
||||
->where('language', $language)
|
||||
->first();
|
||||
@@ -24,6 +24,8 @@ class Tla extends Model
|
||||
->inRandomOrder()
|
||||
->first();
|
||||
|
||||
if ($tla == NULL) return NULL;
|
||||
|
||||
$tla->used = date("Y-m-d");
|
||||
$tla->save();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
class TlaSuggestion extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'tla_suggestion';
|
||||
|
||||
protected $fillable = ['acronym', 'hint', 'language', 'context', 'submitter'];
|
||||
|
||||
public static function ApproveTla(TlaSuggestion $record) {
|
||||
$tla = new Tla($record->toArray());
|
||||
$record->delete();
|
||||
$tla->save();
|
||||
}
|
||||
}
|
||||
+10
-1
@@ -10,9 +10,13 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
|
||||
use Filament\Models\Contracts\FilamentUser;
|
||||
use Filament\Panel;
|
||||
|
||||
#[Fillable(['name', 'email', 'password'])]
|
||||
#[Hidden(['password', 'remember_token'])]
|
||||
class User extends Authenticatable
|
||||
|
||||
class User extends Authenticatable implements FilamentUser
|
||||
{
|
||||
/** @use HasFactory<UserFactory> */
|
||||
use HasFactory, Notifiable;
|
||||
@@ -29,4 +33,9 @@ class User extends Authenticatable
|
||||
'password' => 'hashed',
|
||||
];
|
||||
}
|
||||
|
||||
public function canAccessPanel(Panel $panel): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@ class AppServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
//
|
||||
if($this->app->environment('production')) {
|
||||
\URL::forceScheme('https');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers\Filament;
|
||||
|
||||
use Filament\Http\Middleware\Authenticate;
|
||||
use Filament\Http\Middleware\AuthenticateSession;
|
||||
use Filament\Http\Middleware\DisableBladeIconComponents;
|
||||
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
||||
use Filament\Pages\Dashboard;
|
||||
use Filament\Panel;
|
||||
use Filament\PanelProvider;
|
||||
use Filament\Support\Colors\Color;
|
||||
use Filament\Widgets\AccountWidget;
|
||||
use Filament\Widgets\FilamentInfoWidget;
|
||||
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies;
|
||||
use Illuminate\Foundation\Http\Middleware\PreventRequestForgery;
|
||||
use Illuminate\Routing\Middleware\SubstituteBindings;
|
||||
use Illuminate\Session\Middleware\StartSession;
|
||||
use Illuminate\View\Middleware\ShareErrorsFromSession;
|
||||
|
||||
class AdminPanelProvider extends PanelProvider
|
||||
{
|
||||
public function panel(Panel $panel): Panel
|
||||
{
|
||||
return $panel
|
||||
->default()
|
||||
->id('admin')
|
||||
->path('admin')
|
||||
->login()
|
||||
->colors([
|
||||
'primary' => Color::Amber,
|
||||
])
|
||||
->discoverResources(in: app_path('Filament/Resources'), for: 'App\Filament\Resources')
|
||||
->discoverPages(in: app_path('Filament/Pages'), for: 'App\Filament\Pages')
|
||||
->pages([
|
||||
Dashboard::class,
|
||||
])
|
||||
->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\Filament\Widgets')
|
||||
->widgets([
|
||||
AccountWidget::class,
|
||||
FilamentInfoWidget::class,
|
||||
])
|
||||
->middleware([
|
||||
EncryptCookies::class,
|
||||
AddQueuedCookiesToResponse::class,
|
||||
StartSession::class,
|
||||
AuthenticateSession::class,
|
||||
ShareErrorsFromSession::class,
|
||||
PreventRequestForgery::class,
|
||||
SubstituteBindings::class,
|
||||
DisableBladeIconComponents::class,
|
||||
DispatchServingFilamentEvent::class,
|
||||
])
|
||||
->authMiddleware([
|
||||
Authenticate::class,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,901 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="210mm"
|
||||
height="297mm"
|
||||
viewBox="0 0 210 297"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
||||
sodipodi:docname="logo_full.svg"
|
||||
inkscape:export-batch-name="logo_full"
|
||||
inkscape:export-batch-path="/home/sc0tt/Dev/tla/assets-nopub"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showguides="false"
|
||||
inkscape:zoom="3.9857876"
|
||||
inkscape:cx="180.89273"
|
||||
inkscape:cy="106.00164"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1124"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="118.92254"
|
||||
y="20.071316"
|
||||
width="59.963055"
|
||||
height="42.902437"
|
||||
id="rect36" />
|
||||
<rect
|
||||
x="195.94622"
|
||||
y="30.106973"
|
||||
width="83.546851"
|
||||
height="30.106973"
|
||||
id="rect35" />
|
||||
<rect
|
||||
x="263.68691"
|
||||
y="41.898871"
|
||||
width="50.42918"
|
||||
height="27.598059"
|
||||
id="rect34" />
|
||||
<rect
|
||||
x="114.4065"
|
||||
y="51.432746"
|
||||
width="97.094989"
|
||||
height="33.368562"
|
||||
id="rect20" />
|
||||
<rect
|
||||
x="118.16987"
|
||||
y="55.948792"
|
||||
width="92.578943"
|
||||
height="24.587362"
|
||||
id="rect6" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect3"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect2"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="38.001401"
|
||||
height="21.152321"
|
||||
id="rect5-6-9-0" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-9"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-84" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-7"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-6" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-74"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-1" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-9-8"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-84-5" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-9" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="64.789864"
|
||||
height="26.829346"
|
||||
id="rect5-6-9-0-7" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-7-5"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-6-3" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-74-0"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-1-4" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-9-8-8"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-84-5-8" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-9-8" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="64.789864"
|
||||
height="26.829346"
|
||||
id="rect5-6-9-0-7-9" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-7-5-7"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-6-3-7" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-6"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-4" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-9-3"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-84-0" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-3" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="38.0014"
|
||||
height="21.152321"
|
||||
id="rect5-6-9-0-0" />
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect4-7-4-7-9"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-6-2" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="tall_dark"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1-8-4"
|
||||
transform="translate(31.619607,11.721327)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-3-0"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-74-0"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
id="text5-5-9-18-5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-1-4);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="120.91926"
|
||||
y="75.351555"
|
||||
id="tspan38"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan30">A</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-9-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-9-8-8"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
id="text5-5-9-3-6-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-84-5-8);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="122.16059"
|
||||
y="75.351555"
|
||||
id="tspan40"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan39">L</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-4-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-9-8);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan42"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan41">Tdle</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,2.4486852,5.0261842)"
|
||||
id="text5-5-9-5-3-9"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-0-7-9);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="77.777827"
|
||||
id="tspan44"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan43">DLE</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-3-2"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-7-5-7"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
id="text5-5-9-59-3-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-6-3-7);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="121.99259"
|
||||
y="75.351555"
|
||||
id="tspan46"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan45">T</tspan></tspan></text>
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="long_dark"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1-4"
|
||||
transform="translate(31.409604,-3.8667037e-4)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-77"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-6"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
id="text5-5-9-54"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-4);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="120.91926"
|
||||
y="75.351555"
|
||||
id="tspan48"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan47">A</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-8"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-9-3"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
id="text5-5-9-3-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-84-0);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="122.16059"
|
||||
y="75.351555"
|
||||
id="tspan50"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan49">L</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-3);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan52"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan51">Tdle</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.826285,0.00371695)"
|
||||
id="text5-5-9-5-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-0-0);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="75.351555"
|
||||
id="tspan54"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan53">DLE</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-7-9"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
id="text5-5-9-59-36"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-6-2);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="121.99259"
|
||||
y="75.351555"
|
||||
id="tspan56"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan55">T</tspan></tspan></text>
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="tall_light"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1-8"
|
||||
transform="translate(0.07723957,11.58895)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-3"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-74"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)"
|
||||
inkscape:export-filename="logo_light_tall.svg"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
id="text5-5-9-18"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-1);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="120.91926"
|
||||
y="75.351555"
|
||||
id="tspan58"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan57">A</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-9-8"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
id="text5-5-9-3-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-84-5);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="122.16059"
|
||||
y="75.351555"
|
||||
id="tspan60"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan59">L</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-9);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan62"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan61">Tdle</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,2.4486852,5.0261842)"
|
||||
id="text5-5-9-5-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-0-7);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="77.777827"
|
||||
id="tspan64"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#000000"
|
||||
id="tspan63">DLE</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-3"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-7-5"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
id="text5-5-9-59-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-6-3);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="121.99259"
|
||||
y="75.351555"
|
||||
id="tspan66"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan65">T</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text5"
|
||||
style="fill:#ffffff;writing-mode:lr-tb;text-orientation:auto;direction:ltr;stroke-width:1.0015748;stroke-dasharray:none;fill-opacity:1;font-size:21.33333333px;-inkscape-font-specification:'Sans Bold';font-family:Sans;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal;line-height:0;letter-spacing:3.7500001px;white-space:pre;shape-inside:url(#rect6)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text20"
|
||||
style="fill:#ffffff;writing-mode:lr-tb;text-orientation:auto;direction:ltr;stroke-width:1.0015748;stroke-dasharray:none;fill-opacity:1;font-size:21.33333333px;-inkscape-font-specification:'Sans Bold';font-family:Sans;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal;line-height:0;letter-spacing:3.7500001px;white-space:pre;shape-inside:url(#rect20)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text34"
|
||||
style="fill:#ffffff;writing-mode:lr-tb;text-orientation:auto;direction:ltr;stroke-width:1.0015748;stroke-dasharray:none;fill-opacity:1;font-size:21.33333333px;-inkscape-font-specification:'Sans Bold';font-family:Sans;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal;line-height:0;letter-spacing:3.7500001px;white-space:pre;shape-inside:url(#rect34)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text35"
|
||||
style="fill:#ffffff;writing-mode:lr-tb;text-orientation:auto;direction:ltr;stroke-width:1.0015748;stroke-dasharray:none;fill-opacity:1;font-size:21.33333333px;-inkscape-font-specification:'Sans Bold';font-family:Sans;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal;line-height:0;letter-spacing:3.7500001px;white-space:pre;shape-inside:url(#rect35)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text36"
|
||||
style="fill:#ffffff;writing-mode:lr-tb;text-orientation:auto;direction:ltr;stroke-width:1.0015748;stroke-dasharray:none;fill-opacity:1;font-size:21.33333333px;-inkscape-font-specification:'Sans Bold';font-family:Sans;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal;line-height:0;letter-spacing:3.7500001px;white-space:pre;shape-inside:url(#rect36)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="long_light"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)"
|
||||
inkscape:export-filename="logo_light_long.svg"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
id="text5-5-9"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="120.91926"
|
||||
y="75.351555"
|
||||
id="tspan68"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan67">A</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-9"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
id="text5-5-9-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-84);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="122.16059"
|
||||
y="75.351555"
|
||||
id="tspan70"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan69">L</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan72"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan71">Tdle</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.826285,0.00371695)"
|
||||
id="text5-5-9-5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-0);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="75.351555"
|
||||
id="tspan74"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#000000"
|
||||
id="tspan73">DLE</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
sodipodi:type="rect"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
inkscape:path-effect="#path-effect4-7-4-7"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
id="text5-5-9-59"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-6);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="121.99259"
|
||||
y="75.351555"
|
||||
id="tspan76"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan75">T</tspan></tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 40 KiB |
@@ -0,0 +1,565 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="210mm"
|
||||
height="297mm"
|
||||
viewBox="0 0 210 297"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="118.92254"
|
||||
y="20.071316"
|
||||
width="59.963055"
|
||||
height="42.902437"
|
||||
id="rect36" />
|
||||
<rect
|
||||
x="195.94622"
|
||||
y="30.106973"
|
||||
width="83.546851"
|
||||
height="30.106973"
|
||||
id="rect35" />
|
||||
<rect
|
||||
x="263.68691"
|
||||
y="41.898871"
|
||||
width="50.42918"
|
||||
height="27.598059"
|
||||
id="rect34" />
|
||||
<rect
|
||||
x="114.4065"
|
||||
y="51.432746"
|
||||
width="97.094989"
|
||||
height="33.368562"
|
||||
id="rect20" />
|
||||
<rect
|
||||
x="118.16987"
|
||||
y="55.948792"
|
||||
width="92.578943"
|
||||
height="24.587362"
|
||||
id="rect6" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="38.001401"
|
||||
height="21.152321"
|
||||
id="rect5-6-9-0" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-84" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-6" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-1" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-84-5" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-9" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="64.789864"
|
||||
height="26.829346"
|
||||
id="rect5-6-9-0-7" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-6-3" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-1-4" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-84-5-8" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-9-8" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="64.789864"
|
||||
height="26.829346"
|
||||
id="rect5-6-9-0-7-9" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-6-3-7" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-4" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-84-0" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-3" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="38.0014"
|
||||
height="21.152321"
|
||||
id="rect5-6-9-0-0" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-6-2" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer1-8-4"
|
||||
transform="translate(31.619607,11.721327)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-3-0"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
id="text5-5-9-18-5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-1-4);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="120.91926"
|
||||
y="75.351555"
|
||||
id="tspan38"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan30">A</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-9-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
id="text5-5-9-3-6-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-84-5-8);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="122.16059"
|
||||
y="75.351555"
|
||||
id="tspan40"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan39">L</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-4-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-9-8);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan42"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan41">Tdle</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,2.4486852,5.0261842)"
|
||||
id="text5-5-9-5-3-9"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-0-7-9);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="77.777827"
|
||||
id="tspan44"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan43">DLE</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-3-2"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
id="text5-5-9-59-3-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-6-3-7);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="121.99259"
|
||||
y="75.351555"
|
||||
id="tspan46"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan45">T</tspan></tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="layer1-4"
|
||||
transform="translate(31.409604,-3.8667037e-4)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-77"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
id="text5-5-9-54"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-4);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="120.91926"
|
||||
y="75.351555"
|
||||
id="tspan48"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan47">A</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-8"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
id="text5-5-9-3-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-84-0);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="122.16059"
|
||||
y="75.351555"
|
||||
id="tspan50"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan49">L</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-3);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan52"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan51">Tdle</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.826285,0.00371695)"
|
||||
id="text5-5-9-5-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-0-0);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="75.351555"
|
||||
id="tspan54"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan53">DLE</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
id="text5-5-9-59-36"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-6-2);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="121.99259"
|
||||
y="75.351555"
|
||||
id="tspan56"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan55">T</tspan></tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="layer1-8"
|
||||
transform="translate(0.07723957,11.58895)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-3"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
id="text5-5-9-18"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-1);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="120.91926"
|
||||
y="75.351555"
|
||||
id="tspan58"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan57">A</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
id="text5-5-9-3-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-84-5);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="122.16059"
|
||||
y="75.351555"
|
||||
id="tspan60"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan59">L</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-9);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan62"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan61">Tdle</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,2.4486852,5.0261842)"
|
||||
id="text5-5-9-5-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-0-7);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="77.777827"
|
||||
id="tspan64"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#000000"
|
||||
id="tspan63">DLE</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-3"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
id="text5-5-9-59-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-6-3);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="121.99259"
|
||||
y="75.351555"
|
||||
id="tspan66"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan65">T</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect6);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text20"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect20);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text34"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect34);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text35"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect35);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text36"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect36);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
id="layer1">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
id="text5-5-9"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="120.91926"
|
||||
y="75.351555"
|
||||
id="tspan68"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan67">A</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
id="text5-5-9-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-84);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="122.16059"
|
||||
y="75.351555"
|
||||
id="tspan70"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan69">L</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan72"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan71">Tdle</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.826285,0.00371695)"
|
||||
id="text5-5-9-5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-0);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="75.351555"
|
||||
id="tspan74"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold';fill:#000000"
|
||||
id="tspan73">DLE</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
id="text5-5-9-59"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';text-align:center;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-6);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"
|
||||
x="14.547378"
|
||||
y="0"><tspan
|
||||
x="121.99259"
|
||||
y="75.351555"
|
||||
id="tspan76"><tspan
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan75">T</tspan></tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 29 KiB |
@@ -1,7 +1,6 @@
|
||||
<?php
|
||||
|
||||
use App\Providers\AppServiceProvider;
|
||||
|
||||
return [
|
||||
AppServiceProvider::class,
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\Filament\AdminPanelProvider::class,
|
||||
];
|
||||
|
||||
+4
-5
@@ -3,13 +3,11 @@
|
||||
"name": "laravel/laravel",
|
||||
"type": "project",
|
||||
"description": "The skeleton application for the Laravel framework.",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"framework"
|
||||
],
|
||||
"keywords": ["laravel", "framework"],
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^8.3",
|
||||
"filament/filament": "^5.0",
|
||||
"laravel/framework": "^13.8",
|
||||
"laravel/tinker": "^3.0"
|
||||
},
|
||||
@@ -54,7 +52,8 @@
|
||||
],
|
||||
"post-autoload-dump": [
|
||||
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
||||
"@php artisan package:discover --ansi"
|
||||
"@php artisan package:discover --ansi",
|
||||
"@php artisan filament:upgrade"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"@php artisan vendor:publish --tag=laravel-assets --ansi --force",
|
||||
|
||||
Generated
+2122
-1
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Broadcasting
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By uncommenting the Laravel Echo configuration, you may connect Filament
|
||||
| to any Pusher-compatible websockets server.
|
||||
|
|
||||
| This will allow your users to receive real-time notifications.
|
||||
|
|
||||
*/
|
||||
|
||||
'broadcasting' => [
|
||||
|
||||
// 'echo' => [
|
||||
// 'broadcaster' => 'pusher',
|
||||
// 'key' => env('VITE_PUSHER_APP_KEY'),
|
||||
// 'cluster' => env('VITE_PUSHER_APP_CLUSTER'),
|
||||
// 'wsHost' => env('VITE_PUSHER_HOST'),
|
||||
// 'wsPort' => env('VITE_PUSHER_PORT'),
|
||||
// 'wssPort' => env('VITE_PUSHER_PORT'),
|
||||
// 'authEndpoint' => '/broadcasting/auth',
|
||||
// 'disableStats' => true,
|
||||
// 'encrypted' => true,
|
||||
// 'forceTLS' => env('VITE_PUSHER_SCHEME', 'https') === 'https',
|
||||
// ],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Filesystem Disk
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the storage disk Filament will use to store files. You may use
|
||||
| any of the disks defined in the `config/filesystems.php`.
|
||||
|
|
||||
*/
|
||||
|
||||
'default_filesystem_disk' => env('FILESYSTEM_DISK', 'local'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Temporary File URL Expiry
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When Filament generates temporary URLs for previewing private files
|
||||
| (file uploads, image columns, image entries, rich editor attachments,
|
||||
| etc.), this value controls how many minutes those URLs remain valid.
|
||||
|
|
||||
| The generated URL's expiry is rounded up to the end of the hour it
|
||||
| falls in, so the effective lifetime will be between this value and
|
||||
| this value plus up to 60 minutes.
|
||||
|
|
||||
*/
|
||||
|
||||
'temporary_file_url_expiry_minutes' => 30,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Assets Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the directory where Filament's assets will be published to. It
|
||||
| is relative to the `public` directory of your Laravel application.
|
||||
|
|
||||
| After changing the path, you should run `php artisan filament:assets`.
|
||||
|
|
||||
*/
|
||||
|
||||
'assets_path' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the directory that Filament will use to store cache files that
|
||||
| are used to optimize the registration of components.
|
||||
|
|
||||
| After changing the path, you should run `php artisan filament:cache-components`.
|
||||
|
|
||||
*/
|
||||
|
||||
'cache_path' => base_path('bootstrap/cache/filament'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Livewire Loading Delay
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This sets the delay before loading indicators appear.
|
||||
|
|
||||
| Setting this to 'none' makes indicators appear immediately, which can be
|
||||
| desirable for high-latency connections. Setting it to 'default' applies
|
||||
| Livewire's standard 200ms delay.
|
||||
|
|
||||
*/
|
||||
|
||||
'livewire_loading_delay' => 'default',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| File Generation
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Artisan commands that generate files can be configured here by setting
|
||||
| configuration flags that will impact their location or content.
|
||||
|
|
||||
| Often, this is useful to preserve file generation behavior from a
|
||||
| previous version of Filament, to ensure consistency between older and
|
||||
| newer generated files. These flags are often documented in the upgrade
|
||||
| guide for the version of Filament you are upgrading to.
|
||||
|
|
||||
*/
|
||||
|
||||
'file_generation' => [
|
||||
'flags' => [],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| System Route Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the prefix used for the system routes that Filament registers,
|
||||
| such as the routes for downloading exports and failed import rows.
|
||||
|
|
||||
*/
|
||||
|
||||
'system_route_prefix' => 'filament',
|
||||
|
||||
];
|
||||
@@ -18,9 +18,10 @@ class TlaFactory extends Factory
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'abbreviation' => fake()->word() . ' ' . fake()->word() . ' ' . fake()->word(),
|
||||
'acronym' => fake()->word() . ' ' . fake()->word() . ' ' . fake()->word(),
|
||||
'hint' => fake()->sentence(),
|
||||
'language' => fake()->randomElement(['hu', 'en']),
|
||||
'context' => fake()->paragraph(),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,10 +13,11 @@ return new class extends Migration
|
||||
{
|
||||
Schema::create('tla', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('abbreviation');
|
||||
$table->string('acronym');
|
||||
$table->string('hint')->nullable();
|
||||
$table->enum('language', ['hu', 'en']);
|
||||
$table->date('used')->nullable();
|
||||
$table->longText('context')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('tla_suggestion', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('acronym');
|
||||
$table->string('hint')->nullable();
|
||||
$table->enum('language', ['hu', 'en']);
|
||||
$table->longText('context')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('tla_suggestion');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('tla', function (Blueprint $table) {
|
||||
$table->integer('likes')->default(0)->after('context');
|
||||
$table->integer('dislikes')->default(0)->after('likes');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('tla_suggestion', function (Blueprint $table){
|
||||
$table->string('submitter')->nullable()->after('context');
|
||||
});
|
||||
Schema::table('tla', function (Blueprint $table){
|
||||
$table->string('submitter')->nullable()->after('context');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
||||
@@ -10,7 +10,6 @@ services:
|
||||
- .:/app
|
||||
env_file:
|
||||
- .env
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: "mariadb:lts"
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
(()=>{var o=({livewireId:s})=>({actionNestingIndex:null,shouldOverlayParentActions:!1,closedActionNestingIndexes:[],focusTargetsByNestingIndex:{},boundSyncActionModals:null,boundOnModalClosed:null,init(){this.boundSyncActionModals=e=>{e.detail.id===s&&this.syncActionModals(e.detail.newActionNestingIndex,e.detail.shouldOverlayParentActions??!1)},this.boundOnModalClosed=e=>{let t=this.getActionNestingIndexFromModalId(e.detail.id);t!==null&&((this.shouldOverlayParentActions||t===0)&&this.restorePreviouslyFocusedElement(t-1),this.closedActionNestingIndexes.push(t))},window.addEventListener("sync-action-modals",this.boundSyncActionModals),window.addEventListener("modal-closed",this.boundOnModalClosed)},destroy(){this.boundSyncActionModals&&(window.removeEventListener("sync-action-modals",this.boundSyncActionModals),this.boundSyncActionModals=null),this.boundOnModalClosed&&(window.removeEventListener("modal-closed",this.boundOnModalClosed),this.boundOnModalClosed=null)},syncActionModals(e,t=!1){if(this.actionNestingIndex===e){this.actionNestingIndex!==null&&this.$nextTick(()=>this.openModal());return}let n=this.actionNestingIndex!==null&&e!==null&&e>this.actionNestingIndex,i=this.actionNestingIndex!==null&&e!==null&&e<this.actionNestingIndex,d=this.actionNestingIndex===null&&e!==null;if((n||d)&&this.rememberPreviouslyFocusedElement(),this.actionNestingIndex!==null&&!(t&&n)&&this.closeModal(),this.actionNestingIndex=e,this.actionNestingIndex===null){this.restorePreviouslyFocusedElement(-1),this.closedActionNestingIndexes=[],this.focusTargetsByNestingIndex={},this.shouldOverlayParentActions=!1;return}if(this.shouldOverlayParentActions=t,this.closedActionNestingIndexes=this.closedActionNestingIndexes.filter(l=>l<=this.actionNestingIndex),!this.closedActionNestingIndexes.includes(this.actionNestingIndex)){if(!this.$el.querySelector(`#${this.generateModalId(e)}`)){this.$nextTick(()=>{this.openModal(),i&&this.restorePreviouslyFocusedElement()});return}this.openModal(),i&&this.restorePreviouslyFocusedElement()}},rememberPreviouslyFocusedElement(){let e=this.$focus.focused();if(!e)return;if(this.actionNestingIndex===null){this.focusTargetsByNestingIndex[-1]=e;return}this.$el.querySelector(`#${this.generateModalId(this.actionNestingIndex)}`)?.contains(e)&&(this.focusTargetsByNestingIndex[this.actionNestingIndex]=e)},restorePreviouslyFocusedElement(e=this.actionNestingIndex){let t=this.focusTargetsByNestingIndex[e];if(t){for(let n in this.focusTargetsByNestingIndex)Number(n)>=e&&delete this.focusTargetsByNestingIndex[n];requestAnimationFrame(()=>requestAnimationFrame(()=>this.$nextTick(()=>{t.focus({preventScroll:!0})})))}},generateModalId(e){return`fi-${s}-action-`+e},getActionNestingIndexFromModalId(e){let t=`fi-${s}-action-`;if(!e?.startsWith(t))return null;let n=Number(e.slice(t.length));return Number.isInteger(n)?n:null},openModal(){let e=this.generateModalId(this.actionNestingIndex);document.dispatchEvent(new CustomEvent("open-modal",{bubbles:!0,composed:!0,detail:{id:e}}))},closeModal(){let e=this.generateModalId(this.actionNestingIndex);document.dispatchEvent(new CustomEvent("close-modal-quietly",{bubbles:!0,composed:!0,detail:{id:e}}))}});document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentActionModals",o)});})();
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
function c({livewireId:s}){return{areAllCheckboxesChecked:!1,checkboxListOptions:[],search:"",unsubscribeLivewireHook:null,visibleCheckboxListOptions:[],init(){this.checkboxListOptions=Array.from(this.$root.querySelectorAll(".fi-fo-checkbox-list-option")),this.updateVisibleCheckboxListOptions(),this.$nextTick(()=>{this.checkIfAllCheckboxesAreChecked()}),this.unsubscribeLivewireHook=Livewire.interceptMessage(({message:e,onSuccess:t})=>{t(()=>{this.$nextTick(()=>{e.component.id===s&&(this.checkboxListOptions=Array.from(this.$root.querySelectorAll(".fi-fo-checkbox-list-option")),this.updateVisibleCheckboxListOptions(),this.checkIfAllCheckboxesAreChecked())})})}),this.$watch("search",()=>{this.updateVisibleCheckboxListOptions(),this.checkIfAllCheckboxesAreChecked()})},checkIfAllCheckboxesAreChecked(){this.areAllCheckboxesChecked=this.visibleCheckboxListOptions.length===this.visibleCheckboxListOptions.filter(e=>e.querySelector("input[type=checkbox]:checked, input[type=checkbox]:disabled")).length},toggleAllCheckboxes(){this.checkIfAllCheckboxesAreChecked();let e=!this.areAllCheckboxesChecked;this.visibleCheckboxListOptions.forEach(t=>{let i=t.querySelector("input[type=checkbox]");i.disabled||i.checked!==e&&(i.checked=e,i.dispatchEvent(new Event("change")))}),this.areAllCheckboxesChecked=e},updateVisibleCheckboxListOptions(){this.visibleCheckboxListOptions=this.checkboxListOptions.filter(e=>["",null,void 0].includes(this.search)||e.querySelector(".fi-fo-checkbox-list-option-label")?.innerText.toLowerCase().includes(this.search.toLowerCase())?!0:e.querySelector(".fi-fo-checkbox-list-option-description")?.innerText.toLowerCase().includes(this.search.toLowerCase()))},destroy(){this.unsubscribeLivewireHook?.()}}}export{c as default};
|
||||
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
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
function a({state:r}){return{state:r,rows:[],init(){this.updateRows(),this.rows.length<=0?this.rows.push({key:"",value:""}):this.updateState(),this.$watch("state",(e,t)=>{if(!Array.isArray(e))return;let s=i=>i===null?0:Array.isArray(i)?i.length:typeof i!="object"?0:Object.keys(i).length;s(e)===0&&s(t)===0||this.updateRows()})},addRow(){this.rows.push({key:"",value:""}),this.updateState()},deleteRow(e){this.rows.splice(e,1),this.rows.length<=0&&this.addRow(),this.updateState()},reorderRows(e){let t=Alpine.raw(this.rows);this.rows=[];let s=t.splice(e.oldIndex,1)[0];t.splice(e.newIndex,0,s),this.$nextTick(()=>{this.rows=t,this.updateState()})},updateRows(){let t=Alpine.raw(this.state).map(({key:s,value:i})=>({key:s,value:i}));this.rows.forEach(s=>{(s.key===""||s.key===null)&&t.push({key:"",value:s.value})}),this.rows=t},updateState(){let e=[];this.rows.forEach(t=>{t.key===""||t.key===null||e.push({key:t.key,value:t.value})}),JSON.stringify(this.state)!==JSON.stringify(e)&&(this.state=e)}}}export{a as default};
|
||||
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
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
function r({state:n,splitKeys:i,tagAddedMessage:a,tagRemovedMessage:s}){return{newTag:"",state:n,liveRegionClearTimeout:null,announce(e){let t=this.$refs.liveRegion;t&&(this.liveRegionClearTimeout!==null&&clearTimeout(this.liveRegionClearTimeout),t.textContent=e,this.liveRegionClearTimeout=setTimeout(()=>{t.textContent="",this.liveRegionClearTimeout=null},3e3))},createTag(){if(this.newTag=this.newTag.trim(),this.newTag!==""){if(this.state.includes(this.newTag)){this.newTag="";return}this.state.push(this.newTag),this.announce(a?.replace(":tag",()=>this.newTag)),this.newTag=""}},deleteTag(e){this.state=this.state.filter(t=>t!==e),this.announce(s?.replace(":tag",()=>e))},reorderTags(e){let t=this.state.splice(e.oldIndex,1)[0];this.state.splice(e.newIndex,0,t),this.state=[...this.state]},input:{"x-on:blur":"createTag()","x-model":"newTag","x-on:keydown"(e){["Enter",...i].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),this.createTag())},"x-on:paste"(){this.$nextTick(()=>{if(i.length===0){this.createTag();return}let e=i.map(t=>t.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&")).join("|");this.newTag.split(new RegExp(e,"g")).forEach(t=>{this.newTag=t,this.createTag()})})}}}}export{r as default};
|
||||
@@ -0,0 +1 @@
|
||||
function n({initialHeight:e,shouldAutosize:i,state:h}){return{state:h,wrapperEl:null,init(){this.wrapperEl=this.$el.parentNode,this.setInitialHeight(),i?this.$watch("state",()=>{this.resize()}):this.setUpResizeObserver()},setInitialHeight(){this.$el.scrollHeight<=0||(this.wrapperEl.style.height=e+"rem")},resize(){if(this.$el.scrollHeight<=0)return;let t=this.$el.style.height;this.$el.style.height="0px";let r=this.$el.scrollHeight;this.$el.style.height=t;let l=parseFloat(e)*parseFloat(getComputedStyle(document.documentElement).fontSize),s=Math.max(r,l)+"px";this.wrapperEl.style.height!==s&&(this.wrapperEl.style.height=s)},setUpResizeObserver(){new ResizeObserver(()=>{this.wrapperEl.style.height=this.$el.style.height}).observe(this.$el)}}}export{n as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
var i=()=>({isSticky:!1,width:0,resizeObserver:null,boundUpdateWidth:null,init(){let e=this.$el.parentElement;e&&(this.updateWidth(),this.resizeObserver=new ResizeObserver(()=>this.updateWidth()),this.resizeObserver.observe(e),this.boundUpdateWidth=this.updateWidth.bind(this),window.addEventListener("resize",this.boundUpdateWidth))},enableSticky(){this.isSticky=this.$el.getBoundingClientRect().top>0},disableSticky(){this.isSticky=!1},updateWidth(){let e=this.$el.parentElement;if(!e)return;let t=getComputedStyle(this.$root.querySelector(".fi-ac"));this.width=e.offsetWidth+parseInt(t.marginInlineStart,10)*-1+parseInt(t.marginInlineEnd,10)*-1},destroy(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.boundUpdateWidth&&(window.removeEventListener("resize",this.boundUpdateWidth),this.boundUpdateWidth=null)}});export{i as default};
|
||||
@@ -0,0 +1 @@
|
||||
function x({activeTab:h,isScrollable:m,isTabPersisted:T,isTabPersistedInQueryString:u,livewireId:g,schemaKey:D,tab:W,tabQueryStringKey:r}){return{boundResizeHandler:null,boundResetHandler:null,isScrollable:m,resizeDebounceTimer:null,tab:W,unsubscribeLivewireHook:null,withinDropdownIndex:null,withinDropdownMounted:!1,init(){let t=this.getTabs(),e=new URLSearchParams(window.location.search);u&&e.has(r)&&t.includes(e.get(r))&&(this.tab=e.get(r)),(!this.tab||!t.includes(this.tab))&&(this.tab=t[h-1]),this.$watch("tab",()=>{this.updateQueryString(),this.autofocusFields()}),this.autofocusFields(!0),this.unsubscribeLivewireHook=Livewire.interceptMessage(({message:i,onSuccess:a})=>{a(()=>{this.$nextTick(()=>{if(i.component.id!==g)return;let l=this.getTabs();l.includes(this.tab)||(this.tab=l[h-1]??this.tab)})})}),this.boundResetHandler=i=>{i.detail.livewireId!==g||i.detail.schemaKey!==D||T||u||this.$nextTick(()=>{this.tab=this.getTabs()[h-1]??this.tab})},window.addEventListener("reset-schema-component-state",this.boundResetHandler),m||(this.boundResizeHandler=this.debouncedUpdateTabsWithinDropdown.bind(this),window.addEventListener("resize",this.boundResizeHandler),this.updateTabsWithinDropdown())},calculateAvailableWidth(t){let e=window.getComputedStyle(t);return Math.floor(t.clientWidth)-Math.ceil(parseFloat(e.paddingLeft))*2},calculateContainerGap(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.columnGap))},calculateDropdownIconWidth(t){let e=t.querySelector(".fi-icon");return Math.ceil(e.clientWidth)},calculateTabItemGap(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.columnGap)||8)},calculateTabItemPadding(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.paddingLeft))+Math.ceil(parseFloat(e.paddingRight))},findOverflowIndex(t,e,i,a,l,b){let p=t.map(n=>Math.ceil(n.clientWidth)),w=t.map(n=>{let d=n.querySelector(".fi-tabs-item-label"),s=n.querySelector(".fi-badge"),o=Math.ceil(d.clientWidth),c=s?Math.ceil(s.clientWidth):0;return{label:o,badge:c,total:o+(c>0?a+c:0)}});for(let n=0;n<t.length;n++){let d=p.slice(0,n+1).reduce((f,I)=>f+I,0),s=n*i,o=w.slice(n+1),c=o.length>0,v=c?Math.max(...o.map(f=>f.total)):0,y=c?l+v+a+b+i:0;if(d+s+y>e)return n}return-1},get isDropdownButtonVisible(){return this.withinDropdownMounted?this.withinDropdownIndex===null?!1:this.getTabs().findIndex(e=>e===this.tab)<this.withinDropdownIndex:!0},getTabs(){return this.$refs.tabsData?JSON.parse(this.$refs.tabsData.value):[]},updateQueryString(){if(!u)return;let t=new URL(window.location.href);t.searchParams.set(r,this.tab),history.replaceState(null,document.title,t.toString())},autofocusFields(t=!1){this.$nextTick(()=>{if(t&&document.activeElement&&document.activeElement!==document.body&&this.$el.compareDocumentPosition(document.activeElement)&Node.DOCUMENT_POSITION_PRECEDING)return;let e=this.$el.querySelectorAll(".fi-sc-tabs-tab.fi-active [autofocus]");for(let i of e)if(i.focus(),document.activeElement===i)break})},debouncedUpdateTabsWithinDropdown(){clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=setTimeout(()=>this.updateTabsWithinDropdown(),150)},async updateTabsWithinDropdown(){this.withinDropdownIndex=null,this.withinDropdownMounted=!1,await this.$nextTick();let t=this.$el.querySelector(".fi-tabs"),e=t.querySelector(".fi-tabs-item:last-child"),i=Array.from(t.children).slice(0,-1),a=i.map(s=>s.style.display);i.forEach(s=>s.style.display=""),t.offsetHeight;let l=this.calculateAvailableWidth(t),b=this.calculateContainerGap(t),p=this.calculateDropdownIconWidth(e),w=this.calculateTabItemGap(i[0]),n=this.calculateTabItemPadding(i[0]),d=this.findOverflowIndex(i,l,b,w,n,p);i.forEach((s,o)=>s.style.display=a[o]),d!==-1&&(this.withinDropdownIndex=d),this.withinDropdownMounted=!0},destroy(){this.unsubscribeLivewireHook?.(),this.boundResetHandler&&window.removeEventListener("reset-schema-component-state",this.boundResetHandler),this.boundResizeHandler&&window.removeEventListener("resize",this.boundResizeHandler),clearTimeout(this.resizeDebounceTimer)}}}export{x as default};
|
||||
@@ -0,0 +1 @@
|
||||
function l({isSkippable:i,isStepPersistedInQueryString:n,key:o,livewireId:h,schemaKey:p,startStep:r,stepQueryStringKey:d}){return{boundResetHandler:null,step:null,init(){this.step=this.getSteps().at(r-1),this.$watch("step",()=>{this.updateQueryString(),this.autofocusFields()}),this.autofocusFields(!0),this.boundResetHandler=t=>{t.detail.livewireId!==h||t.detail.schemaKey!==p||n||this.$nextTick(()=>{this.step=this.getSteps().at(r-1)??this.step})},window.addEventListener("reset-schema-component-state",this.boundResetHandler)},async requestNextStep(){await this.$wire.callSchemaComponentMethod(o,"nextStep",{currentStepIndex:this.getStepIndex(this.step)})},goToNextStep(){let t=this.getStepIndex(this.step)+1;t>=this.getSteps().length||(this.step=this.getSteps()[t],this.scroll())},goToPreviousStep(){let t=this.getStepIndex(this.step)-1;t<0||(this.step=this.getSteps()[t],this.scroll())},goToStep(t){let e=this.getStepIndex(t);e<=-1||!i&&e>this.getStepIndex(this.step)||(this.step=t,this.scroll())},scroll(){this.$nextTick(()=>{this.$refs.header?.children[this.getStepIndex(this.step)].scrollIntoView({behavior:"smooth",block:"start"})})},autofocusFields(t=!1){this.$nextTick(()=>{if(t&&document.activeElement&&document.activeElement!==document.body&&this.$el.compareDocumentPosition(document.activeElement)&Node.DOCUMENT_POSITION_PRECEDING)return;let e=this.$refs[`step-${this.step}`]?.querySelectorAll("[autofocus]")??[];for(let s of e)if(s.focus(),document.activeElement===s)break})},getStepIndex(t){let e=this.getSteps().findIndex(s=>s===t);return e===-1?0:e},getSteps(){return JSON.parse(this.$refs.stepsData.value)},isFirstStep(){return this.getStepIndex(this.step)<=0},isLastStep(){return this.getStepIndex(this.step)+1>=this.getSteps().length},isStepAccessible(t){return i||this.getStepIndex(this.step)>this.getStepIndex(t)},updateQueryString(){if(!n)return;let t=new URL(window.location.href);t.searchParams.set(d,this.step),history.replaceState(null,document.title,t.toString())},destroy(){this.boundResetHandler&&window.removeEventListener("reset-schema-component-state",this.boundResetHandler)}}}export{l as default};
|
||||
@@ -0,0 +1 @@
|
||||
(()=>{var o=()=>({isSticky:!1,width:0,resizeObserver:null,boundUpdateWidth:null,init(){let i=this.$el.parentElement;i&&(this.updateWidth(),this.resizeObserver=new ResizeObserver(()=>this.updateWidth()),this.resizeObserver.observe(i),this.boundUpdateWidth=this.updateWidth.bind(this),window.addEventListener("resize",this.boundUpdateWidth))},enableSticky(){this.isSticky=this.$el.getBoundingClientRect().top>0},disableSticky(){this.isSticky=!1},updateWidth(){let i=this.$el.parentElement;if(!i)return;let t=getComputedStyle(this.$root.querySelector(".fi-ac"));this.width=i.offsetWidth+parseInt(t.marginInlineStart,10)*-1+parseInt(t.marginInlineEnd,10)*-1},destroy(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.boundUpdateWidth&&(window.removeEventListener("resize",this.boundUpdateWidth),this.boundUpdateWidth=null)}});var a=function(i,t,n){let e=i;if(t.startsWith("/")&&(n=!0,t=t.slice(1)),n)return t;for(;t.startsWith("../");)e=e.includes(".")?e.slice(0,e.lastIndexOf(".")):null,t=t.slice(3);return["",null,void 0].includes(e)?t:["",null,void 0].includes(t)?e:`${e}.${t}`},d=i=>{let t=Alpine.findClosest(i,n=>n.__livewire);if(!t)throw"Could not find Livewire component in DOM tree.";return t.__livewire};document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentSchema",({livewireId:i,schemaKey:t})=>({handleFormValidationError(n){n.detail.livewireId===i&&this.$nextTick(()=>{let e=this.$el.querySelector("[data-validation-error]");if(!e)return;let r=e;for(;r;)r.dispatchEvent(new CustomEvent("expand")),r=r.parentNode;setTimeout(()=>e.closest("[data-field-wrapper]").scrollIntoView({behavior:"smooth",block:"start",inline:"start"}),200)})},handleClientSideStateReset(n){n.detail.livewireId!==i||n.detail.schemaKey!==t||this.$nextTick(()=>{let e=this.$el.querySelectorAll("[autofocus]");for(let r of e)if(r.offsetParent!==null&&(r.focus(),document.activeElement===r))break})},isStateChanged(n,e){if(n===void 0)return!1;try{return JSON.stringify(n)!==JSON.stringify(e)}catch{return n!==e}}})),window.Alpine.data("filamentSchemaComponent",({path:i,containerPath:t,$wire:n})=>({$statePath:i,$get:(e,r)=>n.$get(a(t,e,r)),$set:(e,r,s,l=!1)=>n.$set(a(t,e,s),r,l),get $state(){return n.$get(i)}})),window.Alpine.data("filamentActionsSchemaComponent",o),Livewire.interceptMessage(({message:i,onSuccess:t})=>{t(({payload:n})=>{n.effects?.dispatches?.forEach(e=>{if(!e.params?.awaitSchemaComponent)return;let r=Array.from(i.component.el.querySelectorAll(`[wire\\:partial="schema-component::${e.params.awaitSchemaComponent}"]`)).filter(s=>d(s)===i.component);if(r.length!==1){if(r.length>1)throw`Multiple schema components found with key [${e.params.awaitSchemaComponent}].`;window.addEventListener(`schema-component-${i.component.id}-${e.params.awaitSchemaComponent}-loaded`,()=>{window.dispatchEvent(new CustomEvent(e.name,{detail:e.params}))},{once:!0})}})})})});})();
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
function a({name:r,recordKey:s,state:n}){return{error:void 0,isLoading:!1,state:n,unsubscribeLivewireHook:null,init(){this.unsubscribeLivewireHook=Livewire.interceptMessage(({message:e,onSuccess:t})=>{t(()=>{this.$nextTick(()=>{if(this.isLoading||e.component.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let i=this.getServerState();i===void 0||Alpine.raw(this.state)===i||(this.state=i)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||Alpine.raw(this.state)===e)return;this.isLoading=!0;let t=await this.$wire.updateTableColumnState(r,s,this.state);this.error=t?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.state?"1":"0"),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[1,"1"].includes(this.$refs.serverState.value)},destroy(){this.unsubscribeLivewireHook?.()}}}export{a as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
function a({name:i,recordKey:s,state:n}){return{error:void 0,isLoading:!1,state:n,unsubscribeLivewireHook:null,init(){this.unsubscribeLivewireHook=Livewire.interceptMessage(({message:e,onSuccess:t})=>{t(()=>{this.$nextTick(()=>{if(this.isLoading||e.component.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let r=this.getServerState();r===void 0||this.getNormalizedState()===r||(this.state=r)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||this.getNormalizedState()===e)return;this.isLoading=!0;let t=await this.$wire.updateTableColumnState(i,s,this.state);this.error=t?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.getNormalizedState()),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[null,void 0].includes(this.$refs.serverState.value)?"":this.$refs.serverState.value.replaceAll('\\"','"')},getNormalizedState(){let e=Alpine.raw(this.state);return[null,void 0].includes(e)?"":e},destroy(){this.unsubscribeLivewireHook?.()}}}export{a as default};
|
||||
@@ -0,0 +1 @@
|
||||
function a({name:r,recordKey:s,state:n}){return{error:void 0,isLoading:!1,state:n,unsubscribeLivewireHook:null,init(){this.unsubscribeLivewireHook=Livewire.interceptMessage(({message:e,onSuccess:t})=>{t(()=>{this.$nextTick(()=>{if(this.isLoading||e.component.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let i=this.getServerState();i===void 0||Alpine.raw(this.state)===i||(this.state=i)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||Alpine.raw(this.state)===e)return;this.isLoading=!0;let t=await this.$wire.updateTableColumnState(r,s,this.state);this.error=t?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.state?"1":"0"),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[1,"1"].includes(this.$refs.serverState.value)},destroy(){this.unsubscribeLivewireHook?.()}}}export{a as default};
|
||||
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
@@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="22.608648mm"
|
||||
height="5.326561mm"
|
||||
viewBox="0 0 22.608648 5.326561"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-3" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer1-4"
|
||||
transform="translate(-31.921101,-15.538761)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-77"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 130.75661,75.351555 -1.02667,-3.136006 h -4.70401 l -1.02667,3.136006 h -3.08 l 4.68534,-13.384024 h 3.50934 l 4.72267,13.384024 z m -2.61334,-8.418682 q -0.0747,-0.28 -0.24267,-0.840001 -0.14933,-0.560001 -0.29866,-1.138669 -0.14934,-0.597335 -0.24267,-0.970669 -0.0747,0.429335 -0.224,0.989336 -0.13067,0.541334 -0.26134,1.082668 -0.13066,0.522668 -0.224,0.877335 l -0.952,2.893339 h 3.37867 z"
|
||||
id="text5-5-9-54"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
aria-label="A" />
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-8"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="M 123.74726,75.351555 V 62.023531 h 2.856 v 10.97602 h 5.39468 v 2.352004 z"
|
||||
id="text5-5-9-3-1"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
aria-label="L" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-3);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan2"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan1">Tdle</tspan></tspan></text>
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 125.4861,68.463542 q 0,2.296005 -0.85867,3.826674 -0.85867,1.530669 -2.42667,2.296004 -1.568,0.765335 -3.71467,0.765335 h -4.06934 V 62.023531 h 4.40534 q 3.136,0 4.89067,1.661336 1.77334,1.64267 1.77334,4.778675 z m -2.98667,0.112001 q 0,-2.146671 -0.952,-3.173339 -0.952,-1.045336 -2.80001,-1.045336 h -1.47467 v 8.642683 h 1.19467 q 4.03201,0 4.03201,-4.424008 z m 5.58135,6.776012 V 62.023531 h 2.856 v 10.97602 h 5.39468 v 2.352004 z m 18.20003,0 H 138.6088 V 62.023531 h 7.67201 v 2.314671 h -4.85334 v 2.930672 h 4.51734 v 2.314671 h -4.51734 v 3.434672 h 4.85334 z"
|
||||
id="text5-5-9-5-8"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.826285,0.00371695)"
|
||||
aria-label="DLE" />
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 128.80594,75.351555 h -2.85601 V 64.394202 h -3.60267 v -2.370671 h 10.06135 v 2.370671 h -3.60267 z"
|
||||
id="text5-5-9-59-36"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
aria-label="T" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="22.608648mm"
|
||||
height="5.326561mm"
|
||||
viewBox="0 0 22.608648 5.326561"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer1"
|
||||
transform="translate(-31.921101,-15.538761)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;text-anchor:middle;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 130.75661,75.351555 -1.02667,-3.136006 h -4.70401 l -1.02667,3.136006 h -3.08 l 4.68534,-13.384024 h 3.50934 l 4.72267,13.384024 z m -2.61334,-8.418682 q -0.0747,-0.28 -0.24267,-0.840001 -0.14933,-0.560001 -0.29866,-1.138669 -0.14934,-0.597335 -0.24267,-0.970669 -0.0747,0.429335 -0.224,0.989336 -0.13067,0.541334 -0.26134,1.082668 -0.13066,0.522668 -0.224,0.877335 l -0.952,2.893339 h 3.37867 z"
|
||||
id="text5-5-9"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
aria-label="A" />
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="M 123.74726,75.351555 V 62.023531 h 2.856 v 10.97602 h 5.39468 v 2.352004 z"
|
||||
id="text5-5-9-3"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
aria-label="L" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan4"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan3">Tdle</tspan></tspan></text>
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';white-space:pre;stroke-width:1.00157"
|
||||
d="m 125.4861,68.463542 q 0,2.296005 -0.85867,3.826674 -0.85867,1.530669 -2.42667,2.296004 -1.568,0.765335 -3.71467,0.765335 h -4.06934 V 62.023531 h 4.40534 q 3.136,0 4.89067,1.661336 1.77334,1.64267 1.77334,4.778675 z m -2.98667,0.112001 q 0,-2.146671 -0.952,-3.173339 -0.952,-1.045336 -2.80001,-1.045336 h -1.47467 v 8.642683 h 1.19467 q 4.03201,0 4.03201,-4.424008 z m 5.58135,6.776012 V 62.023531 h 2.856 v 10.97602 h 5.39468 v 2.352004 z m 18.20003,0 H 138.6088 V 62.023531 h 7.67201 v 2.314671 h -4.85334 v 2.930672 h 4.51734 v 2.314671 h -4.51734 v 3.434672 h 4.85334 z"
|
||||
id="text5-5-9-5"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,15.826285,0.00371695)"
|
||||
aria-label="DLE" />
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 128.80594,75.351555 h -2.85601 V 64.394202 h -3.60267 v -2.370671 h 10.06135 v 2.370671 h -3.60267 z"
|
||||
id="text5-5-9-59"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
aria-label="T" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="13.596244mm"
|
||||
height="10.066139mm"
|
||||
viewBox="0 0 13.596244 10.066139"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-9-8" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer1-8-4"
|
||||
transform="translate(-31.921101,-15.538761)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-3-0"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 130.75661,75.351555 -1.02667,-3.136006 h -4.70401 l -1.02667,3.136006 h -3.08 l 4.68534,-13.384024 h 3.50934 l 4.72267,13.384024 z m -2.61334,-8.418682 q -0.0747,-0.28 -0.24267,-0.840001 -0.14933,-0.560001 -0.29866,-1.138669 -0.14934,-0.597335 -0.24267,-0.970669 -0.0747,0.429335 -0.224,0.989336 -0.13067,0.541334 -0.26134,1.082668 -0.13066,0.522668 -0.224,0.877335 l -0.952,2.893339 h 3.37867 z"
|
||||
id="text5-5-9-18-5"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
aria-label="A" />
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-9-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="M 123.74726,75.351555 V 62.023531 h 2.856 v 10.97602 h 5.39468 v 2.352004 z"
|
||||
id="text5-5-9-3-6-4"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
aria-label="L" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-4-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-9-8);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan2"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan1">Tdle</tspan></tspan></text>
|
||||
<path
|
||||
style="font-weight:bold;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 127.29406,69.90584 q 0,2.623996 -0.98134,4.373326 -0.98133,1.749331 -2.77333,2.623996 -1.79199,0.874665 -4.24532,0.874665 h -4.65066 V 62.545851 h 5.03466 q 3.58399,0 5.58932,1.898664 2.02667,1.877331 2.02667,5.461325 z m -3.41333,0.128 q 0,-2.45333 -1.088,-3.626661 -1.088,-1.194665 -3.2,-1.194665 h -1.68533 v 9.877318 h 1.36533 q 4.608,0 4.608,-5.055992 z m 10.12866,7.743987 V 62.545851 h 3.264 v 12.543981 h 6.16532 v 2.687995 z m 24.54997,0 h -8.76799 V 62.545851 h 8.76799 v 2.64533 h -5.54666 v 3.349328 h 5.16266 v 2.645329 h -5.16266 v 3.925327 h 5.54666 z"
|
||||
id="text5-5-9-5-3-9"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,2.4486852,5.0261842)"
|
||||
aria-label="DLE" />
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-3-2"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 128.80594,75.351555 h -2.85601 V 64.394202 h -3.60267 v -2.370671 h 10.06135 v 2.370671 h -3.60267 z"
|
||||
id="text5-5-9-59-3-2"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
aria-label="T" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.5 KiB |
@@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="13.596244mm"
|
||||
height="10.066139mm"
|
||||
viewBox="0 0 13.596244 10.066139"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="118.92254"
|
||||
y="20.071316"
|
||||
width="59.963055"
|
||||
height="42.902435"
|
||||
id="rect36" />
|
||||
<rect
|
||||
x="195.94621"
|
||||
y="30.106974"
|
||||
width="83.546852"
|
||||
height="30.106974"
|
||||
id="rect35" />
|
||||
<rect
|
||||
x="263.68692"
|
||||
y="41.898872"
|
||||
width="50.42918"
|
||||
height="27.598059"
|
||||
id="rect34" />
|
||||
<rect
|
||||
x="114.4065"
|
||||
y="51.432747"
|
||||
width="97.094986"
|
||||
height="33.368561"
|
||||
id="rect20" />
|
||||
<rect
|
||||
x="118.16987"
|
||||
y="55.948792"
|
||||
width="92.578941"
|
||||
height="24.587362"
|
||||
id="rect6" />
|
||||
<rect
|
||||
x="112.83088"
|
||||
y="58.366917"
|
||||
width="29.094755"
|
||||
height="27.675499"
|
||||
id="rect5-6-9-8-9" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer1-8"
|
||||
transform="translate(-31.921101,-15.538761)">
|
||||
<path
|
||||
style="fill:#6a6ca0;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-3"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,28.290758,7.2688771)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 130.75661,75.351555 -1.02667,-3.136006 h -4.70401 l -1.02667,3.136006 h -3.08 l 4.68534,-13.384024 h 3.50934 l 4.72267,13.384024 z m -2.61334,-8.418682 q -0.0747,-0.28 -0.24267,-0.840001 -0.14933,-0.560001 -0.29866,-1.138669 -0.14934,-0.597335 -0.24267,-0.970669 -0.0747,0.429335 -0.224,0.989336 -0.13067,0.541334 -0.26134,1.082668 -0.13066,0.522668 -0.224,0.877335 l -0.952,2.893339 h 3.37867 z"
|
||||
id="text5-5-9-18"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,9.6306523,0.00904764)"
|
||||
aria-label="A" />
|
||||
<path
|
||||
style="fill:#62af63;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-0-9"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650759,23.678848,7.2701244)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="M 123.74726,75.351555 V 62.023531 h 2.856 v 10.97602 h 5.39468 v 2.352004 z"
|
||||
id="text5-5-9-3-6"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,5.0187431,0.01029489)"
|
||||
aria-label="L" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,13.333744,0.00419747)"
|
||||
id="text5-5-9-1-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:'Noto Sans Saurashtra';-inkscape-font-specification:'Noto Sans Saurashtra';writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect5-6-9-8-9);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none"><tspan
|
||||
x="112.83008"
|
||||
y="103.02734"
|
||||
id="tspan2"><tspan
|
||||
dx="0 9.4640169 11.797355 5.5626831"
|
||||
style="font-weight:bold;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
|
||||
id="tspan1">Tdle</tspan></tspan></text>
|
||||
<path
|
||||
style="font-weight:bold;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;white-space:pre;stroke-width:1.00157"
|
||||
d="m 127.29406,69.90584 q 0,2.623996 -0.98134,4.373326 -0.98133,1.749331 -2.77333,2.623996 -1.79199,0.874665 -4.24532,0.874665 h -4.65066 V 62.545851 h 5.03466 q 3.58399,0 5.58932,1.898664 2.02667,1.877331 2.02667,5.461325 z m -3.41333,0.128 q 0,-2.45333 -1.088,-3.626661 -1.088,-1.194665 -3.2,-1.194665 h -1.68533 v 9.877318 h 1.36533 q 4.608,0 4.608,-5.055992 z m 10.12866,7.743987 V 62.545851 h 3.264 v 12.543981 h 6.16532 v 2.687995 z m 24.54997,0 h -8.76799 V 62.545851 h 8.76799 v 2.64533 h -5.54666 v 3.349328 h 5.16266 v 2.645329 h -5.16266 v 3.925327 h 5.54666 z"
|
||||
id="text5-5-9-5-3"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,2.4486852,5.0261842)"
|
||||
aria-label="DLE" />
|
||||
<path
|
||||
style="fill:#007e02;fill-opacity:1;stroke-width:0.264999;stroke-dasharray:none"
|
||||
id="rect1-6-2-7-3"
|
||||
width="9.8571777"
|
||||
height="9.3877897"
|
||||
x="29.008268"
|
||||
y="14.598011"
|
||||
d="m 30.604192,14.598011 h 6.66533 c 0.884142,0 1.595924,0.711782 1.595924,1.595924 v 6.195942 c 0,0.884142 -0.711782,1.595924 -1.595924,1.595924 h -6.66533 c -0.884141,0 -1.595924,-0.711782 -1.595924,-1.595924 v -6.195942 c 0,-0.884142 0.711783,-1.595924 1.595924,-1.595924 z"
|
||||
ry="1.5959241"
|
||||
transform="matrix(0.44323656,0,0,0.56650758,19.063576,7.2771839)" />
|
||||
<path
|
||||
style="font-weight:bold;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans Bold';text-align:center;white-space:pre;fill:#ffffff;stroke-width:1.00157"
|
||||
d="m 128.80594,75.351555 h -2.85601 V 64.394202 h -3.60267 v -2.370671 h 10.06135 v 2.370671 h -3.60267 z"
|
||||
id="text5-5-9-59-3"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0.40347011,0.01735431)"
|
||||
aria-label="T" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect6);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text20"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect20);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text34"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect34);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text35"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect35);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,-0.07723957,-11.58895)"
|
||||
id="text36"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.3333px;line-height:0;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:3.75px;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect36);display:inline;fill:#ffffff;fill-opacity:1;stroke-width:1.00157;stroke-dasharray:none" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.5 KiB |
@@ -9,6 +9,15 @@
|
||||
'Segoe UI Symbol', 'Noto Color Emoji';
|
||||
}
|
||||
|
||||
:root {
|
||||
--ui-primary: rgb(255, 200, 0);
|
||||
|
||||
--correct-guess: rgb(0, 126, 2);
|
||||
--partial-correct-guess: rgb(37, 43, 154);
|
||||
--incorrect-guess: rgb(79, 79, 79);
|
||||
|
||||
}
|
||||
|
||||
.main {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
+14
-10
@@ -1,9 +1,8 @@
|
||||
<script setup lang="ts">
|
||||
import Footer from "./components/Footer.vue";
|
||||
|
||||
import type { NavigationMenuItem } from '@nuxt/ui'
|
||||
import { computed } from 'vue'
|
||||
import { useHead } from '@unhead/vue'
|
||||
import HowToPlay from "./components/HowToPlay.vue";
|
||||
import { useColorMode } from '@vueuse/core'
|
||||
import DevAlert from './components/DevAlert.vue';
|
||||
|
||||
const items: NavigationMenuItem[] = [{
|
||||
label: 'Git',
|
||||
@@ -15,28 +14,33 @@
|
||||
target: '_blank'
|
||||
},
|
||||
]
|
||||
|
||||
const mode = useColorMode();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
<UApp>
|
||||
<UHeader>
|
||||
<UHeader :toggle="false">
|
||||
<template #title>
|
||||
TLAdle
|
||||
<img v-if="mode == 'dark'" :src="'/logo_full_long_dark.svg'" class="h-6 w-auto">
|
||||
<img v-else :src="'/logo_full_long_light.svg'" class="h-6 w-auto">
|
||||
</template>
|
||||
|
||||
|
||||
|
||||
<template #right>
|
||||
<UColorModeButton />
|
||||
|
||||
|
||||
<HowToPlay/>
|
||||
<UColorModeSwitch />
|
||||
</template>
|
||||
</UHeader>
|
||||
|
||||
<DevAlert/>
|
||||
<UMain class="main">
|
||||
<NuxtLayout>
|
||||
<router-view v-slot="{ Component,route }">
|
||||
<component :is="Component" />
|
||||
</router-view>
|
||||
</NuxtLayout>
|
||||
</UMain>
|
||||
|
||||
<UFooter>
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<template>
|
||||
<template v-if="dev">
|
||||
<UAlert
|
||||
title="You're on the testing page for TLAdle"
|
||||
description="Please follow the link below for the production version of this page!"
|
||||
color="error"
|
||||
variant="subtle"
|
||||
icon="i-lucide-terminal"
|
||||
:actions="[
|
||||
{
|
||||
label: 'tladle.sc0tt.org',
|
||||
variant: 'outline',
|
||||
to: 'https://tladle.sc0tt.org/'
|
||||
}
|
||||
]"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import axios from 'axios';
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dev: false,
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
axios.get('/api/fetch_dev')
|
||||
.then(response => {
|
||||
this.dev = response.data.dev;
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -1,22 +1,39 @@
|
||||
<template>
|
||||
<Transition appear>
|
||||
<div v-if="true" class="gw-div" :class="{ 'less': correctness==-3, 'more': correctness==-2, 'default': correctness==0, 'cw-cp': correctness==4, 'cw-ip': correctness==3, 'cf-cp': correctness==2, 'cf-ip': correctness==1 }">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</Transition>
|
||||
<button v-if="true"
|
||||
@click="onclick"
|
||||
class="gw-div"
|
||||
:class="{
|
||||
'less': correctness==-3,
|
||||
'more': correctness==-2,
|
||||
'default': correctness==0,
|
||||
'cw-cp': correctness==4,
|
||||
'cw-ip': correctness==3,
|
||||
'cf-cp': correctness==2,
|
||||
'cf-ip': correctness==1
|
||||
}">
|
||||
<slot></slot>
|
||||
</button>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Transition } from 'vue';
|
||||
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
modal_open: false,
|
||||
}
|
||||
},
|
||||
props: {
|
||||
correctness: {
|
||||
type: Number,
|
||||
default: 0,
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onclick () {
|
||||
if (this.correctness == 2) this.$emit('pressed_wordle');
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -24,8 +41,6 @@ import { Transition } from 'vue';
|
||||
.v-enter-active {
|
||||
transition: opacity 0.5s ease;
|
||||
}
|
||||
|
||||
|
||||
.gw-div::first-letter {
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -37,8 +52,11 @@ import { Transition } from 'vue';
|
||||
background-color: grey;
|
||||
color: white;
|
||||
}
|
||||
.gw-button {
|
||||
}
|
||||
|
||||
.default {
|
||||
background-color: rgb(79, 79, 79);
|
||||
background-color: var(--incorrect-guess)
|
||||
}
|
||||
.more {
|
||||
background-color: rgb(255, 0, 0);
|
||||
@@ -47,15 +65,22 @@ import { Transition } from 'vue';
|
||||
background-color: rgb(129, 112, 0);
|
||||
}
|
||||
.cw-cp {
|
||||
background-color: rgb(0, 97, 2);
|
||||
background-color: var(--correct-guess)
|
||||
}
|
||||
.cw-ip {
|
||||
background-color: rgb(19, 197, 22);
|
||||
background-color: rgb(98, 175, 99);
|
||||
}
|
||||
.cf-cp {
|
||||
background-color: rgb(0, 9, 166);
|
||||
background-color: var(--partial-correct-guess);
|
||||
border: solid white;
|
||||
}
|
||||
.cf-cp.hover {
|
||||
background-color: #4CAF50; /* Green */
|
||||
}
|
||||
.cf-cp.focus {
|
||||
background-color: red;
|
||||
}
|
||||
.cf-ip {
|
||||
background-color: rgb(70, 78, 235);
|
||||
background-color: rgb(106, 108, 160);
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,45 @@
|
||||
<script setup lang="ts">
|
||||
import GuessWord from './GuessWord.vue';
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<UModal title="How to play">
|
||||
<UButton label="How to play" color="neutral" variant="subtle" />
|
||||
|
||||
<template #body>
|
||||
You have to try and guess the TLA (Three Letter Acronym). You get a Motto to start on, and on each try you get more information about the kinds of words
|
||||
and letters the abbreviation has.
|
||||
|
||||
<br>
|
||||
<br>
|
||||
You can use the following color codes to determine how close you were to the correct answer:
|
||||
<div class="flex-container">
|
||||
|
||||
<GuessWord :correctness="4">Correct word, correct place</GuessWord>
|
||||
<GuessWord :correctness="3">Correct word, incorrect place</GuessWord>
|
||||
<GuessWord :correctness="2">Correct starting letter, correct place</GuessWord>
|
||||
<GuessWord :correctness="1">Correct starting letter, incorrect place</GuessWord>
|
||||
</div>
|
||||
<br>
|
||||
As an example, if the acronym of the day is
|
||||
<div class="flex-container">
|
||||
|
||||
<GuessWord :correctness="4">Three</GuessWord>
|
||||
<GuessWord :correctness="4">Letter</GuessWord>
|
||||
<GuessWord :correctness="4">Acronym</GuessWord>
|
||||
</div>
|
||||
And your guess was "Letter True Acronym", then the colors would be as follows:
|
||||
<div class="flex-container">
|
||||
<GuessWord :correctness="3">Letter</GuessWord>
|
||||
<GuessWord :correctness="1">True</GuessWord>
|
||||
<GuessWord :correctness="4">Acronym</GuessWord>
|
||||
</div>
|
||||
|
||||
If you manage to figure out a letter in its correct position you unlock a mini wordle for that specific word. Press the word if it has a white outline to launch it!
|
||||
|
||||
If you have any feedback, <a style="text-decoration: underline;" href="mailto:peter@sc0tt.org">
|
||||
let me know in an email</a>, or create an <a style="text-decoration: underline;" href='https://gitea.sc0tt.org/Belupeti/TLA/pulls'>issue</a>
|
||||
|
||||
</template>
|
||||
</UModal>
|
||||
</template>
|
||||
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<h3>Did you enjoy todays TLA?</h3>
|
||||
<div>
|
||||
<UButton @click="makeRequest(1)" class="rounded-l-full" :icon="current == 1 ? 'mdi:thumbs-up' : 'mdi:thumbs-up-outline'" size="md" color="neutral" variant="outline">{{ likes }}</UButton>
|
||||
<UButton @click="makeRequest(-1)" class="rounded-r-full" :icon="current == -1 ? 'mdi:thumbs-down' : 'mdi:thumbs-down-outline'" size="md" color="neutral" variant="outline">{{ dislikes }}</UButton>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="css" scoped>
|
||||
|
||||
</style>
|
||||
|
||||
<script lang="ts">
|
||||
import axios from 'axios';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
likes: 0,
|
||||
dislikes: 0,
|
||||
current: 0,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.makeRequest(2)
|
||||
},
|
||||
methods: {
|
||||
makeRequest(type: number) {
|
||||
if (type != 0){
|
||||
if (this.current == type){
|
||||
this.current = 0;
|
||||
if (type == 1) this.likes--;
|
||||
else if (type == -1) this.dislikes--;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (type == 1) {
|
||||
this.likes++;
|
||||
if (this.current == -1) this.dislikes--;
|
||||
}
|
||||
else if (type == -1) {
|
||||
this.dislikes++;
|
||||
if (this.current == 1) this.likes--;
|
||||
}
|
||||
|
||||
this.current = type;
|
||||
}
|
||||
}
|
||||
|
||||
axios
|
||||
.get("/api/review/en/"+type)
|
||||
.then(response => {
|
||||
this.likes = response.data.likes;
|
||||
this.dislikes = response.data.dislikes;
|
||||
this.current = response.data.current;
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,91 @@
|
||||
<template>
|
||||
<Modal v-model:open="open">
|
||||
|
||||
<h1>Wordle for word {{ index }}</h1>
|
||||
<br>
|
||||
<div class="flex-container-a gap-1.5">
|
||||
<template v-for="i in max_guesses">
|
||||
<WordleRow v-if="guesses.length > i" :guess="guesses[i]" :length="correct.length" :correct="correct"/>
|
||||
|
||||
<UForm @submit="onsubmit" v-if="guesses.length == i">
|
||||
<UPinInput v-if="guesses[guesses.length-1].toString().replace(/\,/gi, '') != correct" default class="mb-2" autofocus v-model="guess" color="neutral" :length="correct.length" size="md" :correct="correct" />
|
||||
|
||||
<WordleRow v-else :length="correct.length"/>
|
||||
|
||||
<UButton type="submit" style="display: none;">
|
||||
Submit
|
||||
</UButton>
|
||||
</UForm>
|
||||
|
||||
<WordleRow v-if="guesses.length < i" :length="correct.length"/>
|
||||
</template>
|
||||
|
||||
<template v-if="guesses[guesses.length-1].toString().replace(/\,/gi, '') == correct">
|
||||
You guessed word #{{ index }}! It was '{{ correct }}'
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<UButton @click="onsubmit" class="m-3" v-if="guesses[guesses.length-1].toString().replace(/\,/gi, '') != correct">
|
||||
Submit
|
||||
</UButton>
|
||||
</Modal>
|
||||
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import Modal from './Modal.vue';
|
||||
import WordleRow from './WordleRow.vue';
|
||||
</script>
|
||||
<script lang="ts">
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
max_guesses: 10,
|
||||
open: true,
|
||||
guess: '',
|
||||
guesses: [''],
|
||||
}
|
||||
},
|
||||
props: {
|
||||
correct: {
|
||||
type: String,
|
||||
default: 'nagyonhosszezugyselesz'
|
||||
},
|
||||
index: {
|
||||
type: Number,
|
||||
default: 0,
|
||||
},
|
||||
date: {
|
||||
type: String,
|
||||
default: '1970-01-01',
|
||||
}
|
||||
|
||||
},
|
||||
mounted() {
|
||||
if (localStorage.date) {
|
||||
if (localStorage.date === this.date) this.guesses = JSON.parse(localStorage.getItem('guesses-' + this.index) || '[""]'); console.log(this.guesses);
|
||||
} else localStorage.date = this.date;
|
||||
|
||||
this.max_guesses = this.correct.length > 5 ? this.correct.length : 6
|
||||
},
|
||||
methods: {
|
||||
onsubmit () {
|
||||
if (this.guess.length == this.correct.length) {
|
||||
this.guesses.push(this.guess);
|
||||
this.guess = '';
|
||||
|
||||
localStorage.setItem('guesses-' + this.index, JSON.stringify(this.guesses));
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.flex-container-a {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,85 @@
|
||||
<script setup lang="ts">
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex-container gap-1.5">
|
||||
<div v-for="i in length" class="border border-default wr-div" :class="{'correct' : getCorrectness[i-1]==2, 'wrong-place' : getCorrectness[i-1]==1, 'incorrect' : getCorrectness[i-1]==0}" >
|
||||
{{ guess[i-1] }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
}
|
||||
},
|
||||
props: {
|
||||
correct: {
|
||||
type: String,
|
||||
default: 'testword',
|
||||
},
|
||||
guess: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
index: Number,
|
||||
empty: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
length: Number,
|
||||
},
|
||||
|
||||
computed: {
|
||||
getCorrectness() : number[] {
|
||||
let correctness_alt = [];
|
||||
let correctness = [];
|
||||
for (let i = 0; i < this.guess.length; i++) {
|
||||
if (this.guess[i] == this.correct[i]) {
|
||||
correctness.push(2);
|
||||
} else correctness.push(0);
|
||||
}
|
||||
correctness_alt = correctness.slice();
|
||||
|
||||
for (let i = 0; i < this.guess.length; i++) {
|
||||
for (let j = 0; j < this.correct.length; j++) {
|
||||
if (this.guess[i] == this.correct[j] && correctness[i] == 0 && correctness_alt[j] == 0) {
|
||||
correctness[i] = 1;
|
||||
correctness_alt[j] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return correctness;
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.wr-div {
|
||||
justify-content: center;
|
||||
border-radius: 6px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
background-color: transparent;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
}
|
||||
.correct {
|
||||
background-color: rgb(0, 126, 2);
|
||||
}
|
||||
.incorrect {
|
||||
background-color: var(--incorrect-guess);
|
||||
}
|
||||
.wrong-place {
|
||||
background-color: var(--partial-correct-guess);
|
||||
}
|
||||
.empty {
|
||||
background-color: var(--incorrect-guess);
|
||||
}
|
||||
</style>
|
||||
+112
-58
@@ -1,8 +1,9 @@
|
||||
<script setup lang="ts">
|
||||
import axios from 'axios';
|
||||
import GuessWord from '../components/GuessWord.vue';
|
||||
import { ref } from 'vue'
|
||||
import Modal from '../components/Modal.vue';
|
||||
import Modal from '../components/Modal.vue';
|
||||
import Review from '../components/Review.vue';
|
||||
import Wordle from '../components/Wordle.vue';
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
@@ -10,12 +11,22 @@ import Modal from '../components/Modal.vue';
|
||||
data() {
|
||||
return {
|
||||
hint: ' ',
|
||||
guesses: [' '],
|
||||
words: [' '],
|
||||
guesses: [''],
|
||||
words: [''],
|
||||
correct_words: [''],
|
||||
guess: '',
|
||||
tla: '',
|
||||
context: '',
|
||||
submitter: '',
|
||||
date: '',
|
||||
victory: false,
|
||||
loss: false,
|
||||
maxGuesses: 10,
|
||||
correct: false,
|
||||
no_tla: false,
|
||||
wordle_open: [false, false, false],
|
||||
wordle_dontshow: false,
|
||||
wordle_hint: false,
|
||||
};
|
||||
},
|
||||
|
||||
@@ -23,16 +34,28 @@ import Modal from '../components/Modal.vue';
|
||||
axios
|
||||
.get('/api/fetch_tla/en')
|
||||
.then(response => {
|
||||
this.hint = response.data.hint;
|
||||
this.guesses = response.data.guesses;
|
||||
if (response.data.no_tla) this.no_tla = true;
|
||||
else {
|
||||
this.hint = response.data.hint;
|
||||
this.submitter = response.data.submitter;
|
||||
this.guesses = response.data.guesses;
|
||||
this.tla = response.data.tla;
|
||||
this.context = response.data.context;
|
||||
this.correct = response.data.correct;
|
||||
this.correct_words = response.data.tla_array;
|
||||
this.date = response.data.date;
|
||||
}
|
||||
});
|
||||
|
||||
if (localStorage.wordle_dontshow) {
|
||||
this.wordle_dontshow = localStorage.wordle_dontshow;
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
onSubmit() {
|
||||
|
||||
if (this.words.length == 3 && this.guesses.length < this.maxGuesses) {
|
||||
console.log(this.words)
|
||||
axios
|
||||
.post("/api/check_tla/en", {
|
||||
guess: this.words,
|
||||
@@ -41,19 +64,30 @@ import Modal from '../components/Modal.vue';
|
||||
this.guesses = response.data.guesses;
|
||||
this.guess = '';
|
||||
this.words = [];
|
||||
this.correct_words = response.data.tla_array;
|
||||
|
||||
let current_guess = response.data.guesses[response.data.guesses.length-1]
|
||||
if (Number(current_guess[3]) + Number(current_guess[4]) + Number(current_guess[5]) == 12) {
|
||||
this.victory = !this.victory;
|
||||
this.tla = response.data.tla;
|
||||
this.context = response.data.context;
|
||||
this.correct = response.data.correct;
|
||||
}
|
||||
else if (this.guesses.length == this.maxGuesses) {
|
||||
this.loss = !this.loss;
|
||||
this.tla = response.data.tla;
|
||||
this.context = response.data.context;
|
||||
this.correct = response.data.correct;
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onkeyup() {
|
||||
this.words = this.guess.trim().split(/\s+/);
|
||||
},
|
||||
wordle_disable() {
|
||||
this.wordle_dontshow = true;
|
||||
localStorage.wordle_dontshow = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -68,75 +102,95 @@ import Modal from '../components/Modal.vue';
|
||||
{{ hint }}
|
||||
|
||||
<br>
|
||||
<UModal title="How to play">
|
||||
<UButton label="How to play" color="neutral" variant="subtle" />
|
||||
|
||||
<template #body>
|
||||
You have to try and guess the TLA (Three Letter Abbreviation). You get a Motto to start on, and on each try you get more information about the kinds of words
|
||||
and letters the abbreviation has.
|
||||
|
||||
<br>
|
||||
<br>
|
||||
You can use the following color codes to determine how close you were to the correct answer:
|
||||
<div class="flex-container">
|
||||
|
||||
<GuessWord :correctness="4">Correct word, correct place</GuessWord>
|
||||
<GuessWord :correctness="3">Correct word, wrong place</GuessWord>
|
||||
<GuessWord :correctness="2">Correct starting letter, correct place</GuessWord>
|
||||
<GuessWord :correctness="1">Correct starting letter, wrong place</GuessWord>
|
||||
</div>
|
||||
If you have any feedback, <a style="text-decoration: underline;" href="mailto:peter@sc0tt.org">
|
||||
let me know in an email
|
||||
|
||||
</a>, or create a <a style="text-decoration: underline;" href='https://gitea.sc0tt.org/Belupeti/TLA/pulls'>pull request</a>
|
||||
<br><br>
|
||||
<h2 style="font-weight: bold;">IMPORTANT</h2>
|
||||
<p>Only use lowercase letters, I have not yet implemented automatic casing yet and I should really get some sleep</p>
|
||||
|
||||
</template>
|
||||
</UModal>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<template v-for="guess in guesses">
|
||||
<template v-for="guess in guesses" v-if="guesses.length>0">
|
||||
<div class="flex-container">
|
||||
<template v-for="i in 3">
|
||||
<GuessWord :correctness="Number(guess[i+2])">
|
||||
<GuessWord @pressed_wordle="wordle_open[i-1] = true" :correctness="Number(guess[i+2])" :index="i-1">
|
||||
{{ guess[i-1] }}
|
||||
</GuessWord>
|
||||
<Wordle v-model:open="wordle_open[i-1]" :correct="correct_words[i-1]" :index="i" :date="date"/>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template v-if="guesses.length < maxGuesses && !correct && !no_tla">
|
||||
<div class="flex-container" v-if="guess.length > 0">
|
||||
<template v-for="word in words">
|
||||
<GuessWord :correctness="words.length == 3 ? -1 : (words.length > 3 ? -2 : -3)">
|
||||
{{ word }}
|
||||
</GuessWord>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
<UForm class="space-y-2" ref="main-form" @submit="onSubmit" onsubmit="return false">
|
||||
<UFormField>
|
||||
<UInput v-model="guess" @keyup="onkeyup()" autofocus/>
|
||||
</UFormField>
|
||||
|
||||
|
||||
<template #footer>
|
||||
|
||||
<div class="flex-container">
|
||||
<template v-for="word in words">
|
||||
<GuessWord :correctness="words.length == 3 ? -1 : (words.length > 3 ? -2 : -3)">
|
||||
{{ word }}
|
||||
</GuessWord>
|
||||
</template>
|
||||
</div>
|
||||
<template v-if="guesses.length < maxGuesses">
|
||||
<form ref="main-form" @submit="onSubmit" onsubmit="return false">
|
||||
<input style="background-color: grey;" type="text" @keyup="onkeyup()" v-model="guess">
|
||||
</form>
|
||||
<UButton type="submit">
|
||||
Guess
|
||||
</UButton>
|
||||
</UForm>
|
||||
</template>
|
||||
<h3>{{ guesses.length }} / {{ maxGuesses }}</h3>
|
||||
|
||||
<template v-if="no_tla">
|
||||
<h2>No TLA for today, please shoot me an email to <a style="text-decoration: underline;" href="mailto:peter@sc0tt.org">
|
||||
peter@sc0tt.org</a></h2>
|
||||
</template>
|
||||
<template v-if="!correct && guesses.length >= maxGuesses">
|
||||
You ran out of guesses. Todays TLA was <b>{{ tla }}</b>
|
||||
<Review/>
|
||||
</template>
|
||||
<template v-if="correct">
|
||||
You completed todays TLAdle! Todays TLA was <b>{{ tla }}</b>
|
||||
<Review/>
|
||||
</template>
|
||||
<h3 v-if="!no_tla">Guesses left: {{ maxGuesses - guesses.length }}</h3>
|
||||
</UCard>
|
||||
<br>
|
||||
<template v-if="submitter != null">
|
||||
Todays TLA was submitted by <b>{{ submitter }}</b>
|
||||
<br><br>
|
||||
</template>
|
||||
</UCard>
|
||||
|
||||
<UButton to="/suggestion" color="neutral" variant="subtle">
|
||||
Suggest a TLA!
|
||||
</UButton>
|
||||
|
||||
<Modal v-model:open="victory">
|
||||
<h1>Congratulations!</h1>
|
||||
Todays TLA was: whatever you wrote
|
||||
Todays TLA was: {{ tla }}
|
||||
<h3>The context of todays TLA:</h3>
|
||||
{{ context }}
|
||||
</Modal>
|
||||
<Modal v-model:open="loss">
|
||||
<h1>What a shame!</h1>
|
||||
Todays TLA was: whatever you didnt write
|
||||
Todays TLA was: {{ tla }}
|
||||
<h3>The context of todays TLA:</h3>
|
||||
{{ context }}
|
||||
</Modal>
|
||||
|
||||
<br>
|
||||
|
||||
<UForm @submit="wordle_disable" v-if="!wordle_dontshow">
|
||||
<UAlert
|
||||
title="Press the word if the starting letter is correct to launch a mini wordle!"
|
||||
color="success"
|
||||
style="text-align: left; margin-top: 10px;"
|
||||
variant="subtle"
|
||||
orientation="horizontal"
|
||||
:actions="[
|
||||
{
|
||||
label: 'Don\'t show again',
|
||||
color: 'warning',
|
||||
type: 'submit',
|
||||
variant: 'subtle'
|
||||
}
|
||||
]"
|
||||
/>
|
||||
</UForm>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<style>
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
<script setup lang="ts">
|
||||
import Modal from '../components/Modal.vue';
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<h1>TLA suggestion form</h1>
|
||||
<br>
|
||||
<UCard class="align-center">
|
||||
|
||||
<UForm @submit="onSubmit" class="space-y-4" action="/api/suggestion" method="post">
|
||||
<UFormField class="form-field" label="Acronym" required>
|
||||
<UInput v-model="form.acronym" class="w-80" placeholder="Enter your TLA" name="tla"></UInput>
|
||||
</UFormField>
|
||||
<UFormField label="Motto" required>
|
||||
<UInput class="w-80" v-model="form.hint" placeholder="Enter the motto for your TLA" name="hint"></UInput>
|
||||
</UFormField>
|
||||
<UFormField label="Contex" required>
|
||||
<UTextarea class="w-80" v-model="form.context" name="context" rows=5 placeholder="Provide context for your TLA. This will be displayed upon completing the riddle of the day, either by guessing it correctly, or by running out of guesses."></UTextarea>
|
||||
</UFormField>
|
||||
<UFormField required>
|
||||
<URadioGroup orientation="horizontal" v-model="form.language" name="language" variant="table" size="xs" default-value="en" :items="['en', 'hu']" />
|
||||
</UFormField>
|
||||
<UFormField class="form-field" label="Submitter (your name)">
|
||||
<UInput v-model="form.submitter" class="w-80" placeholder="Anonymus" name="submitter"></UInput>
|
||||
</UFormField>
|
||||
<UButton type="submit">
|
||||
Submit suggestion
|
||||
</UButton>
|
||||
</UForm>
|
||||
<br>
|
||||
Disclaimer: I'm going through these manually, approving them or even changing the context or motto for them, if I feel it's necessary. I don't guarantee, that your suggestion will be approved and even if it is, it may not be next days TLA.
|
||||
</UCard>
|
||||
|
||||
<Modal v-model:open="submited">
|
||||
<b>Your suggestion has been submitted!</b><br>
|
||||
If you wish, you can submit adnother TLA by exiting this alert. <br><br>
|
||||
<UButton to="/">Main page</UButton>
|
||||
</Modal>
|
||||
<Modal v-model:open="missing_fields">
|
||||
<b>Please fill out all required fields (marked with *)</b>
|
||||
</Modal>
|
||||
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.flex-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script lang="ts">
|
||||
import axios from 'axios';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
acronym: '',
|
||||
hint: '',
|
||||
context: '',
|
||||
language: '',
|
||||
submitter: '',
|
||||
},
|
||||
missing_fields: false,
|
||||
submited: false,
|
||||
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onSubmit() {
|
||||
axios.post('/api/suggestion/en', this.form).then( response => {
|
||||
if (response.status == 200)
|
||||
{
|
||||
this.form.acronym = '';
|
||||
this.form.hint = '';
|
||||
this.form.context = '';
|
||||
this.form.submitter = '';
|
||||
this.form.language = 'en';
|
||||
this.submited = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -1,12 +1,14 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router';
|
||||
import App from '../App.vue';
|
||||
import HomeView from '../pages/HomeView.vue';
|
||||
import SuggestionView from '../pages/SuggestionView.vue';
|
||||
|
||||
const routes = [
|
||||
{ path: '/',
|
||||
children:
|
||||
[
|
||||
{ path: '', component: HomeView },
|
||||
{ path: '/suggestion', component: SuggestionView },
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
<link rel="icon" href="{{ asset('favicon.ico') }}" type="image/x-icon">
|
||||
|
||||
<!-- Light mode favicon -->
|
||||
<link rel="icon" href="{{ asset('favicon-light.ico') }}" type="image/x-icon" media="(prefers-color-scheme: light)">
|
||||
<link rel="icon" href="{{ asset('logo_full_tall_light.svg') }}" type="image/x-icon" media="(prefers-color-scheme: light)">
|
||||
|
||||
<!-- Dark mode favicon -->
|
||||
<link rel="icon" href="{{ asset('favicon-dark.ico') }}" type="image/x-icon" media="(prefers-color-scheme: dark)">
|
||||
<link rel="icon" href="{{ asset('logo_full_tall_dark.svg') }}" type="image/x-icon" media="(prefers-color-scheme: dark)">
|
||||
|
||||
<title>TLAdle</title>
|
||||
<title>{{ config('app.name') }}</title>
|
||||
@vite(['resources/js/app.js'])
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,4 +7,9 @@ Route::middleware('web')->group(function () {
|
||||
Route::resource('people', \App\Http\Controllers\TlaController::class);
|
||||
Route::get('fetch_tla/{language?}', [\App\Http\Controllers\TlaController::class, 'fetch_tla']);
|
||||
Route::post('check_tla/{language?}', [\App\Http\Controllers\TlaController::class, 'check_tla']);
|
||||
Route::post('suggestion/{language?}', [\App\Http\Controllers\TlaController::class, 'suggestion']);
|
||||
Route::get('fetch_dev', function() {
|
||||
return response()->json(['dev' => env('DEV_MESSAGE', false)]);
|
||||
});
|
||||
Route::get('review/{language}/{type}', [\App\Http\Controllers\TlaController::class, 'review']);
|
||||
});
|
||||
+1
-1
@@ -2,6 +2,6 @@
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::any('{all}',function(){
|
||||
Route::get('{all}',function(){
|
||||
return view('vue');
|
||||
})->where(['all' => '.*'])->name("vue");
|
||||
|
||||
Reference in New Issue
Block a user