mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:27:09 -05:00 
			
		
		
		
	* add shared links page * feat(mobile): shared link items * feat(mobile): create / edit shared links page * server: add changeExpiryTime to SharedLinkEditDto * fix(mobile): edit expiry to never * mobile: add icon when shares list is empty * mobile: create new share from album / timeline * mobile: add translation texts * mobile: minor ui fixes * fix: handle serverURL with /api path * mobile: show share link on successful creation * mobile: shared links list - 2 column layout * mobile: use sharedlink pod class instead of dto * mobile: show error on link creation * mobile: show share icon only when remote assets are in selection * mobile: use server endpoint instead of server url * styling * styling --------- Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
		
			
				
	
	
		
			23 lines
		
	
	
		
			658 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			658 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
import 'package:immich_mobile/shared/models/store.dart';
 | 
						|
 | 
						|
String sanitizeUrl(String url) {
 | 
						|
  // Add schema if none is set
 | 
						|
  final urlWithSchema =
 | 
						|
      url.startsWith(RegExp(r"https?://")) ? url : "https://$url";
 | 
						|
 | 
						|
  // Remove trailing slash(es)
 | 
						|
  return urlWithSchema.replaceFirst(RegExp(r"/+$"), "");
 | 
						|
}
 | 
						|
 | 
						|
String? getServerUrl() {
 | 
						|
  final serverUrl = Store.tryGet(StoreKey.serverEndpoint);
 | 
						|
  final serverUri = serverUrl != null ? Uri.tryParse(serverUrl) : null;
 | 
						|
  if (serverUri == null) {
 | 
						|
    return null;
 | 
						|
  }
 | 
						|
 | 
						|
  return serverUri.hasPort
 | 
						|
      ? "${serverUri.scheme}://${serverUri.host}:${serverUri.port}"
 | 
						|
      : "${serverUri.scheme}://${serverUri.host}";
 | 
						|
}
 |