refactor: extract shared mixins and helpers, drop dead abstractions
Introduces shared seams for paginated views, D-pad reorder, media control routing, async singletons and the device method channel, then points the open-coded copies at them. Also removes unused models and duplicated provider/server plumbing, folds the twice-implemented artifact store in the server, and factors the repeated Flutter toolchain prologue in CI into a composite action.
This commit is contained in:
@@ -3,6 +3,17 @@ import 'package:flutter/material.dart';
|
||||
|
||||
MonoTokens tokens(BuildContext context) => Theme.of(context).extension<MonoTokens>()!;
|
||||
|
||||
/// M3E connected-group geometry for item [index] of a [count]-item group:
|
||||
/// large radii on the group's outer corners, small radii between adjacent
|
||||
/// items. Pair with `MonoTokens.groupGap` spacing for the hairline gaps.
|
||||
BorderRadius groupItemRadii(BuildContext context, int index, int count) {
|
||||
final t = tokens(context);
|
||||
return BorderRadius.vertical(
|
||||
top: Radius.circular(index == 0 ? t.radiusLg : t.radiusXs),
|
||||
bottom: Radius.circular(index == count - 1 ? t.radiusLg : t.radiusXs),
|
||||
);
|
||||
}
|
||||
|
||||
@immutable
|
||||
class MonoTokens extends ThemeExtension<MonoTokens> {
|
||||
/// Effectively-stadium radius for pill shapes; the renderer proportionally
|
||||
|
||||
Reference in New Issue
Block a user