Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
woin2ee committed Feb 12, 2025
2 parents e5c0d37 + df5abb3 commit b61ec89
Show file tree
Hide file tree
Showing 71 changed files with 1,557 additions and 1,256 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ lib/**/*.freezed.dart
lib/**/*.g.dart

# Personal
lib/example
example/**
design/

# l10n
Expand Down
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"name": "Flutter(example) for MacOS",
"request": "launch",
"type": "dart",
"program": "lib/example/main.dart",
"program": "example/main.dart",
"args": [
"-d",
"macos",
Expand Down
5 changes: 4 additions & 1 deletion analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,11 @@ linter:
# producing the lint.
rules:
prefer_const_constructors: true
prefer_relative_imports: true
prefer_final_locals: true
# prefer_final_parameters: true
prefer_final_in_for_each: true
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule

# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
5 changes: 3 additions & 2 deletions lib/app/app.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import 'package:dst_helper/app/home_page.dart';
import 'package:dst_helper/l10n/l10ns.dart';
import 'package:flutter/material.dart';
import 'package:universal_io/io.dart';

import '../l10n/l10ns.dart';
import 'home_page.dart';

class App extends StatefulWidget {
const App({super.key});

Expand Down
11 changes: 6 additions & 5 deletions lib/app/home_page.dart
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import 'package:dst_helper/app/models/menu.dart';
import 'package:dst_helper/cook_page/cook_page.dart';
import 'package:dst_helper/farm_page/farm_page.dart';
import 'package:dst_helper/utils/custom_icon/custom_icon_icons.dart';
import 'package:dst_helper/utils/font_family.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

import '../cook_page/cook_page.dart';
import '../farm_page/farm_page.dart';
import '../utils/custom_icon/custom_icon_icons.dart';
import '../utils/font_family.dart';
import 'models/menu.dart';

enum AvailableLanguage {
en,
ko,
Expand Down
3 changes: 2 additions & 1 deletion lib/app/models/menu.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import 'package:dst_helper/l10n/l10ns.dart';
import 'package:flutter/material.dart';
import 'package:material_symbols_icons/symbols.dart';

import '../../l10n/l10ns.dart';

enum Menu {
farm,
cook;
Expand Down
3 changes: 2 additions & 1 deletion lib/app/side_bar.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:dst_helper/app/models/menu.dart';
import 'package:flutter/material.dart';

import 'models/menu.dart';

class SideBar extends StatelessWidget {
const SideBar({
super.key,
Expand Down
7 changes: 4 additions & 3 deletions lib/cook_page/cook_page.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import 'package:dst_helper/cook_page/recipe_card_table.dart';
import 'package:dst_helper/cook_page/recipe_list/recipe_list.dart';
import 'package:dst_helper/models/v2/item/item.dart';
import 'package:flutter/material.dart';

import '../models/v2/item/item.dart';
import 'recipe_card_table.dart';
import 'recipe_list/recipe_list.dart';

class CookPage extends StatefulWidget {
const CookPage({super.key});

Expand Down
13 changes: 7 additions & 6 deletions lib/cook_page/recipe_card/default_recipe_card.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import 'package:dst_helper/cook_page/recipe_card/dragging_recipe_image.dart';
import 'package:dst_helper/cook_page/recipe_card/status_pair.dart';
import 'package:dst_helper/l10n/l10ns.dart';
import 'package:dst_helper/models/v2/item/categories.dart';
import 'package:dst_helper/utils/etc.dart';
import 'package:dst_helper/utils/font_family.dart';
import 'package:flutter/material.dart';

import '../../l10n/l10ns.dart';
import '../../models/v2/item/categories.dart';
import '../../utils/etc.dart';
import '../../utils/font_family.dart';
import 'dragging_recipe_image.dart';
import 'status_pair.dart';

class DefaultRecipeCard extends StatelessWidget {
const DefaultRecipeCard({
super.key,
Expand Down
15 changes: 8 additions & 7 deletions lib/cook_page/recipe_card/detail_recipe_card.dart
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import 'package:dst_helper/cook_page/recipe_card/dragging_recipe_image.dart';
import 'package:dst_helper/cook_page/recipe_card/status_pair.dart';
import 'package:dst_helper/l10n/l10ns.dart';
import 'package:dst_helper/models/v2/item/categories.dart';
import 'package:dst_helper/models/v2/status_value.dart';
import 'package:dst_helper/utils/etc.dart';
import 'package:dst_helper/utils/font_family.dart';
import 'package:flutter/material.dart';

import '../../l10n/l10ns.dart';
import '../../models/v2/item/categories.dart';
import '../../models/v2/status_value.dart';
import '../../utils/etc.dart';
import '../../utils/font_family.dart';
import 'dragging_recipe_image.dart';
import 'status_pair.dart';

class DetailRecipeCard extends StatelessWidget {
const DetailRecipeCard({
super.key,
Expand Down
5 changes: 3 additions & 2 deletions lib/cook_page/recipe_card/only_image_recipe_card.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import 'package:dst_helper/cook_page/recipe_card/dragging_recipe_image.dart';
import 'package:dst_helper/models/v2/item/categories.dart';
import 'package:flutter/material.dart';

import '../../models/v2/item/categories.dart';
import 'dragging_recipe_image.dart';

class OnlyImageRecipeCard extends StatelessWidget {
const OnlyImageRecipeCard({
super.key,
Expand Down
11 changes: 6 additions & 5 deletions lib/cook_page/recipe_card/simple_recipe_card.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import 'package:dst_helper/cook_page/recipe_card/dragging_recipe_image.dart';
import 'package:dst_helper/l10n/l10ns.dart';
import 'package:dst_helper/models/v2/item/categories.dart';
import 'package:dst_helper/utils/etc.dart';
import 'package:dst_helper/utils/font_family.dart';
import 'package:flutter/material.dart';

import '../../l10n/l10ns.dart';
import '../../models/v2/item/categories.dart';
import '../../utils/etc.dart';
import '../../utils/font_family.dart';
import 'dragging_recipe_image.dart';

class SimpleRecipeCard extends StatelessWidget {
const SimpleRecipeCard({
super.key,
Expand Down
5 changes: 3 additions & 2 deletions lib/cook_page/recipe_card/status_pair.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import 'package:dst_helper/models/v2/status_value.dart';
import 'package:dst_helper/utils/font_family.dart';
import 'package:flutter/material.dart';

import '../../models/v2/status_value.dart';
import '../../utils/font_family.dart';

enum StatusKey {
hunger,
health,
Expand Down
7 changes: 4 additions & 3 deletions lib/cook_page/recipe_card_table.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import 'package:dst_helper/cook_page/recipe_card/recipe_card.dart';
import 'package:dst_helper/cook_page/recipe_card_table_model.dart';
import 'package:flutter/material.dart';

import 'recipe_card/recipe_card.dart';
import 'recipe_card_table_model.dart';

class RecipeCardTable extends StatefulWidget {
const RecipeCardTable({super.key});

Expand Down Expand Up @@ -138,7 +139,7 @@ class _ModeChangeSwitchState extends State<_ModeChangeSwitch> {
@override
void initState() {
super.initState();
var index = _order.indexOf(widget.model.recipeCardMode);
final index = _order.indexOf(widget.model.recipeCardMode);
_selectedModes[index] = true;
}

Expand Down
17 changes: 9 additions & 8 deletions lib/cook_page/recipe_card_table_model.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import 'package:dst_helper/cook_page/recipe_card/recipe_card.dart';
import 'package:dst_helper/l10n/l10ns.dart';
import 'package:dst_helper/models/v2/item/item.dart';
import 'package:flutter/material.dart';

import '../l10n/l10ns.dart';
import '../models/v2/item/item.dart';
import 'recipe_card/recipe_card.dart';

class RecipeCardTableModel extends ChangeNotifier {
RecipeCardMode _recipeCardMode = RecipeCardMode.basic;
RecipeCardMode get recipeCardMode => _recipeCardMode;
Expand All @@ -18,16 +19,16 @@ class RecipeCardTableModel extends ChangeNotifier {
}

List<Recipe> getRecipes(BuildContext context) {
var entireRecipes = Items.recipes;
final entireRecipes = Items.recipes;

if (_searchKeyword.isEmpty) {
return entireRecipes;
}

var searchedRecipes = entireRecipes.where((recipe) {
var recipeName = L10ns.of(context).localized('${recipe.code}_name');
var adjustedName = recipeName.replaceAll(' ', '').toLowerCase();
var searchKeyword = _searchKeyword.toLowerCase();
final searchedRecipes = entireRecipes.where((recipe) {
final recipeName = L10ns.of(context).localized('${recipe.code}_name');
final adjustedName = recipeName.replaceAll(' ', '').toLowerCase();
final searchKeyword = _searchKeyword.toLowerCase();
return adjustedName.contains(searchKeyword);
});

Expand Down
13 changes: 7 additions & 6 deletions lib/cook_page/recipe_list/recipe_list.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import 'package:dst_helper/cook_page/recipe_list/recipe_list_item.dart';
import 'package:dst_helper/cook_page/recipe_list/recipe_list_notifier.dart';
import 'package:dst_helper/l10n/l10ns.dart';
import 'package:dst_helper/models/v2/item/item.dart';
import 'package:dst_helper/utils/font_family.dart';
import 'package:flutter/material.dart';
import 'package:toastification/toastification.dart';

import '../../l10n/l10ns.dart';
import '../../models/v2/item/item.dart';
import '../../utils/font_family.dart';
import 'recipe_list_item.dart';
import 'recipe_list_notifier.dart';

class RecipeList extends StatefulWidget {
RecipeList() : super(key: GlobalKey());

Expand All @@ -22,7 +23,7 @@ class _RecipeListState extends State<RecipeList> {
Widget build(BuildContext context) {
return DragTarget<Recipe>(
onAcceptWithDetails: (details) {
var recipe = details.data;
final recipe = details.data;
if (_recipeListNotifier.value.contains(recipe)) {
_showToast(context);
return;
Expand Down
7 changes: 4 additions & 3 deletions lib/cook_page/recipe_list/recipe_list_item.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import 'package:dst_helper/cook_page/recipe_list/recipe_list_notifier.dart';
import 'package:dst_helper/models/v2/item/categories.dart';
import 'package:dst_helper/models/v2/item/categories_extension.dart';
import 'package:flutter/material.dart';

import '../../models/v2/item/categories.dart';
import '../../models/v2/item/categories_extension.dart';
import 'recipe_list_notifier.dart';

class DraggableRecipeListItem extends StatelessWidget {
const DraggableRecipeListItem({
super.key,
Expand Down
3 changes: 2 additions & 1 deletion lib/cook_page/recipe_list/recipe_list_notifier.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:dst_helper/models/v2/item/item.dart';
import 'package:flutter/foundation.dart';

import '../../models/v2/item/item.dart';

class RecipeListNotifier extends ChangeNotifier {
List<Recipe> _value = [];
List<Recipe> get value => _value.toList();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import 'dart:ui';

import 'package:dst_helper/farm_page/edit_farm_set/components/analysis_view/family_condition_box.dart';
import 'package:dst_helper/farm_page/edit_farm_set/components/analysis_view/nutrient_condition_box.dart';
import 'package:dst_helper/farm_page/edit_farm_set/components/analysis_view/season_condition_box.dart';
import 'package:dst_helper/l10n/l10ns.dart';
import 'package:dst_helper/utils/font_family.dart';
import 'package:flutter/material.dart';

import '../../../../l10n/l10ns.dart';
import '../../../../utils/font_family.dart';
import 'analysis_view_controller.dart';
import 'family_condition_box.dart';
import 'nutrient_condition_box.dart';
import 'season_condition_box.dart';

class AnalysisView extends StatelessWidget {
const AnalysisView({
super.key,
Expand Down Expand Up @@ -106,55 +108,6 @@ class AnalysisView extends StatelessWidget {
}
}

class AnalysisViewController {
AnalysisViewController._({
required this.isSatisfying,
required this.isPlacedAnyPlant,
required this.seasonConditionBoxController,
required this.nutrientConditionBoxController,
required this.familyConditionBoxController,
});

factory AnalysisViewController.create({
required SeasonConditionBoxController seasonConditionBoxController,
required NutrientConditionBoxController nutrientConditionBoxController,
required FamilyConditionBoxController familyConditionBoxController,
required bool isPlacedAnyPlant,
}) {
bool isSatisfying() {
return seasonConditionBoxController.suitableSeasons.isNotEmpty &&
nutrientConditionBoxController.value.isSatisfying &&
familyConditionBoxController.value.isSatisfying;
}

final analysisViewController = AnalysisViewController._(
seasonConditionBoxController: seasonConditionBoxController,
nutrientConditionBoxController: nutrientConditionBoxController,
familyConditionBoxController: familyConditionBoxController,
isSatisfying: ValueNotifier(isSatisfying()),
isPlacedAnyPlant: ValueNotifier(isPlacedAnyPlant),
);

seasonConditionBoxController.addListener(() {
analysisViewController.isSatisfying.value = isSatisfying();
});
nutrientConditionBoxController.addListener(() {
analysisViewController.isSatisfying.value = isSatisfying();
});
familyConditionBoxController.addListener(() {
analysisViewController.isSatisfying.value = isSatisfying();
});
return analysisViewController;
}

final SeasonConditionBoxController seasonConditionBoxController;
final NutrientConditionBoxController nutrientConditionBoxController;
final FamilyConditionBoxController familyConditionBoxController;

ValueNotifier<bool> isSatisfying;
ValueNotifier<bool> isPlacedAnyPlant;
}

class _Title extends StatelessWidget {
const _Title();

Expand Down Expand Up @@ -223,7 +176,7 @@ class _ConditionGroup extends StatelessWidget {
});

final SeasonConditionBoxController seasonConditionBoxController;
final NutrientConditionBoxController nutrientConditionBoxController;
final NutrientConditionBoxNotifier nutrientConditionBoxController;
final FamilyConditionBoxController familyConditionBoxController;

final BorderRadius borderRadius;
Expand Down
Loading

0 comments on commit b61ec89

Please sign in to comment.