diff --git a/lib/api/wikimedia.dart b/lib/api/wikimedia.dart
index 69de0ed..e916892 100644
--- a/lib/api/wikimedia.dart
+++ b/lib/api/wikimedia.dart
@@ -3,6 +3,23 @@ import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:voyagehandbook/api/classes.dart';
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
class WikiApi {
static final _dio = Dio(
BaseOptions(baseUrl: "https://api.wikimedia.org/core/v1/wikivoyage/en/"));
diff --git a/lib/util/drawer.dart b/lib/util/drawer.dart
index 4f9ee73..4b54145 100644
--- a/lib/util/drawer.dart
+++ b/lib/util/drawer.dart
@@ -3,6 +3,23 @@ import 'package:voyagehandbook/views/home.dart';
import '../views/search.dart';
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
/// Used to generate the drawer
///
/// Use `0` in `page` if you don't want any tile selected
diff --git a/lib/util/render.dart b/lib/util/render.dart
index 94957d8..9d41aa2 100644
--- a/lib/util/render.dart
+++ b/lib/util/render.dart
@@ -8,6 +8,23 @@ import 'package:voyagehandbook/util/styles.dart';
import 'package:voyagehandbook/util/widgets/warning.dart';
import 'package:html_unescape/html_unescape_small.dart';
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
final _ignoredTags = ["style", "script"];
/// Used to create Widgets from raw HTML from WM API
diff --git a/lib/util/storage.dart b/lib/util/storage.dart
index 35e2c51..5377659 100644
--- a/lib/util/storage.dart
+++ b/lib/util/storage.dart
@@ -3,6 +3,23 @@ import 'dart:io';
import 'package:path_provider/path_provider.dart';
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
/// Used to ease up accessing local files
class StorageAccess {
/// Get files in `recent` folder, which contains recently opened pages
diff --git a/lib/util/styles.dart b/lib/util/styles.dart
index c8f19cb..774f8e6 100644
--- a/lib/util/styles.dart
+++ b/lib/util/styles.dart
@@ -1,5 +1,22 @@
import 'package:flutter/material.dart';
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
class PageStyles {
static const h1 = TextStyle(fontSize: 26, fontWeight: FontWeight.bold);
static const h2 = TextStyle(fontSize: 22, fontWeight: FontWeight.bold);
diff --git a/lib/util/widgets/warning.dart b/lib/util/widgets/warning.dart
index e96196f..6753ddb 100644
--- a/lib/util/widgets/warning.dart
+++ b/lib/util/widgets/warning.dart
@@ -1,5 +1,22 @@
import 'package:flutter/material.dart';
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
class Warning extends StatelessWidget {
const Warning({super.key, required this.content});
final List content;
diff --git a/lib/views/home.dart b/lib/views/home.dart
index dc46829..e7d5e0f 100644
--- a/lib/views/home.dart
+++ b/lib/views/home.dart
@@ -3,6 +3,24 @@ import 'package:voyagehandbook/util/drawer.dart';
import 'package:voyagehandbook/util/storage.dart';
import 'package:voyagehandbook/util/styles.dart';
import 'package:voyagehandbook/views/pageview.dart';
+import 'package:voyagehandbook/views/search.dart';
+
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
class HomeView extends StatefulWidget {
const HomeView({super.key});
@@ -22,6 +40,14 @@ class _HomeViewState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
+ floatingActionButton: FloatingActionButton(
+ onPressed: () => Navigator.of(context).pushReplacement(
+ MaterialPageRoute(
+ builder: (_) => const SearchView(),
+ ),
+ ),
+ child: const Icon(Icons.search),
+ ),
appBar: AppBar(title: const Text("Home")),
drawer: genDrawer(1, context),
body: Center(
diff --git a/lib/views/pageview.dart b/lib/views/pageview.dart
index d128729..700d1a7 100644
--- a/lib/views/pageview.dart
+++ b/lib/views/pageview.dart
@@ -6,6 +6,23 @@ import 'package:voyagehandbook/util/render.dart';
import 'package:voyagehandbook/util/storage.dart';
import 'package:voyagehandbook/util/styles.dart';
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
/// Renders a single WikiVoyage article
class ArticleView extends StatefulWidget {
const ArticleView({super.key, required this.pageKey, required this.name});
diff --git a/lib/views/search.dart b/lib/views/search.dart
index e90c6a3..1da4a4a 100644
--- a/lib/views/search.dart
+++ b/lib/views/search.dart
@@ -5,6 +5,23 @@ import 'package:voyagehandbook/views/pageview.dart';
import '../util/drawer.dart';
+/*
+ Voyage Handbook - The open-source WikiVoyage reader
+ Copyright (C) 2023 Matyáš Caras
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
class SearchView extends StatefulWidget {
const SearchView({super.key});