Skip to content

Commit

Permalink
fix: better looking result item, and client-side lyrics fetching
Browse files Browse the repository at this point in the history
  • Loading branch information
IllusionMan1212 committed Aug 3, 2022
1 parent 386d169 commit 3bf7750
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 26 deletions.
24 changes: 12 additions & 12 deletions lib/lyrics.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert' as convert;
import 'package:web_scraper/web_scraper.dart';

class LyricsPage extends StatefulWidget {
const LyricsPage({
Expand Down Expand Up @@ -31,21 +31,21 @@ class _LyricsPageState extends State<LyricsPage> {
Future<void> initPlatformState() async {
setState(() => fetching = true);

final uri = Uri.https('api.illusionman1212.tech', '/lyrics', {
'songUrl': widget.url,
});

var response = await http.get(uri);
if (response.statusCode == 200) {
final jsonRes = convert.jsonDecode(response.body) as Map<String, dynamic>;
final webScraper = WebScraper('https://genius.com');

String path = widget.url.split('genius.com/')[1];
String fullLyrics = '';
if (await webScraper.loadWebPage('/$path?react=1')) {
webScraper.loadFromString(webScraper.getPageContent().replaceAll('<br>', '\n'));
var element = webScraper.getElement("div[data-lyrics-container]", ['data-lyrics-container']);
for (var section in element) {
fullLyrics += section['title'] + '\n';
}
setState(() {
lyrics = fullLyrics;
fetching = false;
lyrics = jsonRes['lyrics'];
});
} else {
print('error while GETing lyrics');
setState(() => fetching = false);
// print(thing);
}
}

Expand Down
4 changes: 2 additions & 2 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver {

@override
void initState() {
WidgetsBinding.instance?.addObserver(this);
WidgetsBinding.instance.addObserver(this);
super.initState();
initPlatformState();
}

@override
void dispose() {
WidgetsBinding.instance?.removeObserver(this);
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}

Expand Down
6 changes: 3 additions & 3 deletions lib/search_result.dart
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ class _SearchResultState extends State<SearchResult> {
onLongPress: () => _showOptionsBottomSheet(),
child: Ink(
height: 75,
color: Colors.black,
color: Colors.white10,
child: Row(
children: [
Container(
Expand All @@ -145,7 +145,7 @@ class _SearchResultState extends State<SearchResult> {
Text(
widget.title,
style: const TextStyle(
color: Colors.white,
color: Colors.black,
fontSize: 18,
fontWeight: FontWeight.bold,
),
Expand All @@ -154,7 +154,7 @@ class _SearchResultState extends State<SearchResult> {
Text(
widget.artist,
style: const TextStyle(
color: Colors.white70,
color: Colors.black54,
fontSize: 14,
),
overflow: TextOverflow.ellipsis,
Expand Down
39 changes: 30 additions & 9 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,14 @@ packages:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.15.0"
version: "1.16.0"
csslib:
dependency: transitive
description:
name: csslib
url: "https://pub.dartlang.org"
source: hosted
version: "0.17.2"
dbus:
dependency: transitive
description:
Expand All @@ -63,7 +70,7 @@ packages:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
version: "1.3.0"
ffi:
dependency: transitive
description:
Expand Down Expand Up @@ -121,6 +128,13 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
html:
dependency: transitive
description:
name: html
url: "https://pub.dartlang.org"
source: hosted
version: "0.15.0"
http:
dependency: "direct main"
description:
Expand All @@ -141,7 +155,7 @@ packages:
name: js
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.3"
version: "0.6.4"
lints:
dependency: transitive
description:
Expand All @@ -162,7 +176,7 @@ packages:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.3"
version: "0.1.4"
meta:
dependency: transitive
description:
Expand All @@ -176,7 +190,7 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0"
version: "1.8.1"
petitparser:
dependency: transitive
description:
Expand Down Expand Up @@ -216,7 +230,7 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.1"
version: "1.8.2"
stack_trace:
dependency: transitive
description:
Expand Down Expand Up @@ -251,7 +265,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.8"
version: "0.4.9"
timezone:
dependency: transitive
description:
Expand Down Expand Up @@ -328,7 +342,14 @@ packages:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
version: "2.1.2"
web_scraper:
dependency: "direct main"
description:
name: web_scraper
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.4"
xdg_directories:
dependency: transitive
description:
Expand All @@ -344,5 +365,5 @@ packages:
source: hosted
version: "5.3.1"
sdks:
dart: ">=2.16.1 <3.0.0"
dart: ">=2.17.0-0 <3.0.0"
flutter: ">=2.10.0"
1 change: 1 addition & 0 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ dependencies:
http: ^0.13.4
flutter_local_notifications: ^9.3.2
url_launcher: ^6.0.20
web_scraper: ^0.1.4

dev_dependencies:
flutter_test:
Expand Down

0 comments on commit 3bf7750

Please sign in to comment.