style_variation ?? 'default';
}
return \Illuminate\Support\Facades\Cookie::get('xf_style_variation', 'default');
}
}
if( !function_exists( 'databaseRoute' ) ) {
function databaseRoute(array $params = []): string
{
$defaults = [
'types' => [],
'platforms' => [],
'genres' => [],
'games' => [],
'statuses' => [],
'authors' => [],
'authorsMode' => 'or',
'languages' => [],
'languagesMode' => 'or',
'modifications' => [],
'modificationsMode' => 'or',
'categories' => [],
'categoriesMode' => 'or',
'systems' => [],
'systemsMode' => 'or',
'levels' => [],
'sort' => 'created_at',
'dir' => 'desc',
's' => ''
];
$query = array_filter(
array_merge($defaults, $params),
fn($v, $k) => match (true) {
is_array($v) => !empty($v),
in_array($k, ['authorsMode', 'languagesMode', 'modificationsMode', 'categoriesMode', 'systemsMode']) => $v !== 'or',
$k === 'sort' => $v !== 'created_at',
$k === 'dir' => $v !== 'desc',
default => $v !== '',
},
ARRAY_FILTER_USE_BOTH
);
return route('entries.index', $query);
}
}
if( !function_exists( 'newsRoute' ) ){
function newsRoute(array $params = []): string
{
$defaults = [
'categories' => [],
'sort' => 'created_at',
'dir' => 'desc',
's' => ''
];
$query = array_filter(
array_merge($defaults, $params),
fn($v, $k) => match (true) {
is_array($v) => !empty($v),
$k === 'sort' => $v !== 'created_at',
$k === 'dir' => $v !== 'desc',
default => $v !== '',
},
ARRAY_FILTER_USE_BOTH
);
return route('news.index', $query);
}
}
if( !function_exists('reviewsRoute') ){
function reviewsRoute( array $params = [] ): string
{
$defaults = [
'entryId' => null,
'rating' => null,
'sort' => 'created_at',
'dir' => 'desc',
];
$query = array_filter(
array_merge($defaults, $params),
fn($v,$k) => match(true){
is_array($v) => !empty($v),
$k === 'sort' => $v !== 'created_at',
$k === 'dir' => $v !== 'desc',
default => $v !== '',
},
ARRAY_FILTER_USE_BOTH
);
return route('reviews.index', $query );
}
}