25 lines
738 B
Dart
25 lines
738 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:metadata_fetch/metadata_fetch.dart';
|
|
|
|
import '../model/maps_link_metadata.dart';
|
|
|
|
class SharedLinkProvider extends ChangeNotifier {
|
|
MapsLinkMetadata? _currentMapsLinkMetadata;
|
|
|
|
void setCurrentMapsLink(String mapsLink, {bool silent = false}) async {
|
|
final metadata = await MetadataFetch.extract(mapsLink);
|
|
_currentMapsLinkMetadata = MapsLinkMetadata(
|
|
url: mapsLink,
|
|
placeName: metadata?.title ?? '',
|
|
);
|
|
if (!silent) notifyListeners();
|
|
}
|
|
|
|
void removeCurrentMapsLink({bool silent = false}) {
|
|
_currentMapsLinkMetadata = null;
|
|
if (!silent) notifyListeners();
|
|
}
|
|
|
|
MapsLinkMetadata? get currentMapsLinkMetadata => _currentMapsLinkMetadata;
|
|
}
|