Skip to content

Instantly share code, notes, and snippets.

View screeny05's full-sized avatar

Sebastian Langer screeny05

View GitHub Profile
@screeny05
screeny05 / CHANGELOG.md
Last active May 27, 2026 08:27
Frontend-Core 0.30.2 & Laioutr UI 2.2.2

@laioutr-core/frontend-core@0.30.2

  • 0262d90: Honor URL redirects configured for the project. Visiting a redirect source path (exact or :param pattern) sends the user to the configured target — isPermanent: true returns 301, isPermanent: false returns 302. Works for direct hits, hard reloads, and SPA navigations via <NuxtLink> or router.push, including on storefronts that define a custom core/404 page. Query strings are preserved; targets can be absolute URLs for external redirects.

@laioutr-core/ui@2.2.2

  • 03d0edb: BackgroundAwareButton's adaptive lookup variants are now adaptive-primary / adaptive-secondary / adaptive-ghost (previously primary / secondary / ghost), so they no longer shadow Button's literal primary / secondary variants. The pass-through variants (tertiary, secondary-white, ghost-*, glass-*, subtle, info, positive, danger, close-*) are unchanged.

    In Studio, the new backgroundAwareButtonFields shared field exposes the three `Adapt

@screeny05
screeny05 / CHANGELOG.md
Last active May 22, 2026 15:14
Laioutr UI 2.2.1

@laioutr-core/ui@2.2.1

  • 32a2ebb: Fix ProductSliderShowcase padding and width: slider no longer reserves bleed padding on the wrapper (relied on full-bleed parent), banner respects its container, and the slider fills the remaining row width on desktop.

  • 32a2ebb: Caption styling on BannerBasic: plain/boxed variant, colour scheme, and text-shadow controls — replacing the previous colour-only override. New captionVariantField shared field in @laioutr-app/ui bundles the controls into a single sidebar group on BlockBannerBasic and SectionProductSliderShowcase. Container no longer strips border-radius from CTA banners in full-width containers (banners now own their own radius).

    Breaking: BannerBasic (@laioutr-core/ui) replaces captionColor: string with captionVariant: Omit<CaptionFlagProps, 'text'>. Migrate inline:

    // Before

Laioutr Core

0.30.1

  • e388d8e: Section slots prop now retains structural typing of block props at consumer call sites.

    Previously, props.slots.<slotName>[i].props was wrapped in SimplifyDeep, which recursively walked every nested block-schema decorator (headingStyle, sublineStyle, …). Past a certain schema depth the cumulative type instantiation exceeded TypeScript's 50-level limit and surfaced as TS2589: Type instantiation is excessively deep and possibly infinite in any section that mapped over its slot blocks.

    The wrapper now uses bounded Simplify (one level) at the right boundaries — the outer slot map, each block item, and the block's props shape. IDE hover output is unchanged; structural typing is unchanged. Sections that previously needed an as unknown as ReadonlyArray<{ props: Record<string, any> }> cast on props.slots.* to silence TS2589 can drop the cast and access block.props.<field> with full type inference.

@laioutr-core/ui

2.1.0

Minor Changes

  • 66e5151: Restore banner / category-slider / showcase parity with v1.

    • BannerBasic (ui): new optional size prop ('s' | 'm' | 'l', default 'm') — scales the text stack; heading scales one step above body. New optional aspectRatio prop — applies a CSS aspect-ratio to the banner root.
    • CategoryCardSlider (ui): new optional cta prop ({ text, link, variant }) — rendered as a button in the slider's heading area via the existing SwiperChrome.buttons slot.
@screeny05
screeny05 / lndw-2024.json
Created June 1, 2024 21:14
Lange Nacht der Wissenschaften Berlin 2024
This file has been truncated, but you can view the full file.
[
{
"id": 213,
"title": "Auf zu einer Reise durch das Zuse-Institut Berlin (ZIB)",
"description": "Das ZIB hat viel zu bieten. Hier wird ein breites Spektrum an wissenschaftlichen Aufgaben und Services fächerübergreifend bearbeitet. Kommen Sie mit auf eine virtuelle Tour durch unser Haus und stöbern Sie in ausgewählten Projekten, lassen Sie sich von den Wissenschaftler:innen ihre Arbeit erklären und schauen Sie auch am Supercomputer vorbei. Ein Blick ins Computermuseum zeigt die Entwicklung der Superrechner von den Anfängen Konrad Zuses vor 80 Jahren bis heute.",
"organisation": "Zuse-Institut Berlin (ZIB)",
"formats": ["Sciencetainment"],
"isOnline": true,
"isAccessible": true,
@screeny05
screeny05 / 00-winetricks.sh
Last active January 30, 2024 09:07
Box64 Tricks
#!/bin/bash
# [Starting Winetricks]
export GLIBC_BIN=$PREFIX/glibc/bin
pkg install cabextract unzip p7zip which
wget https://github.com/ptitSeb/box64/raw/main/tests/bash
mv bash $GLIBC_BIN/bash86
chmod +x $GLIBC_BIN/bash86
(function bemLinter(){
const namespaces = ['o', 'c', 'u', 's', 't', 'is', 'has'];
const suffixes = ['xs', 's', 'ms', 'sm', 'md', 'lg', 'l', 'xl', 'print'];
const SEVERITY_ERROR = 'error';
const SEVERITY_WARNING = 'warn';
const SEVERITY_INFO = 'info';
const ERR_TYPE_STRAY_ELEMENT = 'stray-element';
const ERR_TYPE_MISSING_NAMESPACE = 'missing-namespace';
@screeny05
screeny05 / input.scss
Created June 28, 2021 12:13
Generated by SassMeister.com.
@mixin foo() {
content: 'original';
}
@mixin foo() {
content: 'overwritten';
}
.foo {
@include foo();
}
@screeny05
screeny05 / ms-teams-dev.sh
Last active March 23, 2020 13:30
MS Teams activate development mode (macOS)
rm -rf /tmp/msteams
mkdir /tmp/msteams
pushd /tmp/msteams
npx asar extract /Applications/Microsoft\ Teams.app/Contents/Resources/app.asar /tmp/msteams
npx fx /tmp/msteams/env_config.json "{...this, name: 'development', environment: 'Development'}" save .
npx asar pack . ../app.asar
popd
sudo mv /Applications/Microsoft\ Teams.app/Contents/Resources/app.asar /Applications/Microsoft\ Teams.app/Contents/Resources/app_org.asar
sudo mv /tmp/app.asar /Applications/Microsoft\ Teams.app/Contents/Resources/app.asar
@screeny05
screeny05 / index.ts
Last active October 21, 2021 19:16
Native File System Typescript Typings – https://wicg.github.io/native-file-system/
declare global {
enum ChooseFileSystemEntriesType {
'open-file',
'save-file',
'open-directory'
}
interface ChooseFileSystemEntriesOptionsAccepts {
description?: string;
mimeTypes?: string;