initial commit (migrated)

This commit is contained in:
fiatcode 2025-10-20 16:43:59 +07:00
commit b594facb51
143 changed files with 11057 additions and 0 deletions

View file

@ -0,0 +1,17 @@
import 'package:fpdart/fpdart.dart';
import 'package:kuwot/core/domain/no_params.dart';
import 'package:kuwot/core/domain/use_case.dart';
import 'package:kuwot/core/error/failure.dart';
import 'package:kuwot/features/quote/domain/entities/background_image.dart';
import 'package:kuwot/features/quote/domain/repositories/quote_repository.dart';
class GetBackgroundImages extends UseCase<List<BackgroundImage>, NoParams> {
final QuoteRepository _repository;
GetBackgroundImages(QuoteRepository repository) : _repository = repository;
@override
Future<Either<Failure, List<BackgroundImage>>> call(NoParams params) async {
return await _repository.getBackgroundImages();
}
}

View file

@ -0,0 +1,27 @@
import 'package:equatable/equatable.dart';
import 'package:fpdart/fpdart.dart';
import 'package:kuwot/core/data/local/translation_target_config.dart';
import 'package:kuwot/core/domain/use_case.dart';
import 'package:kuwot/core/error/failure.dart';
import 'package:kuwot/features/quote/domain/entities/quote.dart';
import 'package:kuwot/features/quote/domain/repositories/quote_repository.dart';
class GetQuote extends UseCase<Quote, GetQuoteParams> {
final QuoteRepository _repository;
GetQuote(QuoteRepository repository) : _repository = repository;
@override
Future<Either<Failure, Quote>> call(GetQuoteParams params) {
return _repository.getQuote(params.translationTarget);
}
}
class GetQuoteParams extends Equatable {
final TranslationTarget? translationTarget;
const GetQuoteParams(this.translationTarget);
@override
List<Object?> get props => [translationTarget];
}

View file

@ -0,0 +1,34 @@
import 'package:equatable/equatable.dart';
import 'package:fpdart/fpdart.dart';
import 'package:kuwot/core/data/local/translation_target_config.dart';
import 'package:kuwot/core/domain/use_case.dart';
import 'package:kuwot/core/error/failure.dart';
import 'package:kuwot/features/quote/domain/entities/quote.dart';
import 'package:kuwot/features/quote/domain/repositories/quote_repository.dart';
class GetTranslatedQuote extends UseCase<Quote, GetTranslatedQuoteParams> {
final QuoteRepository _repository;
GetTranslatedQuote(QuoteRepository repository) : _repository = repository;
@override
Future<Either<Failure, Quote>> call(GetTranslatedQuoteParams params) async {
return await _repository.getTranslatedQuote(
params.id,
params.translationTarget,
);
}
}
class GetTranslatedQuoteParams extends Equatable {
final int id;
final TranslationTarget translationTarget;
const GetTranslatedQuoteParams({
required this.id,
required this.translationTarget,
});
@override
List<Object?> get props => [id, translationTarget];
}

View file

@ -0,0 +1,17 @@
import 'package:fpdart/fpdart.dart';
import 'package:kuwot/core/domain/no_params.dart';
import 'package:kuwot/core/domain/use_case.dart';
import 'package:kuwot/core/error/failure.dart';
import 'package:kuwot/features/quote/domain/entities/translation.dart';
import 'package:kuwot/features/quote/domain/repositories/quote_repository.dart';
class GetTranslations extends UseCase<List<Translation>, NoParams> {
final QuoteRepository _repository;
GetTranslations(QuoteRepository repository) : _repository = repository;
@override
Future<Either<Failure, List<Translation>>> call(NoParams params) {
return _repository.getTranslations();
}
}