mirror of
https://gitlab.com/veilid/veilidchat.git
synced 2025-02-18 13:54:20 -05:00
ui cleanup
This commit is contained in:
parent
b7f7258c70
commit
1f99279cd2
@ -125,13 +125,13 @@
|
|||||||
"password_does_not_match": "Password does not match"
|
"password_does_not_match": "Password does not match"
|
||||||
},
|
},
|
||||||
"contact_list": {
|
"contact_list": {
|
||||||
"title": "Contact List",
|
"title": "Contacts",
|
||||||
"invite_people": "Invite people to VeilidChat",
|
"invite_people": "Invite people to VeilidChat",
|
||||||
"search": "Search contacts",
|
"search": "Search contacts",
|
||||||
"invitation": "Invitation"
|
"invitation": "Invitation"
|
||||||
},
|
},
|
||||||
"chat_list": {
|
"chat_list": {
|
||||||
"search": "Search",
|
"search": "Search chats",
|
||||||
"start_a_conversation": "Start a conversation",
|
"start_a_conversation": "Start a conversation",
|
||||||
"chats": "Chats",
|
"chats": "Chats",
|
||||||
"groups": "Groups"
|
"groups": "Groups"
|
||||||
|
@ -188,6 +188,8 @@ class ChatComponent extends StatelessWidget {
|
|||||||
decoration: const BoxDecoration(),
|
decoration: const BoxDecoration(),
|
||||||
child: Chat(
|
child: Chat(
|
||||||
theme: chatTheme,
|
theme: chatTheme,
|
||||||
|
// emojiEnlargementBehavior:
|
||||||
|
// EmojiEnlargementBehavior.multi,
|
||||||
messages: chatMessages,
|
messages: chatMessages,
|
||||||
//onAttachmentPressed: _handleAttachmentPressed,
|
//onAttachmentPressed: _handleAttachmentPressed,
|
||||||
//onMessageTap: _handleMessageTap,
|
//onMessageTap: _handleMessageTap,
|
||||||
|
@ -38,7 +38,9 @@ class ChatSingleContactItemWidget extends StatelessWidget {
|
|||||||
margin: const EdgeInsets.fromLTRB(0, 4, 0, 0),
|
margin: const EdgeInsets.fromLTRB(0, 4, 0, 0),
|
||||||
clipBehavior: Clip.antiAlias,
|
clipBehavior: Clip.antiAlias,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
color: scale.tertiaryScale.subtleBorder,
|
color: selected
|
||||||
|
? scale.primaryScale.activeElementBackground
|
||||||
|
: scale.primaryScale.hoverElementBackground,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
)),
|
)),
|
||||||
@ -57,7 +59,7 @@ class ChatSingleContactItemWidget extends StatelessWidget {
|
|||||||
remoteConversationRecordKey);
|
remoteConversationRecordKey);
|
||||||
},
|
},
|
||||||
backgroundColor: scale.tertiaryScale.background,
|
backgroundColor: scale.tertiaryScale.background,
|
||||||
foregroundColor: scale.tertiaryScale.text,
|
foregroundColor: scale.tertiaryScale.foregroundText,
|
||||||
icon: Icons.delete,
|
icon: Icons.delete,
|
||||||
label: translate('button.delete'),
|
label: translate('button.delete'),
|
||||||
padding: const EdgeInsets.all(2)),
|
padding: const EdgeInsets.all(2)),
|
||||||
@ -88,9 +90,13 @@ class ChatSingleContactItemWidget extends StatelessWidget {
|
|||||||
subtitle: (_contact.editedProfile.pronouns.isNotEmpty)
|
subtitle: (_contact.editedProfile.pronouns.isNotEmpty)
|
||||||
? Text(_contact.editedProfile.pronouns)
|
? Text(_contact.editedProfile.pronouns)
|
||||||
: null,
|
: null,
|
||||||
iconColor: scale.tertiaryScale.background,
|
iconColor: selected
|
||||||
textColor: scale.tertiaryScale.text,
|
? scale.primaryScale.appText
|
||||||
selected: selected,
|
: scale.primaryScale.subtleText,
|
||||||
|
textColor: selected
|
||||||
|
? scale.primaryScale.appText
|
||||||
|
: scale.primaryScale.subtleText,
|
||||||
|
selectedColor: scale.primaryScale.appText,
|
||||||
//Text(Timestamp.fromInt64(contactInvitationRecord.expiration) / ),
|
//Text(Timestamp.fromInt64(contactInvitationRecord.expiration) / ),
|
||||||
leading: const Icon(Icons.chat))));
|
leading: const Icon(Icons.chat))));
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ class ChatSingleContactListWidget extends StatelessWidget {
|
|||||||
inputDecoration: InputDecoration(
|
inputDecoration: InputDecoration(
|
||||||
labelText: translate('chat_list.search'),
|
labelText: translate('chat_list.search'),
|
||||||
contentPadding: const EdgeInsets.all(2),
|
contentPadding: const EdgeInsets.all(2),
|
||||||
fillColor: scale.primaryScale.text,
|
fillColor: scale.primaryScale.elementBackground,
|
||||||
focusedBorder: OutlineInputBorder(
|
focusedBorder: OutlineInputBorder(
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: scale.primaryScale.hoverBorder,
|
color: scale.primaryScale.hoverBorder,
|
||||||
@ -77,7 +77,7 @@ class ChatSingleContactListWidget extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
).paddingAll(8))))
|
).paddingAll(8))))
|
||||||
.paddingLTRB(8, 8, 8, 65));
|
.paddingLTRB(8, 0, 8, 8));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ class ContactInvitationItemWidget extends StatelessWidget {
|
|||||||
.toVeilid());
|
.toVeilid());
|
||||||
},
|
},
|
||||||
backgroundColor: scale.tertiaryScale.background,
|
backgroundColor: scale.tertiaryScale.background,
|
||||||
foregroundColor: scale.tertiaryScale.text,
|
foregroundColor: scale.tertiaryScale.appText,
|
||||||
icon: Icons.delete,
|
icon: Icons.delete,
|
||||||
label: translate('button.delete'),
|
label: translate('button.delete'),
|
||||||
padding: const EdgeInsets.all(2)),
|
padding: const EdgeInsets.all(2)),
|
||||||
@ -119,7 +119,7 @@ class ContactInvitationItemWidget extends StatelessWidget {
|
|||||||
softWrap: true,
|
softWrap: true,
|
||||||
),
|
),
|
||||||
iconColor: scale.tertiaryScale.background,
|
iconColor: scale.tertiaryScale.background,
|
||||||
textColor: scale.tertiaryScale.text,
|
textColor: scale.tertiaryScale.appText,
|
||||||
//Text(Timestamp.fromInt64(contactInvitationRecord.expiration) / ),
|
//Text(Timestamp.fromInt64(contactInvitationRecord.expiration) / ),
|
||||||
leading: const Icon(Icons.person_add))));
|
leading: const Icon(Icons.person_add))));
|
||||||
}
|
}
|
||||||
|
@ -107,7 +107,7 @@ class PasteInvitationDialogState extends State<PasteInvitationDialog> {
|
|||||||
final monoStyle = TextStyle(
|
final monoStyle = TextStyle(
|
||||||
fontFamily: 'Source Code Pro',
|
fontFamily: 'Source Code Pro',
|
||||||
fontSize: 11,
|
fontSize: 11,
|
||||||
color: scale.primaryScale.text,
|
color: scale.primaryScale.appText,
|
||||||
);
|
);
|
||||||
|
|
||||||
return Column(mainAxisSize: MainAxisSize.min, children: [
|
return Column(mainAxisSize: MainAxisSize.min, children: [
|
||||||
|
@ -29,11 +29,16 @@ class ContactItemWidget extends StatelessWidget {
|
|||||||
final remoteConversationKey =
|
final remoteConversationKey =
|
||||||
contact.remoteConversationRecordKey.toVeilid();
|
contact.remoteConversationRecordKey.toVeilid();
|
||||||
|
|
||||||
|
const selected =
|
||||||
|
false; // xxx: eventually when we have selectable contacts: activeContactCubit.state == remoteConversationRecordKey;
|
||||||
|
|
||||||
return Container(
|
return Container(
|
||||||
margin: const EdgeInsets.fromLTRB(0, 4, 0, 0),
|
margin: const EdgeInsets.fromLTRB(0, 4, 0, 0),
|
||||||
clipBehavior: Clip.antiAlias,
|
clipBehavior: Clip.antiAlias,
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
color: scale.tertiaryScale.subtleBorder,
|
color: selected
|
||||||
|
? scale.primaryScale.activeElementBackground
|
||||||
|
: scale.primaryScale.hoverElementBackground,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
)),
|
)),
|
||||||
@ -60,7 +65,7 @@ class ContactItemWidget extends StatelessWidget {
|
|||||||
contact: contact);
|
contact: contact);
|
||||||
},
|
},
|
||||||
backgroundColor: scale.tertiaryScale.background,
|
backgroundColor: scale.tertiaryScale.background,
|
||||||
foregroundColor: scale.tertiaryScale.text,
|
foregroundColor: scale.tertiaryScale.appText,
|
||||||
icon: Icons.delete,
|
icon: Icons.delete,
|
||||||
label: translate('button.delete'),
|
label: translate('button.delete'),
|
||||||
padding: const EdgeInsets.all(2)),
|
padding: const EdgeInsets.all(2)),
|
||||||
@ -96,8 +101,13 @@ class ContactItemWidget extends StatelessWidget {
|
|||||||
subtitle: (contact.editedProfile.pronouns.isNotEmpty)
|
subtitle: (contact.editedProfile.pronouns.isNotEmpty)
|
||||||
? Text(contact.editedProfile.pronouns)
|
? Text(contact.editedProfile.pronouns)
|
||||||
: null,
|
: null,
|
||||||
iconColor: scale.tertiaryScale.background,
|
iconColor: selected
|
||||||
textColor: scale.tertiaryScale.text,
|
? scale.primaryScale.appText
|
||||||
|
: scale.primaryScale.subtleText,
|
||||||
|
textColor: selected
|
||||||
|
? scale.primaryScale.appText
|
||||||
|
: scale.primaryScale.subtleText,
|
||||||
|
selectedColor: scale.primaryScale.appText,
|
||||||
leading: const Icon(Icons.person))));
|
leading: const Icon(Icons.person))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ class ContactListWidget extends StatelessWidget {
|
|||||||
inputDecoration: InputDecoration(
|
inputDecoration: InputDecoration(
|
||||||
labelText: translate('contact_list.search'),
|
labelText: translate('contact_list.search'),
|
||||||
contentPadding: const EdgeInsets.all(2),
|
contentPadding: const EdgeInsets.all(2),
|
||||||
fillColor: scale.primaryScale.text,
|
fillColor: scale.primaryScale.appText,
|
||||||
focusedBorder: OutlineInputBorder(
|
focusedBorder: OutlineInputBorder(
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: scale.primaryScale.hoverBorder,
|
color: scale.primaryScale.hoverBorder,
|
||||||
|
@ -37,7 +37,7 @@ class _HomeAccountReadyMainState extends State<HomeAccountReadyMain> {
|
|||||||
Row(children: [
|
Row(children: [
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: const Icon(Icons.settings),
|
icon: const Icon(Icons.settings),
|
||||||
color: scale.secondaryScale.text,
|
color: scale.secondaryScale.appText,
|
||||||
constraints: const BoxConstraints.expand(height: 64, width: 64),
|
constraints: const BoxConstraints.expand(height: 64, width: 64),
|
||||||
style: ButtonStyle(
|
style: ButtonStyle(
|
||||||
backgroundColor:
|
backgroundColor:
|
||||||
|
@ -85,10 +85,10 @@ class MainPagerState extends State<MainPager> with TickerProviderStateMixin {
|
|||||||
final scale = theme.extension<ScaleScheme>()!;
|
final scale = theme.extension<ScaleScheme>()!;
|
||||||
return BottomBarItem(
|
return BottomBarItem(
|
||||||
title: Text(_bottomLabelList[index]),
|
title: Text(_bottomLabelList[index]),
|
||||||
icon: Icon(_selectedIconList[index], color: scale.primaryScale.text),
|
icon: Icon(_selectedIconList[index], color: scale.primaryScale.appText),
|
||||||
selectedIcon:
|
selectedIcon:
|
||||||
Icon(_selectedIconList[index], color: scale.primaryScale.text),
|
Icon(_selectedIconList[index], color: scale.primaryScale.appText),
|
||||||
backgroundColor: scale.primaryScale.text,
|
backgroundColor: scale.primaryScale.appText,
|
||||||
//unSelectedColor: theme.colorScheme.primaryContainer,
|
//unSelectedColor: theme.colorScheme.primaryContainer,
|
||||||
//selectedColor: theme.colorScheme.primary,
|
//selectedColor: theme.colorScheme.primary,
|
||||||
//badge: const Text('9+'),
|
//badge: const Text('9+'),
|
||||||
@ -209,11 +209,11 @@ class MainPagerState extends State<MainPager> with TickerProviderStateMixin {
|
|||||||
floatingActionButton: BottomSheetActionButton(
|
floatingActionButton: BottomSheetActionButton(
|
||||||
shape: const RoundedRectangleBorder(
|
shape: const RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.all(Radius.circular(14))),
|
borderRadius: BorderRadius.all(Radius.circular(14))),
|
||||||
foregroundColor: scale.secondaryScale.text,
|
foregroundColor: scale.secondaryScale.appText,
|
||||||
backgroundColor: scale.secondaryScale.hoverBorder,
|
backgroundColor: scale.secondaryScale.hoverBorder,
|
||||||
builder: (context) => Icon(
|
builder: (context) => Icon(
|
||||||
_fabIconList[_currentPage],
|
_fabIconList[_currentPage],
|
||||||
color: scale.secondaryScale.text,
|
color: scale.secondaryScale.appText,
|
||||||
),
|
),
|
||||||
bottomSheetBuilder: (sheetContext) =>
|
bottomSheetBuilder: (sheetContext) =>
|
||||||
_bottomSheetBuilder(sheetContext, context)),
|
_bottomSheetBuilder(sheetContext, context)),
|
||||||
|
@ -3,6 +3,7 @@ import 'package:awesome_extensions/awesome_extensions.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_form_builder/flutter_form_builder.dart';
|
import 'package:flutter_form_builder/flutter_form_builder.dart';
|
||||||
import 'package:flutter_translate/flutter_translate.dart';
|
import 'package:flutter_translate/flutter_translate.dart';
|
||||||
|
import 'package:go_router/go_router.dart';
|
||||||
|
|
||||||
import '../layout/default_app_bar.dart';
|
import '../layout/default_app_bar.dart';
|
||||||
import '../theme/theme.dart';
|
import '../theme/theme.dart';
|
||||||
@ -37,18 +38,16 @@ class SettingsPageState extends State<SettingsPage> {
|
|||||||
AsyncBlocBuilder<PreferencesCubit, Preferences>(
|
AsyncBlocBuilder<PreferencesCubit, Preferences>(
|
||||||
builder: (context, state) => ThemeSwitchingArea(
|
builder: (context, state) => ThemeSwitchingArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
// resizeToAvoidBottomInset: false,
|
|
||||||
appBar: DefaultAppBar(
|
appBar: DefaultAppBar(
|
||||||
title: Text(translate('settings_page.titlebar')),
|
title: Text(translate('settings_page.titlebar')),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: const Icon(Icons.arrow_back),
|
icon: const Icon(Icons.arrow_back),
|
||||||
onPressed: () => context.pop<void>(),
|
onPressed: () => GoRouterHelper(context).pop(),
|
||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
const SignalStrengthMeterWidget()
|
const SignalStrengthMeterWidget()
|
||||||
.paddingLTRB(16, 0, 16, 0),
|
.paddingLTRB(16, 0, 16, 0),
|
||||||
]),
|
]),
|
||||||
|
|
||||||
body: FormBuilder(
|
body: FormBuilder(
|
||||||
key: _formKey,
|
key: _formKey,
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
@ -270,7 +270,7 @@ RadixColor _radixColorSteps(
|
|||||||
}
|
}
|
||||||
|
|
||||||
extension ToScaleColor on RadixColor {
|
extension ToScaleColor on RadixColor {
|
||||||
ScaleColor toScale() => ScaleColor(
|
ScaleColor toScale(RadixScaleExtra scaleExtra) => ScaleColor(
|
||||||
appBackground: step1,
|
appBackground: step1,
|
||||||
subtleBackground: step2,
|
subtleBackground: step2,
|
||||||
elementBackground: step3,
|
elementBackground: step3,
|
||||||
@ -282,33 +282,53 @@ extension ToScaleColor on RadixColor {
|
|||||||
background: step9,
|
background: step9,
|
||||||
hoverBackground: step10,
|
hoverBackground: step10,
|
||||||
subtleText: step11,
|
subtleText: step11,
|
||||||
text: step12,
|
appText: step12,
|
||||||
|
foregroundText: scaleExtra.foregroundText,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
class RadixScheme {
|
class RadixScaleExtra {
|
||||||
RadixScheme(
|
RadixScaleExtra({required this.foregroundText});
|
||||||
{required this.primaryScale,
|
|
||||||
required this.primaryAlphaScale,
|
|
||||||
required this.secondaryScale,
|
|
||||||
required this.tertiaryScale,
|
|
||||||
required this.grayScale,
|
|
||||||
required this.errorScale});
|
|
||||||
|
|
||||||
RadixColor primaryScale;
|
final Color foregroundText;
|
||||||
RadixColor primaryAlphaScale;
|
}
|
||||||
RadixColor secondaryScale;
|
|
||||||
RadixColor tertiaryScale;
|
class RadixScheme {
|
||||||
RadixColor grayScale;
|
const RadixScheme({
|
||||||
RadixColor errorScale;
|
required this.primaryScale,
|
||||||
|
required this.primaryExtra,
|
||||||
|
required this.primaryAlphaScale,
|
||||||
|
required this.primaryAlphaExtra,
|
||||||
|
required this.secondaryScale,
|
||||||
|
required this.secondaryExtra,
|
||||||
|
required this.tertiaryScale,
|
||||||
|
required this.tertiaryExtra,
|
||||||
|
required this.grayScale,
|
||||||
|
required this.grayExtra,
|
||||||
|
required this.errorScale,
|
||||||
|
required this.errorExtra,
|
||||||
|
});
|
||||||
|
|
||||||
|
final RadixColor primaryScale;
|
||||||
|
final RadixScaleExtra primaryExtra;
|
||||||
|
final RadixColor primaryAlphaScale;
|
||||||
|
final RadixScaleExtra primaryAlphaExtra;
|
||||||
|
final RadixColor secondaryScale;
|
||||||
|
final RadixScaleExtra secondaryExtra;
|
||||||
|
final RadixColor tertiaryScale;
|
||||||
|
final RadixScaleExtra tertiaryExtra;
|
||||||
|
final RadixColor grayScale;
|
||||||
|
final RadixScaleExtra grayExtra;
|
||||||
|
final RadixColor errorScale;
|
||||||
|
final RadixScaleExtra errorExtra;
|
||||||
|
|
||||||
ScaleScheme toScale() => ScaleScheme(
|
ScaleScheme toScale() => ScaleScheme(
|
||||||
primaryScale: primaryScale.toScale(),
|
primaryScale: primaryScale.toScale(primaryExtra),
|
||||||
primaryAlphaScale: primaryAlphaScale.toScale(),
|
primaryAlphaScale: primaryAlphaScale.toScale(primaryAlphaExtra),
|
||||||
secondaryScale: secondaryScale.toScale(),
|
secondaryScale: secondaryScale.toScale(secondaryExtra),
|
||||||
tertiaryScale: tertiaryScale.toScale(),
|
tertiaryScale: tertiaryScale.toScale(tertiaryExtra),
|
||||||
grayScale: grayScale.toScale(),
|
grayScale: grayScale.toScale(grayExtra),
|
||||||
errorScale: errorScale.toScale(),
|
errorScale: errorScale.toScale(errorExtra),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -318,231 +338,316 @@ RadixScheme _radixScheme(Brightness brightness, RadixThemeColor themeColor) {
|
|||||||
// tomato + red + violet
|
// tomato + red + violet
|
||||||
case RadixThemeColor.scarlet:
|
case RadixThemeColor.scarlet:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.tomato),
|
_radixColorSteps(brightness, false, _RadixBaseColor.tomato),
|
||||||
primaryAlphaScale:
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.tomato),
|
primaryAlphaScale:
|
||||||
secondaryScale:
|
_radixColorSteps(brightness, true, _RadixBaseColor.tomato),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.red),
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
tertiaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.violet),
|
_radixColorSteps(brightness, false, _RadixBaseColor.red),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.tomato),
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
errorScale:
|
tertiaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.yellow));
|
_radixColorSteps(brightness, false, _RadixBaseColor.violet),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.tomato),
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.yellow),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
|
);
|
||||||
|
|
||||||
// crimson + purple + pink
|
// crimson + purple + pink
|
||||||
case RadixThemeColor.babydoll:
|
case RadixThemeColor.babydoll:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.crimson),
|
_radixColorSteps(brightness, false, _RadixBaseColor.crimson),
|
||||||
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
primaryAlphaScale:
|
primaryAlphaScale:
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.crimson),
|
_radixColorSteps(brightness, true, _RadixBaseColor.crimson),
|
||||||
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
secondaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.purple),
|
_radixColorSteps(brightness, false, _RadixBaseColor.purple),
|
||||||
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
tertiaryScale:
|
tertiaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.pink),
|
_radixColorSteps(brightness, false, _RadixBaseColor.pink),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
grayScale:
|
grayScale:
|
||||||
_radixGraySteps(brightness, false, _RadixBaseColor.crimson),
|
_radixGraySteps(brightness, false, _RadixBaseColor.crimson),
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
errorScale:
|
errorScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.orange));
|
_radixColorSteps(brightness, false, _RadixBaseColor.orange),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white));
|
||||||
// pink + cyan + plum
|
// pink + cyan + plum
|
||||||
case RadixThemeColor.vapor:
|
case RadixThemeColor.vapor:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.pink),
|
_radixColorSteps(brightness, false, _RadixBaseColor.pink),
|
||||||
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
primaryAlphaScale:
|
primaryAlphaScale:
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.pink),
|
_radixColorSteps(brightness, true, _RadixBaseColor.pink),
|
||||||
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
secondaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.cyan),
|
_radixColorSteps(brightness, false, _RadixBaseColor.cyan),
|
||||||
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
tertiaryScale:
|
tertiaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.plum),
|
_radixColorSteps(brightness, false, _RadixBaseColor.plum),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.pink),
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.pink),
|
||||||
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.red));
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.red),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white));
|
||||||
// yellow + amber + orange
|
// yellow + amber + orange
|
||||||
case RadixThemeColor.gold:
|
case RadixThemeColor.gold:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.yellow),
|
_radixColorSteps(brightness, false, _RadixBaseColor.yellow),
|
||||||
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
primaryAlphaScale:
|
primaryAlphaScale:
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.yellow),
|
_radixColorSteps(brightness, true, _RadixBaseColor.yellow),
|
||||||
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
secondaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.amber),
|
_radixColorSteps(brightness, false, _RadixBaseColor.amber),
|
||||||
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
tertiaryScale:
|
tertiaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.orange),
|
_radixColorSteps(brightness, false, _RadixBaseColor.orange),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.yellow),
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.yellow),
|
||||||
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.red));
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.red),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white));
|
||||||
// grass + orange + brown
|
// grass + orange + brown
|
||||||
case RadixThemeColor.garden:
|
case RadixThemeColor.garden:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.grass),
|
_radixColorSteps(brightness, false, _RadixBaseColor.grass),
|
||||||
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
primaryAlphaScale:
|
primaryAlphaScale:
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.grass),
|
_radixColorSteps(brightness, true, _RadixBaseColor.grass),
|
||||||
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
secondaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.orange),
|
_radixColorSteps(brightness, false, _RadixBaseColor.orange),
|
||||||
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
tertiaryScale:
|
tertiaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.brown),
|
_radixColorSteps(brightness, false, _RadixBaseColor.brown),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.grass),
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.grass),
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
errorScale:
|
errorScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.tomato));
|
_radixColorSteps(brightness, false, _RadixBaseColor.tomato),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white));
|
||||||
// green + brown + amber
|
// green + brown + amber
|
||||||
case RadixThemeColor.forest:
|
case RadixThemeColor.forest:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.green),
|
_radixColorSteps(brightness, false, _RadixBaseColor.green),
|
||||||
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
primaryAlphaScale:
|
primaryAlphaScale:
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.green),
|
_radixColorSteps(brightness, true, _RadixBaseColor.green),
|
||||||
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
secondaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.brown),
|
_radixColorSteps(brightness, false, _RadixBaseColor.brown),
|
||||||
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
tertiaryScale:
|
tertiaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.amber),
|
_radixColorSteps(brightness, false, _RadixBaseColor.amber),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.green),
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.green),
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
errorScale:
|
errorScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.tomato));
|
_radixColorSteps(brightness, false, _RadixBaseColor.tomato),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white));
|
||||||
|
|
||||||
// sky + teal + violet
|
// sky + teal + violet
|
||||||
case RadixThemeColor.arctic:
|
case RadixThemeColor.arctic:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.sky),
|
_radixColorSteps(brightness, false, _RadixBaseColor.sky),
|
||||||
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
primaryAlphaScale:
|
primaryAlphaScale:
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.sky),
|
_radixColorSteps(brightness, true, _RadixBaseColor.sky),
|
||||||
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
secondaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.teal),
|
_radixColorSteps(brightness, false, _RadixBaseColor.teal),
|
||||||
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
tertiaryScale:
|
tertiaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.violet),
|
_radixColorSteps(brightness, false, _RadixBaseColor.violet),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.sky),
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.sky),
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
errorScale:
|
errorScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.crimson));
|
_radixColorSteps(brightness, false, _RadixBaseColor.crimson),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white));
|
||||||
// blue + indigo + mint
|
// blue + indigo + mint
|
||||||
case RadixThemeColor.lapis:
|
case RadixThemeColor.lapis:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale: _radixColorSteps(brightness, false, _RadixBaseColor.blue),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.blue),
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
primaryAlphaScale:
|
primaryAlphaScale:
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.blue),
|
_radixColorSteps(brightness, true, _RadixBaseColor.blue),
|
||||||
secondaryScale:
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.indigo),
|
secondaryScale:
|
||||||
tertiaryScale:
|
_radixColorSteps(brightness, false, _RadixBaseColor.indigo),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.mint),
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.blue),
|
tertiaryScale:
|
||||||
errorScale:
|
_radixColorSteps(brightness, false, _RadixBaseColor.mint),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.crimson));
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.blue),
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
errorScale:
|
||||||
|
_radixColorSteps(brightness, false, _RadixBaseColor.crimson),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
);
|
||||||
// violet + purple + indigo
|
// violet + purple + indigo
|
||||||
case RadixThemeColor.eggplant:
|
case RadixThemeColor.eggplant:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.violet),
|
_radixColorSteps(brightness, false, _RadixBaseColor.violet),
|
||||||
primaryAlphaScale:
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.violet),
|
primaryAlphaScale:
|
||||||
secondaryScale:
|
_radixColorSteps(brightness, true, _RadixBaseColor.violet),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.purple),
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
tertiaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.indigo),
|
_radixColorSteps(brightness, false, _RadixBaseColor.purple),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.violet),
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
errorScale:
|
tertiaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.crimson));
|
_radixColorSteps(brightness, false, _RadixBaseColor.indigo),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.violet),
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
errorScale:
|
||||||
|
_radixColorSteps(brightness, false, _RadixBaseColor.crimson),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
);
|
||||||
// lime + yellow + orange
|
// lime + yellow + orange
|
||||||
case RadixThemeColor.lime:
|
case RadixThemeColor.lime:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale: _radixColorSteps(brightness, false, _RadixBaseColor.lime),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.lime),
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
primaryAlphaScale:
|
primaryAlphaScale:
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.lime),
|
_radixColorSteps(brightness, true, _RadixBaseColor.lime),
|
||||||
secondaryScale:
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.yellow),
|
secondaryScale:
|
||||||
tertiaryScale:
|
_radixColorSteps(brightness, false, _RadixBaseColor.yellow),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.orange),
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.black),
|
||||||
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.lime),
|
tertiaryScale:
|
||||||
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.red));
|
_radixColorSteps(brightness, false, _RadixBaseColor.orange),
|
||||||
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
grayScale: _radixGraySteps(brightness, false, _RadixBaseColor.lime),
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.red),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
);
|
||||||
// mauve + slate + sage
|
// mauve + slate + sage
|
||||||
case RadixThemeColor.grim:
|
case RadixThemeColor.grim:
|
||||||
radixScheme = RadixScheme(
|
radixScheme = RadixScheme(
|
||||||
primaryScale:
|
primaryScale:
|
||||||
_radixGraySteps(brightness, false, _RadixBaseColor.tomato),
|
_radixGraySteps(brightness, false, _RadixBaseColor.tomato),
|
||||||
primaryAlphaScale:
|
primaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
_radixColorSteps(brightness, true, _RadixBaseColor.tomato),
|
primaryAlphaScale:
|
||||||
secondaryScale:
|
_radixColorSteps(brightness, true, _RadixBaseColor.tomato),
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.indigo),
|
primaryAlphaExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
tertiaryScale:
|
secondaryScale:
|
||||||
_radixColorSteps(brightness, false, _RadixBaseColor.teal),
|
_radixColorSteps(brightness, false, _RadixBaseColor.indigo),
|
||||||
grayScale: brightness == Brightness.dark
|
secondaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
? RadixColors.dark.gray
|
tertiaryScale:
|
||||||
: RadixColors.gray,
|
_radixColorSteps(brightness, false, _RadixBaseColor.teal),
|
||||||
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.red));
|
tertiaryExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
grayScale: brightness == Brightness.dark
|
||||||
|
? RadixColors.dark.gray
|
||||||
|
: RadixColors.gray,
|
||||||
|
grayExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
errorScale: _radixColorSteps(brightness, false, _RadixBaseColor.red),
|
||||||
|
errorExtra: RadixScaleExtra(foregroundText: Colors.white),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return radixScheme;
|
return radixScheme;
|
||||||
}
|
}
|
||||||
|
|
||||||
ColorScheme _radixColorScheme(Brightness brightness, RadixScheme radix) =>
|
ColorScheme _scaleToColorScheme(Brightness brightness, ScaleScheme scale) =>
|
||||||
ColorScheme(
|
ColorScheme(
|
||||||
brightness: brightness,
|
brightness: brightness,
|
||||||
primary: radix.primaryScale.step9,
|
primary: scale.primaryScale.background, // reviewed
|
||||||
onPrimary: radix.primaryScale.step12,
|
onPrimary: scale.primaryScale.foregroundText, // reviewed
|
||||||
primaryContainer: radix.primaryScale.step4,
|
primaryContainer:
|
||||||
onPrimaryContainer: radix.primaryScale.step11,
|
Colors.red, // scale.primaryScale.hoverElementBackground,
|
||||||
secondary: radix.secondaryScale.step9,
|
onPrimaryContainer: Colors.green, //scale.primaryScale.subtleText,
|
||||||
onSecondary: radix.secondaryScale.step12,
|
secondary: scale.secondaryScale.background,
|
||||||
secondaryContainer: radix.secondaryScale.step3,
|
onSecondary: scale.secondaryScale.appText,
|
||||||
onSecondaryContainer: radix.secondaryScale.step11,
|
secondaryContainer: scale.secondaryScale.hoverElementBackground,
|
||||||
tertiary: radix.tertiaryScale.step9,
|
onSecondaryContainer: scale.secondaryScale.subtleText,
|
||||||
onTertiary: radix.tertiaryScale.step12,
|
tertiary: scale.tertiaryScale.background,
|
||||||
tertiaryContainer: radix.tertiaryScale.step3,
|
onTertiary: scale.tertiaryScale.appText,
|
||||||
onTertiaryContainer: radix.tertiaryScale.step11,
|
tertiaryContainer: scale.tertiaryScale.hoverElementBackground,
|
||||||
error: radix.errorScale.step9,
|
onTertiaryContainer: scale.tertiaryScale.subtleText,
|
||||||
onError: radix.errorScale.step12,
|
error: scale.errorScale.background,
|
||||||
errorContainer: radix.errorScale.step3,
|
onError: scale.errorScale.appText,
|
||||||
onErrorContainer: radix.errorScale.step11,
|
errorContainer: scale.errorScale.hoverElementBackground,
|
||||||
background: radix.grayScale.step1,
|
onErrorContainer: scale.errorScale.subtleText,
|
||||||
onBackground: radix.grayScale.step11,
|
background: scale.grayScale.appBackground, // reviewed
|
||||||
surface: radix.primaryScale.step1,
|
onBackground: scale.grayScale.appText, // reviewed
|
||||||
onSurface: radix.primaryScale.step12,
|
surface: scale.primaryScale.activeElementBackground, // reviewed
|
||||||
surfaceVariant: radix.secondaryScale.step2,
|
onSurface: scale.primaryScale.subtleText, // reviewed
|
||||||
onSurfaceVariant: radix.secondaryScale.step11,
|
surfaceVariant: scale.primaryScale.elementBackground,
|
||||||
outline: radix.primaryScale.step7,
|
onSurfaceVariant: scale.primaryScale.subtleText, // ?? reviewed a little
|
||||||
outlineVariant: radix.primaryScale.step6,
|
outline: scale.primaryScale.border,
|
||||||
|
outlineVariant: scale.primaryScale.subtleBorder,
|
||||||
shadow: RadixColors.dark.gray.step1,
|
shadow: RadixColors.dark.gray.step1,
|
||||||
scrim: radix.primaryScale.step9,
|
scrim: scale.primaryScale.background,
|
||||||
inverseSurface: radix.primaryScale.step11,
|
inverseSurface: scale.primaryScale.subtleText,
|
||||||
onInverseSurface: radix.primaryScale.step2,
|
onInverseSurface: scale.primaryScale.subtleBackground,
|
||||||
inversePrimary: radix.primaryScale.step10,
|
inversePrimary: scale.primaryScale.hoverBackground,
|
||||||
surfaceTint: radix.primaryAlphaScale.step4,
|
surfaceTint: scale.primaryAlphaScale.hoverElementBackground,
|
||||||
);
|
);
|
||||||
|
|
||||||
ChatTheme makeChatTheme(ScaleScheme scale, TextTheme textTheme) =>
|
ChatTheme makeChatTheme(ScaleScheme scale, TextTheme textTheme) =>
|
||||||
DefaultChatTheme(
|
DefaultChatTheme(
|
||||||
primaryColor: scale.primaryScale.background,
|
primaryColor: scale.primaryScale.background,
|
||||||
secondaryColor: scale.secondaryScale.background,
|
secondaryColor: scale.secondaryScale.background,
|
||||||
backgroundColor: scale.grayScale.subtleBackground,
|
backgroundColor: scale.grayScale.appBackground,
|
||||||
inputBackgroundColor: Colors.blue,
|
inputBackgroundColor: Colors.blue,
|
||||||
inputBorderRadius: BorderRadius.zero,
|
inputBorderRadius: BorderRadius.zero,
|
||||||
inputTextDecoration: InputDecoration(
|
inputTextDecoration: InputDecoration(
|
||||||
filled: true,
|
filled: true,
|
||||||
fillColor: scale.primaryScale.elementBackground,
|
fillColor: scale.primaryScale.elementBackground,
|
||||||
isDense: true,
|
isDense: true,
|
||||||
contentPadding: const EdgeInsets.fromLTRB(8, 12, 8, 12),
|
contentPadding: const EdgeInsets.fromLTRB(8, 12, 8, 12),
|
||||||
border: const OutlineInputBorder(
|
border: const OutlineInputBorder(
|
||||||
borderSide: BorderSide.none,
|
borderSide: BorderSide.none,
|
||||||
borderRadius: BorderRadius.all(Radius.circular(16))),
|
borderRadius: BorderRadius.all(Radius.circular(16))),
|
||||||
),
|
),
|
||||||
inputContainerDecoration: BoxDecoration(color: scale.primaryScale.border),
|
inputContainerDecoration:
|
||||||
inputPadding: const EdgeInsets.all(9),
|
BoxDecoration(color: scale.primaryScale.border),
|
||||||
inputTextColor: scale.primaryScale.text,
|
inputPadding: const EdgeInsets.all(9),
|
||||||
attachmentButtonIcon: const Icon(Icons.attach_file),
|
inputTextColor: scale.primaryScale.appText,
|
||||||
receivedMessageBodyTextStyle: const TextStyle(
|
attachmentButtonIcon: const Icon(Icons.attach_file),
|
||||||
color: neutral0,
|
sentMessageBodyTextStyle: TextStyle(
|
||||||
fontSize: 16,
|
color: scale.primaryScale.foregroundText,
|
||||||
fontWeight: FontWeight.w500,
|
decorationColor: Colors.red,
|
||||||
height: 1.5,
|
fontSize: 16,
|
||||||
),
|
fontWeight: FontWeight.w500,
|
||||||
);
|
height: 1.5,
|
||||||
|
),
|
||||||
|
sentEmojiMessageTextStyle: const TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 64,
|
||||||
|
),
|
||||||
|
receivedMessageBodyTextStyle: TextStyle(
|
||||||
|
color: scale.primaryScale.foregroundText,
|
||||||
|
fontSize: 16,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
height: 1.5,
|
||||||
|
),
|
||||||
|
receivedEmojiMessageTextStyle: const TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 64,
|
||||||
|
));
|
||||||
|
|
||||||
ThemeData radixGenerator(Brightness brightness, RadixThemeColor themeColor) {
|
ThemeData radixGenerator(Brightness brightness, RadixThemeColor themeColor) {
|
||||||
final textTheme = (brightness == Brightness.light)
|
final textTheme = (brightness == Brightness.light)
|
||||||
? Typography.blackCupertino
|
? Typography.blackCupertino
|
||||||
: Typography.whiteCupertino;
|
: Typography.whiteCupertino;
|
||||||
final radix = _radixScheme(brightness, themeColor);
|
final radix = _radixScheme(brightness, themeColor);
|
||||||
final colorScheme = _radixColorScheme(brightness, radix);
|
|
||||||
final scaleScheme = radix.toScale();
|
final scaleScheme = radix.toScale();
|
||||||
|
final colorScheme = _scaleToColorScheme(brightness, scaleScheme);
|
||||||
|
|
||||||
final themeData = ThemeData.from(
|
final themeData = ThemeData.from(
|
||||||
colorScheme: colorScheme, textTheme: textTheme, useMaterial3: true);
|
colorScheme: colorScheme, textTheme: textTheme, useMaterial3: true);
|
||||||
|
@ -13,7 +13,8 @@ class ScaleColor {
|
|||||||
required this.background,
|
required this.background,
|
||||||
required this.hoverBackground,
|
required this.hoverBackground,
|
||||||
required this.subtleText,
|
required this.subtleText,
|
||||||
required this.text,
|
required this.appText,
|
||||||
|
required this.foregroundText,
|
||||||
});
|
});
|
||||||
|
|
||||||
Color appBackground;
|
Color appBackground;
|
||||||
@ -27,21 +28,24 @@ class ScaleColor {
|
|||||||
Color background;
|
Color background;
|
||||||
Color hoverBackground;
|
Color hoverBackground;
|
||||||
Color subtleText;
|
Color subtleText;
|
||||||
Color text;
|
Color appText;
|
||||||
|
Color foregroundText;
|
||||||
|
|
||||||
ScaleColor copyWith(
|
ScaleColor copyWith({
|
||||||
{Color? appBackground,
|
Color? appBackground,
|
||||||
Color? subtleBackground,
|
Color? subtleBackground,
|
||||||
Color? elementBackground,
|
Color? elementBackground,
|
||||||
Color? hoverElementBackground,
|
Color? hoverElementBackground,
|
||||||
Color? activeElementBackground,
|
Color? activeElementBackground,
|
||||||
Color? subtleBorder,
|
Color? subtleBorder,
|
||||||
Color? border,
|
Color? border,
|
||||||
Color? hoverBorder,
|
Color? hoverBorder,
|
||||||
Color? background,
|
Color? background,
|
||||||
Color? hoverBackground,
|
Color? hoverBackground,
|
||||||
Color? subtleText,
|
Color? subtleText,
|
||||||
Color? text}) =>
|
Color? appText,
|
||||||
|
Color? foregroundText,
|
||||||
|
}) =>
|
||||||
ScaleColor(
|
ScaleColor(
|
||||||
appBackground: appBackground ?? this.appBackground,
|
appBackground: appBackground ?? this.appBackground,
|
||||||
subtleBackground: subtleBackground ?? this.subtleBackground,
|
subtleBackground: subtleBackground ?? this.subtleBackground,
|
||||||
@ -56,7 +60,8 @@ class ScaleColor {
|
|||||||
background: background ?? this.background,
|
background: background ?? this.background,
|
||||||
hoverBackground: hoverBackground ?? this.hoverBackground,
|
hoverBackground: hoverBackground ?? this.hoverBackground,
|
||||||
subtleText: subtleText ?? this.subtleText,
|
subtleText: subtleText ?? this.subtleText,
|
||||||
text: text ?? this.text,
|
appText: appText ?? this.appText,
|
||||||
|
foregroundText: foregroundText ?? this.foregroundText,
|
||||||
);
|
);
|
||||||
|
|
||||||
// ignore: prefer_constructors_over_static_methods
|
// ignore: prefer_constructors_over_static_methods
|
||||||
@ -86,6 +91,8 @@ class ScaleColor {
|
|||||||
const Color(0x00000000),
|
const Color(0x00000000),
|
||||||
subtleText: Color.lerp(a.subtleText, b.subtleText, t) ??
|
subtleText: Color.lerp(a.subtleText, b.subtleText, t) ??
|
||||||
const Color(0x00000000),
|
const Color(0x00000000),
|
||||||
text: Color.lerp(a.text, b.text, t) ?? const Color(0x00000000),
|
appText: Color.lerp(a.appText, b.appText, t) ?? const Color(0x00000000),
|
||||||
|
foregroundText: Color.lerp(a.foregroundText, b.foregroundText, t) ??
|
||||||
|
const Color(0x00000000),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@ class _EnterPasswordDialogState extends State<EnterPasswordDialog> {
|
|||||||
_passwordVisible
|
_passwordVisible
|
||||||
? Icons.visibility
|
? Icons.visibility
|
||||||
: Icons.visibility_off,
|
: Icons.visibility_off,
|
||||||
color: scale.primaryScale.text,
|
color: scale.primaryScale.appText,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
@ -58,7 +58,7 @@ class _EnterPinDialogState extends State<EnterPinDialog> {
|
|||||||
final defaultPinTheme = PinTheme(
|
final defaultPinTheme = PinTheme(
|
||||||
width: 56,
|
width: 56,
|
||||||
height: 60,
|
height: 60,
|
||||||
textStyle: TextStyle(fontSize: 22, color: scale.primaryScale.text),
|
textStyle: TextStyle(fontSize: 22, color: scale.primaryScale.appText),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: fillColor,
|
color: fillColor,
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
@ -4,7 +4,8 @@ import 'loggy.dart';
|
|||||||
|
|
||||||
const Map<String, LogLevel> _blocChangeLogLevels = {
|
const Map<String, LogLevel> _blocChangeLogLevels = {
|
||||||
'ConnectionStateCubit': LogLevel.off,
|
'ConnectionStateCubit': LogLevel.off,
|
||||||
'ActiveConversationMessagesBlocMapCubit': LogLevel.off
|
'ActiveConversationMessagesBlocMapCubit': LogLevel.off,
|
||||||
|
'DHTShortArrayCubit<Message>': LogLevel.off,
|
||||||
};
|
};
|
||||||
const Map<String, LogLevel> _blocCreateCloseLogLevels = {};
|
const Map<String, LogLevel> _blocCreateCloseLogLevels = {};
|
||||||
const Map<String, LogLevel> _blocErrorLogLevels = {};
|
const Map<String, LogLevel> _blocErrorLogLevels = {};
|
||||||
|
@ -132,17 +132,20 @@ void showInfoToast(BuildContext context, String message) {
|
|||||||
).show(context);
|
).show(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget styledTitleContainer(
|
Widget styledTitleContainer({
|
||||||
{required BuildContext context,
|
required BuildContext context,
|
||||||
required String title,
|
required String title,
|
||||||
required Widget child}) {
|
required Widget child,
|
||||||
|
Color? borderColor,
|
||||||
|
Color? backgroundColor,
|
||||||
|
}) {
|
||||||
final theme = Theme.of(context);
|
final theme = Theme.of(context);
|
||||||
final scale = theme.extension<ScaleScheme>()!;
|
final scale = theme.extension<ScaleScheme>()!;
|
||||||
final textTheme = theme.textTheme;
|
final textTheme = theme.textTheme;
|
||||||
|
|
||||||
return DecoratedBox(
|
return DecoratedBox(
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
color: scale.primaryScale.border,
|
color: borderColor ?? scale.primaryScale.border,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(16),
|
borderRadius: BorderRadius.circular(16),
|
||||||
)),
|
)),
|
||||||
@ -154,7 +157,8 @@ Widget styledTitleContainer(
|
|||||||
).paddingLTRB(8, 8, 8, 8),
|
).paddingLTRB(8, 8, 8, 8),
|
||||||
DecoratedBox(
|
DecoratedBox(
|
||||||
decoration: ShapeDecoration(
|
decoration: ShapeDecoration(
|
||||||
color: scale.primaryScale.subtleBackground,
|
color:
|
||||||
|
backgroundColor ?? scale.primaryScale.subtleBackground,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(16),
|
borderRadius: BorderRadius.circular(16),
|
||||||
)),
|
)),
|
||||||
|
@ -13,6 +13,7 @@ import 'package:quickalert/quickalert.dart';
|
|||||||
import 'package:veilid_support/veilid_support.dart';
|
import 'package:veilid_support/veilid_support.dart';
|
||||||
import 'package:xterm/xterm.dart';
|
import 'package:xterm/xterm.dart';
|
||||||
|
|
||||||
|
import '../../layout/layout.dart';
|
||||||
import '../../theme/theme.dart';
|
import '../../theme/theme.dart';
|
||||||
import '../../tools/tools.dart';
|
import '../../tools/tools.dart';
|
||||||
|
|
||||||
@ -127,15 +128,16 @@ class _DeveloperPageState extends State<DeveloperPage> {
|
|||||||
// });
|
// });
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: DefaultAppBar(
|
||||||
|
title: Text(translate('developer.title')),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(Icons.arrow_back, color: scale.primaryScale.text),
|
icon: Icon(Icons.arrow_back, color: scale.primaryScale.appText),
|
||||||
onPressed: () => GoRouterHelper(context).pop(),
|
onPressed: () => GoRouterHelper(context).pop(),
|
||||||
),
|
),
|
||||||
actions: [
|
actions: [
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: const Icon(Icons.copy),
|
icon: const Icon(Icons.copy),
|
||||||
color: scale.primaryScale.text,
|
color: scale.primaryScale.appText,
|
||||||
disabledColor: scale.grayScale.subtleText,
|
disabledColor: scale.grayScale.subtleText,
|
||||||
onPressed: _terminalController.selection == null
|
onPressed: _terminalController.selection == null
|
||||||
? null
|
? null
|
||||||
@ -144,14 +146,14 @@ class _DeveloperPageState extends State<DeveloperPage> {
|
|||||||
}),
|
}),
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: const Icon(Icons.clear_all),
|
icon: const Icon(Icons.clear_all),
|
||||||
color: scale.primaryScale.text,
|
color: scale.primaryScale.appText,
|
||||||
disabledColor: scale.grayScale.subtleText,
|
disabledColor: scale.grayScale.subtleText,
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await QuickAlert.show(
|
await QuickAlert.show(
|
||||||
context: context,
|
context: context,
|
||||||
type: QuickAlertType.confirm,
|
type: QuickAlertType.confirm,
|
||||||
title: translate('developer.are_you_sure_clear'),
|
title: translate('developer.are_you_sure_clear'),
|
||||||
textColor: scale.primaryScale.text,
|
textColor: scale.primaryScale.appText,
|
||||||
confirmBtnColor: scale.primaryScale.elementBackground,
|
confirmBtnColor: scale.primaryScale.elementBackground,
|
||||||
backgroundColor: scale.primaryScale.subtleBackground,
|
backgroundColor: scale.primaryScale.subtleBackground,
|
||||||
headerBackgroundColor: scale.primaryScale.background,
|
headerBackgroundColor: scale.primaryScale.background,
|
||||||
@ -181,7 +183,7 @@ class _DeveloperPageState extends State<DeveloperPage> {
|
|||||||
height: 40,
|
height: 40,
|
||||||
render: ResultRender.icon,
|
render: ResultRender.icon,
|
||||||
textStyle: textTheme.labelMedium!
|
textStyle: textTheme.labelMedium!
|
||||||
.copyWith(color: scale.primaryScale.text),
|
.copyWith(color: scale.primaryScale.appText),
|
||||||
padding: const EdgeInsets.fromLTRB(8, 4, 8, 4),
|
padding: const EdgeInsets.fromLTRB(8, 4, 8, 4),
|
||||||
openBoxDecoration: BoxDecoration(
|
openBoxDecoration: BoxDecoration(
|
||||||
color: scale.primaryScale.activeElementBackground),
|
color: scale.primaryScale.activeElementBackground),
|
||||||
@ -201,9 +203,9 @@ class _DeveloperPageState extends State<DeveloperPage> {
|
|||||||
align: DropdownTriangleAlign.right),
|
align: DropdownTriangleAlign.right),
|
||||||
dropdownItemOptions: DropdownItemOptions(
|
dropdownItemOptions: DropdownItemOptions(
|
||||||
selectedTextStyle: textTheme.labelMedium!
|
selectedTextStyle: textTheme.labelMedium!
|
||||||
.copyWith(color: scale.primaryScale.text),
|
.copyWith(color: scale.primaryScale.appText),
|
||||||
textStyle: textTheme.labelMedium!
|
textStyle: textTheme.labelMedium!
|
||||||
.copyWith(color: scale.primaryScale.text),
|
.copyWith(color: scale.primaryScale.appText),
|
||||||
selectedBoxDecoration: BoxDecoration(
|
selectedBoxDecoration: BoxDecoration(
|
||||||
color: scale.primaryScale.activeElementBackground),
|
color: scale.primaryScale.activeElementBackground),
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
@ -212,10 +214,6 @@ class _DeveloperPageState extends State<DeveloperPage> {
|
|||||||
dropdownList: _logLevelDropdownItems,
|
dropdownList: _logLevelDropdownItems,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
title: Text(translate('developer.title'),
|
|
||||||
style:
|
|
||||||
textTheme.bodyLarge!.copyWith(fontWeight: FontWeight.bold)),
|
|
||||||
centerTitle: true,
|
|
||||||
),
|
),
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
|
@ -33,27 +33,27 @@ class SignalStrengthMeterWidget extends StatelessWidget {
|
|||||||
switch (connectionState.attachment.state) {
|
switch (connectionState.attachment.state) {
|
||||||
case AttachmentState.detached:
|
case AttachmentState.detached:
|
||||||
iconWidget = Icon(Icons.signal_cellular_nodata,
|
iconWidget = Icon(Icons.signal_cellular_nodata,
|
||||||
size: iconSize, color: scale.grayScale.text);
|
size: iconSize, color: scale.grayScale.appText);
|
||||||
return;
|
return;
|
||||||
case AttachmentState.detaching:
|
case AttachmentState.detaching:
|
||||||
iconWidget = Icon(Icons.signal_cellular_off,
|
iconWidget = Icon(Icons.signal_cellular_off,
|
||||||
size: iconSize, color: scale.grayScale.text);
|
size: iconSize, color: scale.grayScale.appText);
|
||||||
return;
|
return;
|
||||||
case AttachmentState.attaching:
|
case AttachmentState.attaching:
|
||||||
value = 0;
|
value = 0;
|
||||||
color = scale.primaryScale.text;
|
color = scale.primaryScale.appText;
|
||||||
case AttachmentState.attachedWeak:
|
case AttachmentState.attachedWeak:
|
||||||
value = 1;
|
value = 1;
|
||||||
color = scale.primaryScale.text;
|
color = scale.primaryScale.appText;
|
||||||
case AttachmentState.attachedStrong:
|
case AttachmentState.attachedStrong:
|
||||||
value = 2;
|
value = 2;
|
||||||
color = scale.primaryScale.text;
|
color = scale.primaryScale.appText;
|
||||||
case AttachmentState.attachedGood:
|
case AttachmentState.attachedGood:
|
||||||
value = 3;
|
value = 3;
|
||||||
color = scale.primaryScale.text;
|
color = scale.primaryScale.appText;
|
||||||
case AttachmentState.fullyAttached:
|
case AttachmentState.fullyAttached:
|
||||||
value = 4;
|
value = 4;
|
||||||
color = scale.primaryScale.text;
|
color = scale.primaryScale.appText;
|
||||||
case AttachmentState.overAttached:
|
case AttachmentState.overAttached:
|
||||||
value = 4;
|
value = 4;
|
||||||
color = scale.secondaryScale.subtleText;
|
color = scale.secondaryScale.subtleText;
|
||||||
|
@ -424,7 +424,7 @@
|
|||||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
|
||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DEVELOPMENT_TEAM = XP5LBLT7M7;
|
DEVELOPMENT_TEAM = XP5LBLT7M7;
|
||||||
@ -562,7 +562,7 @@
|
|||||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
|
||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DEVELOPMENT_TEAM = XP5LBLT7M7;
|
DEVELOPMENT_TEAM = XP5LBLT7M7;
|
||||||
@ -594,7 +594,7 @@
|
|||||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
|
||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DEVELOPMENT_TEAM = XP5LBLT7M7;
|
DEVELOPMENT_TEAM = XP5LBLT7M7;
|
||||||
|
@ -6,11 +6,15 @@
|
|||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.cs.allow-jit</key>
|
<key>com.apple.security.cs.allow-jit</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.network.server</key>
|
<key>com.apple.security.files.user-selected.read-write</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.network.client</key>
|
<key>com.apple.security.network.client</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.files.user-selected.read-write</key>
|
<key>com.apple.security.network.server</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>keychain-access-groups</key>
|
||||||
|
<array>
|
||||||
|
<string>$(AppIdentifierPrefix)com.veilid.veilidchat</string>
|
||||||
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
@ -4,11 +4,15 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>com.apple.security.app-sandbox</key>
|
<key>com.apple.security.app-sandbox</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.network.server</key>
|
<key>com.apple.security.files.user-selected.read-write</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.network.client</key>
|
<key>com.apple.security.network.client</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.files.user-selected.read-write</key>
|
<key>com.apple.security.network.server</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>keychain-access-groups</key>
|
||||||
|
<array>
|
||||||
|
<string>$(AppIdentifierPrefix)com.veilid.veilidchat</string>
|
||||||
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
@ -723,7 +723,7 @@ packages:
|
|||||||
path: "../../../veilid/veilid-flutter"
|
path: "../../../veilid/veilid-flutter"
|
||||||
relative: true
|
relative: true
|
||||||
source: path
|
source: path
|
||||||
version: "0.3.0"
|
version: "0.3.1"
|
||||||
vm_service:
|
vm_service:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user