├── www
└── .gitkeep
├── src
├── pages
│ ├── login
│ │ ├── login.scss
│ │ ├── README.md
│ │ ├── login.module.ts
│ │ ├── login.html
│ │ └── login.ts
│ ├── menu
│ │ ├── menu.scss
│ │ ├── README.md
│ │ ├── menu.html
│ │ ├── menu.module.ts
│ │ └── menu.ts
│ ├── tabs
│ │ ├── tabs.scss
│ │ ├── README.md
│ │ ├── tabs.html
│ │ ├── tabs.module.ts
│ │ └── tabs.ts
│ ├── cards
│ │ ├── cards.scss
│ │ ├── README.md
│ │ ├── card.module.ts
│ │ ├── cards.module.ts
│ │ ├── cards.html
│ │ └── cards.ts
│ ├── content
│ │ ├── content.scss
│ │ ├── README.md
│ │ ├── content.ts
│ │ ├── content.html
│ │ └── content.module.ts
│ ├── search
│ │ ├── search.scss
│ │ ├── README.md
│ │ ├── search.module.ts
│ │ ├── search.html
│ │ └── search.ts
│ ├── signup
│ │ ├── signup.scss
│ │ ├── README.md
│ │ ├── signup.module.ts
│ │ ├── signup.html
│ │ └── signup.ts
│ ├── settings
│ │ ├── settings.scss
│ │ ├── README.md
│ │ ├── settings.module.ts
│ │ ├── settings.html
│ │ └── settings.ts
│ ├── list-master
│ │ ├── list-master.scss
│ │ ├── README.md
│ │ ├── list-master.module.ts
│ │ ├── list-master.html
│ │ └── list-master.ts
│ ├── README.md
│ ├── tutorial
│ │ ├── README.md
│ │ ├── tutorial.module.ts
│ │ ├── tutorial.scss
│ │ ├── tutorial.html
│ │ └── tutorial.ts
│ ├── welcome
│ │ ├── README.md
│ │ ├── welcome.html
│ │ ├── welcome.module.ts
│ │ ├── welcome.ts
│ │ └── welcome.scss
│ ├── item-detail
│ │ ├── README.md
│ │ ├── item-detail.scss
│ │ ├── item-detail.html
│ │ ├── item-detail.module.ts
│ │ └── item-detail.ts
│ ├── item-create
│ │ ├── README.md
│ │ ├── item-create.module.ts
│ │ ├── item-create.scss
│ │ ├── item-create.html
│ │ └── item-create.ts
│ └── pages.ts
├── assets
│ ├── img
│ │ ├── appicon.png
│ │ ├── badu-live.png
│ │ ├── nin-live.png
│ │ ├── splashbg.png
│ │ ├── bjork-live.jpg
│ │ ├── ian-avatar.png
│ │ ├── marty-avatar.png
│ │ ├── queen-live.png
│ │ ├── rundmc-live.png
│ │ ├── speakers
│ │ │ ├── bear.jpg
│ │ │ ├── duck.jpg
│ │ │ ├── eagle.jpg
│ │ │ ├── lion.jpg
│ │ │ ├── mouse.jpg
│ │ │ ├── puppy.jpg
│ │ │ ├── cheetah.jpg
│ │ │ ├── elephant.jpg
│ │ │ ├── giraffe.jpg
│ │ │ ├── iguana.jpg
│ │ │ ├── kitten.jpg
│ │ │ ├── rabbit.jpg
│ │ │ └── turtle.jpg
│ │ ├── advance-card-bttf.png
│ │ ├── advance-card-jp.jpg
│ │ ├── sarah-avatar.png.jpeg
│ │ ├── advance-card-tmntr.jpg
│ │ ├── ica-slidebox-img-1.png
│ │ ├── ica-slidebox-img-2.png
│ │ ├── ica-slidebox-img-3.png
│ │ └── ica-slidebox-img-4.png
│ ├── icon
│ │ └── favicon.ico
│ └── i18n
│ │ ├── he.json
│ │ ├── es-eu.json
│ │ ├── th.json
│ │ ├── tr.json
│ │ ├── nb_NO.json
│ │ ├── fil.json
│ │ ├── pt-PT.json
│ │ ├── da.json
│ │ ├── zh-cmn-Hans.json
│ │ ├── zh-cmn-Hant.json
│ │ ├── sv.json
│ │ ├── sl.json
│ │ ├── by.json
│ │ ├── bs.json
│ │ ├── nl.json
│ │ ├── es.json
│ │ ├── pl.json
│ │ ├── ru.json
│ │ ├── ua.json
│ │ ├── fr.json
│ │ ├── el.json
│ │ ├── ja.json
│ │ ├── de.json
│ │ ├── en.json
│ │ ├── ar.json
│ │ ├── sk.json
│ │ ├── pt-br.json
│ │ ├── sn.json
│ │ └── it.json
├── app
│ ├── main.ts
│ ├── app.scss
│ ├── app.module.ts
│ └── app.component.ts
├── providers
│ ├── providers.ts
│ ├── items
│ │ └── items.ts
│ ├── api
│ │ └── api.ts
│ ├── settings
│ │ └── settings.ts
│ └── user
│ │ └── user.ts
├── manifest.json
├── models
│ └── item.ts
├── service-worker.js
├── index.html
├── mocks
│ └── providers
│ │ └── items.ts
└── theme
│ └── variables.scss
├── super2.png
├── README.md
├── patch.package.json
├── .github
├── PULL_REQUEST_TEMPLATE.md
└── ISSUE_TEMPLATE.md
├── .gitignore
└── LICENSE
/www/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/pages/login/login.scss:
--------------------------------------------------------------------------------
1 | page-login {
2 | }
3 |
--------------------------------------------------------------------------------
/src/pages/menu/menu.scss:
--------------------------------------------------------------------------------
1 | page-menu {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/tabs/tabs.scss:
--------------------------------------------------------------------------------
1 | page-tabs {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/cards/cards.scss:
--------------------------------------------------------------------------------
1 | page-cards {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/content/content.scss:
--------------------------------------------------------------------------------
1 | page-home {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/search/search.scss:
--------------------------------------------------------------------------------
1 | page-search {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/signup/signup.scss:
--------------------------------------------------------------------------------
1 | page-signup {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/settings/settings.scss:
--------------------------------------------------------------------------------
1 | page-settings {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/list-master/list-master.scss:
--------------------------------------------------------------------------------
1 | page-list-master {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/tabs/README.md:
--------------------------------------------------------------------------------
1 | # Tabs
2 |
3 | Tabs is a common tabbed layout.
4 |
--------------------------------------------------------------------------------
/src/pages/menu/README.md:
--------------------------------------------------------------------------------
1 | # Menu
2 |
3 | The Menu page renders a side menu UI.
4 |
--------------------------------------------------------------------------------
/super2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/super2.png
--------------------------------------------------------------------------------
/src/pages/content/README.md:
--------------------------------------------------------------------------------
1 | # Content
2 |
3 | The content page is a simple page meant for text content.
4 |
--------------------------------------------------------------------------------
/src/assets/img/appicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/appicon.png
--------------------------------------------------------------------------------
/src/assets/icon/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/icon/favicon.ico
--------------------------------------------------------------------------------
/src/assets/img/badu-live.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/badu-live.png
--------------------------------------------------------------------------------
/src/assets/img/nin-live.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/nin-live.png
--------------------------------------------------------------------------------
/src/assets/img/splashbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/splashbg.png
--------------------------------------------------------------------------------
/src/assets/img/bjork-live.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/bjork-live.jpg
--------------------------------------------------------------------------------
/src/assets/img/ian-avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/ian-avatar.png
--------------------------------------------------------------------------------
/src/assets/img/marty-avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/marty-avatar.png
--------------------------------------------------------------------------------
/src/assets/img/queen-live.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/queen-live.png
--------------------------------------------------------------------------------
/src/assets/img/rundmc-live.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/rundmc-live.png
--------------------------------------------------------------------------------
/src/pages/cards/README.md:
--------------------------------------------------------------------------------
1 | # Cards
2 |
3 | The Cards page is a common cards-based layout as seen in such apps as Facebook.
4 |
--------------------------------------------------------------------------------
/src/assets/img/speakers/bear.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/bear.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/duck.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/duck.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/eagle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/eagle.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/lion.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/lion.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/mouse.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/mouse.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/puppy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/puppy.jpg
--------------------------------------------------------------------------------
/src/pages/search/README.md:
--------------------------------------------------------------------------------
1 | # Search
2 |
3 | The Search page shows a search box and list view for searching instances of `Item`.
4 |
--------------------------------------------------------------------------------
/src/assets/img/advance-card-bttf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/advance-card-bttf.png
--------------------------------------------------------------------------------
/src/assets/img/advance-card-jp.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/advance-card-jp.jpg
--------------------------------------------------------------------------------
/src/assets/img/sarah-avatar.png.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/sarah-avatar.png.jpeg
--------------------------------------------------------------------------------
/src/assets/img/speakers/cheetah.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/cheetah.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/elephant.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/elephant.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/giraffe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/giraffe.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/iguana.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/iguana.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/kitten.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/kitten.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/rabbit.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/rabbit.jpg
--------------------------------------------------------------------------------
/src/assets/img/speakers/turtle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/speakers/turtle.jpg
--------------------------------------------------------------------------------
/src/assets/img/advance-card-tmntr.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/advance-card-tmntr.jpg
--------------------------------------------------------------------------------
/src/assets/img/ica-slidebox-img-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/ica-slidebox-img-1.png
--------------------------------------------------------------------------------
/src/assets/img/ica-slidebox-img-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/ica-slidebox-img-2.png
--------------------------------------------------------------------------------
/src/assets/img/ica-slidebox-img-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/ica-slidebox-img-3.png
--------------------------------------------------------------------------------
/src/assets/img/ica-slidebox-img-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ionic-team/ionic-starter-super/HEAD/src/assets/img/ica-slidebox-img-4.png
--------------------------------------------------------------------------------
/src/pages/README.md:
--------------------------------------------------------------------------------
1 | # Pages
2 |
3 | Each page type available has a corresponding README, take a look by navigating to a page directory above.
4 |
--------------------------------------------------------------------------------
/src/pages/login/README.md:
--------------------------------------------------------------------------------
1 | # Login
2 |
3 | The Login page renders a login form with email/password by default and an optional username field.
4 |
--------------------------------------------------------------------------------
/src/pages/signup/README.md:
--------------------------------------------------------------------------------
1 | # Signup
2 |
3 | The Signup page renders a signup form with email/password by default and an optional username field.
4 |
--------------------------------------------------------------------------------
/src/pages/tutorial/README.md:
--------------------------------------------------------------------------------
1 | # Tutorial
2 |
3 | The Tutorial page renders a Slides component that lets you swipe through different sections or skip it alltogether.
4 |
--------------------------------------------------------------------------------
/src/pages/welcome/README.md:
--------------------------------------------------------------------------------
1 | # Welcome
2 |
3 | Welcome is a splash screen that displays some info about the app and directs the user to log in our create an account.
4 |
--------------------------------------------------------------------------------
/src/pages/item-detail/README.md:
--------------------------------------------------------------------------------
1 | # Item Detail
2 |
3 | The Item Detail Page shows the details of instances of `Item`, and will most commonly be navigated to from `ListMasterPage`.
4 |
--------------------------------------------------------------------------------
/src/pages/list-master/README.md:
--------------------------------------------------------------------------------
1 | # List Master
2 |
3 | The List Master Page shows the details of instances of `Item`, and will most commonly be navigated to from `ListMasterPage`.
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### :point_right: This starter repo has moved to the [ionic-team/starters](https://github.com/ionic-team/starters/tree/master/ionic-angular/official/super) repo! :point_left:
2 |
--------------------------------------------------------------------------------
/patch.package.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "@ionic-native/camera": "4.3.2",
4 | "@ngx-translate/core": "8.0.0",
5 | "@ngx-translate/http-loader": "^2.0.0"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | #### Short description of what this resolves:
2 |
3 |
4 | #### Changes proposed in this pull request:
5 |
6 | -
7 | -
8 | -
9 |
10 | **Fixes**: #
11 |
--------------------------------------------------------------------------------
/src/pages/item-create/README.md:
--------------------------------------------------------------------------------
1 | # Item Create
2 |
3 | The Item Create Page creates new instances of `Item`, and will most commonly be used in a modal window to be presented by `ListMasterPage`.
4 |
--------------------------------------------------------------------------------
/src/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 |
3 | import { AppModule } from './app.module';
4 |
5 | platformBrowserDynamic().bootstrapModule(AppModule);
6 |
--------------------------------------------------------------------------------
/src/pages/settings/README.md:
--------------------------------------------------------------------------------
1 | # Settings
2 |
3 | The Settings page shows a settings form that is configurable, along with features for nested options where the user navigates to sub options while still using the same Settings page code.
4 |
--------------------------------------------------------------------------------
/src/pages/tabs/tabs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/providers/providers.ts:
--------------------------------------------------------------------------------
1 | import { Api } from './api/api';
2 | import { Items } from '../mocks/providers/items';
3 | import { Settings } from './settings/settings';
4 | import { User } from './user/user';
5 |
6 | export {
7 | Api,
8 | Items,
9 | Settings,
10 | User
11 | };
12 |
--------------------------------------------------------------------------------
/src/pages/item-detail/item-detail.scss:
--------------------------------------------------------------------------------
1 | page-item-detail {
2 | .item-profile {
3 | width: 100%;
4 | background-position: center center;
5 | background-size: cover;
6 | height: 250px;
7 | }
8 |
9 | .item-detail {
10 | width: 100%;
11 | background: white;
12 | position: absolute;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Ionic",
3 | "short_name": "Ionic",
4 | "start_url": "index.html",
5 | "display": "standalone",
6 | "icons": [{
7 | "src": "assets/imgs/logo.png",
8 | "sizes": "512x512",
9 | "type": "image/png"
10 | }],
11 | "background_color": "#4e8ef7",
12 | "theme_color": "#4e8ef7"
13 | }
--------------------------------------------------------------------------------
/src/pages/menu/menu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/pages/content/content.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController } from 'ionic-angular';
3 |
4 | @IonicPage()
5 | @Component({
6 | selector: 'page-content',
7 | templateUrl: 'content.html'
8 | })
9 | export class ContentPage {
10 |
11 | constructor(public navCtrl: NavController) { }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/pages/content/content.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Content
5 |
6 |
7 |
8 |
9 |
10 |
11 | This is a perfect starting point for a page with primarily text content. The body is padded nicely and ready for prose.
12 |
13 |
--------------------------------------------------------------------------------
/src/providers/items/items.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 |
3 | import { Item } from '../../models/item';
4 | import { Api } from '../api/api';
5 |
6 | @Injectable()
7 | export class Items {
8 |
9 | constructor(public api: Api) { }
10 |
11 | query(params?: any) {
12 | return this.api.get('/items', params);
13 | }
14 |
15 | add(item: Item) {
16 | }
17 |
18 | delete(item: Item) {
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/pages/item-detail/item-detail.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ item.name }}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
{{item.name}}
16 |
{{item.about}}
17 |
18 |
--------------------------------------------------------------------------------
/src/pages/menu/menu.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { MenuPage } from './menu';
6 |
7 | @NgModule({
8 | declarations: [
9 | MenuPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(MenuPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | MenuPage
17 | ]
18 | })
19 | export class MenuPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/tabs/tabs.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { TabsPage } from './tabs';
6 |
7 | @NgModule({
8 | declarations: [
9 | TabsPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(TabsPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | TabsPage
17 | ]
18 | })
19 | export class TabsPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/cards/card.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { CardsPage } from './cards';
6 |
7 | @NgModule({
8 | declarations: [
9 | CardsPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(CardsPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | CardsPage
17 | ]
18 | })
19 | export class CardsPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/cards/cards.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { CardsPage } from './cards';
6 |
7 | @NgModule({
8 | declarations: [
9 | CardsPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(CardsPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | CardsPage
17 | ]
18 | })
19 | export class CardsPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/login/login.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { LoginPage } from './login';
6 |
7 | @NgModule({
8 | declarations: [
9 | LoginPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(LoginPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | LoginPage
17 | ]
18 | })
19 | export class LoginPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/search/search.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { SearchPage } from './search';
6 |
7 | @NgModule({
8 | declarations: [
9 | SearchPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(SearchPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | SearchPage
17 | ]
18 | })
19 | export class SearchPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/signup/signup.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { SignupPage } from './signup';
6 |
7 | @NgModule({
8 | declarations: [
9 | SignupPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(SignupPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | SignupPage
17 | ]
18 | })
19 | export class SignupPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/pages.ts:
--------------------------------------------------------------------------------
1 | // The page the user lands on after opening the app and without a session
2 | export const FirstRunPage = 'TutorialPage';
3 |
4 | // The main page the user will see as they use the app over a long period of time.
5 | // Change this if not using tabs
6 | export const MainPage = 'TabsPage';
7 |
8 | // The initial root pages for our tabs (remove if not using tabs)
9 | export const Tab1Root = 'ListMasterPage';
10 | export const Tab2Root = 'SearchPage';
11 | export const Tab3Root = 'SettingsPage';
12 |
--------------------------------------------------------------------------------
/src/pages/welcome/welcome.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ 'WELCOME_INTRO' | translate }}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/pages/content/content.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { ContentPage } from './content';
6 |
7 | @NgModule({
8 | declarations: [
9 | ContentPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(ContentPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | ContentPage
17 | ]
18 | })
19 | export class ContentPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/tutorial/tutorial.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { TutorialPage } from './tutorial';
4 | import { TranslateModule } from '@ngx-translate/core';
5 |
6 | @NgModule({
7 | declarations: [
8 | TutorialPage,
9 | ],
10 | imports: [
11 | IonicPageModule.forChild(TutorialPage),
12 | TranslateModule.forChild()
13 | ],
14 | exports: [
15 | TutorialPage
16 | ]
17 | })
18 | export class TutorialPageModule { }
19 |
--------------------------------------------------------------------------------
/src/pages/welcome/welcome.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { WelcomePage } from './welcome';
6 |
7 | @NgModule({
8 | declarations: [
9 | WelcomePage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(WelcomePage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | WelcomePage
17 | ]
18 | })
19 | export class WelcomePageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/settings/settings.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { SettingsPage } from './settings';
6 |
7 | @NgModule({
8 | declarations: [
9 | SettingsPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(SettingsPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | SettingsPage
17 | ]
18 | })
19 | export class SettingsPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/item-create/item-create.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { ItemCreatePage } from './item-create';
6 |
7 | @NgModule({
8 | declarations: [
9 | ItemCreatePage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(ItemCreatePage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | ItemCreatePage
17 | ]
18 | })
19 | export class ItemCreatePageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/item-detail/item-detail.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { ItemDetailPage } from './item-detail';
6 |
7 | @NgModule({
8 | declarations: [
9 | ItemDetailPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(ItemDetailPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | ItemDetailPage
17 | ]
18 | })
19 | export class ItemDetailPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/list-master/list-master.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { TranslateModule } from '@ngx-translate/core';
3 | import { IonicPageModule } from 'ionic-angular';
4 |
5 | import { ListMasterPage } from './list-master';
6 |
7 | @NgModule({
8 | declarations: [
9 | ListMasterPage,
10 | ],
11 | imports: [
12 | IonicPageModule.forChild(ListMasterPage),
13 | TranslateModule.forChild()
14 | ],
15 | exports: [
16 | ListMasterPage
17 | ]
18 | })
19 | export class ListMasterPageModule { }
20 |
--------------------------------------------------------------------------------
/src/pages/item-detail/item-detail.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams } from 'ionic-angular';
3 |
4 | import { Items } from '../../providers/providers';
5 |
6 | @IonicPage()
7 | @Component({
8 | selector: 'page-item-detail',
9 | templateUrl: 'item-detail.html'
10 | })
11 | export class ItemDetailPage {
12 | item: any;
13 |
14 | constructor(public navCtrl: NavController, navParams: NavParams, items: Items) {
15 | this.item = navParams.get('item') || items.defaultItem;
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Specifies intentionally untracked files to ignore when using Git
2 | # http://git-scm.com/docs/gitignore
3 |
4 | *~
5 | *.sw[mnpcod]
6 | *.log
7 | *.tmp
8 | *.tmp.*
9 | log.txt
10 | *.sublime-project
11 | *.sublime-workspace
12 | .vscode/
13 | npm-debug.log*
14 |
15 | .idea/
16 | .sass-cache/
17 | .tmp/
18 | .versions/
19 | coverage/
20 | dist/
21 | node_modules/
22 | tmp/
23 | temp/
24 | hooks/
25 | platforms/
26 | plugins/
27 | plugins/android.json
28 | plugins/ios.json
29 | www/
30 | $RECYCLE.BIN/
31 |
32 | .DS_Store
33 | Thumbs.db
34 | UserInterfaceState.xcuserstate
35 |
--------------------------------------------------------------------------------
/src/models/item.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * A generic model that our Master-Detail pages list, create, and delete.
3 | *
4 | * Change "Item" to the noun your app will use. For example, a "Contact," or a
5 | * "Customer," or a "Animal," or something like that.
6 | *
7 | * The Items service manages creating instances of Item, so go ahead and rename
8 | * that something that fits your app as well.
9 | */
10 | export class Item {
11 |
12 | constructor(fields: any) {
13 | // Quick and dirty extend/assign fields to this model
14 | for (const f in fields) {
15 | this[f] = fields[f];
16 | }
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/src/pages/tutorial/tutorial.scss:
--------------------------------------------------------------------------------
1 | page-tutorial {
2 | .toolbar-background {
3 | background: transparent;
4 | border-color: transparent;
5 | }
6 |
7 | .slide-zoom {
8 | height: 100%;
9 | }
10 |
11 | .slide-title {
12 | margin-top: 2.8rem;
13 | }
14 |
15 | .slide-image {
16 | max-height: 40%;
17 | max-width: 60%;
18 | margin: 36px 0;
19 | }
20 |
21 | b {
22 | font-weight: 500;
23 | }
24 |
25 | p {
26 | padding: 0 40px;
27 | font-size: 14px;
28 | line-height: 1.5;
29 | color: #60646B;
30 |
31 | b {
32 | color: #000000;
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/src/pages/search/search.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ 'SEARCH_TITLE' | translate }}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
21 |
22 |
--------------------------------------------------------------------------------
/src/app/app.scss:
--------------------------------------------------------------------------------
1 | // http://ionicframework.com/docs/v2/theming/
2 |
3 |
4 | // App Global Sass
5 | // --------------------------------------------------
6 | // Put style rules here that you want to apply globally. These
7 | // styles are for the entire app and not just one component.
8 | // Additionally, this file can be also used as an entry point
9 | // to import other Sass files to be included in the output CSS.
10 | //
11 | // Shared Sass variables, which can be used to adjust Ionic's
12 | // default Sass variables, belong in "theme/variables.scss".
13 | //
14 | // To declare rules for a specific mode, create a child rule
15 | // for the .md, .ios, or .wp mode classes. The mode class is
16 | // automatically applied to the
element in the app.
17 |
--------------------------------------------------------------------------------
/src/pages/welcome/welcome.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController } from 'ionic-angular';
3 |
4 | /**
5 | * The Welcome Page is a splash page that quickly describes the app,
6 | * and then directs the user to create an account or log in.
7 | * If you'd like to immediately put the user onto a login/signup page,
8 | * we recommend not using the Welcome page.
9 | */
10 | @IonicPage()
11 | @Component({
12 | selector: 'page-welcome',
13 | templateUrl: 'welcome.html'
14 | })
15 | export class WelcomePage {
16 |
17 | constructor(public navCtrl: NavController) { }
18 |
19 | login() {
20 | this.navCtrl.push('LoginPage');
21 | }
22 |
23 | signup() {
24 | this.navCtrl.push('SignupPage');
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/pages/item-create/item-create.scss:
--------------------------------------------------------------------------------
1 | page-item-create {
2 | .profile-image-wrapper {
3 | text-align: center;
4 | margin: 20px 0;
5 |
6 | .profile-image {
7 | width: 96px;
8 | height: 96px;
9 | border-radius: 50%;
10 |
11 | display: inline-block;
12 |
13 | background-repeat: no-repeat;
14 | background-size: cover;
15 | background-position: center;
16 | }
17 |
18 | .profile-image-placeholder {
19 | display: inline-block;
20 |
21 | background-color: #eee;
22 | width: 96px;
23 | height: 96px;
24 | border-radius: 50%;
25 |
26 | font-size: 12px;
27 |
28 | ion-icon {
29 | font-size: 44px;
30 | margin-bottom: -10px;
31 | margin-top: 10px;
32 | }
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/service-worker.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Check out https://googlechrome.github.io/sw-toolbox/ for
3 | * more info on how to use sw-toolbox to custom configure your service worker.
4 | */
5 |
6 |
7 | 'use strict';
8 | importScripts('./build/sw-toolbox.js');
9 |
10 | self.toolbox.options.cache = {
11 | name: 'ionic-cache'
12 | };
13 |
14 | // pre-cache our key assets
15 | self.toolbox.precache(
16 | [
17 | './build/main.js',
18 | './build/vendor.js',
19 | './build/main.css',
20 | './build/polyfills.js',
21 | 'index.html',
22 | 'manifest.json'
23 | ]
24 | );
25 |
26 | // dynamically cache any other local assets
27 | self.toolbox.router.any('/*', self.toolbox.cacheFirst);
28 |
29 | // for any other requests go to the network, cache,
30 | // and then only use that cached resource if your user goes offline
31 | self.toolbox.router.default = self.toolbox.networkFirst;
32 |
--------------------------------------------------------------------------------
/src/pages/tabs/tabs.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { TranslateService } from '@ngx-translate/core';
3 | import { IonicPage, NavController } from 'ionic-angular';
4 |
5 | import { Tab1Root } from '../pages';
6 | import { Tab2Root } from '../pages';
7 | import { Tab3Root } from '../pages';
8 |
9 | @IonicPage()
10 | @Component({
11 | selector: 'page-tabs',
12 | templateUrl: 'tabs.html'
13 | })
14 | export class TabsPage {
15 | tab1Root: any = Tab1Root;
16 | tab2Root: any = Tab2Root;
17 | tab3Root: any = Tab3Root;
18 |
19 | tab1Title = " ";
20 | tab2Title = " ";
21 | tab3Title = " ";
22 |
23 | constructor(public navCtrl: NavController, public translateService: TranslateService) {
24 | translateService.get(['TAB1_TITLE', 'TAB2_TITLE', 'TAB3_TITLE']).subscribe(values => {
25 | this.tab1Title = values['TAB1_TITLE'];
26 | this.tab2Title = values['TAB2_TITLE'];
27 | this.tab3Title = values['TAB3_TITLE'];
28 | });
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/pages/menu/menu.ts:
--------------------------------------------------------------------------------
1 | import { Component, ViewChild } from '@angular/core';
2 | import { IonicPage, Nav, NavController } from 'ionic-angular';
3 |
4 | @IonicPage()
5 | @Component({
6 | selector: 'page-menu',
7 | templateUrl: 'menu.html'
8 | })
9 | export class MenuPage {
10 | // A reference to the ion-nav in our component
11 | @ViewChild(Nav) nav: Nav;
12 |
13 | rootPage: any = 'ContentPage';
14 |
15 | pages: Array<{ title: string, component: any }>;
16 |
17 | constructor(public navCtrl: NavController) {
18 | // used for an example of ngFor and navigation
19 | this.pages = [
20 | { title: 'Sign in', component: 'LoginPage' },
21 | { title: 'Signup', component: 'SignupPage' }
22 | ];
23 | }
24 |
25 | ionViewDidLoad() {
26 | console.log('Hello MenuPage Page');
27 | }
28 |
29 | openPage(page) {
30 | // Reset the content nav to have just this page
31 | // we wouldn't want the back button to show in this scenario
32 | this.nav.setRoot(page.component);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/pages/search/search.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams } from 'ionic-angular';
3 |
4 | import { Item } from '../../models/item';
5 | import { Items } from '../../providers/providers';
6 |
7 | @IonicPage()
8 | @Component({
9 | selector: 'page-search',
10 | templateUrl: 'search.html'
11 | })
12 | export class SearchPage {
13 |
14 | currentItems: any = [];
15 |
16 | constructor(public navCtrl: NavController, public navParams: NavParams, public items: Items) { }
17 |
18 | /**
19 | * Perform a service for the proper items.
20 | */
21 | getItems(ev) {
22 | let val = ev.target.value;
23 | if (!val || !val.trim()) {
24 | this.currentItems = [];
25 | return;
26 | }
27 | this.currentItems = this.items.query({
28 | name: val
29 | });
30 | }
31 |
32 | /**
33 | * Navigate to the detail page for this item.
34 | */
35 | openItem(item: Item) {
36 | this.navCtrl.push('ItemDetailPage', {
37 | item: item
38 | });
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/src/pages/list-master/list-master.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ 'LIST_MASTER_TITLE' | translate }}
5 |
6 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
27 |
28 |
29 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/pages/tutorial/tutorial.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | {{ 'TUTORIAL_SLIDE4_TITLE' | translate }}
19 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2015-present Drifty Co.
2 | http://ionicframework.com/
3 |
4 | MIT License
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | "Software"), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | **I'm submitting a ...** (check one with "x")
2 | [ ] bug report
3 | [ ] feature request
4 | [ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
5 |
6 | **Current behavior:**
7 |
8 |
9 | **Expected behavior:**
10 |
11 |
12 | **Steps to reproduce:**
13 |
18 |
19 | **Related code:**
20 |
21 | ```
22 | insert any relevant code here
23 | ```
24 |
25 | **Other information:**
26 |
27 |
28 | **Ionic info:** (run `ionic info` from a terminal/cmd prompt and paste output below):
29 |
30 | ```
31 | insert the output from ionic info here
32 | ```
33 |
--------------------------------------------------------------------------------
/src/pages/login/login.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ 'LOGIN_TITLE' | translate }}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
39 |
40 |
--------------------------------------------------------------------------------
/src/pages/welcome/welcome.scss:
--------------------------------------------------------------------------------
1 | page-welcome {
2 | .splash-bg {
3 | position: relative;
4 | background: url('../assets/img/splashbg.png') no-repeat transparent;
5 | background-size: cover;
6 | height: 45%;
7 | z-index: 1;
8 | background-repeat: repeat-x;
9 | animation: animatedBackground 40s linear infinite;
10 | }
11 |
12 | @keyframes animatedBackground {
13 | from { background-position: 0 0; }
14 | to { background-position: 100% 0; }
15 | }
16 |
17 | .splash-info {
18 | position: relative;
19 | z-index: 2;
20 | margin-top: -64px;
21 | text-align: center;
22 | }
23 | .splash-logo {
24 | margin: auto;
25 | background: url('../assets/img/appicon.png') repeat transparent;
26 | background-size: 100%;
27 | width: 128px;
28 | height: 128px;
29 | }
30 | .splash-intro {
31 | font-size: 18px;
32 | font-weight: bold;
33 | max-width: 80%;
34 | margin: auto;
35 | }
36 | button.login {
37 | margin-top: 25px;
38 | background-color: white;
39 | box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
40 | color: #333;
41 |
42 | &.activated {
43 | background-color: rgb(220, 220, 220);
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/pages/cards/cards.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ 'CARDS_TITLE' | translate }}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | {{item.user.name}}
19 | {{item.date}}
20 |
21 |
22 |
23 |
24 |
25 | {{item.content}}
26 |
27 |
28 |
29 |
30 |
34 |
35 |
36 |
40 |
41 |
42 |
43 | 11h ago
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/pages/signup/signup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ 'SIGNUP_TITLE' | translate }}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
44 |
--------------------------------------------------------------------------------
/src/providers/api/api.ts:
--------------------------------------------------------------------------------
1 | import { HttpClient, HttpParams } from '@angular/common/http';
2 | import { Injectable } from '@angular/core';
3 |
4 | /**
5 | * Api is a generic REST Api handler. Set your API url first.
6 | */
7 | @Injectable()
8 | export class Api {
9 | url: string = 'https://example.com/api/v1';
10 |
11 | constructor(public http: HttpClient) {
12 | }
13 |
14 | get(endpoint: string, params?: any, reqOpts?: any) {
15 | if (!reqOpts) {
16 | reqOpts = {
17 | params: new HttpParams()
18 | };
19 | }
20 |
21 | // Support easy query params for GET requests
22 | if (params) {
23 | reqOpts.params = new HttpParams();
24 | for (let k in params) {
25 | reqOpts.params.set(k, params[k]);
26 | }
27 | }
28 |
29 | return this.http.get(this.url + '/' + endpoint, reqOpts);
30 | }
31 |
32 | post(endpoint: string, body: any, reqOpts?: any) {
33 | return this.http.post(this.url + '/' + endpoint, body, reqOpts);
34 | }
35 |
36 | put(endpoint: string, body: any, reqOpts?: any) {
37 | return this.http.put(this.url + '/' + endpoint, body, reqOpts);
38 | }
39 |
40 | delete(endpoint: string, reqOpts?: any) {
41 | return this.http.delete(this.url + '/' + endpoint, reqOpts);
42 | }
43 |
44 | patch(endpoint: string, body: any, reqOpts?: any) {
45 | return this.http.put(this.url + '/' + endpoint, body, reqOpts);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/pages/settings/settings.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ pageTitle }}
5 |
6 |
7 |
8 |
9 |
10 |
11 |
44 |
45 |
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Ionic App
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/src/pages/list-master/list-master.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, ModalController, NavController } from 'ionic-angular';
3 |
4 | import { Item } from '../../models/item';
5 | import { Items } from '../../providers/providers';
6 |
7 | @IonicPage()
8 | @Component({
9 | selector: 'page-list-master',
10 | templateUrl: 'list-master.html'
11 | })
12 | export class ListMasterPage {
13 | currentItems: Item[];
14 |
15 | constructor(public navCtrl: NavController, public items: Items, public modalCtrl: ModalController) {
16 | this.currentItems = this.items.query();
17 | }
18 |
19 | /**
20 | * The view loaded, let's query our items for the list
21 | */
22 | ionViewDidLoad() {
23 | }
24 |
25 | /**
26 | * Prompt the user to add a new item. This shows our ItemCreatePage in a
27 | * modal and then adds the new item to our data source if the user created one.
28 | */
29 | addItem() {
30 | let addModal = this.modalCtrl.create('ItemCreatePage');
31 | addModal.onDidDismiss(item => {
32 | if (item) {
33 | this.items.add(item);
34 | }
35 | })
36 | addModal.present();
37 | }
38 |
39 | /**
40 | * Delete an item from the list of items.
41 | */
42 | deleteItem(item) {
43 | this.items.delete(item);
44 | }
45 |
46 | /**
47 | * Navigate to the detail page for this item.
48 | */
49 | openItem(item: Item) {
50 | this.navCtrl.push('ItemDetailPage', {
51 | item: item
52 | });
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/src/pages/cards/cards.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController } from 'ionic-angular';
3 |
4 | @IonicPage()
5 | @Component({
6 | selector: 'page-cards',
7 | templateUrl: 'cards.html'
8 | })
9 | export class CardsPage {
10 | cardItems: any[];
11 |
12 | constructor(public navCtrl: NavController) {
13 | this.cardItems = [
14 | {
15 | user: {
16 | avatar: 'assets/img/marty-avatar.png',
17 | name: 'Marty McFly'
18 | },
19 | date: 'November 5, 1955',
20 | image: 'assets/img/advance-card-bttf.png',
21 | content: 'Wait a minute. Wait a minute, Doc. Uhhh... Are you telling me that you built a time machine... out of a DeLorean?! Whoa. This is heavy.',
22 | },
23 | {
24 | user: {
25 | avatar: 'assets/img/sarah-avatar.png.jpeg',
26 | name: 'Sarah Connor'
27 | },
28 | date: 'May 12, 1984',
29 | image: 'assets/img/advance-card-tmntr.jpg',
30 | content: 'I face the unknown future, with a sense of hope. Because if a machine, a Terminator, can learn the value of human life, maybe we can too.'
31 | },
32 | {
33 | user: {
34 | avatar: 'assets/img/ian-avatar.png',
35 | name: 'Dr. Ian Malcolm'
36 | },
37 | date: 'June 28, 1990',
38 | image: 'assets/img/advance-card-jp.jpg',
39 | content: 'Your scientists were so preoccupied with whether or not they could, that they didn\'t stop to think if they should.'
40 | }
41 | ];
42 |
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/pages/login/login.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { TranslateService } from '@ngx-translate/core';
3 | import { IonicPage, NavController, ToastController } from 'ionic-angular';
4 |
5 | import { User } from '../../providers/providers';
6 | import { MainPage } from '../pages';
7 |
8 | @IonicPage()
9 | @Component({
10 | selector: 'page-login',
11 | templateUrl: 'login.html'
12 | })
13 | export class LoginPage {
14 | // The account fields for the login form.
15 | // If you're using the username field with or without email, make
16 | // sure to add it to the type
17 | account: { email: string, password: string } = {
18 | email: 'test@example.com',
19 | password: 'test'
20 | };
21 |
22 | // Our translated text strings
23 | private loginErrorString: string;
24 |
25 | constructor(public navCtrl: NavController,
26 | public user: User,
27 | public toastCtrl: ToastController,
28 | public translateService: TranslateService) {
29 |
30 | this.translateService.get('LOGIN_ERROR').subscribe((value) => {
31 | this.loginErrorString = value;
32 | })
33 | }
34 |
35 | // Attempt to login in through our User service
36 | doLogin() {
37 | this.user.login(this.account).subscribe((resp) => {
38 | this.navCtrl.push(MainPage);
39 | }, (err) => {
40 | this.navCtrl.push(MainPage);
41 | // Unable to log in
42 | let toast = this.toastCtrl.create({
43 | message: this.loginErrorString,
44 | duration: 3000,
45 | position: 'top'
46 | });
47 | toast.present();
48 | });
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/pages/signup/signup.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { TranslateService } from '@ngx-translate/core';
3 | import { IonicPage, NavController, ToastController } from 'ionic-angular';
4 |
5 | import { User } from '../../providers/providers';
6 | import { MainPage } from '../pages';
7 |
8 | @IonicPage()
9 | @Component({
10 | selector: 'page-signup',
11 | templateUrl: 'signup.html'
12 | })
13 | export class SignupPage {
14 | // The account fields for the login form.
15 | // If you're using the username field with or without email, make
16 | // sure to add it to the type
17 | account: { name: string, email: string, password: string } = {
18 | name: 'Test Human',
19 | email: 'test@example.com',
20 | password: 'test'
21 | };
22 |
23 | // Our translated text strings
24 | private signupErrorString: string;
25 |
26 | constructor(public navCtrl: NavController,
27 | public user: User,
28 | public toastCtrl: ToastController,
29 | public translateService: TranslateService) {
30 |
31 | this.translateService.get('SIGNUP_ERROR').subscribe((value) => {
32 | this.signupErrorString = value;
33 | })
34 | }
35 |
36 | doSignup() {
37 | // Attempt to login in through our User service
38 | this.user.signup(this.account).subscribe((resp) => {
39 | this.navCtrl.push(MainPage);
40 | }, (err) => {
41 |
42 | this.navCtrl.push(MainPage);
43 |
44 | // Unable to sign up
45 | let toast = this.toastCtrl.create({
46 | message: this.signupErrorString,
47 | duration: 3000,
48 | position: 'top'
49 | });
50 | toast.present();
51 | });
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/src/assets/i18n/he.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "שם",
3 | "PASSWORD": "סיסמא",
4 | "EMAIL": "דואר אלקטרוני",
5 | "LOGIN": "התחברות",
6 | "SIGNUP": "הרשמה",
7 |
8 | "TAB1_TITLE": "פריטים",
9 | "TAB2_TITLE": "חיפוש",
10 | "TAB3_TITLE": "הגדרות",
11 |
12 | "MAP_TITLE": "מפה",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "ברוכים הבאים ל-Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "ה-Ionic Super Starter הוא Starter מלא בתכונות עם הרבה דפים מוכנים ותרגולים הכי טובים.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "איך להשתמש ב-Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Assemble the various page types you want and remove the ones you don't. We've provided many common mobile app page layouts, like login and signup pages, tabs, and this tutorial page.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "התחלה",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "צריך עזרה? תבדקו את ה-README של ה-Super Starter להדרכה מלאה.",
22 |
23 | "SETTINGS_TITLE": "הגדרות",
24 | "SETTINGS_OPTION1": "אופציה 1",
25 | "SETTINGS_OPTION2": "אופציה 2",
26 | "SETTINGS_OPTION3": "אופציה 3",
27 | "SETTINGS_OPTION4": "אופציה 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "עריכת פרופיל",
30 |
31 | "WELCOME_TITLE": "ברוכים הבאים",
32 |
33 | "LOGIN_TITLE": "התחברות",
34 | "LOGIN_ERROR": "לא ניתן להתחבר. אנא בדוק את פרטי ההתחברות ונסה שנית.",
35 | "LOGIN_BUTTON": "התחבר",
36 | "SIGNUP_TITLE": "הרשמה",
37 | "SIGNUP_ERROR": "לא ניתן ליצור חשבון. אנא בדוק את פרטי ההתחברות ונסה שנית.",
38 | "SIGNUP_BUTTON": "הירשם",
39 |
40 | "LIST_MASTER_TITLE": "פריטים",
41 |
42 | "ITEM_CREATE_TITLE": "פריט חדש",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "הוסף תמונה",
44 |
45 | "CARDS_TITLE": "חברתי",
46 |
47 | "SEARCH_TITLE": "חיפוש"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/es-eu.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Izena",
3 | "PASSWORD": "Pasahitza",
4 | "EMAIL": "Email Helbidea",
5 | "LOGIN": "Saioa Hasi",
6 | "SIGNUP": "Izena Eman",
7 | "TAB1_TITLE": "Artikuluak",
8 | "TAB2_TITLE": "Bilatu",
9 | "TAB3_TITLE": "Xehetasunak",
10 | "MAP_TITLE": "Mapa",
11 | "TUTORIAL_SLIDE1_TITLE": "Ongi etorri Ionic Super Starter-era",
12 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter hasierako txantiloi bat da, 'page' askorekin eta ereduak",
13 | "TUTORIAL_SLIDE2_TITLE": "Nola erabili Super Starter",
14 | "TUTORIAL_SLIDE2_DESCRIPTION": "Sortu gustatzen zaizkizun orrialdeak eta ezabatu besteak. Adibidez: login signup, tabs eta tutorialeak.",
15 | "TUTORIAL_SLIDE3_TITLE": "Ikasten",
16 | "TUTORIAL_SLIDE3_DESCRIPTION": "Laguntzarik nahi? irakurri README,Super Starter-ren tutorial osoa daukazu",
17 | "SETTINGS_TITLE": "Xehetasunak",
18 | "SETTINGS_OPTION1": "1 Aukera",
19 | "SETTINGS_OPTION2": "2 Aukera",
20 | "SETTINGS_OPTION3": "3 Aukera",
21 | "SETTINGS_OPTION4": "4 Aukera",
22 | "SETTINGS_PAGE_PROFILE": "Zure datual editatu",
23 | "WELCOME_TITLE": "Ongi Etorri",
24 | "LOGIN_TITLE": "Sesioa Hasi",
25 | "LOGIN_ERROR": "Arazoa sesioa hasteko. Mesedez,sahiatu berriz zure datuak idazten.",
26 | "LOGIN_BUTTON": "Sesioa Hasi",
27 | "SIGNUP_TITLE": "Izena eman",
28 | "SIGNUP_ERROR": "Arazoa kontua sortzen.or, Mesedez,sahiatu berriz zure datuak idazten.",
29 | "SIGNUP_BUTTON": "Izena Eman",
30 | "LIST_MASTER_TITLE": "Artikuluak",
31 | "ITEM_CREATE_TITLE": "Artikulu berria",
32 | "ITEM_CREATE_CHOOSE_IMAGE": "Argazkia sortu",
33 | "CARDS_TITLE": "Sozial",
34 | "SEARCH_TITLE": "Bilatu"
35 | }
--------------------------------------------------------------------------------
/src/assets/i18n/th.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "ชื่อ",
3 | "PASSWORD": "รหัสผ่าน",
4 | "EMAIL": "อีเมล์",
5 | "LOGIN": "เข้าระบบ",
6 | "SIGNUP": "สมัครใช้งาน",
7 |
8 | "TAB1_TITLE": "รายการ",
9 | "TAB2_TITLE": "ค้นหา",
10 | "TAB3_TITLE": "ตั้งค่า",
11 |
12 | "MAP_TITLE": "แผนที่",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "ยินดีต้อนรับสู่ the Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "The Ionic Super Starter คือโปรเจคเริ่มต้น Ionic ที่มีหน้าจอพร้อมใช้งานและเขียนแบบ Best practices",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "วิธีใช้ Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "เก็บหน้าจอแบบที่ใช้ไว้ ลบที่ไม่ใช้ออก เราเตรียมหน้าจอที่ใช้กันประจำสำหรับแอพมือถือไว้ให้ เช่น หน้าล็อกอิน, หน้าสมัครใช้งาน, แทบ, และหน้าสอนใช้งานนี้",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "เริ่มต้นใช้งาน",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "ต้องการความช่วยเหลือ? ลองอ่าน tutorial ฉบับเต็มจากไฟล์ README",
22 |
23 | "SETTINGS_TITLE": "ตั้งค่า",
24 | "SETTINGS_OPTION1": "ตัวเลือก 1",
25 | "SETTINGS_OPTION2": "ตัวเลือก 2",
26 | "SETTINGS_OPTION3": "ตัวเลือก 3",
27 | "SETTINGS_OPTION4": "ตัวเลือก 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "แก้ไขข้อมูลส่วนตัว",
30 |
31 | "WELCOME_TITLE": "ยินดีต้อนรับ",
32 |
33 | "LOGIN_TITLE": "การเข้าระบบ",
34 | "LOGIN_ERROR": "เข้าระบบไม่ได้. ตรวจสอบข้อมูลที่กรอกแล้วกรุณาลองใหม่",
35 | "LOGIN_BUTTON": "เข้าระบบ",
36 | "SIGNUP_TITLE": "สมัครใช้งาน",
37 | "SIGNUP_ERROR": "ไม่สามารถสร้างผู้ใช้ใหม่ กรุณาตรวจสอบข้อมูลที่กรอกแล้วลองใหม่",
38 | "SIGNUP_BUTTON": "สมัคร",
39 | "LIST_MASTER_TITLE": "รายการ",
40 |
41 | "ITEM_CREATE_TITLE": "รายการใหม่",
42 | "ITEM_CREATE_CHOOSE_IMAGE": "เพิ่มรูปภาพ",
43 |
44 | "CARDS_TITLE": "โซเชียลเน็ตเวิร์ค",
45 |
46 | "SEARCH_TITLE": "ค้นหา"
47 | }
--------------------------------------------------------------------------------
/src/assets/i18n/tr.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "Geri",
3 |
4 | "NAME": "İsim",
5 | "PASSWORD": "Şifre",
6 | "EMAIL": "Email",
7 | "LOGIN": "Giriş yap",
8 | "SIGNUP": "Kayıt ol",
9 | "TAB1_TITLE": "Öğeler",
10 | "TAB2_TITLE": "Arama",
11 | "TAB3_TITLE": "Ayarlar",
12 | "MAP_TITLE": "Harita",
13 | "TUTORIAL_SLIDE1_TITLE": "Ionic Super Starter'a Hoşgeldin",
14 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter hazırlanmış sayfalar ve çok iyi örneklerle tam donanımlı bir başlangıç paketidir.",
15 | "TUTORIAL_SLIDE2_TITLE": "Super Starter Nasıl Kullanılır?",
16 | "TUTORIAL_SLIDE2_DESCRIPTION": "İstediğiniz çeşitte sayfa oluşturun ya da istemediklerinizi kaldırın. Biz sadece giriş ve kayıt sayfası, tab gibi yaygın sayfaları ve bu anlatım sayfasını hazırladık.",
17 | "TUTORIAL_SLIDE3_TITLE": "Başlangıç",
18 | "TUTORIAL_SLIDE3_DESCRIPTION": "Yardım mı lazım? Super Starter README dosyasını inceleyebilirsin.",
19 | "SETTINGS_TITLE": "Ayarlar",
20 | "SETTINGS_OPTION1": "Seçenek 1",
21 | "SETTINGS_OPTION2": "Seçenek 2",
22 | "SETTINGS_OPTION3": "Seçenek 3",
23 | "SETTINGS_OPTION4": "Seçenek 4",
24 | "SETTINGS_PAGE_PROFILE": "Profilini Düzenle",
25 | "WELCOME_TITLE": "Hoşgeldiniz",
26 | "LOGIN_TITLE": "Giriş yap",
27 | "LOGIN_ERROR": "Giriş yapılamadı. Lütfen hesap bilgilerinizi kontrol edip tekrar deneyin.",
28 | "LOGIN_BUTTON": "Giriş yap",
29 | "SIGNUP_TITLE": "Kayıt ol",
30 | "SIGNUP_ERROR": "Hesap oluşturulamadı. Lütfen hesap bilgilerinizi kontrol edip tekrar deneyin.",
31 | "SIGNUP_BUTTON": "Kayıt ol",
32 | "LIST_MASTER_TITLE": "Öğeler",
33 | "ITEM_CREATE_TITLE": "Yeni Öğe",
34 | "ITEM_CREATE_CHOOSE_IMAGE": "Yeni Görsel",
35 | "CARDS_TITLE": "Sosyal",
36 | "SEARCH_TITLE": "Arama"
37 | }
--------------------------------------------------------------------------------
/src/assets/i18n/nb_NO.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Navn",
3 | "PASSWORD": "Passord",
4 | "EMAIL": "Email",
5 | "LOGIN": "Logg inn",
6 | "SIGNUP": "Registrer deg",
7 |
8 | "TAB1_TITLE": "Innlegg",
9 | "TAB2_TITLE": "Søk",
10 | "TAB3_TITLE": "Innstillinger",
11 |
12 | "MAP_TITLE": "Kart",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Velkommen til Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter er en fullverdig startpakke for Ionic med forhåndslagde undersider utviklet etter beste praksis.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Hvordan bruke Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Ta i bruk undersidene du trenger og fjern de unødvendige. Pakken tilbyr vanlige layouts for mobil-apper slik som innlogging- og registreringssider, faner og denne opplæringssiden.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Kom i gang",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Trenger du hjelp? Les Super Starter README-dokumentet for instruksjoner",
22 |
23 | "SETTINGS_TITLE": "Innstillinger",
24 | "SETTINGS_OPTION1": "Alternativ 1",
25 | "SETTINGS_OPTION2": "Alternativ 2",
26 | "SETTINGS_OPTION3": "Alternativ 3",
27 | "SETTINGS_OPTION4": "Alternativ 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Endre Profil",
30 |
31 | "WELCOME_TITLE": "Velkommen",
32 |
33 | "LOGIN_TITLE": "Innlogging",
34 | "LOGIN_ERROR": "Feil ved innlogging. Bekreft at kontodetaljene er riktig og prøv igjen.",
35 | "LOGIN_BUTTON": "Logg inn",
36 | "SIGNUP_TITLE": "Registrering",
37 | "SIGNUP_ERROR": "Feil ved registrering. Bekreft kontodetaljene og prøv igjen.",
38 | "SIGNUP_BUTTON": "Registrer deg",
39 |
40 | "LIST_MASTER_TITLE": "Innlegg",
41 |
42 | "ITEM_CREATE_TITLE": "Nytt Innlegg",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Legg Til Bilde",
44 |
45 | "CARDS_TITLE": "Sosialt",
46 |
47 | "SEARCH_TITLE": "Søk"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/fil.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Pangalan",
3 | "PASSWORD": "Password",
4 | "EMAIL": "Email",
5 | "LOGIN": "Sign in",
6 | "SIGNUP": "Sign up",
7 |
8 | "TAB1_TITLE": "Mga Gamit",
9 | "TAB2_TITLE": "Hanapin",
10 | "TAB3_TITLE": "Mga Setting",
11 |
12 | "MAP_TITLE": "Mapa",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Maligayang Pagdating sa Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Isang kumpletong Ionic starter na may buong mga pahina at pinakamainam na gawi ang Ionic Super Starter",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Paano gamitin ang Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Buoin ang mga page types na gusto mo at tanggalin ang mga ayaw mo. Marami kaming ibinigay na app layouts, tulad ng login at signup, tabs, at itong tutorial page",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Paano magsimula",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Kailangan ng tulong? Tignan ang README ng Super Starter para sa buong tutorial",
22 |
23 | "SETTINGS_TITLE": "Mga Setting",
24 | "SETTINGS_OPTION1": "Opsyon 1",
25 | "SETTINGS_OPTION2": "Opsyon 2",
26 | "SETTINGS_OPTION3": "Opsyon 3",
27 | "SETTINGS_OPTION4": "Opsyon 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Baguhin ang Profile",
30 |
31 | "WELCOME_TITLE": "Maligayang Pagdating",
32 |
33 | "LOGIN_TITLE": "Sign in",
34 | "LOGIN_ERROR": "Hindi makapag-sign-in. Paki-kumpirma ang iyong impormasyon at subukan ulit",
35 | "LOGIN_BUTTON": "Sign in",
36 | "SIGNUP_TITLE": "Sign up",
37 | "SIGNUP_ERROR": "Hindi makagawa ng bagong account. Paki-kumpirma ang iyong impormasyon at subukan ulit",
38 | "SIGNUP_BUTTON": "Sign up",
39 |
40 | "LIST_MASTER_TITLE": "Mga Item",
41 |
42 | "ITEM_CREATE_TITLE": "Bagong Item",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Maglagay ng Imahe",
44 |
45 | "CARDS_TITLE": "Social",
46 |
47 | "SEARCH_TITLE": "Hanapin"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/pt-PT.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Nome",
3 | "PASSWORD": "Password",
4 | "EMAIL": "Email",
5 | "LOGIN": "Entrar",
6 | "SIGNUP": "Criar conta",
7 |
8 | "TAB1_TITLE": "Items",
9 | "TAB2_TITLE": "Pesquisa",
10 | "TAB3_TITLE": "Configurações",
11 |
12 | "MAP_TITLE": "Mapa",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Bem-vindo ao Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "O Ionic Super Starter é um pacote Ionic com várias páginas prontas e exemplos de boas práticas.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Como usar o Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Combine os vários tipos de página que quer usar e remova as desnecessárias. Nós disponibilizamos vários layouts mobile comuns, como páginas de login e registo, tabs, e esta página de tutorial.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Como começar",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Precisa de ajuda? Para um tutorial completo leia o README do Super Starter",
22 |
23 | "SETTINGS_TITLE": "Configurações",
24 | "SETTINGS_OPTION1": "Opção 1",
25 | "SETTINGS_OPTION2": "Opção 2",
26 | "SETTINGS_OPTION3": "Opção 3",
27 | "SETTINGS_OPTION4": "Opção 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Editar Perfil",
30 |
31 | "WELCOME_TITLE": "Bem-vindo",
32 |
33 | "LOGIN_TITLE": "Entrar",
34 | "LOGIN_ERROR": "Não foi possível entrar na sua conta. Por favor confirme os seus dados e tente novamente.",
35 | "LOGIN_BUTTON": "Entrar",
36 | "SIGNUP_TITLE": "Criar conta",
37 | "SIGNUP_ERROR": "Não foi possível criar a sua conta. Por favor confirme os seus dados e tente novamente.",
38 | "SIGNUP_BUTTON": "Criar conta",
39 |
40 | "LIST_MASTER_TITLE": "Items",
41 |
42 | "ITEM_CREATE_TITLE": "Novo Item",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Adicionar Imagem",
44 |
45 | "CARDS_TITLE": "Social",
46 |
47 | "SEARCH_TITLE": "Pesquisa"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/da.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Navn",
3 | "PASSWORD": "Adgangskode",
4 | "EMAIL": "Email",
5 | "LOGIN": "Log Ind",
6 | "SIGNUP": "Tilmeld",
7 |
8 | "TAB1_TITLE": "Poster",
9 | "TAB2_TITLE": "Søg",
10 | "TAB3_TITLE": "Indstillinger",
11 |
12 | "MAP_TITLE": "Kort",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Velkommen til Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter er en fuldt funktionsdygtig Ionic starter med mange køreklare sidetyper bygget efter best practices.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Sådan bruges Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Sammensæt de forskellige sidetyper du ønsker at bruge og fjern dem du ikke har behov for. Vi leverer mange gænse mobil app sider, som f.eks. login- og registreringssider, faneblade, og denne introduktionsside.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Kom i gang",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Har du brug for hjælp? Kig på Super Starter README for en omfattende forklaring.",
22 |
23 | "SETTINGS_TITLE": "Indstillinger",
24 | "SETTINGS_OPTION1": "Mulighed 1",
25 | "SETTINGS_OPTION2": "Mulighed 2",
26 | "SETTINGS_OPTION3": "Mulighed 3",
27 | "SETTINGS_OPTION4": "Mulighed 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Rediger Profil",
30 |
31 | "WELCOME_TITLE": "Velkommen",
32 |
33 | "LOGIN_TITLE": "Log ind",
34 | "LOGIN_ERROR": "Fejl ved log ind. Kontroller venligst kontooplysningerne og prøv igen.",
35 | "LOGIN_BUTTON": "Log ind",
36 | "SIGNUP_TITLE": "Registrer",
37 | "SIGNUP_ERROR": "Fejl ved oprettelse. Kontroller venligst kontooplysningerne og prøv igen.",
38 | "SIGNUP_BUTTON": "Registrer",
39 |
40 | "LIST_MASTER_TITLE": "Poster",
41 |
42 | "ITEM_CREATE_TITLE": "Ny post",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Tilføj billede",
44 |
45 | "CARDS_TITLE": "Social",
46 |
47 | "SEARCH_TITLE": "Søg"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/zh-cmn-Hans.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "回退",
3 |
4 | "NAME": "姓名",
5 | "EMAIL": "邮箱",
6 | "USERNAME": "登录名",
7 | "PASSWORD": "口令",
8 | "LOGIN": "登 录",
9 | "SIGNUP": "注 册",
10 |
11 | "TAB1_TITLE": "项目",
12 | "TAB2_TITLE": "搜索",
13 | "TAB3_TITLE": "设置",
14 |
15 | "MAP_TITLE": "地图",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "跳过",
18 | "TUTORIAL_CONTINUE_BUTTON": "继续",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "欢迎来到 Ionic Super Starter",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter 是一个全功能的内置多个页面并且最佳实践的 Ionic 启动器。",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "如何使用 Super 启动器",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "使用你需要的多种多样的页面删除你不需要的页面。我们提供许多常见移动 app 页面,如登录、注册页面,tabs 标签页,以及本教程页面。",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "开始",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "需要帮助?查看 Super 启动器帮助文档可获得完整教程。",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "开始学习?",
30 |
31 | "WELCOME_INTRO": "出发,你的下一个强大的 Ionic app",
32 |
33 | "SETTINGS_TITLE": "设置",
34 | "SETTINGS_OPTION1": "选项 1",
35 | "SETTINGS_OPTION2": "选项 2",
36 | "SETTINGS_OPTION3": "选项 3",
37 | "SETTINGS_OPTION4": "选项 4",
38 |
39 | "SETTINGS_PROFILE_BUTTON": "编辑资料",
40 |
41 | "SETTINGS_PAGE_PROFILE": "编辑资料",
42 |
43 | "WELCOME_TITLE": "欢迎",
44 |
45 | "LOGIN_TITLE": "登录",
46 | "LOGIN_ERROR": "无法登录。请检查账号信息然后重试。",
47 | "LOGIN_BUTTON": "登 录",
48 | "SIGNUP_TITLE": "注 册",
49 | "SIGNUP_ERROR": "无法创建账号。请检查账户信息然后重试。",
50 | "SIGNUP_BUTTON": "注 册",
51 |
52 | "LIST_MASTER_TITLE": "项目",
53 |
54 | "ITEM_CREATE_TITLE": "新项目",
55 | "ITEM_CREATE_CHOOSE_IMAGE": "添加图片",
56 |
57 | "ITEM_NAME_PLACEHOLDER": "名称",
58 | "ITEM_ABOUT_PLACEHOLDER": "关于",
59 |
60 | "DONE_BUTTON": "完成",
61 | "CANCEL_BUTTON": "取消",
62 | "DELETE_BUTTON": "删除",
63 |
64 | "CARDS_TITLE": "社交",
65 |
66 | "SEARCH_TITLE": "搜索",
67 | "SEARCH_PLACEHOLDER": "搜索项目列表, 比如:\"Donald Duck\""
68 | }
69 |
--------------------------------------------------------------------------------
/src/assets/i18n/zh-cmn-Hant.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "回退",
3 |
4 | "NAME": "姓名",
5 | "EMAIL": "郵箱",
6 | "USERNAME": "登錄名",
7 | "PASSWORD": "口令",
8 | "LOGIN": "登 錄",
9 | "SIGNUP": "註 冊",
10 |
11 | "TAB1_TITLE": "項目",
12 | "TAB2_TITLE": "搜索",
13 | "TAB3_TITLE": "設置",
14 |
15 | "MAP_TITLE": "地圖",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "跳過",
18 | "TUTORIAL_CONTINUE_BUTTON": "繼續",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "歡迎來到 Ionic Super Starter",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter 是一個全功能的內置多個頁面並且最佳實踐的 Ionic 啟動器。",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "如何使用 Super 啟動器",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "使用你需要的多種多樣的頁面刪除你不需要的頁面。我們提供許多常見移動 app 頁面,如登錄、註冊頁面,tabs 標簽頁,以及本教程頁面。",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "開始",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "需要幫助?查看 Super 啟動器幫助文檔可獲得完整教程。",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "開始學習?",
30 |
31 | "WELCOME_INTRO": "出發,你的下一個強大的 Ionic app",
32 |
33 | "SETTINGS_TITLE": "設置",
34 | "SETTINGS_OPTION1": "選項 1",
35 | "SETTINGS_OPTION2": "選項 2",
36 | "SETTINGS_OPTION3": "選項 3",
37 | "SETTINGS_OPTION4": "選項 4",
38 |
39 | "SETTINGS_PROFILE_BUTTON": "編輯資料",
40 |
41 | "SETTINGS_PAGE_PROFILE": "編輯資料",
42 |
43 | "WELCOME_TITLE": "歡迎",
44 |
45 | "LOGIN_TITLE": "登錄",
46 | "LOGIN_ERROR": "無法登錄。請檢查賬號信息然後重試。",
47 | "LOGIN_BUTTON": "登 錄",
48 | "SIGNUP_TITLE": "註 冊",
49 | "SIGNUP_ERROR": "無法創建賬號。請檢查賬戶信息然後重試。",
50 | "SIGNUP_BUTTON": "註 冊",
51 |
52 | "LIST_MASTER_TITLE": "項目",
53 |
54 | "ITEM_CREATE_TITLE": "新項目",
55 | "ITEM_CREATE_CHOOSE_IMAGE": "添加圖片",
56 |
57 | "ITEM_NAME_PLACEHOLDER": "名稱",
58 | "ITEM_ABOUT_PLACEHOLDER": "關於",
59 |
60 | "DONE_BUTTON": "完成",
61 | "CANCEL_BUTTON": "取消",
62 | "DELETE_BUTTON": "刪除",
63 |
64 | "CARDS_TITLE": "社交",
65 |
66 | "SEARCH_TITLE": "搜索",
67 | "SEARCH_PLACEHOLDER": "搜索項目列表, 例如:\"Donald Duck\""
68 | }
69 |
--------------------------------------------------------------------------------
/src/providers/settings/settings.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 | import { Storage } from '@ionic/storage';
3 |
4 | /**
5 | * A simple settings/config class for storing key/value pairs with persistence.
6 | */
7 | @Injectable()
8 | export class Settings {
9 | private SETTINGS_KEY: string = '_settings';
10 |
11 | settings: any;
12 |
13 | _defaults: any;
14 | _readyPromise: Promise;
15 |
16 | constructor(public storage: Storage, defaults: any) {
17 | this._defaults = defaults;
18 | }
19 |
20 | load() {
21 | return this.storage.get(this.SETTINGS_KEY).then((value) => {
22 | if (value) {
23 | this.settings = value;
24 | return this._mergeDefaults(this._defaults);
25 | } else {
26 | return this.setAll(this._defaults).then((val) => {
27 | this.settings = val;
28 | })
29 | }
30 | });
31 | }
32 |
33 | _mergeDefaults(defaults: any) {
34 | for (let k in defaults) {
35 | if (!(k in this.settings)) {
36 | this.settings[k] = defaults[k];
37 | }
38 | }
39 | return this.setAll(this.settings);
40 | }
41 |
42 | merge(settings: any) {
43 | for (let k in settings) {
44 | this.settings[k] = settings[k];
45 | }
46 | return this.save();
47 | }
48 |
49 | setValue(key: string, value: any) {
50 | this.settings[key] = value;
51 | return this.storage.set(this.SETTINGS_KEY, this.settings);
52 | }
53 |
54 | setAll(value: any) {
55 | return this.storage.set(this.SETTINGS_KEY, value);
56 | }
57 |
58 | getValue(key: string) {
59 | return this.storage.get(this.SETTINGS_KEY)
60 | .then(settings => {
61 | return settings[key];
62 | });
63 | }
64 |
65 | save() {
66 | return this.setAll(this.settings);
67 | }
68 |
69 | get allSettings() {
70 | return this.settings;
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/src/assets/i18n/sv.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Namn",
3 | "PASSWORD": "Lösenord",
4 | "EMAIL": "E-post",
5 | "LOGIN": "Logga in",
6 | "SIGNUP": "Skapa konto",
7 |
8 | "TAB1_TITLE": "Inlägg",
9 | "TAB2_TITLE": "Sök",
10 | "TAB3_TITLE": "Inställningar",
11 |
12 | "MAP_TITLE": "Karta",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Välkommen till Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter är ett fullfjädrat startpaket för Ionic med många färdigbyggda sidor skapade med bästa praxis.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Hur man använder Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Använd de sidor du önskar och ta bort de övriga. Startpaketet innehåller många vanliga vyer för mobilappar, såsom inloggning och kontoregistrering, flikar och denna introduktionsvy.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Komma igång",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Behöver du hjälp? Läs README-dokumentet som innehåller en fullständig handledning för Super Starter.",
22 |
23 | "SETTINGS_TITLE": "Inställningar",
24 | "SETTINGS_OPTION1": "Alternativ 1",
25 | "SETTINGS_OPTION2": "Alternativ 2",
26 | "SETTINGS_OPTION3": "Alternativ 3",
27 | "SETTINGS_OPTION4": "Alternativ 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Redigera profil",
30 |
31 | "WELCOME_TITLE": "Välkommen",
32 |
33 | "LOGIN_TITLE": "Logga in",
34 | "LOGIN_ERROR": "Det gick inte att logga in. Kontrollera inloggningsuppgifterna och försök igen.",
35 | "LOGIN_BUTTON": "Logga in",
36 | "SIGNUP_TITLE": "Skapa konto",
37 | "SIGNUP_ERROR": "Det gick inte att skapa ett konto. Kontrollera dina uppgifter och försök igen.",
38 | "SIGNUP_BUTTON": "Skapa konto",
39 |
40 | "LIST_MASTER_TITLE": "Inlägg",
41 |
42 | "ITEM_CREATE_TITLE": "Nytt inlägg",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Lägg till bild",
44 |
45 | "CARDS_TITLE": "Socialt",
46 |
47 | "SEARCH_TITLE": "Sök"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/sl.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Ime",
3 | "PASSWORD": "Geslo",
4 | "EMAIL": "E-mail",
5 | "LOGIN": "Prijava",
6 | "SIGNUP": "Ustvari račun",
7 |
8 | "TAB1_TITLE": "Elementi",
9 | "TAB2_TITLE": "Iskanje",
10 | "TAB3_TITLE": "Nastavitve",
11 |
12 | "MAP_TITLE": "Zemljevid",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Dobrodošli v Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter je celosten Ionic začetni paket z pestrim naborom funkcionalnosti in uporablja najboljše prakse razvoja Ionic aplikacij.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Kako uporabljati Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Sestavite poljubne tipe strani in odstranite tiste, ki jih ne potrebujete. Ponujamo vam mnogo različnih oblik strani, npr. stran za prijavo oz. vpis, stran z zavihki in stran tega vodiča.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Kako začeti?",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Potrebujete pomoč? Poglejte si Super Starter README datoteko za celoten vodič.",
22 |
23 | "SETTINGS_TITLE": "Nastavitve",
24 | "SETTINGS_OPTION1": "Opcija 1",
25 | "SETTINGS_OPTION2": "Opcija 2",
26 | "SETTINGS_OPTION3": "Opcija 3",
27 | "SETTINGS_OPTION4": "Opcija 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Uredi profil",
30 |
31 | "WELCOME_TITLE": "Dobrodošli",
32 |
33 | "LOGIN_TITLE": "Prijava",
34 | "LOGIN_ERROR": "Napaka pri prijavi. Prosimo preglejte prijavne podatke računa in poskusite ponovno.",
35 | "LOGIN_BUTTON": "Prijava",
36 | "SIGNUP_TITLE": "Ustvari račun",
37 | "SIGNUP_ERROR": "Napaka pri kreiranju računa. Prosimo preglejte podatke kreiranega računa in poskusite ponovno. ",
38 | "SIGNUP_BUTTON": "Ustvari račun",
39 |
40 | "LIST_MASTER_TITLE": "Elementi",
41 |
42 | "ITEM_CREATE_TITLE": "Dodaj element",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Dodaj sliko",
44 |
45 | "CARDS_TITLE": "Socialno",
46 |
47 | "SEARCH_TITLE": "Iskanje"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/by.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Імя",
3 | "EMAIL": "Email",
4 | "PASSWORD": "Пароль",
5 | "LOGIN": "Увайсці",
6 | "SIGNUP": "Зарэгістравацца",
7 |
8 | "TAB1_TITLE": "Спіс",
9 | "TAB2_TITLE": "Пошук",
10 | "TAB3_TITLE": "Налады",
11 |
12 | "MAP_TITLE": "Мапа",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Вітаем ў Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter – гэта паўнавартасны пачатаковы пакет для Ionic са шматлікімі ўзорамі старонак і прыкладамі лепшых практык.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Як карыстацца",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Складайце старонкі розных кшталтаў з патрэбных вам элементаў і выдаляйце непатрэбныя. Сярод шматлікіх тыповых макетаў – \"Уваход\" і \"Рэгістрацыя\", старонка з закладкамі і гэтая пачатковая старонка з падказкамі.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "З чаго пачаць",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Патрэбна дапамога? Кіраўніцтвы ды тлумачэнні можна знайсці ў README-файлах унутры праекту.",
22 |
23 | "SETTINGS_TITLE": "Налады",
24 | "SETTINGS_OPTION1": "Налада 1",
25 | "SETTINGS_OPTION2": "Налада 2",
26 | "SETTINGS_OPTION3": "Налада 3",
27 | "SETTINGS_OPTION4": "Налада 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Профіль",
30 |
31 | "WELCOME_TITLE": "Прывітанне",
32 |
33 | "LOGIN_TITLE": "Уваход",
34 | "LOGIN_ERROR": "Не атрымалася ўвайсці ў сістэму. Калі ласка, праверце ўведзеныя ўліковыя дадзеныя і паспрабуйце зноў.",
35 | "LOGIN_BUTTON": "Увайсці",
36 | "SIGNUP_TITLE": "Рэгістрацыя",
37 | "SIGNUP_ERROR": "Не атрымалася стварыць уліковы запіс. Калі ласка, праверце ўведзеныя ўліковыя дадзеныя і паспрабуйце зноў.",
38 | "SIGNUP_BUTTON": "Зарэгістравацца",
39 |
40 | "LIST_MASTER_TITLE": "Спіс",
41 |
42 | "ITEM_CREATE_TITLE": "Дадаць у спіс",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Дадаць выяву",
44 |
45 | "CARDS_TITLE": "Суполкі",
46 |
47 | "SEARCH_TITLE": "Пошук"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/bs.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Ime",
3 | "PASSWORD": "Šifra",
4 | "EMAIL": "E-mail",
5 | "LOGIN": "Prijava",
6 | "SIGNUP": "Registracija",
7 |
8 | "TAB1_TITLE": "Stavke",
9 | "TAB2_TITLE": "Traži",
10 | "TAB3_TITLE": "Postavke",
11 |
12 | "MAP_TITLE": "Mapa",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Dobrodošli u Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter je potpuno funkcionalna početna aplikacija sa mnogim unaprijed pripremljenim stranicama uz korištenje najboljih praksi.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Kako koristiti Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Sastavite različite vrste stranica koje želite, a uklonite one koje ne želite. Obezbjedili smo vam mnoge uobičajne izglede stranica, kao što su stranice za registraciju i prijavu korisnika, tabulatore, a i ovu stranicu za učenje.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Počinjemo",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Trebate pomoć? Pročitajte Super Starter README za cijeli tutorial.",
22 |
23 | "SETTINGS_TITLE": "Postavke",
24 | "SETTINGS_OPTION1": "Opcija 1",
25 | "SETTINGS_OPTION2": "Opcija 2",
26 | "SETTINGS_OPTION3": "Opcija 3",
27 | "SETTINGS_OPTION4": "Opcija 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Uredi profil",
30 |
31 | "WELCOME_TITLE": "Dobrodošli",
32 |
33 | "LOGIN_TITLE": "Prijavi se",
34 | "LOGIN_ERROR": "Prijava nije uspjela. Molimo provjerite vaše podatke za prijavu, a zatim pokušajte ponovo.",
35 | "LOGIN_BUTTON": "Prijava",
36 | "SIGNUP_TITLE": "Registruj se",
37 | "SIGNUP_ERROR": "Nije moguće kreirati novi korisnički račun. Molimo vas provjerite podatke, a zatim pokušajte ponovo.",
38 | "SIGNUP_BUTTON": "Registracija",
39 |
40 | "LIST_MASTER_TITLE": "Stavke",
41 |
42 | "ITEM_CREATE_TITLE": "Nova stavka",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Dodaj sliku",
44 |
45 | "CARDS_TITLE": "Socijalno",
46 |
47 | "SEARCH_TITLE": "Traži"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/nl.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Naam",
3 | "PASSWORD": "Wachtwoord",
4 | "EMAIL": "E-mail",
5 | "LOGIN": "Inloggen",
6 | "SIGNUP": "Aanmelden",
7 |
8 | "TAB1_TITLE": "Items",
9 | "TAB2_TITLE": "Zoeken",
10 | "TAB3_TITLE": "Instellingen",
11 |
12 | "MAP_TITLE": "Kaart",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Welkom bij de Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "De Ionic Super Starter biedt een volledig functionele basis voor een Ionic applicatie met veel voorgedefinieëerde pagina's en 'best practices'.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Hoe de Super Starter te gebruiken",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Stel je applicatie samen door pagina's te combineren en verwijder degenen die je niet wil gebruiken. We bieden je verschillende typen mobiele applicatie pagina's, zoals login- en aanmeld pagina's, tabbladen, en deze handleiding pagina.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Beginnen",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Hulp nodig? Check de Super Starter README voor een uitgebreide introductie",
22 |
23 | "SETTINGS_TITLE": "Instellingen",
24 | "SETTINGS_OPTION1": "Optie 1",
25 | "SETTINGS_OPTION2": "Optie 2",
26 | "SETTINGS_OPTION3": "Optie 3",
27 | "SETTINGS_OPTION4": "Optie 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Wijzig Profiel",
30 |
31 | "WELCOME_TITLE": "Welkom",
32 |
33 | "LOGIN_TITLE": "Aanmelden",
34 | "LOGIN_ERROR": "Inloggen mislukt. Controleer a.u.b. uw account informatie en probeer het nogmaals.",
35 | "LOGIN_BUTTON": "Inloggen",
36 | "SIGNUP_TITLE": "Aanmelden",
37 | "SIGNUP_ERROR": "Aanmelden mislukt. Controleer a.u.b. uw account informatie en probeer het nogmaals.",
38 | "SIGNUP_BUTTON": "Aanmelden",
39 |
40 | "LIST_MASTER_TITLE": "Items",
41 |
42 | "ITEM_CREATE_TITLE": "Nieuw Item",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Afbeeldingen Toevoegen",
44 |
45 | "CARDS_TITLE": "Sociaal",
46 |
47 | "SEARCH_TITLE": "Zoeken"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/es.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Nombre",
3 | "PASSWORD": "Contraseña",
4 | "EMAIL": "Email",
5 | "LOGIN": "Iniciar sesión",
6 | "SIGNUP": "Registrarse",
7 |
8 | "TAB1_TITLE": "Items",
9 | "TAB2_TITLE": "Buscar",
10 | "TAB3_TITLE": "Ajustes",
11 |
12 | "MAP_TITLE": "Mapa",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Bienvenido/a al Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "El Ionic Super Starter es un starter de Ionic completo con muchas páginas preconstruidas y mejores prácticas.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Cómo usar el Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Monta los varios tipos de página que quieras y quita los que no. Hemos incluido muchas estructuras de página comunes en apps móviles, como páginas de inicio de sesión y registro, pestañas, y esta página de tutorial.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Empezando",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "¿Necesitas ayuda? Échale un vistazo al README del Super Starter para ver el tutorial completo.",
22 |
23 | "SETTINGS_TITLE": "Ajustes",
24 | "SETTINGS_OPTION1": "Opción 1",
25 | "SETTINGS_OPTION2": "Opción 2",
26 | "SETTINGS_OPTION3": "Opción 3",
27 | "SETTINGS_OPTION4": "Opción 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Editar Perfil",
30 |
31 | "WELCOME_TITLE": "Bienvenido/a",
32 |
33 | "LOGIN_TITLE": "Iniciar sesión",
34 | "LOGIN_ERROR": "No se ha podido iniciar sesión. Por favor revisa la información de la cuenta e inténtalo de nuevo.",
35 | "LOGIN_BUTTON": "Iniciar sesión",
36 | "SIGNUP_TITLE": "Registro",
37 | "SIGNUP_ERROR": "No se ha podido crear la cuenta. Por favor revisa la información de la cuenta e inténtalo de nuevo.",
38 | "SIGNUP_BUTTON": "Registrarse",
39 |
40 | "LIST_MASTER_TITLE": "Items",
41 |
42 | "ITEM_CREATE_TITLE": "Nuevo Item",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Añadir Imagen",
44 |
45 | "CARDS_TITLE": "Social",
46 |
47 | "SEARCH_TITLE": "Buscar"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/pl.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Imię",
3 | "PASSWORD": "Hasło",
4 | "EMAIL": "Email",
5 | "LOGIN": "Zaloguj",
6 | "SIGNUP": "Zarejestruj",
7 |
8 | "TAB1_TITLE": "Pozycje",
9 | "TAB2_TITLE": "Szukaj",
10 | "TAB3_TITLE": "Ustawienia",
11 |
12 | "MAP_TITLE": "Mapa",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Witaj w Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter jest w pełni funkcjonalnym początkiem przygody z Ionic'iem, złożonym z wielu predefiniowanych szablonów i najlepszych praktyk programistycznych.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Jak korzystać z Super Startera",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Pozbieraj różne typy stron, które chcesz usunąć, a także te, których nie chcesz. Mamy do zaoferowania wiele wspólnych stron i szablonów mobilnej aplikacji. Są to między innymi: strona logowania, rejestracji, taby, a także ten oto poradnik.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Pierwsze kroki",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Potrzebujesz pomocy? Sprawdź plik README projektu Super Starter dla pełnego poradnika",
22 |
23 | "SETTINGS_TITLE": "Ustawienia",
24 | "SETTINGS_OPTION1": "Opcja 1",
25 | "SETTINGS_OPTION2": "Opcja 2",
26 | "SETTINGS_OPTION3": "Opcja 3",
27 | "SETTINGS_OPTION4": "Opcja 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Edytuj Profil",
30 |
31 | "WELCOME_TITLE": "Witaj",
32 |
33 | "LOGIN_TITLE": "Zaloguj",
34 | "LOGIN_ERROR": "Nie udało się zalogować. Sprawdź raz jeszcze dane swoje konta i spróbuj ponownie.",
35 | "LOGIN_BUTTON": "Zaloguj",
36 | "SIGNUP_TITLE": "Zarejestruj",
37 | "SIGNUP_ERROR": "Nie udało się stworzyć konta. Sprawdź raz jeszcze dane swoje konta i spróbuj ponownie.",
38 | "SIGNUP_BUTTON": "Zarejestruj",
39 |
40 | "LIST_MASTER_TITLE": "Pozycje",
41 |
42 | "ITEM_CREATE_TITLE": "Nowa pozycja",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Dodaj obrazek",
44 |
45 | "CARDS_TITLE": "Społeczność",
46 |
47 | "SEARCH_TITLE": "Szukaj"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Имя",
3 | "PASSWORD": "Пароль",
4 | "EMAIL": "Email",
5 | "LOGIN": "Вход",
6 | "SIGNUP": "Регистрация",
7 |
8 | "TAB1_TITLE": "Список",
9 | "TAB2_TITLE": "Поиск",
10 | "TAB3_TITLE": "Настройки",
11 |
12 | "MAP_TITLE": "Карта",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Добро пожаловать в Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter это полноценный набор примеров Ionic с большим количеством готовых страниц и лучших практик.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Как использовать Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Сделайте свой набор из многочисленных страниц разного типа. Все лишнее можете выкинуть. Мы предоставили много типовых макетов страниц мобильных приложений, таких как страницы регистрации, вкладки, и страницы с руководством, наподобие этой.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Начало работы",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Нужна помощь? Вы найдете полное руководство к Super Starter в файле README",
22 |
23 | "SETTINGS_TITLE": "Настройки",
24 | "SETTINGS_OPTION1": "Опция 1",
25 | "SETTINGS_OPTION2": "Опция 2",
26 | "SETTINGS_OPTION3": "Опция 3",
27 | "SETTINGS_OPTION4": "Опция 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Редактирование профиля",
30 |
31 | "WELCOME_TITLE": "Добро пожаловать",
32 |
33 | "LOGIN_TITLE": "Вход",
34 | "LOGIN_ERROR": "Невозможно войти. Пожалуйста проверьте информацию о Вашей учетной записи и попробуйте войти еще раз.",
35 | "LOGIN_BUTTON": "Войти",
36 | "SIGNUP_TITLE": "Регистрация",
37 | "SIGNUP_ERROR": "Невозможно создать учетную запись. Пожалуйста проверьте информацию о Вашей учетной записи и попробуйте еще раз.",
38 | "SIGNUP_BUTTON": "Регистрация",
39 |
40 | "LIST_MASTER_TITLE": "Список",
41 |
42 | "ITEM_CREATE_TITLE": "Новый элемент",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Добавить изображение",
44 |
45 | "CARDS_TITLE": "Социальный",
46 |
47 | "SEARCH_TITLE": "Поиск"
48 | }
--------------------------------------------------------------------------------
/src/pages/item-create/item-create.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ 'ITEM_CREATE_TITLE' | translate }}
5 |
6 |
12 |
13 |
14 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
47 |
--------------------------------------------------------------------------------
/src/assets/i18n/ua.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Ім'я",
3 | "PASSWORD": "Пароль",
4 | "EMAIL": "Email",
5 | "LOGIN": "Вхід",
6 | "SIGNUP": "Реєстрація",
7 |
8 | "TAB1_TITLE": "Список",
9 | "TAB2_TITLE": "Пошук",
10 | "TAB3_TITLE": "Налаштування",
11 |
12 | "MAP_TITLE": "Мапа",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Ласкаво просимо до Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter це повноцінний набір прикладів для Ionic з великою кількістю готових сторінок та кращих практик.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Як використовувати Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Створіть власний набір зі численних сторінок різного типу. Усе зайве можете викинути. Ми підготували багато типових макетів сторінок мобільних додатків, таких як сторінки входу та реєстрації, вкладки та сторінки-приклади, як ця.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Початок роботи",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Потрібна допомога? Ви знайдете повноцінну інструкцию до Super Starter у файлі README",
22 |
23 | "SETTINGS_TITLE": "Налаштування",
24 | "SETTINGS_OPTION1": "Варіант 1",
25 | "SETTINGS_OPTION2": "Варіант 2",
26 | "SETTINGS_OPTION3": "Варіант 3",
27 | "SETTINGS_OPTION4": "Варіант 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Редагування профілю",
30 |
31 | "WELCOME_TITLE": "Ласкаво просимо",
32 |
33 | "LOGIN_TITLE": "Вхід",
34 | "LOGIN_ERROR": "Неможливо увійти. Будь ласка перевірте інформацію Вашого облікового запису та спробуйте увійти ще раз.",
35 | "LOGIN_BUTTON": "Увійти",
36 | "SIGNUP_TITLE": "Реєстрація",
37 | "SIGNUP_ERROR": "Неможливо створити обліковий запис. Будь ласка перевірте інформацію Вашого облікового запису та спробуйте ще раз.",
38 | "SIGNUP_BUTTON": "Зареєструвати",
39 |
40 | "LIST_MASTER_TITLE": "Список",
41 |
42 | "ITEM_CREATE_TITLE": "Новий елемент",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Додати зображення",
44 |
45 | "CARDS_TITLE": "Соціальний",
46 |
47 | "SEARCH_TITLE": "Пошук"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/fr.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Nom",
3 | "PASSWORD": "Mot de passe",
4 | "EMAIL": "E-mail",
5 | "LOGIN": "Connexion",
6 | "SIGNUP": "Inscription",
7 |
8 | "TAB1_TITLE": "Items",
9 | "TAB2_TITLE": "Recherche",
10 | "TAB3_TITLE": "Paramètres",
11 |
12 | "MAP_TITLE": "Carte",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Bienvenue dans le kit de démarrage Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter est un kit complet pour démarrer sur Ionic. Il repose sur les meilleures pratiques et implémente de nombreux types de pages.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Comment utiliser le Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Assemblez les types de pages désirés et supprimez les autres. Le kit inclut plusieurs mises en page courantes d’applications mobiles, comme les pages de connexion et d’inscription, les onglets et cette page de tutoriel.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Pour commencer",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Si vous avez besoin d’aide, consultez le README du Super Starter pour un tutoriel complet.",
22 |
23 | "SETTINGS_TITLE": "Paramètres",
24 | "SETTINGS_OPTION1": "Option 1",
25 | "SETTINGS_OPTION2": "Option 2",
26 | "SETTINGS_OPTION3": "Option 3",
27 | "SETTINGS_OPTION4": "Option 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Modifier le profil",
30 |
31 | "WELCOME_TITLE": "Bienvenue",
32 |
33 | "LOGIN_TITLE": "Connexion",
34 | "LOGIN_ERROR": "Connexion impossible. Veuillez vérifier les informations de votre compte et réessayer.",
35 | "LOGIN_BUTTON": "Connexion",
36 | "SIGNUP_TITLE": "Inscription",
37 | "SIGNUP_ERROR": "Inscription impossible. Veuillez vérifier les informations de votre compte et réessayer.",
38 | "SIGNUP_BUTTON": "Inscription",
39 |
40 | "LIST_MASTER_TITLE": "Items",
41 |
42 | "ITEM_CREATE_TITLE": "Nouvel item",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Ajouter une image",
44 |
45 | "CARDS_TITLE": "Social",
46 |
47 | "SEARCH_TITLE": "Recherche"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/el.json:
--------------------------------------------------------------------------------
1 | {
2 | "NAME": "Όνομα",
3 | "PASSWORD": "Κωδικός",
4 | "EMAIL": "Email",
5 | "LOGIN": "Σύνδεση",
6 | "SIGNUP": "Εγγραφή",
7 |
8 | "TAB1_TITLE": "Αντικείμενα",
9 | "TAB2_TITLE": "Αναζήτηση",
10 | "TAB3_TITLE": "Ρυθμίσεις",
11 |
12 | "MAP_TITLE": "Χάρτης",
13 |
14 | "TUTORIAL_SLIDE1_TITLE": "Καλώς ορίσατε στο Ionic Super Starter",
15 | "TUTORIAL_SLIDE1_DESCRIPTION": "Το Ionic Super Starter είναι ένα πλήρες βοηθητικό πακέτο εκκίνησης προγραμματισμού με το Ionic και περιέχει πληθώρα έτοιμων, ανεπτυγμένων σελίδων αλλά και βέλτιστων-πρακτικών εφαρμογής του.",
16 |
17 | "TUTORIAL_SLIDE2_TITLE": "Πως να χρησημοποιήσετε το Super Starter",
18 | "TUTORIAL_SLIDE2_DESCRIPTION": "Συγκεντρώστε οποιες σελίδες επιθυμείτε και αφαιρέστε εκείνες που δε σας χρειάζονται. Σας παρέχουμε πολλές συνηθισμένες διατάξεις σελίδων, όπως σελίδες σύνδεσης και εγγραφής, με καρτέλες ή επεξήγησης όπως η παρούσα.",
19 |
20 | "TUTORIAL_SLIDE3_TITLE": "Ξεκινώντας",
21 | "TUTORIAL_SLIDE3_DESCRIPTION": "Χρειάζεστε βοήθεια; Ρίχτε μια ματιά στο Super Starter README αρχείο για την πλήρη επεξήγηση.",
22 |
23 | "SETTINGS_TITLE": "Ρυθμίσεις",
24 | "SETTINGS_OPTION1": "Επιλογή 1",
25 | "SETTINGS_OPTION2": "Επιλογή 2",
26 | "SETTINGS_OPTION3": "Επιλογή 3",
27 | "SETTINGS_OPTION4": "Επιλογή 4",
28 |
29 | "SETTINGS_PAGE_PROFILE": "Επεξεργασία Προφίλ",
30 |
31 | "WELCOME_TITLE": "Καλώς ορίσατε",
32 |
33 | "LOGIN_TITLE": "Σύνδεση",
34 | "LOGIN_ERROR": "Η σύνδεση ήταν ανέφικτη. Παρακαλούμε ελέγξτε τις πληροφορίες λογαριασμού σας και ξαναπροσπαθήστε.",
35 | "LOGIN_BUTTON": "Σύνδεση",
36 | "SIGNUP_TITLE": "Εγγραφή",
37 | "SIGNUP_ERROR": "Η δημιουργία λογαριασμού ήταν ανέφικτη. Παρακαλούμε ελέγξτε τις πληροφορίες λογαριασμού σας και ξαναπροσπαθήστε.",
38 | "SIGNUP_BUTTON": "Εγγραφή",
39 |
40 | "LIST_MASTER_TITLE": "Αντικείμενα",
41 |
42 | "ITEM_CREATE_TITLE": "Νέο Αντικείμενο",
43 | "ITEM_CREATE_CHOOSE_IMAGE": "Προσθήκη φωτογραφίας",
44 |
45 | "CARDS_TITLE": "Κοινωνικά",
46 |
47 | "SEARCH_TITLE": "Αναζήτηση"
48 | }
--------------------------------------------------------------------------------
/src/assets/i18n/ja.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "戻る",
3 |
4 | "NAME": "名前",
5 | "EMAIL": "Eメール",
6 | "USERNAME": "ユーザー名",
7 | "PASSWORD": "パスワード",
8 | "LOGIN": "サインイン",
9 | "SIGNUP": "サインアップ",
10 |
11 | "TAB1_TITLE": "項目",
12 | "TAB2_TITLE": "検索",
13 | "TAB3_TITLE": "設定",
14 |
15 | "MAP_TITLE": "地図",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "スキップ",
18 | "TUTORIAL_CONTINUE_BUTTON": "続ける",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "Ionic Super Starterへようこそ",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": " Ionic Super Starter は、多くのビルド済ページとベストプラクティスを備えた、完全な機能をもつIonicのスターターです。",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "Super Starterの使い方",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "いろいろなページタイプの中から欲しいものを組み合わせて、いらないものを取り除いてください。 ログインページ、サインアップページ、タブ、このチュートリアルページなど、一般的なモバイルアプリのページレイアウトをいろいろと提供しています。",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "はじめに",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "ヘルプが必要ですか?完全なチュートリアルについては、Super Starter READMEを参照してください。",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "準備ができましたか?",
30 |
31 | "WELCOME_INTRO": "あなたのすばらしいIonicアプリの出発点",
32 |
33 | "SETTINGS_TITLE": "設定",
34 | "SETTINGS_OPTION1": "オプション 1",
35 | "SETTINGS_OPTION2": "オプション 2",
36 | "SETTINGS_OPTION3": "オプション 3",
37 | "SETTINGS_OPTION4": "オプション 4",
38 |
39 | "SETTINGS_PROFILE_BUTTON": "プロフィールの編集",
40 |
41 | "SETTINGS_PAGE_PROFILE": "プロフィールの編集",
42 |
43 | "WELCOME_TITLE": "ようこそ",
44 |
45 | "LOGIN_TITLE": "サインイン",
46 | "LOGIN_ERROR": "サインインできません。アカウント情報を確認して、もう一度お試しください。",
47 | "LOGIN_BUTTON": "サインイン",
48 | "SIGNUP_TITLE": "サインアップ",
49 | "SIGNUP_ERROR": "アカウントを作成できません。 アカウント情報を確認して、もう一度お試しください。",
50 | "SIGNUP_BUTTON": "サインアップ",
51 |
52 | "LIST_MASTER_TITLE": "項目",
53 |
54 | "ITEM_CREATE_TITLE": "新しい項目",
55 | "ITEM_CREATE_CHOOSE_IMAGE": "画像の追加",
56 |
57 | "ITEM_NAME_PLACEHOLDER": "名前",
58 | "ITEM_ABOUT_PLACEHOLDER": "説明",
59 |
60 | "DONE_BUTTON": "完了",
61 | "CANCEL_BUTTON": "キャンセル",
62 | "DELETE_BUTTON": "削除",
63 |
64 | "CARDS_TITLE": "ソーシャル",
65 |
66 | "SEARCH_TITLE": "検索",
67 | "SEARCH_PLACEHOLDER": "項目一覧を検索 例 \"Donald Duck\""
68 | }
--------------------------------------------------------------------------------
/src/assets/i18n/de.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "Zurück",
3 |
4 | "NAME": "Name",
5 | "PASSWORD": "Passwort",
6 | "EMAIL": "Email",
7 | "LOGIN": "Anmelden",
8 | "SIGNUP": "Registrieren",
9 | "CANCEL_BUTTON": "Schließen",
10 |
11 | "TAB1_TITLE": "Items",
12 | "TAB2_TITLE": "Suche",
13 | "TAB3_TITLE": "Einstellung",
14 |
15 | "MAP_TITLE": "Karte",
16 |
17 | "TUTORIAL_SLIDE1_TITLE": "Hallo Ionic Super Starter App",
18 | "TUTORIAL_SLIDE1_DESCRIPTION": "Die Ionic Super Starter App ist eine umfangreiche Starter App mit vielen vorgefertigten Seiten und Best Practices.",
19 |
20 | "TUTORIAL_SLIDE2_TITLE": "Wie soll man die Super Starter App verwenden",
21 | "TUTORIAL_SLIDE2_DESCRIPTION": "Nütze und bearbeite die Funktionen und Seiten die du benötigst und lösche den Rest. Wähle aus einer vielzahl an Layouts, wie Anmelden, Registrieren, Tabs und einer Tutorial Seite.",
22 |
23 | "TUTORIAL_SLIDE3_TITLE": "Los gehts",
24 | "TUTORIAL_SLIDE3_DESCRIPTION": "Du brauchst Hilfe? Sieh dir das README File an um mehr zu erfahren.",
25 |
26 | "TUTORIAL_CONTINUE_BUTTON": "Fortfahren",
27 |
28 | "WELCOME_INTRO": "Der Startpunkt für Deine nächste tolle Ionic App",
29 |
30 | "SETTINGS_TITLE": "Einstellungen",
31 | "SETTINGS_OPTION1": "Option 1",
32 | "SETTINGS_OPTION2": "Option 2",
33 | "SETTINGS_OPTION3": "Option 3",
34 | "SETTINGS_OPTION4": "Option 4",
35 |
36 | "SETTINGS_PAGE_PROFILE": "Profil ändern",
37 |
38 | "WELCOME_TITLE": "Willkommen",
39 |
40 | "LOGIN_TITLE": "Anmelden",
41 | "LOGIN_ERROR": "Fehler beim Anmelden, bitte überprüfe deine Informationen und versuche es erneut.",
42 | "LOGIN_BUTTON": "Anmelden",
43 | "SIGNUP_TITLE": "Registrieren",
44 | "SIGNUP_ERROR": "Fehler beim Registrieren, bitte überprüfe deine Informationen und versuche es erneut.",
45 | "SIGNUP_BUTTON": "Registrieren",
46 |
47 | "LIST_MASTER_TITLE": "Artikel",
48 |
49 | "ITEM_CREATE_TITLE": "Neuer Artikel",
50 | "ITEM_CREATE_CHOOSE_IMAGE": "Artikel hinzufügen",
51 |
52 | "CARDS_TITLE": "Social",
53 |
54 | "SEARCH_TITLE": "Suche",
55 | "SEARCH_PLACEHOLDER": "Suche in der Artikel-Liste, z.B. \"Donald Duck\""
56 | }
--------------------------------------------------------------------------------
/src/providers/user/user.ts:
--------------------------------------------------------------------------------
1 | import 'rxjs/add/operator/toPromise';
2 |
3 | import { Injectable } from '@angular/core';
4 |
5 | import { Api } from '../api/api';
6 |
7 | /**
8 | * Most apps have the concept of a User. This is a simple provider
9 | * with stubs for login/signup/etc.
10 | *
11 | * This User provider makes calls to our API at the `login` and `signup` endpoints.
12 | *
13 | * By default, it expects `login` and `signup` to return a JSON object of the shape:
14 | *
15 | * ```json
16 | * {
17 | * status: 'success',
18 | * user: {
19 | * // User fields your app needs, like "id", "name", "email", etc.
20 | * }
21 | * }Ø
22 | * ```
23 | *
24 | * If the `status` field is not `success`, then an error is detected and returned.
25 | */
26 | @Injectable()
27 | export class User {
28 | _user: any;
29 |
30 | constructor(public api: Api) { }
31 |
32 | /**
33 | * Send a POST request to our login endpoint with the data
34 | * the user entered on the form.
35 | */
36 | login(accountInfo: any) {
37 | let seq = this.api.post('login', accountInfo).share();
38 |
39 | seq.subscribe((res: any) => {
40 | // If the API returned a successful response, mark the user as logged in
41 | if (res.status == 'success') {
42 | this._loggedIn(res);
43 | } else {
44 | }
45 | }, err => {
46 | console.error('ERROR', err);
47 | });
48 |
49 | return seq;
50 | }
51 |
52 | /**
53 | * Send a POST request to our signup endpoint with the data
54 | * the user entered on the form.
55 | */
56 | signup(accountInfo: any) {
57 | let seq = this.api.post('signup', accountInfo).share();
58 |
59 | seq.subscribe((res: any) => {
60 | // If the API returned a successful response, mark the user as logged in
61 | if (res.status == 'success') {
62 | this._loggedIn(res);
63 | }
64 | }, err => {
65 | console.error('ERROR', err);
66 | });
67 |
68 | return seq;
69 | }
70 |
71 | /**
72 | * Log the user out, which forgets the session
73 | */
74 | logout() {
75 | this._user = null;
76 | }
77 |
78 | /**
79 | * Process a login/signup response to store user data
80 | */
81 | _loggedIn(resp) {
82 | this._user = resp.user;
83 | }
84 | }
85 |
--------------------------------------------------------------------------------
/src/pages/tutorial/tutorial.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, MenuController, NavController, Platform } from 'ionic-angular';
3 |
4 | import { TranslateService } from '@ngx-translate/core';
5 |
6 | export interface Slide {
7 | title: string;
8 | description: string;
9 | image: string;
10 | }
11 |
12 | @IonicPage()
13 | @Component({
14 | selector: 'page-tutorial',
15 | templateUrl: 'tutorial.html'
16 | })
17 | export class TutorialPage {
18 | slides: Slide[];
19 | showSkip = true;
20 | dir: string = 'ltr';
21 |
22 | constructor(public navCtrl: NavController, public menu: MenuController, translate: TranslateService, public platform: Platform) {
23 | this.dir = platform.dir();
24 | translate.get(["TUTORIAL_SLIDE1_TITLE",
25 | "TUTORIAL_SLIDE1_DESCRIPTION",
26 | "TUTORIAL_SLIDE2_TITLE",
27 | "TUTORIAL_SLIDE2_DESCRIPTION",
28 | "TUTORIAL_SLIDE3_TITLE",
29 | "TUTORIAL_SLIDE3_DESCRIPTION",
30 | ]).subscribe(
31 | (values) => {
32 | console.log('Loaded values', values);
33 | this.slides = [
34 | {
35 | title: values.TUTORIAL_SLIDE1_TITLE,
36 | description: values.TUTORIAL_SLIDE1_DESCRIPTION,
37 | image: 'assets/img/ica-slidebox-img-1.png',
38 | },
39 | {
40 | title: values.TUTORIAL_SLIDE2_TITLE,
41 | description: values.TUTORIAL_SLIDE2_DESCRIPTION,
42 | image: 'assets/img/ica-slidebox-img-2.png',
43 | },
44 | {
45 | title: values.TUTORIAL_SLIDE3_TITLE,
46 | description: values.TUTORIAL_SLIDE3_DESCRIPTION,
47 | image: 'assets/img/ica-slidebox-img-3.png',
48 | }
49 | ];
50 | });
51 | }
52 |
53 | startApp() {
54 | this.navCtrl.setRoot('WelcomePage', {}, {
55 | animate: true,
56 | direction: 'forward'
57 | });
58 | }
59 |
60 | onSlideChangeStart(slider) {
61 | this.showSkip = !slider.isEnd();
62 | }
63 |
64 | ionViewDidEnter() {
65 | // the root left menu should be disabled on the tutorial page
66 | this.menu.enable(false);
67 | }
68 |
69 | ionViewWillLeave() {
70 | // enable the root left menu when leaving the tutorial page
71 | this.menu.enable(true);
72 | }
73 |
74 | }
75 |
--------------------------------------------------------------------------------
/src/mocks/providers/items.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 |
3 | import { Item } from '../../models/item';
4 |
5 | @Injectable()
6 | export class Items {
7 | items: Item[] = [];
8 |
9 | defaultItem: any = {
10 | "name": "Burt Bear",
11 | "profilePic": "assets/img/speakers/bear.jpg",
12 | "about": "Burt is a Bear.",
13 | };
14 |
15 |
16 | constructor() {
17 | let items = [
18 | {
19 | "name": "Burt Bear",
20 | "profilePic": "assets/img/speakers/bear.jpg",
21 | "about": "Burt is a Bear."
22 | },
23 | {
24 | "name": "Charlie Cheetah",
25 | "profilePic": "assets/img/speakers/cheetah.jpg",
26 | "about": "Charlie is a Cheetah."
27 | },
28 | {
29 | "name": "Donald Duck",
30 | "profilePic": "assets/img/speakers/duck.jpg",
31 | "about": "Donald is a Duck."
32 | },
33 | {
34 | "name": "Eva Eagle",
35 | "profilePic": "assets/img/speakers/eagle.jpg",
36 | "about": "Eva is an Eagle."
37 | },
38 | {
39 | "name": "Ellie Elephant",
40 | "profilePic": "assets/img/speakers/elephant.jpg",
41 | "about": "Ellie is an Elephant."
42 | },
43 | {
44 | "name": "Molly Mouse",
45 | "profilePic": "assets/img/speakers/mouse.jpg",
46 | "about": "Molly is a Mouse."
47 | },
48 | {
49 | "name": "Paul Puppy",
50 | "profilePic": "assets/img/speakers/puppy.jpg",
51 | "about": "Paul is a Puppy."
52 | }
53 | ];
54 |
55 | for (let item of items) {
56 | this.items.push(new Item(item));
57 | }
58 | }
59 |
60 | query(params?: any) {
61 | if (!params) {
62 | return this.items;
63 | }
64 |
65 | return this.items.filter((item) => {
66 | for (let key in params) {
67 | let field = item[key];
68 | if (typeof field == 'string' && field.toLowerCase().indexOf(params[key].toLowerCase()) >= 0) {
69 | return item;
70 | } else if (field == params[key]) {
71 | return item;
72 | }
73 | }
74 | return null;
75 | });
76 | }
77 |
78 | add(item: Item) {
79 | this.items.push(item);
80 | }
81 |
82 | delete(item: Item) {
83 | this.items.splice(this.items.indexOf(item), 1);
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/src/theme/variables.scss:
--------------------------------------------------------------------------------
1 | // Ionic Variables and Theming. For more info, please see:
2 | // http://ionicframework.com/docs/v2/theming/
3 | $font-path: "../assets/fonts";
4 |
5 | @import "ionic.globals";
6 |
7 |
8 | // Shared Variables
9 | // --------------------------------------------------
10 | // To customize the look and feel of this app, you can override
11 | // the Sass variables found in Ionic's source scss files.
12 | // To view all the possible Ionic variables, see:
13 | // http://ionicframework.com/docs/v2/theming/overriding-ionic-variables/
14 |
15 | $text-color: #000;
16 | $background-color: #fff;
17 |
18 |
19 | // Named Color Variables
20 | // --------------------------------------------------
21 | // Named colors makes it easy to reuse colors on various components.
22 | // It's highly recommended to change the default colors
23 | // to match your app's branding. Ionic uses a Sass map of
24 | // colors so you can add, rename and remove colors as needed.
25 | // The "primary" color is the only required color in the map.
26 |
27 | $colors: (
28 | primary: #488aff,
29 | secondary: #32db64,
30 | danger: #f53d3d,
31 | light: #f4f4f4,
32 | dark: #222
33 | );
34 |
35 |
36 | // App iOS Variables
37 | // --------------------------------------------------
38 | // iOS only Sass variables can go here
39 |
40 |
41 |
42 |
43 | // App Material Design Variables
44 | // --------------------------------------------------
45 | // Material Design only Sass variables can go here
46 |
47 |
48 |
49 |
50 | // App Windows Variables
51 | // --------------------------------------------------
52 | // Windows only Sass variables can go here
53 |
54 |
55 |
56 |
57 | // App Theme
58 | // --------------------------------------------------
59 | // Ionic apps can have different themes applied, which can
60 | // then be future customized. This import comes last
61 | // so that the above variables are used and Ionic's
62 | // default are overridden.
63 |
64 | @import "ionic.theme.default";
65 |
66 |
67 | // Ionicons
68 | // --------------------------------------------------
69 | // The premium icon font for Ionic. For more info, please see:
70 | // http://ionicframework.com/docs/v2/ionicons/
71 |
72 | @import "ionic.ionicons";
73 |
74 |
75 | // Fonts
76 | // --------------------------------------------------
77 |
78 | @import "roboto";
79 | @import "noto-sans";
80 |
--------------------------------------------------------------------------------
/src/assets/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "Back",
3 |
4 | "NAME": "Name",
5 | "EMAIL": "Email",
6 | "USERNAME": "Username",
7 | "PASSWORD": "Password",
8 | "LOGIN": "Sign in",
9 | "SIGNUP": "Sign up",
10 |
11 | "TAB1_TITLE": "Items",
12 | "TAB2_TITLE": "Search",
13 | "TAB3_TITLE": "Settings",
14 |
15 | "MAP_TITLE": "Map",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "Skip",
18 | "TUTORIAL_CONTINUE_BUTTON": "Continue",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "Welcome to the Ionic Super Starter",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": "The Ionic Super Starter is a fully-featured Ionic starter with many pre-built pages and best practices.",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "How to use the Super Starter",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "Assemble the various page types you want and remove the ones you don't. We've provided many common mobile app page layouts, like login and signup pages, tabs, and this tutorial page.",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "Getting Started",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "Need help? Check out the Super Starter README for a full tutorial",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "Ready to Play?",
30 |
31 | "WELCOME_INTRO": "The starting point for your next great Ionic app",
32 |
33 | "SETTINGS_TITLE": "Settings",
34 | "SETTINGS_OPTION1": "Option 1",
35 | "SETTINGS_OPTION2": "Option 2",
36 | "SETTINGS_OPTION3": "Option 3",
37 | "SETTINGS_OPTION4": "Option 4",
38 |
39 | "SETTINGS_PROFILE_BUTTON": "Edit Profile",
40 |
41 | "SETTINGS_PAGE_PROFILE": "Edit Profile",
42 |
43 | "WELCOME_TITLE": "Welcome",
44 |
45 | "LOGIN_TITLE": "Sign in",
46 | "LOGIN_ERROR": "Unable to sign in. Please check your account information and try again.",
47 | "LOGIN_BUTTON": "Sign in",
48 | "SIGNUP_TITLE": "Sign up",
49 | "SIGNUP_ERROR": "Unable to create account. Please check your account information and try again.",
50 | "SIGNUP_BUTTON": "Sign up",
51 |
52 | "LIST_MASTER_TITLE": "Items",
53 |
54 | "ITEM_CREATE_TITLE": "New Item",
55 | "ITEM_CREATE_CHOOSE_IMAGE": "Add Image",
56 |
57 | "ITEM_NAME_PLACEHOLDER": "Name",
58 | "ITEM_ABOUT_PLACEHOLDER": "About",
59 |
60 | "DONE_BUTTON": "Done",
61 | "CANCEL_BUTTON": "Cancel",
62 | "DELETE_BUTTON": "Delete",
63 |
64 | "CARDS_TITLE": "Social",
65 |
66 | "SEARCH_TITLE": "Search",
67 | "SEARCH_PLACEHOLDER": "Search the items list, e.g. \"Donald Duck\""
68 | }
--------------------------------------------------------------------------------
/src/pages/item-create/item-create.ts:
--------------------------------------------------------------------------------
1 | import { Component, ViewChild } from '@angular/core';
2 | import { FormBuilder, FormGroup, Validators } from '@angular/forms';
3 | import { Camera } from '@ionic-native/camera';
4 | import { IonicPage, NavController, ViewController } from 'ionic-angular';
5 |
6 | @IonicPage()
7 | @Component({
8 | selector: 'page-item-create',
9 | templateUrl: 'item-create.html'
10 | })
11 | export class ItemCreatePage {
12 | @ViewChild('fileInput') fileInput;
13 |
14 | isReadyToSave: boolean;
15 |
16 | item: any;
17 |
18 | form: FormGroup;
19 |
20 | constructor(public navCtrl: NavController, public viewCtrl: ViewController, formBuilder: FormBuilder, public camera: Camera) {
21 | this.form = formBuilder.group({
22 | profilePic: [''],
23 | name: ['', Validators.required],
24 | about: ['']
25 | });
26 |
27 | // Watch the form for changes, and
28 | this.form.valueChanges.subscribe((v) => {
29 | this.isReadyToSave = this.form.valid;
30 | });
31 | }
32 |
33 | ionViewDidLoad() {
34 |
35 | }
36 |
37 | getPicture() {
38 | if (Camera['installed']()) {
39 | this.camera.getPicture({
40 | destinationType: this.camera.DestinationType.DATA_URL,
41 | targetWidth: 96,
42 | targetHeight: 96
43 | }).then((data) => {
44 | this.form.patchValue({ 'profilePic': 'data:image/jpg;base64,' + data });
45 | }, (err) => {
46 | alert('Unable to take photo');
47 | })
48 | } else {
49 | this.fileInput.nativeElement.click();
50 | }
51 | }
52 |
53 | processWebImage(event) {
54 | let reader = new FileReader();
55 | reader.onload = (readerEvent) => {
56 |
57 | let imageData = (readerEvent.target as any).result;
58 | this.form.patchValue({ 'profilePic': imageData });
59 | };
60 |
61 | reader.readAsDataURL(event.target.files[0]);
62 | }
63 |
64 | getProfileImageStyle() {
65 | return 'url(' + this.form.controls['profilePic'].value + ')'
66 | }
67 |
68 | /**
69 | * The user cancelled, so we dismiss without sending data back.
70 | */
71 | cancel() {
72 | this.viewCtrl.dismiss();
73 | }
74 |
75 | /**
76 | * The user is done and wants to create the item, so return it
77 | * back to the presenter.
78 | */
79 | done() {
80 | if (!this.form.valid) { return; }
81 | this.viewCtrl.dismiss(this.form.value);
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/src/assets/i18n/ar.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "رجوع",
3 |
4 | "NAME": "الاسم",
5 | "EMAIL": "البريد الإلكتروني",
6 | "USERNAME": "اسم المستخدم",
7 | "PASSWORD": "كلمة السر",
8 | "LOGIN": "تسجيل الدخول",
9 | "SIGNUP": "انشاء الحساب",
10 |
11 | "TAB1_TITLE": "عناصر",
12 | "TAB2_TITLE": "بحث",
13 | "TAB3_TITLE": "إعدادات",
14 |
15 | "MAP_TITLE": "خريطة",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "تخطى",
18 | "TUTORIAL_CONTINUE_BUTTON": "استمر",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "مرحبا بكم في عدة البدء Ionic Super Starter",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter عبارة عن عدة لبدء التطوير بواسطة Ionic. وهي تتميز بالعديد من الصفحات وأفضل الممارسات.",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "كيفية استخدام Ionic Super Starter",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "يمكنك تجميع أنواع الصفحات المختلفة التي ترغب بها وإزالة الباقي. وتوفر عدة البدء العديد من تخطيطات الصفحات الاكثر شيوعا في التطبيقات النقالة، مثل صفحات تسجيل الدخول وانشاء الحساب، علامات التبويب، وهذه الصفحة التعليمية.",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "كيفية الشروع",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "هل تحتاج إلى مساعدة؟ يمكنك الاطلاع على README لبرنامج تعليمي كامل على Ionic Super Starter",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "مستعد للعب؟",
30 |
31 | "WELCOME_INTRO": "نقطة الانطلاق لتطبيق Ionic العظيم الخاص بك",
32 |
33 | "SETTINGS_TITLE": "إعدادات",
34 | "SETTINGS_OPTION1": "خيار 1",
35 | "SETTINGS_OPTION2": "خيار 2",
36 | "SETTINGS_OPTION3": "خيار 3",
37 | "SETTINGS_OPTION4": "خيار 4",
38 |
39 | "SETTINGS_PROFILE_BUTTON": "تعديل الملف الشخصي",
40 |
41 | "SETTINGS_PAGE_PROFILE": "تعديل الملف الشخصي",
42 |
43 | "WELCOME_TITLE": "مرحبا",
44 |
45 | "LOGIN_TITLE": "تسجيل الدخول",
46 | "LOGIN_ERROR": "تعذر تسجيل الدخول. يرجى التحقق من معلومات حسابك وإعادة المحاولة.",
47 | "LOGIN_BUTTON": "تسجيل الدخول",
48 | "SIGNUP_TITLE": "انشاء الحساب",
49 | "SIGNUP_ERROR": "تعذر إنشاء الحساب. يرجى التحقق من معلومات حسابك وإعادة المحاولة.",
50 | "SIGNUP_BUTTON": "انشاء الحساب",
51 |
52 | "LIST_MASTER_TITLE": "عناصر",
53 |
54 | "ITEM_CREATE_TITLE": "عنصر جديد",
55 | "ITEM_CREATE_CHOOSE_IMAGE": "إضافة صورة",
56 |
57 | "ITEM_NAME_PLACEHOLDER": "الاسم",
58 | "ITEM_ABOUT_PLACEHOLDER": "عن",
59 |
60 | "DONE_BUTTON": "انهاء",
61 | "CANCEL_BUTTON": "الغاء",
62 | "DELETE_BUTTON": "حذف",
63 |
64 | "CARDS_TITLE": "اجتماعي",
65 |
66 | "SEARCH_TITLE": "بحث",
67 | "SEARCH_PLACEHOLDER": "ابحث في قائمة العناصر، مثل \"Donald Duck\""
68 | }
--------------------------------------------------------------------------------
/src/assets/i18n/sk.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "Späť",
3 |
4 | "NAME": "Meno",
5 | "EMAIL": "Email",
6 | "USERNAME": "Prihlasovacie meno",
7 | "PASSWORD": "Heslo",
8 | "LOGIN": "Prihlásiť",
9 | "SIGNUP": "Registrovať",
10 |
11 | "TAB1_TITLE": "Položky",
12 | "TAB2_TITLE": "Hľadať",
13 | "TAB3_TITLE": "Nastavenia",
14 |
15 | "MAP_TITLE": "Mapa",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "Preskočiť",
18 | "TUTORIAL_CONTINUE_BUTTON": "Pokračovať",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "Vitajte v Ionic Super Starter",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter kompletný Ionic starter projekt s mnohými predkonfigurovanými stránkami a doporučenými postupmi.",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "Ako použiť Super Starter",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "Upravte si stránky, ktoré vám vyhovujú a ostatné odstránte. Poskytujeme mnoho šablón mobilných stránok, ako napríklad stránka na prihlásenie, registráciu, záložky a tento návod.",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "Začíname",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "Potrebujete pomoc? Prečítajte si Super Starter README, v ktorom je popísaný komplený návod",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "Ste pripravený?",
30 |
31 |
32 |
33 | "WELCOME_INTRO": "Prvý krok vašej novej Ionic aplikácie.",
34 |
35 | "SETTINGS_TITLE": "Nastavenia",
36 | "SETTINGS_OPTION1": "Možnosť 1",
37 | "SETTINGS_OPTION2": "Možnosť 2",
38 | "SETTINGS_OPTION3": "Možnosť 3",
39 | "SETTINGS_OPTION4": "Možnosť 4",
40 |
41 | "SETTINGS_PROFILE_BUTTON": "Upraviť profil",
42 |
43 |
44 | "SETTINGS_PAGE_PROFILE": "Profil",
45 |
46 |
47 | "WELCOME_TITLE": "Vitajte",
48 |
49 |
50 |
51 |
52 |
53 | "LOGIN_TITLE": "Prihlásenie",
54 | "LOGIN_ERROR": "Nedá sa prihlásiť. Skotrolujte zadané informácie a skuste to znova.",
55 | "LOGIN_BUTTON": "Prihlásiť",
56 | "SIGNUP_TITLE": "Registrácia",
57 | "SIGNUP_ERROR": "Nedá sa vytvoriť konto. Skotrolujte zadané informácie a skuste to znova.",
58 | "SIGNUP_BUTTON": "Registrovať",
59 |
60 | "LIST_MASTER_TITLE": "Položky",
61 |
62 | "ITEM_CREATE_TITLE": "Nová položka",
63 | "ITEM_CREATE_CHOOSE_IMAGE": "Pridať obrázok",
64 |
65 |
66 |
67 |
68 |
69 | "ITEM_NAME_PLACEHOLDER": "Názov",
70 | "ITEM_ABOUT_PLACEHOLDER": "O položke",
71 |
72 | "DONE_BUTTON": "Hotovo",
73 | "CANCEL_BUTTON": "Zrušiť",
74 | "DELETE_BUTTON": "Vymazať",
75 |
76 | "CARDS_TITLE": "Soc. siete",
77 |
78 | "SEARCH_TITLE": "Hľadať",
79 | "SEARCH_PLACEHOLDER": "Napíšte hľadaný výraz, e.g. \"Donald Duck\""
80 | }
--------------------------------------------------------------------------------
/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { HttpClient, HttpClientModule } from '@angular/common/http';
2 | import { ErrorHandler, NgModule } from '@angular/core';
3 | import { BrowserModule } from '@angular/platform-browser';
4 | import { Camera } from '@ionic-native/camera';
5 | import { SplashScreen } from '@ionic-native/splash-screen';
6 | import { StatusBar } from '@ionic-native/status-bar';
7 | import { IonicStorageModule, Storage } from '@ionic/storage';
8 | import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
9 | import { TranslateHttpLoader } from '@ngx-translate/http-loader';
10 | import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
11 |
12 | import { Items } from '../mocks/providers/items';
13 | import { Settings } from '../providers/providers';
14 | import { User } from '../providers/providers';
15 | import { Api } from '../providers/providers';
16 | import { MyApp } from './app.component';
17 |
18 | // The translate loader needs to know where to load i18n files
19 | // in Ionic's static asset pipeline.
20 | export function createTranslateLoader(http: HttpClient) {
21 | return new TranslateHttpLoader(http, './assets/i18n/', '.json');
22 | }
23 |
24 | export function provideSettings(storage: Storage) {
25 | /**
26 | * The Settings provider takes a set of default settings for your app.
27 | *
28 | * You can add new settings options at any time. Once the settings are saved,
29 | * these values will not overwrite the saved values (this can be done manually if desired).
30 | */
31 | return new Settings(storage, {
32 | option1: true,
33 | option2: 'Ionitron J. Framework',
34 | option3: '3',
35 | option4: 'Hello'
36 | });
37 | }
38 |
39 | @NgModule({
40 | declarations: [
41 | MyApp
42 | ],
43 | imports: [
44 | BrowserModule,
45 | HttpClientModule,
46 | TranslateModule.forRoot({
47 | loader: {
48 | provide: TranslateLoader,
49 | useFactory: (createTranslateLoader),
50 | deps: [HttpClient]
51 | }
52 | }),
53 | IonicModule.forRoot(MyApp),
54 | IonicStorageModule.forRoot()
55 | ],
56 | bootstrap: [IonicApp],
57 | entryComponents: [
58 | MyApp
59 | ],
60 | providers: [
61 | Api,
62 | Items,
63 | User,
64 | Camera,
65 | SplashScreen,
66 | StatusBar,
67 | { provide: Settings, useFactory: provideSettings, deps: [Storage] },
68 | // Keep this to enable Ionic's runtime error handling during development
69 | { provide: ErrorHandler, useClass: IonicErrorHandler }
70 | ]
71 | })
72 | export class AppModule { }
73 |
--------------------------------------------------------------------------------
/src/assets/i18n/pt-br.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "Voltar",
3 |
4 | "NAME": "Nome",
5 | "EMAIL": "Email",
6 | "USERNAME": "Nome de Usuário",
7 | "PASSWORD": "Senha",
8 | "LOGIN": "Entrar",
9 | "SIGNUP": "Cadastre-se",
10 |
11 | "TAB1_TITLE": "Itens",
12 | "TAB2_TITLE": "Busca",
13 | "TAB3_TITLE": "Configurações",
14 |
15 | "MAP_TITLE": "Mapa",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "Pular",
18 | "TUTORIAL_CONTINUE_BUTTON": "Continuar",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "Bem-vindo ao Ionic Super Starter",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": "O Ionic Super Starter é um starter para Ionic completo, com diversos componentes e páginas prontas para ser utilizado como guia de melhores práticas.",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "Como utilizar o Super Starter",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "Combine os tipos de páginas que você quer e remova aquelas que não precisa. No starter existem muitos casos de uso comuns de layouts e páginas como login, cadastro, abas e de tutorial.",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "Iniciando o projeto",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "Precisa de ajuda? Dê uma olhada no README do Super Starter para um tutorial completo",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "Pronto para Usar?",
30 |
31 | "WELCOME_INTRO": "O ponto de partida para seu próximo app feito no Ionic",
32 |
33 | "SETTINGS_TITLE": "Configurações",
34 | "SETTINGS_OPTION1": "Opção 1",
35 | "SETTINGS_OPTION2": "Opção 2",
36 | "SETTINGS_OPTION3": "Opção 3",
37 | "SETTINGS_OPTION4": "Opção 4",
38 |
39 | "SETTINGS_PROFILE_BUTTON": "Editar Perfil",
40 |
41 | "SETTINGS_PAGE_PROFILE": "Editar Perfil",
42 |
43 | "WELCOME_TITLE": "Bem-vindo",
44 |
45 | "LOGIN_TITLE": "Entrar",
46 | "LOGIN_ERROR": "Não foi possível entrar na sua conta. Verifique seus dados e tente novamente.",
47 | "LOGIN_BUTTON": "Entrar",
48 | "SIGNUP_TITLE": "Cadastre-se",
49 | "SIGNUP_ERROR": "Não foi possível criar sua conta. Verifique seus dados e tente novamente.",
50 | "SIGNUP_BUTTON": "Cadastre-se",
51 |
52 | "LIST_MASTER_TITLE": "Itens",
53 |
54 | "ITEM_CREATE_TITLE": "Novo Item",
55 | "ITEM_CREATE_CHOOSE_IMAGE": "Adicionar Imagem",
56 |
57 | "ITEM_NAME_PLACEHOLDER": "Nome",
58 | "ITEM_ABOUT_PLACEHOLDER": "Sobre",
59 |
60 | "DONE_BUTTON": "Pronto",
61 | "CANCEL_BUTTON": "Cancelar",
62 | "DELETE_BUTTON": "Apagar",
63 |
64 | "CARDS_TITLE": "Social",
65 |
66 | "SEARCH_TITLE": "Busca",
67 | "SEARCH_PLACEHOLDER": "Procure um item da lista, ex: \"Donald Duck\""
68 | }
--------------------------------------------------------------------------------
/src/assets/i18n/sn.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "Dzoka Shure",
3 |
4 | "NAME": "Zita",
5 | "EMAIL": "Tsambambozha",
6 | "USERNAME": "Zitamushandisi",
7 | "PASSWORD": "Chihori",
8 | "LOGIN": "Sign mu",
9 | "SIGNUP": "Gadzira homwe yejikichidzo",
10 |
11 | "TAB1_TITLE": "Maaitemu",
12 | "TAB2_TITLE": "Tsvaga",
13 | "TAB3_TITLE": "Gadziro",
14 |
15 | "MAP_TITLE": "Mepu",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "Darika",
18 | "TUTORIAL_CONTINUE_BUTTON": "Enderera",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "Tinokugachirai ku Ionic Super Starter",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter i Ionic Starter yakarungwa zvakakwanira nemapeji akagadzirwa kare nenzira dzakanaka dzinotenderwa",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "Mashandisiro eSuper Starter",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "Kororodza mapeji akasiyana siyana aunoda ,uchibvisa ayo ausingadi, Tapa huwarirwa hwakawanda unozivikanwa sokunge mapeji e login ne sign up,tabs uye peji rino rechidzidzo",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "Kuvamba matangiro",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "Unotsvaga rubatsiro? Ongorora Super Starter README kuti uwane chidzidzo chizere",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "Wagadzirira kutamba?",
30 |
31 | "WELCOME_INTRO": "Pekutangira kwako kugadzira jikichidzo guru yeIonic",
32 |
33 | "SETTINGS_TITLE": "Gadziro",
34 | "SETTINGS_OPTION1": "Sarudzo yekutanga",
35 | "SETTINGS_OPTION2": "Sarudzo yepiri",
36 | "SETTINGS_OPTION3": "Sarudzo yechitatu",
37 | "SETTINGS_OPTION4": "Sarudzo yechina",
38 |
39 | "SETTINGS_PROFILE_BUTTON": "Pepeta Profile",
40 |
41 | "SETTINGS_PAGE_PROFILE": "Pepeta Profile",
42 |
43 | "WELCOME_TITLE": "Tinokuchingamidza",
44 |
45 | "LOGIN_TITLE": "Sign mu",
46 | "LOGIN_ERROR": "Takundikana kuita sign in. Tinokumbirawo mutarire homwe yenyu yejikichidzo mugoedza zvakare",
47 | "LOGIN_BUTTON": "Sign mu",
48 | "SIGNUP_TITLE": "Gadzira homwe yejikichidzo",
49 | "SIGNUP_ERROR": "Takundikana kugadzira homwe yejikichidzo ,Tinokumbirawo mutarire zvakatarwa pahomwe yenyu yejikichidzo moedza zvakare.",
50 | "SIGNUP_BUTTON": "Gadzira homwe yejikichidzo",
51 |
52 | "LIST_MASTER_TITLE": "maaitemu",
53 |
54 | "ITEM_CREATE_TITLE": "Aitemu itsva",
55 | "ITEM_CREATE_CHOOSE_IMAGE": "Wedzera mufananidzo",
56 |
57 | "ITEM_NAME_PLACEHOLDER": "Zita",
58 | "ITEM_ABOUT_PLACEHOLDER": "Nezve",
59 |
60 | "DONE_BUTTON": "aita",
61 | "CANCEL_BUTTON": "kanzura",
62 | "DELETE_BUTTON": "Dzima",
63 |
64 | "CARDS_TITLE": "Social",
65 |
66 | "SEARCH_TITLE": "Tsvaga",
67 | "SEARCH_PLACEHOLDER": "Tsvaga mumaaitemu sokuti \"Donald Duck\""
68 | }
--------------------------------------------------------------------------------
/src/assets/i18n/it.json:
--------------------------------------------------------------------------------
1 | {
2 | "BACK_BUTTON_TEXT": "Indietro",
3 |
4 | "NAME": "Nome",
5 | "EMAIL": "Email",
6 | "USERNAME": "Nome utente",
7 | "PASSWORD": "Password",
8 | "LOGIN": "Login",
9 | "SIGNUP": "Registrati",
10 |
11 | "TAB1_TITLE": "Elenco",
12 | "TAB2_TITLE": "Ricerca",
13 | "TAB3_TITLE": "Impostazioni",
14 |
15 | "MAP_TITLE": "Mappa",
16 |
17 | "TUTORIAL_SKIP_BUTTON": "Salta",
18 | "TUTORIAL_CONTINUE_BUTTON": "Continua",
19 |
20 | "TUTORIAL_SLIDE1_TITLE": "Benvenuti in Ionic Super Starter",
21 | "TUTORIAL_SLIDE1_DESCRIPTION": "Ionic Super Starter è un applicazione di partenza per Ionic che contiene molte pagine di esempio già pronte realizzate seguendo delle best practices.",
22 |
23 | "TUTORIAL_SLIDE2_TITLE": "Come usare Super Starter",
24 | "TUTORIAL_SLIDE2_DESCRIPTION": "Mantenete le pagine che volete e rimuovete quelle che non vi servono. Troverete diverse pagine di uso comune in questa applicazione come le pagine per il login e la registrazione, layout con tabs, e questa pagina di tutorial.",
25 |
26 | "TUTORIAL_SLIDE3_TITLE": "Come iniziare",
27 | "TUTORIAL_SLIDE3_DESCRIPTION": "Serve aiuto? Leggete il README del progetto Super Starter per avere maggiori informazioni sul tutorial completo.",
28 |
29 | "TUTORIAL_SLIDE4_TITLE": "Pronti ad iniziare?",
30 |
31 | "WELCOME_INTRO": "Il punto di partenza per la tua prossima applicazione Ionic",
32 |
33 | "SETTINGS_TITLE": "Impostazioni",
34 | "SETTINGS_OPTION1": "Opzione 1",
35 | "SETTINGS_OPTION2": "Opzione 2",
36 | "SETTINGS_OPTION3": "Opzione 3",
37 | "SETTINGS_OPTION4": "Opzione 4",
38 |
39 | "SETTINGS_PROFILE_BUTTON": "Modifica Profilo",
40 |
41 | "SETTINGS_PAGE_PROFILE": "Modifica Profilo",
42 |
43 | "WELCOME_TITLE": "Benvenuto",
44 |
45 | "LOGIN_TITLE": "Login",
46 | "LOGIN_ERROR": "Non è possibile accedere. Ricontrollare le informazioni utente digitate prima di riprovare.",
47 | "LOGIN_BUTTON": "Accedi",
48 | "SIGNUP_TITLE": "Registrazione",
49 | "SIGNUP_ERROR": "Non è possibile creare l'utente. Assicurarsi di aver inserito le informazioni utente correttamente e poi riprovare.",
50 | "SIGNUP_BUTTON": "Registrati",
51 |
52 | "LIST_MASTER_TITLE": "Elenco elementi",
53 |
54 | "ITEM_CREATE_TITLE": "Nuovo elemento",
55 | "ITEM_CREATE_CHOOSE_IMAGE": "Aggiungi immagine",
56 |
57 | "ITEM_NAME_PLACEHOLDER": "Nome",
58 | "ITEM_ABOUT_PLACEHOLDER": "Informazioni",
59 |
60 | "DONE_BUTTON": "Fatto",
61 | "CANCEL_BUTTON": "Annulla",
62 | "DELETE_BUTTON": "Elimina",
63 |
64 | "CARDS_TITLE": "Social",
65 |
66 | "SEARCH_TITLE": "Ricerca",
67 | "SEARCH_PLACEHOLDER": "Trova elementi in lista, ex. \"Donald Duck\""
68 | }
--------------------------------------------------------------------------------
/src/pages/settings/settings.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { FormBuilder, FormGroup } from '@angular/forms';
3 | import { TranslateService } from '@ngx-translate/core';
4 | import { IonicPage, NavController, NavParams } from 'ionic-angular';
5 |
6 | import { Settings } from '../../providers/providers';
7 |
8 | /**
9 | * The Settings page is a simple form that syncs with a Settings provider
10 | * to enable the user to customize settings for the app.
11 | *
12 | */
13 | @IonicPage()
14 | @Component({
15 | selector: 'page-settings',
16 | templateUrl: 'settings.html'
17 | })
18 | export class SettingsPage {
19 | // Our local settings object
20 | options: any;
21 |
22 | settingsReady = false;
23 |
24 | form: FormGroup;
25 |
26 | profileSettings = {
27 | page: 'profile',
28 | pageTitleKey: 'SETTINGS_PAGE_PROFILE'
29 | };
30 |
31 | page: string = 'main';
32 | pageTitleKey: string = 'SETTINGS_TITLE';
33 | pageTitle: string;
34 |
35 | subSettings: any = SettingsPage;
36 |
37 | constructor(public navCtrl: NavController,
38 | public settings: Settings,
39 | public formBuilder: FormBuilder,
40 | public navParams: NavParams,
41 | public translate: TranslateService) {
42 | }
43 |
44 | _buildForm() {
45 | let group: any = {
46 | option1: [this.options.option1],
47 | option2: [this.options.option2],
48 | option3: [this.options.option3]
49 | };
50 |
51 | switch (this.page) {
52 | case 'main':
53 | break;
54 | case 'profile':
55 | group = {
56 | option4: [this.options.option4]
57 | };
58 | break;
59 | }
60 | this.form = this.formBuilder.group(group);
61 |
62 | // Watch the form for changes, and
63 | this.form.valueChanges.subscribe((v) => {
64 | this.settings.merge(this.form.value);
65 | });
66 | }
67 |
68 | ionViewDidLoad() {
69 | // Build an empty form for the template to render
70 | this.form = this.formBuilder.group({});
71 | }
72 |
73 | ionViewWillEnter() {
74 | // Build an empty form for the template to render
75 | this.form = this.formBuilder.group({});
76 |
77 | this.page = this.navParams.get('page') || this.page;
78 | this.pageTitleKey = this.navParams.get('pageTitleKey') || this.pageTitleKey;
79 |
80 | this.translate.get(this.pageTitleKey).subscribe((res) => {
81 | this.pageTitle = res;
82 | })
83 |
84 | this.settings.load().then(() => {
85 | this.settingsReady = true;
86 | this.options = this.settings.allSettings;
87 |
88 | this._buildForm();
89 | });
90 | }
91 |
92 | ngOnChanges() {
93 | console.log('Ng All Changes');
94 | }
95 | }
96 |
--------------------------------------------------------------------------------
/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, ViewChild } from '@angular/core';
2 | import { SplashScreen } from '@ionic-native/splash-screen';
3 | import { StatusBar } from '@ionic-native/status-bar';
4 | import { TranslateService } from '@ngx-translate/core';
5 | import { Config, Nav, Platform } from 'ionic-angular';
6 |
7 | import { FirstRunPage } from '../pages/pages';
8 | import { Settings } from '../providers/providers';
9 |
10 | @Component({
11 | template: `
12 |
13 |
14 | Pages
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 | `
28 | })
29 | export class MyApp {
30 | rootPage = FirstRunPage;
31 |
32 | @ViewChild(Nav) nav: Nav;
33 |
34 | pages: any[] = [
35 | { title: 'Tutorial', component: 'TutorialPage' },
36 | { title: 'Welcome', component: 'WelcomePage' },
37 | { title: 'Tabs', component: 'TabsPage' },
38 | { title: 'Cards', component: 'CardsPage' },
39 | { title: 'Content', component: 'ContentPage' },
40 | { title: 'Login', component: 'LoginPage' },
41 | { title: 'Signup', component: 'SignupPage' },
42 | { title: 'Master Detail', component: 'ListMasterPage' },
43 | { title: 'Menu', component: 'MenuPage' },
44 | { title: 'Settings', component: 'SettingsPage' },
45 | { title: 'Search', component: 'SearchPage' }
46 | ]
47 |
48 | constructor(private translate: TranslateService, platform: Platform, settings: Settings, private config: Config, private statusBar: StatusBar, private splashScreen: SplashScreen) {
49 | platform.ready().then(() => {
50 | // Okay, so the platform is ready and our plugins are available.
51 | // Here you can do any higher level native things you might need.
52 | this.statusBar.styleDefault();
53 | this.splashScreen.hide();
54 | });
55 | this.initTranslate();
56 | }
57 |
58 | initTranslate() {
59 | // Set the default language for translation strings, and the current language.
60 | this.translate.setDefaultLang('en');
61 | const browserLang = this.translate.getBrowserLang();
62 |
63 | if (browserLang) {
64 | if (browserLang === 'zh') {
65 | const browserCultureLang = this.translate.getBrowserCultureLang();
66 |
67 | if (browserCultureLang.match(/-CN|CHS|Hans/i)) {
68 | this.translate.use('zh-cmn-Hans');
69 | } else if (browserCultureLang.match(/-TW|CHT|Hant/i)) {
70 | this.translate.use('zh-cmn-Hant');
71 | }
72 | } else {
73 | this.translate.use(this.translate.getBrowserLang());
74 | }
75 | }
76 | else {
77 | this.translate.use('en'); // Set your language here
78 | }
79 |
80 | this.translate.get(['BACK_BUTTON_TEXT']).subscribe(values => {
81 | this.config.set('ios', 'backButtonText', values.BACK_BUTTON_TEXT);
82 | });
83 | }
84 |
85 | openPage(page) {
86 | // Reset the content nav to have just this page
87 | // we wouldn't want the back button to show in this scenario
88 | this.nav.setRoot(page.component);
89 | }
90 | }
91 |
--------------------------------------------------------------------------------