48 lines
1.1 KiB
Dart
48 lines
1.1 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:veilid/veilid.dart';
|
|
import 'package:flutter_acrylic/flutter_acrylic.dart';
|
|
|
|
import 'veilid_theme.dart';
|
|
import 'log.dart';
|
|
import 'app.dart';
|
|
import 'veilid_init.dart';
|
|
|
|
/////////////////////////////// Acrylic
|
|
|
|
bool get isDesktop {
|
|
if (kIsWeb) return false;
|
|
return [
|
|
TargetPlatform.windows,
|
|
TargetPlatform.linux,
|
|
TargetPlatform.macOS,
|
|
].contains(defaultTargetPlatform);
|
|
}
|
|
|
|
Future<void> setupAcrylic() async {
|
|
await Window.initialize();
|
|
await Window.makeTitlebarTransparent();
|
|
await Window.setEffect(
|
|
effect: WindowEffect.aero, color: const Color(0xFFFFFFFF));
|
|
await Window.setBlurViewState(MacOSBlurViewState.active);
|
|
}
|
|
|
|
/////////////////////////////// Entrypoint
|
|
void main() {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
// Initialize Log
|
|
initLoggy();
|
|
|
|
// Initialize Veilid
|
|
veilidInit();
|
|
|
|
// Run the app
|
|
runApp(MaterialApp(
|
|
title: 'Veilid Plugin Demo',
|
|
theme: newVeilidTheme(),
|
|
home: const MyApp()));
|
|
}
|