Skip to content

Commit

Permalink
notfound
Browse files Browse the repository at this point in the history
  • Loading branch information
arifayduran committed Jan 29, 2025
1 parent 2bb9f3a commit d4eccbf
Show file tree
Hide file tree
Showing 15 changed files with 420 additions and 103 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deploy_firebase_and_github_on_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.27.2' # Optionally specify the version you need
flutter-version: '3.27.3' # Optionally specify the version you need

# Step 3: Install Firebase CLI globally
- name: Install Firebase CLI
Expand Down
3 changes: 3 additions & 0 deletions devtools_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
extensions:
5 changes: 4 additions & 1 deletion lib/l10n/app_ar.arb
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,8 @@
"onHoverSystemLang": "تُستخدم لغة النظام لمعالجة البيانات وتنسيقات العملات والإعدادات المحلية الأخرى.",
"lastRouteMessage": "تمت استعادة جلسة الطريق الأخيرة بنجاح.",
"drawerOnHover": "الوصول إلى قائمة الإعدادات.",
"logoOnHover": "شعار بخط اليد مصمم ذاتيًا"
"logoOnHover": "شعار بخط اليد مصمم ذاتيًا",
"goToHome": "اذهب إلى الصفحة الرئيسية",
"back": "رجوع",
"pageNotFound": "الصفحة '{path}' غير موجودة."
}
5 changes: 4 additions & 1 deletion lib/l10n/app_de.arb
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,8 @@
"onHoverSystemLang": "Die Systemsprache wird verwendet, um Daten-, Währungsformate und andere lokale Einstellungen zu verwalten.",
"lastRouteMessage":"Die letzte Routensitzung wurde erfolgreich wiederhergestellt.",
"drawerOnHover": "Zugriff auf das Einstellungen-Menü.",
"logoOnHover": "Kalligraphisches, selbst gestaltetes Logo"
"logoOnHover": "Kalligraphisches, selbst gestaltetes Logo",
"goToHome": "Zur Startseite gehen",
"back": "Zurück",
"pageNotFound": "Die Seite '{path}' wurde nicht gefunden."
}
21 changes: 18 additions & 3 deletions lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,25 @@
},
"drawerOnHover": "Access the settings menu.",
"@drawerOnHover": {
"description": "Manage basic settings and adjustments."
"description": "Manage basic settings and adjustments."
},
"logoOnHover": "Calligraphic self-designed logo",
"@logoOnHover": {
"description": "Message shown on hover on logo"
}
"description": "Message shown on hover on logo"
},
"goToHome": "Go to home",
"@goToHome": {
"description": "Navigation to home button text"
},
"back": "Back",
"@back": {
"description": "Navigation back button text"
},
"pageNotFound": "The page '{path}' was not found.",
"@pageNotFound": {
"description": "Page not found message to show",
"placeholders": {
"path": {}
}
}
}
8 changes: 5 additions & 3 deletions lib/l10n/app_tr.arb
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
"onHoverSystemLang": "Sistem dili, veri, para birimi formatı ve diğer yerel ayarları işlemek için kullanılır.",
"lastRouteMessage": "Son rota oturumu başarıyla geri yüklendi.",
"drawerOnHover": "Ayarlar menüsüne erişim.",
"logoOnHover": "Kaligrafik, kendi tasarımımız olan logo"
}

"logoOnHover": "Kaligrafik, kendi tasarımımız olan logo",
"goToHome": "Ana sayfaya git",
"back": "Geri dön",
"pageNotFound": "'{path}' sayfası bulunamadı."
}
18 changes: 10 additions & 8 deletions lib/src/core/application/responsive_update.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@

import 'package:arifayduran_dev/src/core/my_toolbar.dart';
// import 'package:arifayduran_dev/src/core/my_toolbar.dart';
import 'package:arifayduran_dev/src/features/settings/data/session_settings.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
// import 'package:provider/provider.dart';
import 'package:responsive_framework/responsive_framework.dart';

// void initializeToolbarHeight(BuildContext context) {
Expand All @@ -19,15 +18,18 @@ import 'package:responsive_framework/responsive_framework.dart';

void responsiveUpdate(BuildContext context) {
// final double height = MediaQuery.of(context).size.height;
final toolbarProvider = Provider.of<ToolbarProvider>(context, listen: false);

// final toolbarProvider = Provider.of<ToolbarProvider>(context, listen: false); // didtn used for now

// final bottombarProvider =
// Provider.of<BottombarProvider>(context, listen: false);

if (ResponsiveBreakpoints.of(context).smallerThan("Big")) {
toolbarProvider.providersmaxBarsHeight = 60;
toolbarProvider.providersminBarsHeight = 40;
// bottombarProvider.providersMaxBottombarHeight = 60;
// bottombarProvider.providersMinBottombarHeight = 40;
// toolbarProvider.providersmaxBarsHeight = 60;
// toolbarProvider.providersminBarsHeight = 40;

// bottombarProvider.providersMaxBottombarHeight = 60; // didtn used for now
// bottombarProvider.providersMinBottombarHeight = 40; // didtn used for now
maxBarsHeight = 60;
minBarsHeight = 40;
} else {
Expand Down
127 changes: 67 additions & 60 deletions lib/src/core/my_app.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import 'dart:ui_web';

import 'package:arifayduran_dev/src/core/application/scaffold_messenger_key.dart';
import 'package:arifayduran_dev/src/core/my_toolbar.dart';
import 'package:arifayduran_dev/src/features/home/presentation/page_not_found.dart';
import 'package:arifayduran_dev/src/features/projects/presentation/projects_screen.dart';
import 'package:arifayduran_dev/src/features/settings/application/controllers/language_provider.dart';
// import 'package:arifayduran_dev/src/features/settings/application/services/deactivated/routes_service.dart'; // not using since observer
Expand Down Expand Up @@ -28,7 +31,6 @@ class MyApp extends StatelessWidget {
builder: (BuildContext context, Widget? child) {
return MaterialApp(
builder: (context, child) => ResponsiveBreakpoints.builder(
child: child!,
breakpoints: [
const Breakpoint(start: 0, end: 300, name: "Small"),
const Breakpoint(start: 301, end: 600, name: MOBILE),
Expand All @@ -38,6 +40,7 @@ class MyApp extends StatelessWidget {
// const Breakpoint(start: 801, end: 1920, name: DESKTOP),
// const Breakpoint(start: 1921, end: double.infinity, name: '4K'),
],
child: child!,
),
scrollBehavior: MyCustomScrollBehavior(),
scaffoldMessengerKey: scaffoldMessengerKey,
Expand All @@ -53,6 +56,7 @@ class MyApp extends StatelessWidget {
themeMode: uiModeController.themeMode,
initialRoute: initialRoute, // "/",
navigatorObservers: [routeObserver],

onGenerateInitialRoutes: (initialRoute) {
final Uri uri = Uri.parse(initialRoute);
return [
Expand Down Expand Up @@ -89,10 +93,11 @@ class MyApp extends StatelessWidget {
Route<dynamic> buildPage(
{required String path, Map<String, String> queryParams = const {}}) {
return PageRouteBuilder(
// opaque: false,
settings: RouteSettings(
name: (path.startsWith('/') == false) ? '/$path' : path),
transitionDuration: const Duration(milliseconds: 500),
reverseTransitionDuration: const Duration(milliseconds: 500),
transitionDuration: Duration(milliseconds: routeDurationMs),
reverseTransitionDuration: Duration(milliseconds: routeDurationMs),
pageBuilder: (context, animation, secondaryAnimation) {
final toolbarProvider =
Provider.of<ToolbarProvider>(context); // listen: false
Expand All @@ -110,65 +115,67 @@ class MyApp extends StatelessWidget {
// path != '/' && path.startsWith('/') ? path.substring(1) : path;

return Scaffold(
backgroundColor: toolbarProvider.scrolledPlaceColor,
appBar: PreferredSize(
preferredSize: Size.fromHeight(
Provider.of<ToolbarProvider>(context).toolbarHeight),
child: Stack(
clipBehavior: Clip.none,
children: [
myToolbar,
Positioned(
top: 0,
left: Directionality.of(context) == TextDirection.ltr
? 0
: null,
right: Directionality.of(context) == TextDirection.rtl
? 0
: null,
child: HoverLogo(isDark: uiModeController.darkModeSet),
),
],
backgroundColor: toolbarProvider.scrolledPlaceColor,
appBar: PreferredSize(
preferredSize: Size.fromHeight(
Provider.of<ToolbarProvider>(context).toolbarHeight),
child: Stack(
clipBehavior: Clip.none,
children: [
myToolbar,
Positioned(
top: 0,
left: Directionality.of(context) == TextDirection.ltr
? 0
: null,
right: Directionality.of(context) == TextDirection.rtl
? 0
: null,
child: HoverLogo(isDark: uiModeController.darkModeSet),
),
],
),
),
),
// extendBody: true,
// bottomNavigationBar:
// MyBottombar(uiModeController: uiModeController),
body:

// Stack(
// clipBehavior: Clip.none,
// children: [
FadeTransition(
opacity: animation,
child: switch (pathName) {
'/' ||
HomeScreen.routeName =>
HomeScreen(uiModeController: uiModeController),
ProjectsScreen.routeName =>
ProjectsScreen(uiModeController: uiModeController),
"/placeholder" =>

// const ResponsiveBreakpoints(breakpoints: [
// Breakpoint(start: 0, end: 480, name: MOBILE),
// Breakpoint(start: 481, end: 1200, name: TABLET),
// Breakpoint(start: 1201, end: double.infinity, name: DESKTOP),
// ], child:
const Placeholder(),
// ),
// extendBody: true,
// bottomNavigationBar:
// MyBottombar(uiModeController: uiModeController),
body:

String() =>
HomeScreen(uiModeController: uiModeController),
}),
// Positioned.fill(
// left: -634,
// child: CustomPaint(
// painter: VerticalLinePainter(),
// ),
// ),
// ],
// ),
);
// Stack(
// clipBehavior: Clip.none,
// children: [
FadeTransition(
opacity: animation,
child: switch (pathName) {
// '/' ||
HomeScreen.routeName =>
HomeScreen(uiModeController: uiModeController),
ProjectsScreen.routeName =>
ProjectsScreen(uiModeController: uiModeController),
"/placeholder" =>

// const ResponsiveBreakpoints(breakpoints: [
// Breakpoint(start: 0, end: 480, name: MOBILE),
// Breakpoint(start: 481, end: 1200, name: TABLET),
// Breakpoint(start: 1201, end: double.infinity, name: DESKTOP),
// ], child:
const Placeholder(),
// ),

String() => PageNotFoundScreen(
uiModeController: uiModeController,
pathName: pathName,
),
}
// Positioned.fill(
// left: -634,
// child: CustomPaint(
// painter: VerticalLinePainter(),
// ),
// ),
// ],
// ),
));
});
}
}
Expand Down
10 changes: 5 additions & 5 deletions lib/src/core/my_toolbar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ import 'package:responsive_framework/responsive_framework.dart';
// }

class ToolbarProvider extends ChangeNotifier {
double? providersmaxBarsHeight = maxBarsHeight; // didnt use for now
double? providersminBarsHeight = minBarsHeight; // didnt use for now
// double? providersmaxBarsHeight = maxBarsHeight; // didnt used for now
// double? providersminBarsHeight = minBarsHeight; // didnt used for now

Color scrolledPlaceColor = effectColorDark;
double toolbarHeight = maxBarsHeight;
Duration duration = Duration(milliseconds: toolbarAnimationDuration);
Duration duration = Duration(milliseconds: routeDurationMs);

void updateToolbar(Color color, double height, Duration newDuration) {
duration = newDuration;
Expand All @@ -59,10 +59,10 @@ class MyToolbar extends StatefulWidget {
final UiModeController uiModeController;

@override
State<MyToolbar> createState() => _MyToolbarProvider();
State<MyToolbar> createState() => _MyToolbarState();
}

class _MyToolbarProvider extends State<MyToolbar>
class _MyToolbarState extends State<MyToolbar>
with SingleTickerProviderStateMixin {
late AnimationController _controller;
late Animation<double> _heightAnimation;
Expand Down
11 changes: 4 additions & 7 deletions lib/src/features/home/presentation/home_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ class _HomeScreenState extends State<HomeScreen>
onDoubleTap: _handleDoubleTap,
child: InteractiveViewer(
transformationController: _transformationController,
scaleEnabled: true, // issues
scaleEnabled: false, // issues
minScale: 1,
maxScale: 2,
child: Material(
Expand Down Expand Up @@ -410,16 +410,13 @@ class _HomeScreenState extends State<HomeScreen>
onPressed: () {
notNavigatedFromRefresh = true;

// !
logoAnimate = true;
Future.delayed(
Duration(
milliseconds:
toolbarAnimationDuration),
milliseconds: routeDurationMs),
() {
logoAnimate = false;
});
// !

_onRoute();
_updateToolbar(
Expand All @@ -430,7 +427,7 @@ class _HomeScreenState extends State<HomeScreen>
.lastToolbarScrolledPlaceColorLight,
ProjectsScreen
.lastToolbarHeightBeforePush,
toolbarAnimationDuration);
routeDurationMs);
// _updateBottombar(
// widget.uiModeController
// .darkModeSet
Expand All @@ -440,7 +437,7 @@ class _HomeScreenState extends State<HomeScreen>
// .lastToolbarScrolledPlaceColorLight,
// ProjectsScreen
// .lastToolbarHeightBeforePush,
// toolbarAnimationDuration);
// routeDurationMs);
Navigator.pushNamed(
context, '/projects');
},
Expand Down
Loading

0 comments on commit d4eccbf

Please sign in to comment.