Compare commits

...

3 Commits

Author SHA1 Message Date
Darshan
4298f4d32b fix: spacing. 2025-03-18 13:46:59 +05:30
Darshan
43de5c17f1 Merge remote-tracking branch 'origin/env-support' into env-support 2025-03-18 13:10:27 +05:30
Darshan
2dea779758 design fixes. 2025-03-18 13:10:17 +05:30
6 changed files with 70 additions and 45 deletions

View File

@ -54,7 +54,7 @@ class _AppwriteStarterKit extends State<AppwriteStarterKit> {
children: [ children: [
SingleChildScrollView( SingleChildScrollView(
child: Column( child: Column(
spacing: 16, spacing: context.isLargeScreen ? 64 : 32,
children: [ children: [
TopPlatformView(status: _status), TopPlatformView(status: _status),
ConnectionStatusView( ConnectionStatusView(

View File

@ -491,7 +491,7 @@ class LogsTableRow extends StatelessWidget {
child: MouseRegion( child: MouseRegion(
cursor: SystemMouseCursors.click, cursor: SystemMouseCursors.click,
child: Text( child: Text(
response.substring(0, 50), response.length > 50 ? response.substring(0, 50) : response,
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: const TextStyle( style: const TextStyle(

View File

@ -15,7 +15,7 @@ class ConnectionLine extends StatelessWidget {
return SizedBox( return SizedBox(
width: context.widthFactor( width: context.widthFactor(
mobileFactor: 0.25, mobileFactor: 0.25,
largeScreenFactor: 0.15, largeScreenFactor: 0.125,
), ),
child: Flex( child: Flex(
direction: Axis.horizontal, direction: Axis.horizontal,

View File

@ -2,6 +2,30 @@ import 'package:appwrite_flutter_starter_kit/utils/extensions/build_context.dart
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
const cardWidgets = [
GeneralInfoCard(
title: "Edit your app",
link: null,
subtitle: HighlightedText(),
),
GeneralInfoCard(
title: "Head to Appwrite Cloud",
link: "https://cloud.appwrite.io",
subtitle: Text(
"Start managing your project from the Appwrite console",
style: TextStyle(fontSize: 14, color: Color(0xFF56565C)),
),
),
GeneralInfoCard(
title: "Explore docs",
link: "https://appwrite.io/docs",
subtitle: Text(
"Discover the full power of Appwrite by diving into our documentation",
style: TextStyle(fontSize: 14, color: Color(0xFF56565C)),
),
),
];
/// A widget that contains a list of informational cards displayed vertically. /// A widget that contains a list of informational cards displayed vertically.
class GettingStartedCards extends StatelessWidget { class GettingStartedCards extends StatelessWidget {
const GettingStartedCards({super.key}); const GettingStartedCards({super.key});
@ -9,39 +33,28 @@ class GettingStartedCards extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Padding( return Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 16.0), padding: const EdgeInsets.all(16.0),
child: Column( child: context.isLargeScreen
mainAxisSize: MainAxisSize.min, ? Wrap(
children: [ spacing: 16,
GeneralInfoCard( runSpacing: 16,
title: "Edit your app", alignment: WrapAlignment.center,
link: null, children: cardWidgets
subtitle: const HighlightedText(), .map((card) => SizedBox(
), width: 350,
GeneralInfoCard( child: card,
title: "Head to Appwrite Cloud", ))
link: "https://cloud.appwrite.io", .toList(),
subtitle: const Text( )
"Start managing your project from the Appwrite console", : Column(
style: TextStyle( mainAxisSize: MainAxisSize.min,
fontSize: 14, children: cardWidgets
color: Color(0xFF56565C), .map((card) => Padding(
), padding: const EdgeInsets.only(bottom: 16),
child: card,
))
.toList(),
), ),
),
GeneralInfoCard(
title: "Explore docs",
link: "https://appwrite.io/docs",
subtitle: const Text(
"Discover the full power of Appwrite by diving into our documentation",
style: TextStyle(
fontSize: 14,
color: Color(0xFF56565C),
),
),
),
],
),
); );
} }
} }

View File

@ -1,5 +1,6 @@
import 'package:appwrite_flutter_starter_kit/data/models/status.dart'; import 'package:appwrite_flutter_starter_kit/data/models/status.dart';
import 'package:appwrite_flutter_starter_kit/ui/icons/appwrite.dart'; import 'package:appwrite_flutter_starter_kit/ui/icons/appwrite.dart';
import 'package:appwrite_flutter_starter_kit/utils/extensions/build_context.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'connection_line.dart'; import 'connection_line.dart';
@ -18,13 +19,24 @@ class TopPlatformView extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Row( return Padding(
mainAxisAlignment: MainAxisAlignment.center, // web has extra padding on top.
children: <Widget>[ padding:
PlatformIcon(child: FlutterLogo(size: 40)), context.isLargeScreen ? EdgeInsets.only(top: 85) : EdgeInsets.zero,
ConnectionLine(show: status == Status.success), child: Row(
PlatformIcon(child: AppwriteIcon(size: 40)), mainAxisAlignment: MainAxisAlignment.center,
], children: <Widget>[
PlatformIcon(
size: context.isLargeScreen ? 185 : 100,
child: FlutterLogo(size: context.isLargeScreen ? 100 : 40),
),
ConnectionLine(show: status == Status.success),
PlatformIcon(
size: context.isLargeScreen ? 185 : 100,
child: AppwriteIcon(size: context.isLargeScreen ? 100 : 40),
),
],
),
); );
} }
} }
@ -51,7 +63,7 @@ class PlatformIcon extends StatelessWidget {
height: size, height: size,
decoration: BoxDecoration( decoration: BoxDecoration(
color: const Color(0xFFFAFAFD), color: const Color(0xFFFAFAFD),
borderRadius: BorderRadius.circular(24), borderRadius: BorderRadius.circular(context.isLargeScreen ? 44 : 24),
border: Border.all(color: const Color(0x0A19191C), width: 1), border: Border.all(color: const Color(0x0A19191C), width: 1),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
@ -67,7 +79,7 @@ class PlatformIcon extends StatelessWidget {
height: size * 0.86, height: size * 0.86,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(context.isLargeScreen ? 32 : 16),
border: Border.all(color: const Color(0xFFFAFAFB), width: 1), border: Border.all(color: const Color(0xFFFAFAFB), width: 1),
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(

View File

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class AppwriteIcon extends StatelessWidget { class AppwriteIcon extends StatelessWidget {
final double size; // Desired width, height scales accordingly final double size;
final Color color; final Color color;
const AppwriteIcon({ const AppwriteIcon({