Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 38 additions & 21 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,24 +1,41 @@
# Logs
logs
*.log
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
83 changes: 23 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,36 @@
# React + TypeScript + Vite
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
## Getting Started

Currently, two official plugins are available:
First, run the development server:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

## React Compiler
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

## Expanding the ESLint configuration
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
## Learn More

```js
export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
To learn more about Next.js, take a look at the following resources:

// Remove tseslint.configs.recommended and replace with this
tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
tseslint.configs.stylisticTypeChecked,
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

// Other configs...
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
## Deploy on Vercel

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
20 changes: 20 additions & 0 deletions amplify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
applications:
- frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- npm run compile --workspace=apps/server
- npm run build --workspace=apps/webapp
artifacts:
baseDirectory: app/webapp/.next
files:
- "**/*"
cache:
paths:
- .next/cache/**/*
- node_modules/**/*
buildPath: /
appRoot: apps/webapp
Binary file added app/favicon.ico
Binary file not shown.
5 changes: 5 additions & 0 deletions src/App.css → app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,8 @@
@plugin "daisyui" {
themes: light --default, dark --prefersdark, retro;
}

a, h1, h2, h3, h4, h5, h6, p {
color: #793205;
}

16 changes: 7 additions & 9 deletions src/pages/HistoryPage.tsx → app/history/page.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
function HistoryPage() {
export default function HistoryPage() {
const years = [2025, 2024, 2023, 2022];

return (
<div className="min-h-screen bg-base-200 flex flex-col items-center py-12">
<div className="card w-full max-w-md bg-base-100 shadow-xl">
<div className="min-h-screen bg-[#e4d8b4] flex flex-col items-center py-12">
<div className="card w-full max-w-md bg-[#ece3ca] shadow-xl">
<div className="card-body">
<h1 className="card-title text-3xl font-bold text-primary mb-4">
☕ History
Expand All @@ -12,14 +12,14 @@ function HistoryPage() {
Previous JavaZone conferences:
</p>

<ul className="menu bg-base-200 rounded-box w-full">
<ul className="menu bg-[#e4d8b4] rounded-box w-full">
{years.map((year) => (
<li key={year}>
<a
href={`https://${year}.javazone.no`}
target="_blank"
rel="noopener noreferrer"
className="justify-between hover:bg-primary hover:text-primary-content"
className="justify-between hover:bg-[#cfc4a3]"
>
JavaZone {year}
<span className="badge badge-outline">Visit</span>
Expand All @@ -30,7 +30,5 @@ function HistoryPage() {
</div>
</div>
</div>
);
}

export default HistoryPage;
)
}
50 changes: 50 additions & 0 deletions app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import type {Metadata} from "next";
import {Geist, Geist_Mono} from "next/font/google";
import "./globals.css";
import React from "react";

const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
});

const geistMono = Geist_Mono({
variable: "--font-geist-mono",
subsets: ["latin"],
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
};

export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
>
<main>
<header className="navbar bg-[#ece3ca] shadow-sm">
<section className="flex-1">
<a className="btn btn-ghost text-xl hover:bg-[#cfc4a3]" href={"/"}>Info</a>
<a className="btn btn-ghost text-xl hover:bg-[#cfc4a3]" href={"/history"}>History</a>
</section>
<section className="flex-none">
<h1>JavaZone</h1>
</section>
</header>
{children}
</main>
<footer className="dock dock-xs bg-[#ece3ca]">
<a href={"https://www.java.no"}>Made by javaBin</a>
<a href={"https://java.no/principles"}>Code of conduct</a>
</footer>
</body>
</html>
);
}
16 changes: 16 additions & 0 deletions app/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import Image from "next/image";

export default function Home() {
return (
<section className="hero bg-[#e4d8b4] min-h-screen">
<div className="hero-content text-center">
<div className="max-w-md">
<h1 className="text-5xl font-bold">JavaZone 2026</h1>
<p className="py-6">
Coming September 2026. More information coming soon
</p>
</div>
</div>
</section>
);
}
9 changes: 4 additions & 5 deletions src/pages/PartnerPage.tsx → app/partner/page.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
function PartnerPage() {
export default function PartnerPage() {
return (
<>
<h1 className="text-3xl font-bold underline">Partner page</h1>
<p>Info about partners</p>
</>)
}

export default PartnerPage;
</>
)
}
23 changes: 0 additions & 23 deletions eslint.config.js

This file was deleted.

18 changes: 18 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";

const eslintConfig = defineConfig([
...nextVitals,
...nextTs,
// Override default ignores of eslint-config-next.
globalIgnores([
// Default ignores of eslint-config-next:
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
]),
]);

export default eslintConfig;
13 changes: 0 additions & 13 deletions index.html

This file was deleted.

7 changes: 7 additions & 0 deletions next.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import type { NextConfig } from "next";

const nextConfig: NextConfig = {
/* config options here */
};

export default nextConfig;
Loading